Ceph與OpenStack整合(將雲主機磁盤鏡像文件直接建在ceph集羣vms存儲池中)

思路及實現:

         1.承接前兩篇文章,鏡像服務的存儲 池爲p_w_picpaths,雲盤的存儲池爲volumes,目前要完成openstack新建雲主機磁盤鏡像文件直接存放到ceph中去(在ceph中新建存儲池vms)。

            雲主機在啓動時需要有能訪問鏡像存儲池p_w_picpaths和雲盤存儲池volumes的能力,所以你需要在ceph集羣的monitor節點新建存儲池vms,同時新建賬號,該賬號具有對vms,p_w_picpaths,

            以及volumes三個存儲池的rwx權限

          2.這裏請務必注意一個細節:回憶第一篇ceph與openstack整合僅作爲雲盤掛載,我們新建了一個賬號client.cinder,該賬號對volumes池有rwx權限,然後我們分發配置文件和client.cinder賬號的祕鑰文件給cinder-volume節點,分發client.cinder的祕鑰文件給計算節點,同時利用該祕鑰文件製作了uuid,然後將該uuid寫入到了compute節點的配置文件中,二此uuid唯一(這也就意味着:計算節點祕鑰uuid----->client.cinder用戶------>(rwx)ceph的volumes池),所以我們必須在ceph集羣原有賬號client.cinder的基礎上新增對vms,p_w_picpaths的rwx權限,然後cinder和compute節點公用client.cinder賬號)

                ceph auth caps client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=libvirt-pool' -o /etc/ceph/ceph.client.cinder.keyring

                scp /etc/ceph/ceph.client.cinder.keyring 所有計算節點:/etc/ceph

                scp /etc/ceph/ceph.client.cinder.keyring 所有計算節點:/etc/ceph

          3.導出賬號的祕鑰文件分發給所有計算節點(如果已經做過ceph與openstack整合僅提供雲盤功能,這一步可以跳過

                在所有計算節點執行下列操作:

                    cat > secret.xml <<EOF

                     <secret ephemeral='no' private='no'> 

                      <usage type='ceph'>

                     <name>client.cinder secret</name> 

                      </usage>

                     </secret>

                      EOF 

  • virsh secret-define --file secret.xml

  • 找到剛剛定義的client.cinder用戶的uuid

  1. virsh secret-list

 找到ceph提供的祕鑰文件的祕鑰
  1. cat /etc/ceph/ceph.client.cinder.keyring

 virsh secret-set-value $(virsh secret-list |grep client.cinder |awk '{print $1}') --base64  $(cat /etc/ceph/ceph.client.cinder.keyring |awk 'NR==2{print $3}') 

          

          4.修改配置文件

               vim /etc/nova/nova.conf  

                rbd_user=cinder

               rbd_secret_uuid=dda10a4e-c03c-b029-ef07-ce86e7a07bdd        ------------------>值爲:virsh secret-list |grep client.cinder |awk '{print $1}

               p_w_picpaths_type = rbd #只有在 boot disk 放在 ceph 中才需要配置這個,否則,設置爲 qcow2
               p_w_picpaths_rbd_pool = vms
               p_w_picpaths_rbd_ceph_conf = /etc/ceph/ceph.conf

               disk_cachemodes="network=writeback"
               inject_password = false
               inject_key = false
               inject_partition = -2
               live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"

  •  /etc/init.d/openstack-nova-compute restart


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