1. 程式人生 > >Openstack 之 kolla 部署ceph

Openstack 之 kolla 部署ceph

數據 toolbar 單獨使用 tool local 如果 fault 使用 bin

如果首次安裝沒有使用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