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

[经验分享] 配置openstack 使用ceph(glance cinder nova)

[复制链接]

尚未签到

发表于 2018-6-1 10:07:53 | 显示全部楼层 |阅读模式
  一. ceph 实现与openstack(kilo)集成
  注意: 不同的版本配置文件稍有不同,请参考官方文档:
  http://docs.ceph.com/docs/master/rbd/rbd-openstack/#any-openstack-version
  环境说明:
  192.168.10.95 glance (控制节点,glance cinder)
  192.168.10.99 network01
  192.168.10.101   compute01
  

  1. 安装ceph客户端
  安装Ceph客户端
  apt-get install python-ceph -y
  apt-get install ceph-common -y
  

  2. 创建pool:
  ceph osd pool create datastore 512
  rados lspools
  3. 创建用户:
  ceph auth get-or-create client.kilo mon 'allow r' osd 'allow class-read object_prefix rbd_children,allow rwx pool=datastore'
  ceph auth get-or-create client.kilo | ssh 192.168.10.95 sudo tee /etc/ceph/ceph.client.kilo.keyring
  

  ceph auth get-or-create client.kilo2 mon 'allow r' osd 'allow class-read object_prefix rbd_children,allow rwx pool=datastore2'
  ceph auth get-or-create client.kilo2 | ssh 192.168.10.95 sudo tee /etc/ceph/ceph.client.kilo2.keyring
  

  ssh 192.168.10.95 sudo chmod +r /etc/ceph/ceph.client.kilo.keyring
  将/etc/ceph/ceph.conf文件拷贝到openstack 节点上:
  ssh 192.168.10.95 sudo tee /etc/ceph/ceph.conf < /etc/ceph/ceph.conf
  

  ceph与glance
  配置glance-api.conf文件
  具体配置要在ceph官网上找,不同版本的openstack配置位置可能不相同
  http://docs.ceph.com/docs/master/rbd/rbd-openstack/#configure-openstack-to-use-ceph
  [DEFAULT]
  default_store = rbd
  [glance_store]
  stores = rbd
  rbd_store_ceph_conf = /etc/ceph/ceph.conf
  rbd_store_user = kilo  (创建的ceph用户)
  rbd_store_pool = datastore (创建的池)
  show_image_direct_url = True
  重启glance服务:
  service glance-api restart
  ervice glance-registry restart
  上传一个镜像,测试ceph是否配置成功作为glance后端使用:
  参考上边glance使用
  查看ceph中datastore pool的列表
  rados --pool=datastore ls
  

  ###############################################
  vi /etc/glance/glance-api.conf
  [DEFAULT]
  show_image_direct_url = True
  [glance_store]
  stores = rbd
  default_store = rbd
  rbd_store_ceph_conf = /etc/ceph/ceph.conf
  rbd_store_user = kilo
  rbd_store_pool = datastore
  

  在glance节点修改
  脚本方式修改:
  crudini --set /etc/glance/glance-api.conf DEFAULT show_image_direct_url True
  

  crudini --set /etc/glance/glance-api.conf glance_store stores rbd
  crudini --set /etc/glance/glance-api.conf glance_store default_store rbd
  crudini --set /etc/glance/glance-api.conf glance_store rbd_store_ceph_conf /etc/ceph/ceph.conf
  crudini --set /etc/glance/glance-api.conf glance_store rbd_store_user kilo
  crudini --set /etc/glance/glance-api.conf glance_store rbd_store_pool datastore
  ###############################################
  

  

  

  

  创建nova,cinder使用的秘钥
  一. 在openstack计算节点上生成一个uuid:
  root@ubuntu:~# uuidgen
  9fa61a4a-da28-4b24-a319-52e6dee46660
  创建一个临时文件
  vi secret.xml
  <secret ephemeral='no' private='no'>
  <uuid>9fa61a4a-da28-4b24-a319-52e6dee46660</uuid>
  <usage type='ceph'>
  <name>client.kilo secret</name>
  </usage>
  </secret>
  

  在计算节点:
  创建的 secret.xml 文件创建密钥:
  virsh secret-define --file secret.xml
  Secret 9fa61a4a-da28-4b24-a319-52e6dee46660 created
  

  

  安装Ceph客户端
  apt-get install python-ceph -y
  apt-get install ceph-common -y
  mkdir /etc/ceph
  在ceph服务器上
  ceph auth get-or-create client.kilo2 | ssh 192.168.10.101 sudo tee /etc/ceph/ceph.client.kilo2.keyring
  设定 libvirt 使用上面的密钥:
  

  virsh secret-set-value --secret cf133036-7099-43e3-b60f-dc487c72d3d0 --base64 AQBmpBBXWIB0FxAAPWDi60w6jImcwuzWcZAvbQ== && rm ceph.client.kilo2.keyring secret.xml
  查看秘钥
  virsh secret-list
  

  

  ceph与cinder
  配置cinder.conf配置文件
  [DEFAULT]
  volume_driver = cinder.volume.drivers.rbd.RBDDriver
  rbd_pool = datastore
  rbd_ceph_conf = /etc/ceph/ceph.conf
  rbd_flatten_volume_from_snapshot = false
  rbd_max_clone_depth = 5
  rbd_user = kilo
  glance_api_version = 2
  rbd_secret_uuid = cf133036-7099-43e3-b60f-dc487c72d3d0
  重启服务
  service cinder-api restart
  service cinder-scheduler restart
  service cinder-volume restart
  测试cinder是否使用ceph
  创建卷cephVolume:
  cinder create --display-name cephVolume 1
  通过cinder list与rados --pool=datastore ls验证cephVolume是否放在cinder上
  

  ############################################
  vi /etc/cinder/cinder.conf
  [DEFAULT]
  .......
  enabled_backends = ceph
  

  [ceph]
  volume_driver = cinder.volume.drivers.rbd.RBDDriver
  rbd_pool = datastore2
  rbd_ceph_conf = /etc/ceph/ceph.conf
  rbd_flatten_volume_from_snapshot = false
  rbd_max_clone_depth = 5
  rbd_user = kilo2
  glance_api_version = 2
  rbd_secret_uuid = cf133036-7099-43e3-b60f-dc487c72d3d0
  

  脚本方式修改:
  在glance节点:
  crudini --set /etc/cinder/cinder.conf DEFAULT enabled_backends ceph
  

  

  crudini --set /etc/cinder/cinder.conf ceph volume_driver = cinder.volume.drivers.rbd.RBDDriver
  crudini --set /etc/cinder/cinder.conf ceph rbd_pool datastore2
  crudini --set /etc/cinder/cinder.conf ceph rbd_ceph_conf /etc/ceph/ceph.conf
  crudini --set /etc/cinder/cinder.conf ceph rbd_flatten_volume_from_snapshot false
  crudini --set /etc/cinder/cinder.conf ceph rbd_max_clone_depth 5
  crudini --set /etc/cinder/cinder.conf ceph rbd_user kilo2
  crudini --set /etc/cinder/cinder.conf ceph glance_api_version 2
  crudini --set /etc/cinder/cinder.conf ceph rbd_secret_uuid cf133036-7099-43e3-b60f-dc487c72d3d0
  

  ############################################
  

  

  

  

  

  ceph与nova
  修改计算节点的nova.conf文件
  [libvirt]
  images_type = rbd
  images_rbd_pool = datastore2
  images_rbd_ceph_conf = /etc/ceph/ceph.conf
  rbd_user = icehouse
  rbd_secret_uuid = cf133036-7099-43e3-b60f-dc487c72d3d0
  inject_password = false
  inject_key = false
  inject_partition = -2
  

  #################################################################
  在计算节点:
  

  crudini --set /etc/nova/nova.conf libvirt images_type rbd
  crudini --set /etc/nova/nova.conf libvirt images_rbd_pool datastore2
  crudini --set /etc/nova/nova.conf libvirt images_rbd_ceph_conf /etc/ceph/ceph.conf
  crudini --set /etc/nova/nova.conf libvirt rbd_user icehouse
  crudini --set /etc/nova/nova.conf libvirt rbd_secret_uuid cf133036-7099-43e3-b60f-dc487c72d3d0
  crudini --set /etc/nova/nova.conf libvirt inject_password false
  crudini --set /etc/nova/nova.conf libvirt inject_key false
  crudini --set /etc/nova/nova.conf libvirt inject_partition -2
  

  #################################################################
  

  重启nova
  service nova-compute restart
  测试nova是否使用ceph:
  在控制台创建虚拟机
  nova list
  rados --pool=datastore2 ls
  

  

  

运维网声明 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-497059-1-1.html 上篇帖子: 将openstack 默认的GRE网络改为VXLAN网络 下篇帖子: openstack的neutron相关介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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