其实看基础理论篇大家也可以看出来,cinder跟nova流程比较像,是这样的,nova为云主机提供了虚拟资源,cinder则是提供存储相关的资源,cinder的小伙伴叫swift,不过这个一般没人用了现在,之所以要部署cinder呢是因为需要用它来对接ceph,不过考虑到并不是所有人都想后端用分布式存储,所以这篇文章就写默认情况下cinder提供lvm存储的方式,需要对接ceph的小伙伴讲ceph对接里面需要修改的地方看清自行修改就可以了
前面说了,跟nova类似,那么肯定也有控制的跟干活的,控制的还是用总的控制节点,干活的就原来的计算节点吧,分工明确

yum install openstack-cinder -y
1.控制节点
一样,先弄数据库把表建了,其实操作多了大家也可以看出来不论什么服务,都是一套流程
mysql -uroot -pbfmq
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'bfmq';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'bfmq';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'controller01' IDENTIFIED BY 'bfmq';
flush privileges;
quit

openstack user create --domain default --password-prompt cinder(会提示设置密码,如果出现os什么什么的报错就. admin-openrc下,因为你退出了环境变量不生效了)
openstack role add --project service --user cinder admin
openstack service create --name cinder --description "OpenStack Block Storage" volume
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
openstack endpoint create --region RegionOne volume public http://controller01:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne volume internal http://controller01:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne volume admin http://controller01:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne volumev2 public http://controller01:8776/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne volumev2 internal http://controller01:8776/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne volumev2 admin http://controller01:8776/v2/%\(tenant_id\)s
vim /etc/cinder/cinder.conf修改
[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 60.34.30.11

[oslo_messaging_rabbit]
rabbit_host = controller01
rabbit_userid = rabbitmq
rabbit_password = bfmq

[database]
connection = mysql+pymysql://cinder:bfmq@controller01/cinder

[keystone_authtoken]
auth_url = http://controller01:5000
memcached_servers = controller01:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = bfmq

[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

su -s /bin/sh -c "cinder-manage db sync" cinder(各种info信息请忽略)
systemctl restart openstack-nova-api.service
systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

2.计算节点,注意这里就是你部署nova-computer的节点
vim /etc/nova/nova.conf添加
[cinder]
os_region_name = RegionOne

systemctl restart openstack-nova-api.service
systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

3.存储节点,就是你提供真实物理存储设备的节点,我的跟计算节点是同节点
yum install lvm2 targetcli -y
systemctl enable lvm2-lvmetad.service
systemctl start lvm2-lvmetad.service
pvcreate /dev/sdb(以后可以再创建pv向vg里加以扩大容量)
vgcreate cinder-volumes /dev/sdb
vim /etc/lvm/lvm.conf修改
filter = [ "a/sdb/", "r/.*/"](新加了pv就需要修改了)

vim /etc/cinder/cinder.conf修改
[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 60.34.30.13
enabled_backends = lvm
glance_api_servers = http://controller01:9292

[oslo_messaging_rabbit]
rabbit_host = controller01
rabbit_userid = rabbitmq
rabbit_password = bfmq

[database]
connection = mysql+pymysql://cinder:bfmq@controller01/cinder

[keystone_authtoken]
auth_url = http://controller01:5000
memcached_servers = controller01:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = bfmq

[lvm]这些加到文件末尾即可
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm

[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

systemctl enable openstack-cinder-volume.service target.service
systemctl start openstack-cinder-volume.service target.service

最新文章

  1. vscode过滤pyc文件
  2. Sql Server中暂停命令
  3. 【转】PowerShell入门(十二):编写PowerShell管理单元和二进制模块
  4. AI (Adobe Illustrator)详细用法(一)
  5. 如何在ASP.NET 5中使用ADO.NET
  6. linux(debian)下邮件发送
  7. 简单工厂模式 Simple Factory
  8. 2016 Multi-University Training Contest 5 1011 Two DP
  9. 日志文件 的管理 logrotate 配置
  10. url中的jsessionid解释
  11. 程序员眼中的UML
  12. 简述Action+Service +Dao 功能
  13. Python基础:数据类型-数字(5)
  14. [精品书单]3D打印机课程设计
  15. linux服务器文件授权命令
  16. js 原生_拖动页面元素,松开释放
  17. vb.net 與 SQLite連線
  18. C#使用Font Awesome字体
  19. CSS技巧收集——毛玻璃效果
  20. Java中遍历字符串toCharArray()和charAt()效率比较

热门文章

  1. SIP 解析
  2. ubuntu12.04下一个简单的conky安装
  3. IntelliJ IDEA - 代码辅助功能
  4. 详解rsync算法--如何减少同步文件时的网络传输量
  5. NOIP2016参赛总结
  6. 关于tomcat小知识
  7. python切片操作
  8. win7删除一些顽固的文件夹
  9. php工作笔记5-css定位
  10. VS有效序列号