• openstack外接ceph


    一、概述

    在实际交付过程中,由于某些原因,可能会碰到不需要kolla部署ceph,而是集成一套已存在ceph集群的情况,这种需求也是合理的。 在这种情况下,需要调整部分kolla的配置。

    二、环境准备

    1. 已存在的ceph集群(关于ceph的安装部署请参考http://blog.csdn.net/dylloveyou/article/details/79054120)

    2. openstack需要的pool已经创建完成,集成之后各个project的数据会保存在对应的pool中

    • cinder-volumes (Cinder-volume)
    • glance-images (Glance)
    • cinder-backups (Cinder-Backup)
    • nova-vms (Nova)

    三、开启外接ceph功能

    使用外接ceph意味着不需要通过kolla去部署ceph。因此需要在全局配置中关闭ceph组件。编辑 /etc/kolla/globals.yml,配置如下:

    enable_ceph: “no
    
    glance_backend_ceph: "yes"
    cinder_backend_ceph: "yes"
    nova_backend_ceph: "yes"

    enable_ceph: "no" 和 <service>_backend_ceph:"yes" 会触发kolla的外接ceph集群的机制。

    四、配置Kolla

    Glance

    1.为 glance-api.conf 配置RBD 后端

    编辑 /etc/kolla/config/glance/glance-api.conf 文件,加入如下配置:

    [glance_store]
    stores = rbd
    default_store = rbd
    rbd_store_pool = glance-images
    rbd_store_user = glance
    rbd_store_ceph_conf = /etc/ceph/ceph.conf

    以上配置会被kolla自动合并到glance的配置文件中。

    2.拷贝ceph集群配置文件(/etc/ceph/ceph.conf)到 /etc/kolla/config/glance/ceph.conf

    cat /etc/kolla/config/glance/ceph.conf
    
    [global]
    fsid = 9c424511-ade9-45e3-be88-24d72232dd7a
    mon_initial_members = ceph-node01, ceph-node02, ceph-node03
    mon_host = 11.10.37.85,11.10.37.86,11.10.37.87
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    
    osd_journal_size = 10000
    osd_pool_default_size = 2
    
    osd_pool_default_pg_num = 512
    osd_pool_default_pgp_num = 512
    rbd_default_features = 3

    3.生成ceph.client.glance.keyring文件,并保存到 /etc/kolla/config/glance 目录

    在存储mon节点执行命令:

    ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=glance-images'

    为 glance 生成 glance.keyring 文件,并将回显保存在 /etc/kolla/config/glance/ceph.client.glance.keyring

    cat /etc/kolla/config/glance/ceph.client.glance.keyring
    [client.glance]
        key = AQD6gVRasWreLRAAPSlTc1LPIayGjPtvuK1FCw==

    Kolla会将所有名称为ceph*的文件拷贝到对应容器中的 /etc/ceph目录中。

    Cinder

    1. 编辑 /etc/kolla/config/cinder/cinder-volume.conf,并配置如下内容:

    [DEFAULT]
    enabled_backends=rbd-1
    
    [rbd-1]
    rbd_ceph_conf=/etc/ceph/ceph.conf
    rbd_user=cinder
    backend_host=storage01
    rbd_pool=cinder-volumes
    volume_backend_name=rbd-1
    volume_driver=cinder.volume.drivers.rbd.RBDDriver
    rbd_secret_uuid = {{ cinder_rbd_secret_uuid}}

    注: cinder_rbd_secret_uuid被定义在 /etc/kolla/passwords.yml 中,用来解决虚拟机boot from volume 的bug。

    2. 编辑 /etc/kolla/config/cinder/cinder-backup.conf,并配置如下内容:

    [DEFAULT]
    backup_ceph_conf=/etc/ceph/ceph.conf
    backup_ceph_user=cinder-backup
    backup_ceph_chunk_size = 134217728
    backup_ceph_pool=cinder-backups
    backup_driver = cinder.backup.drivers.ceph
    backup_ceph_stripe_unit = 0
    backup_ceph_stripe_count = 0
    restore_discard_excess_bytes = true

    3. 拷贝ceph的配置文件(/etc/ceph/ceph.conf)到 /etc/kolla/config/glance/ceph.conf

    4. 生成 ceph.client.cinder.keyring 文件

    在 ceph mon 节点运行:

    ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=cinder-volumes, allow rwx pool=nova-vms ,allow rx pool=glance-images'

    为 cinder 生成 cephx keyring,将回显结果保存在 /etc/kolla/config/cinder/cinder-volume/ceph.client.cinder.keyring 和 /etc/kolla/config/cinder/cinder-backup/ceph.client.cinder.keyring 中

    在ceph mon节点继续运行:

    ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=cinder-bakcups'

    为 cinder-backu p生成 cephx keyring,将回显结果保存在 /etc/kolla/config/cinder/cinder-backup/ceph.client.cinder-backup.keyring

    注: cinder-backup 需要两个 keyring 去连接 cinder-volumes 和 cinder-backups pool

    Nova

    1. 编辑 /etc/kolla/config/nova/nova-compute.conf ,配置如下内容:

    [libvirt]
    images_rbd_pool=nova-vms
    images_type=rbd
    images_rbd_ceph_conf=/etc/ceph/ceph.conf
    rbd_user=nova

    2. 生成 ceph.client.nova.keyring 文件

    ceph auth get-or-create client.nova mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=nova-vms'

    拷贝ceph.conf, nova client keyring, 和cinder client keyring 到 /etc/kolla/config/nova

    ls /etc/kolla/config/nova
    ceph.client.cinder.keyring  ceph.client.nova.keyring  ceph.conf  nova-compute.conf

    五、部署

    kolla使用外接ceph,意味着没有储存节点,而默认情况下cinder-volume和cinder-backup运行在存储节点,外接ceph存储需要指定主机去运行cinder-volume和cinder-backup容器。

    编辑multinode文件,修改配置如下(这里把cinder-volume和cinder-backup安装到controller节点):

    [storage]
    controller01

    执行kolla-ansible命令,完成部署

    kolla-ansible -i /home/multimode deploy
    http://www.yueminghai.top
  • 相关阅读:
    [日志]“著名”炒股实用口诀
    Taven教授:解决失眠的好办法
    [日志]挂在树上的茶壶
    [日志]教你把脉知生男生女
    [日志]看了很多次的十句话
    [健康]国家制定公布甲型流感中药方市民可食用预防
    初学者如何开发出高质量J2EE系统
    学老中医的顺口溜防病
    [健康]巧用药茶疗慢性咽炎
    [日志]说一个人长的丑!如何说?
  • 原文地址:https://www.cnblogs.com/yueminghai/p/14333547.html
Copyright © 2020-2023  润新知