设为首页 收藏本站
查看: 1570|回复: 0

[经验分享] 云计算/云存储---Ceph和Openstack的cinder模块对接方法

[复制链接]

尚未签到

发表于 2017-12-5 08:39:44 | 显示全部楼层 |阅读模式
1.创建存储池
  在ceph节点中执行如下语句。



#ceph osd pool create volumes 128
2.配置 OPENSTACK 的 CEPH 客户端
  在ceph节点两次执行如下语句,两次{your-openstack-server}分别填控制节点和计算节点IP。
  如果显示在控制节点和计算节点中没有ceph文件夹,则在两节点中创建对应文件夹。



#ssh {your-openstack-server} sudo tee /etc/ceph/ceph.conf < /etc/ceph/ceph.conf
3.安装 CEPH 客户端软件包
  控制节点上进行librbd的 Python 绑定



#yum install python-rbd
  计算节点和控制节点进行安装 Python 绑定和客户端命令行工具



#yum install ceph-common
#yum install ceph
4.配置 CEPH 客户端认证
  在ceph节点为Cinder创建新用户



#ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes'
  在ceph节点把 client.cinder的密钥环复制到控制节点,并更改所有权,{your-volume-server}和{your-cinder-volume-server}处填控制节点IP。



#ceph auth get-or-create client.cinder | ssh {your-volume-server} sudo tee /etc/ceph/ceph.client.cinder.keyring
#ssh {your-cinder-volume-server} sudo chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
  在ceph节点执行如下语句{your-nova-compute-server}为计算节点IP。



#ceph auth get-or-create client.cinder | ssh {your-nova-compute-server} sudo tee /etc/ceph/ceph.client.cinder.keyring
  在ceph节点把client.cinder用户的密钥存进libvirt。libvirt 进程从 Cinder 挂载块设备时要用它访问集群,在运行 nova-compute 的节点上创建一个密钥的临时副本。
  {your-compute-node}为计算节点IP。



#ceph auth get-key client.cinder | ssh {your-compute-node} tee  /etc/ceph/client.cinder.key

  在计算节点上执行如下语句,把密钥加进 libvirt 、然后删除临时副本。



#uuidgen
  记录下产生的数字,将下面的UUIDGEN替换为该数字,并在计算节点执行下列语句



cat > secret.xml <<EOF
<secret ephemeral='no' private='no'>
<uuid>UUIDGEN</uuid>
<usage type='ceph'>
<name>client.cinder secret</name>
</usage>
</secret>
EOF


#sudo virsh secret-define --file secret.xml
#sudo virsh secret-set-value --secret 457eb676-33da-42ec-9a8c-9293d545c337 --base64 $(cat client.cinder.key) && rm client.cinder.key secret.xml
  执行完后,记录好上面产生的uuidgen,下面还会用到。

5.安装并配置控制节点

5.1先决条件
  在控制节点完成下面的步骤以创建数据库:
  用数据库连接客户端以 root 用户连接到数据库服务器:



#mysql -u root -p
  创建cinde数据库



#CREATE DATABASE cinder;
  配置 cinder 数据库的访问权限,下列CINDER_DBPASS用合适的密码替换。



#GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
IDENTIFIED BY 'CINDER_DBPASS';
#GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
IDENTIFIED BY 'CINDER_DBPASS';
  退出数据库。
  获得 admin 凭证来获取只有管理员能执行的命令的访问权限:



# . admin-openrc
  创建服务证书:
  创建一个 cinder 用户:



#openstack user create --domain default --password-prompt cinder
  添加 admin 角色到 cinder 用户上。



#openstack role add --project service --user cinder admin
  创建 cinder 和 cinderv2 服务实体:



#openstack service create --name cinder \
--description "OpenStack Block Storage" volume
#openstack service create --name cinderv2 \
--description "OpenStack Block Storage" volumev2
  创建块设备存储服务的 API 入口点:



#openstack endpoint create --region RegionOne \
volume public http://controller:8776/v1/%\(tenant_id\)s

#openstack endpoint create --region RegionOne \
volume internal http://controller:8776/v1/%\(tenant_id\)s

#openstack endpoint create --region RegionOne \
volume admin http://controller:8776/v1/%\(tenant_id\)s

#openstack endpoint create --region RegionOne \
volumev2 public http://controller:8776/v2/%\(tenant_id\)s

#openstack endpoint create --region RegionOne \
volumev2 internal http://controller:8776/v2/%\(tenant_id\)s

#openstack endpoint create --region RegionOne \
volumev2 admin http://controller:8776/v2/%\(tenant_id\)s
5.2安装并配置组件
  安装软件包



# yum install openstack-cinder
#yum install openstack-cinder targetcli python-keystone
  在控制节点上编辑cinder.conf。



#vi /etc/cinder/cinder.conf
  添加如下内容:
  注意:
1.如果你为 cinder 配置了多后端, [DEFAULT] 节中必须有 glance_api_version = 2
  2.[ceph]中的rbd_secret_uuid后面对应填的刚刚记录的uuid。



[DEFAULT]
transport_url = rabbit://openstack:RABBIT_PASS@controller
auth_strategy = keystone
my_ip = 控制节点管理网络的IP
enabled_backends = ceph
glance_api_servers = http://controller:9292


[database]
connection = mysql+pymysql://cinder:CINDER_PASS@controller/cinder


[keystone_authtoken]
auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = CINDER_PASS

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

[ceph]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
glance_api_version = 2
rbd_user = cinder
rbd_secret_uuid = a852df2b-55e1-4c1b-9fa2-61e77feaf30f
  编辑/etc/nova/nova.conf 添加如下内容:



[cinder]
os_region_name = RegionOne
6.重启 OPENSTACK
  在控制节点重启计算API 服务:



# 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
  启动块存储卷服务及其依赖的服务,并将其配置为随系统启动:



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

7.验证

在控制节点获得 admin 凭证来获取只有管理员能执行的命令的访问权限:



# . admin-openrc
列出服务组件以验证是否每个进程都成功启动:



# cinder service-list
并且登录界面后可以创建卷
DSC0000.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-420700-1-1.html 上篇帖子: Ceph在OpenStack中的地位 下篇帖子: Openstack针对nova,cinder,glance使用ceph的虚拟机创建机制优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表