Openstack 之 kolla 部署ceph
下面是簡單步驟:
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