配置nova-compute在不同的hypervisors上使用不同的存儲後端

說明:
主參考:https://www.sunmite.com/openstack/use-local-storage-for-different-hypervisors.html

在控制節點上執行

1.配置nova調度程序支持AggregateInstanceExtraSpecsFilter過濾算法

openstack-config --set /etc/nova/nova.conf DEFAULT scheduler_default_filters RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,AggregateInstanceExtraSpecsFilter
systemctl restart openstack-nova-scheduler.service

2.創建兩個主機集合,包含ceph compute nodes 和 local storage compute nodes

nova aggregate-create ephemeral-compute-storage
nova aggregate-create ceph-compute-storage

3.查看計算節點的名稱

source ~/admin-openrc
nova hypervisor-list
得到四臺主機:
compute-1.ideal.yfb0801800.islab.net.cn
compute-2.ideal.yfb0801800.islab.net.cn
compute-3.ideal.yfb0801800.islab.net.cn
compute-4.ideal.yfb0801800.islab.net.cn

4.分別添加主機到不同的主機集合(一臺主機只能添加到一個主機集合中)

nova aggregate-add-host ephemeral-compute-storage compute-1.ideal.yfb0801800.islab.net.cn
nova aggregate-add-host ephemeral-compute-storage compute-2.ideal.yfb0801800.islab.net.cn
nova aggregate-add-host ephemeral-compute-storage compute-3.ideal.yfb0801800.islab.net.cn
nova aggregate-add-host ceph-compute-storage compute-4.ideal.yfb0801800.islab.net.cn

5.爲主機集合創建新的metadata

nova aggregate-set-metadata ephemeral-compute-storage ephemeralcomputestorage=true
nova aggregate-set-metadata ceph-compute-storage cephcomputestorage=true

6.爲使用本地存儲和ceph存儲的虛擬機創建flavor

openstack flavor create --vcpus 2 --ram 4096 --disk 40 m1.ephemeral-compute-storage
openstack flavor create --vcpus 2 --ram 4096 --disk 40 m1.ceph-compute-storage

7.爲flavor綁定指定的屬性

nova flavor-key m1.ceph-compute-storage set aggregate_instance_extra_specs:cephcomputestorage=true
nova flavor-key m1.ephemeral-compute-storage set aggregate_instance_extra_specs:ephemeralcomputestorage=true

在計算節點上執行

1.本地存儲配置

nova默認支持,無需配置。爲了支持遷移可以配置共享存儲(NFS等)

如果剛安裝了cinder還沒有配置nova的話,此時創建虛擬機時一定要如圖所示那樣,選擇否。如果不選擇否的話,虛擬機無法創建出來,因爲cinder創建了卷,而nova卻無法將其附加在libvirt上。

image

提供一下,一些可能有用的配置:

#單位是M
openstack-config --set /etc/nova/nova.conf libvirt file_backed_memory  1048576
openstack-config --set /etc/nova/nova.conf libvirt disk_cachemodes "file=directsync,block=none"
systemctl restart openstack-nova-compute && systemctl status openstack-nova-compute

2.ceph存儲配置

編輯計算節點的 /etc/nova/nova.conf 文件加入修改以下選項,然後重啓nova-compute服務(這裏沒有詳細寫,例如導入secret-uuid等操作請自行添加)
vim /etc/nova/nova.conf
[libvirt]
images_type = rbd
images_rbd_pool = vms
images_rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = cinder
rbd_secret_uuid =20c3fd98-2bab-457a-b1e2-12e50dc6c98e
disk_cachemodes="network=writeback"
inject_partition=-2
inject_key=False
live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST

systemctl restart openstack-nova-compute.service

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章