Openstack 之 kolla 部署ceph

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Openstack 之 kolla 部署ceph相关的知识,希望对你有一定的参考价值。

    如果首次安装没有使用ceph作为存储,同样也可以重新部署为存储使用ceph,注意,在本例中,重新部署后,所有的后端存储都使用ceph,包括虚拟机文件、cinder、glance、对象存储。另外,本示例的前提是一开始就使用kolla作为部署工具。

    下面是简单步骤:

    1.增加一块硬盘,/dev/sdb,然后分区:

parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1

查看结果: 

parted /dev/sdb print

    2.配置ceph:

创建/etc/kolla/config/ceph.conf:

[global]
osd pool default size = 2
osd pool default min size = 1

    上面的配置表示ceph的对象存储副本数是2,最小副本数是1     


    3.修改/etc/kolla/global.yml文件:

    enable_cinder: "yes"
    enable_ceph: "yes"
    enable_ceph_rgw: "yes"
    enable_ceph_rgw_keystone: "yes"
    glance_backend_ceph: "yes"


    如果是使用虚拟化实验环境,那么你需要把virt_type=qemu :

    mkdir -p /etc/kolla/config/nova
    cat << EOF > /etc/kolla/config/nova/nova-compute.conf
    [libvirt]
    virt_type=qemu
    cpu_mode = none
    EOF


    4.修改/root/kolla-ansible-4.0.3.dev36/ansible/inventory/all-in-one文件,将localhost改为control01:

    vim /root/kolla-ansible-4.0.3.dev36/ansible/inventory/all-in-one
    :%s/localhost/control01/g

    注意,多节点实现方法也是一样的。

    

    5.执行deploy:

    /root/kolla-ansible-4.0.3.dev36/tools/kolla-ansible deploy -i /root/kolla-ansible-4.0.3.dev36/ansible/inventory/all-in-one


    后续如果扩容磁盘,也是非常方便的,直接在宿主机上增加硬盘,然后对每一块硬盘打标签,然后重新执行deploy即可,步骤如下:

    1..OSD盘打标:


    parted /dev/sdc -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
    parted /dev/sdd -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1

        注意,整块盘作为一个OSD只能用标签KOLLA_CEPH_OSD_BOOTSTRAP ,如果日志分区单独使用SSD固态硬盘的分区,则使用不同标签,比如/dev/sdb 标签为KOLLA_CEPH_OSD_BOOTSTRAP_SDC ,日志分区/dev/sdh1 标签为:KOLLA_CEPH_OSD_BOOTSTRAP_SDC_J

    2.部署前的检查:

       tools/kolla_ansible prechecks -i 3node

        注意:3node是inventory文件,根据实际环境替换。

        检查报错6780端口占用,查询这个端口是ceph_rgw容器占用,临时将这个容器关闭:  docker stop ceph_rgw

    3.部署:

       tools/kolla_ansible deploy -i 3node

 

        注意:3node是inventory文件,根据实际环境替换。

        部署完成后,将上面关闭的容器ceph_rgw启动:

        docker start ceph_rgw

    4、检查OSD的CRUSH规则(数据分布存放规则):

    docker exec -it ceph_mon ceph osd getcrushmap -o /var/log/kolla/ceph/crushmap.bin
    docker exec -it ceph_mon crushtool -d /var/log/kolla/ceph/crushmap.bin -o /var/log/kolla/ceph/crushmap


以上是关于Openstack 之 kolla 部署ceph的主要内容,如果未能解决你的问题,请参考以下文章

使用kolla-ansible部署多节点OpenStack(T版)及对接Ceph

kolla-ansible部署openstack

Openstack 之 ceph更换故障磁盘

Kolla OpenStack

openstack 之 Kolla部署指南(容器化方式)

Openstack 之 正常关闭一个物理宿主机