如何使用ceph當作glance backend storage

在ceph node底下
# 建立ceph pool 給glance使用,pool名稱為images $ sudo ceph osd pool create images 128

建立一個user為client.glance 並對pool images相關權限設定,產生一個keyring file
$ sudo ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images' -o /etc/ceph/ceph.client.glance.keyring

# 複製ceph.conf與glance.keyring到openstack controller上
$ scp /etc/ceph/ceph.conf root@openstack node ip:/etc/ceph

$ scp /etc/ceph/ceph.client.glance.keyring root@openstack node ip:/etc/ceph

我們這邊的glance服務是跑在openstack controller上
# 在opentack controller上的ceph.conf新增glance的setion
$ vim /etc/ceph/ceph.conf

[client.glance]
keyring = /etc/ceph/ceph.client.glance.keyring

# 修改權限
$ chmod 0640 /etc/ceph/ceph.client.glance.keyring
$ chown glance:glance /etc/ceph/ceph.client.glance.keyring

# 修改/etc/glance/glance-api.conf $ sudo cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak $ sudo vim /etc/glance/glance-api.conf

# 修改或是新增以下參數
show_image_direct_url = True
default_store=rbd stores = glance.store.rbd.Store rbd_store_pool = images rbd_store_user = glance rbd_store_ceph_conf = /etc/ceph/ceph.conf rbd_store_chunk_size = 8

# 重啟 glance-api
$ restart glance-api

驗證是否連接ceph成功
$ ceph --user=glance -k=/etc/ceph/ceph.client.glance.keyring osd lspools

$ glance image-list
參考來源:

留言

這個網誌中的熱門文章

Python - 計算特定目錄底下的檔案以及目錄數量

PHP - 產生qrcode

devstack安裝all in one openstack(pike)