分享

OpenStack-Icehouse(nova-network)多节点块存储服务Cinder部署

本帖最后由 hochikong 于 2014-7-30 21:39 编辑
问题导读:
1.Cinder支持哪些存储后端?
2.Cinder可以提供储存吗?
3.为何要配置Cinder API版本1和版本2的接口URL?
4.如何添加并配置一个存储节点?



在生产环境中,所有虚拟机磁盘镜像是存在NAS存储架构中的,这样做保证了数据的可靠性,提高性能,可动态迁移。在早期的Openstack版本,用来卷存储的服务是nova-volume,是Nova的一部分,从F版本后,已经独立出来一个核心组件Cinder,首先你要知道Cinder本身不是来提供存储的,它是为后端的存储服务器,提供一个统一的Api来管理,它不去考虑后端存储是什么样的架构,它只需知道后端存储技术使用什么协议来工作的,这样存储技术有:LVM、NFS、iSCSI-SAN、P-SAN、FC-SAN、分布式文件系统,还包括硬件存储厂商Netapp、EMC、IBM都已经支持Openstack。通过这个管理接口,我们可以轻松的管理云硬盘。下面就来部署下Cinder,后端存储技术采用LVM,也是Cinder默认的块存储。

配置controller节点

一、块存储Cinder服务安装与配置
1.安装块存储服务控制器
  1. # yum install openstack-cinder
复制代码
2.配置数据库
  1. # openstack-config --set /etc/cinder/cinder.conf database connection mysql://cinder:CINDER_DBPASS@controller/cinder
复制代码
3.创建数据库
  1. # mysql -u root -p
  2. mysql> CREATE DATABASEcinder;
  3. mysql> GRANT ALLPRIVILEGES ON cinder.* TO 'cinder'@'localhost'
  4. IDENTIFIED BY'CINDER_DBPASS';
  5. mysql> GRANT ALLPRIVILEGES ON cinder.* TO 'cinder'@'%'
  6. IDENTIFIED BY'CINDER_DBPASS';
  7. mysql> exit;
复制代码
4.导入数据库
  1. # cinder-manage db sync
复制代码
5.创建用户并添加到角色admin
  1. #keystone user-create --name=cinder --pass=cinder --email=cinder@example.com
  2. #keystone user-role-add --user=cinder --tenant=service --role=admin
复制代码
6.配置token认证信息
  1. openstack-config --set /etc/cinder/cinder.conf DEFAULT auth_strategy keystone
  2. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_uri http://controller:5000
  3. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_host controller
  4. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_protocol http
  5. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_port 35357
  6. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken admin_user cinder
  7. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken admin_tenant_name service
  8. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken admin_password cinder
复制代码
7.配置消息队列qpid
  1. openstack-config --set /etc/cinder/cinder.conf DEFAULT rpc_backend cinder.openstack.common.rpc.impl_qpid
  2. openstack-config --set /etc/cinder/cinder.conf DEFAULT qpid_hostname controller
  3. openstack-config --set /etc/cinder/cinder.conf DEFAULT glance_host controller
复制代码
7.1修改/etc/cinder/cinder.conf
  1. [DEFAULT]
  2. osapi_volume_listen=0.0.0.0
  3. state_path=/var/lib/cinder
  4. volumes_dir=/var/lib/cinder/volumes
复制代码
8.创建cinder服务标识
  1. # keystone service-create --name=cinder --type=volume --description="OpenStack Block Storage"
  2. # keystone service-create --name=cinderv2 --type=volumev2 --description="OpenStack Block Storagev2"
复制代码
9.创建Cinder API版本1和版本2接口URL
  1. # keystone endpoint-create
  2. --service-id=$(keystone service-list | awk '/ volume / {print $2}')
  3. --publicurl=http://controller:8776/v1/%(tenant_id)s
  4. --internalurl=http://controller:8776/v1/%(tenant_id)s
  5. --adminurl=http://controller:8776/v1/%(tenant_id)s
  6. # keystone endpoint-create
  7. --service-id=$(keystone service-list | awk '/ volumev2 / {print $2}')
  8. --publicurl=http://controller:8776/v2/%(tenant_id)s
  9. --internalurl=http://controller:8776/v2/%(tenant_id)s
  10. --adminurl=http://controller:8776/v2/%(tenant_id)s
复制代码
10.重启服务并设置自启动
  1. service openstack-cinder-api start
  2. service openstack-cinder-scheduler start
  3. service openstack-cinder-volume start
  4. service tgtd start
  5. chkconfig openstack-cinder-volume on
  6. chkconfig tgtd on
  7. chkconfig openstack-cinder-api on
  8. chkconfig openstack-cinder-scheduler on
复制代码

配置存储节点

二、添加一台存储节点,并添加一块硬盘

1.ip地址设置为192.168.1.33

2.控制节点和存储节点添加对应host记录
  1. 192.168.1.33 storage
复制代码
3.创建LVM卷
  1. # pvcreate /dev/sdb
  2. # vgcreate cinder-volumes/dev/sdb
复制代码
4.安装块存储服务
  1. # yum installopenstack-cinder scsi-target-utils
复制代码
5.配置token认证信息
  1. openstack-config --set /etc/cinder/cinder.confDEFAULT auth_strategy keystone
  2. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken
  3. auth_urihttp://controller:5000
  4. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_host controller
  5. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_protocol http
  6. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_port 35357
  7. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken admin_user cinder
  8. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken
  9. admin_tenant_name service
  10. openstack-config --set /etc/cinder/cinder.conf keystone_authtoken admin_password cinder
复制代码
6.配置消息队列qpid
  1. openstack-config --set /etc/cinder/cinder.confDEFAULT
  2. rpc_backendcinder.openstack.common.rpc.impl_qpid
  3. openstack-config --set /etc/cinder/cinder.conf DEFAULT qpid_hostname controller
复制代码
7.配置连接数据库
  1. # openstack-config --set /etc/cinder/cinder.conf database
  2. connection mysql://cinder:CINDER_DBPASS@controller/cinder
复制代码
8.配置glance服务位置(location)
  1. # openstack-config --set /etc/cinder/cinder.conf DEFAULT glance_host controller
复制代码
9.配置iSCSI目标发现块存储,使用iSCSI协议时使用
  1. # vi /etc/tgt/targets.conf
  2. include /etc/cinder/volumes/*
复制代码
10.启动服务并设置自启动
  1. service openstack-cinder-volume start
  2. service tgtd start
  3. chkconfig openstack-cinder-volume on
  4. chkconfig tgtd on
复制代码
11.创建一个10G的卷
  1. # source admin-openrc.sh
  2. # cinder create--display-name myVolume 10
复制代码
12.查看创建的卷,下面是我实验后的
99121405395373.jpg
13.登录Horizon查看
配置完成后,dashboard上面会生成一个云硬盘选项
52861405395374.jpg


#################################################################
(PS:本文中的“#”不是指注释,另外有些命令应该是同一行的,但变了两行,请多多注意)

本文转自:http://www.21ops.com/cloud-computing/openstack/29825.html
小贴士:最好的指导手册应是官网手册。

欢迎加入about云群9037177932227315139327136 ,云计算爱好者群,亦可关注about云腾讯认证空间||关注本站微信

已有(1)人评论

跳转到指定楼层
Riordon 发表于 2014-7-31 08:28:27
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条