- 使用 Ceph Hammer 套件來架設!
- 先暫停 firewalld 服務,以利架設過程!
-
利用 yum 進行相關套件安裝:
#yum -y install centos-release-ceph-hammer #yum -y install ceph-deploy
-
建立 Ceph 設定目錄:
#mkdir ~/ceph-deploy
-
建立 Ceph 安裝設定檔:
#cd ~/ceph-deploy #ceph-deploy new serverc serverd servere (若無架設 DNS Server,請預先在 /etc/hosts 建立相關主機設定,並複至到其他主機) 192.168.0.1 serverc serverc.example.com 192.168.0.2 serverd serverd.example.com 192.168.0.3 servere servere.example.com
-
建立 ssh key ,並複製到其他主機:
#ssh-keygen -t rsa #ssh-copy-id root@serverd #ssh-copy-id root@servere
-
修改 Ceph 安裝設定檔:
#cd ~/ceph-deploy #vim ceph.conf (增加下列設定:) osd journal size = 1024 osd pool default size = 2 osd pool default min size = 1 public network = 192.168.0.0/24 [mon] mon osd allow primary affinity = 1
-
安裝 Ceph 至各主機上:
#ceph-deploy install serverc serverd servere
-
在 ServerC 上,安裝 Ceph 監視器,監視各主機運作:
#ceph-deploy mon create serverc serverd servere
-
在 ServerC 上,收集 Ceph 監視器金鑰:
#ceph-deploy gatherkeys serverc
-
在 ServerC 上,查詢 Ceph Cluster 狀態:
#ceph -s
-
在 ServerC 上,查詢 ServerC 的硬碟空間狀態:
#ceph-deploy disk list serverc
-
使用各 Server 上的 vdb 的硬碟空間:
#cd ~/ceph-deploy #ceph-deploy osd create serverc:vdb serverd:vdb servere:vdb (做完後,記得要重開機!)
-
在 ServerC 上,再次查詢 Ceph Cluster 狀態:
#ceph -s
-
在 ServerC 上,查詢 Ceph Cluster 狀態的方式:
#ceph -w #service ceph status mon #service ceph status osd #ps -ef | grep ceph-osd #service ceph stop osd #ceph osd tree #service ceph start osd #ceph osd tree
-
如果修改了 ceph-deploy 下的 ceph.conf 檔案,可重新再配置 ceph :
#vim ~/ceph-deploy/ceph.conf (加入下列幾行:) [mon] mon_clock_drift_allowed = 1 mon_clock_drift_warn_backoff = 30 (開啟重新配置) #ceph-deploy --overwrite-conf config push serverc serverd servere #service ceph restart mon #ssh serverd "service ceph restart mon" #ssh servere "service ceph restart mon"
RADOS 驗證:
-
在 ServerC 上,建立一個小檔案,並上載到 RADOS server:
#dd if=/dev/zero of=/tmp/test bs=10M count=1 #rados mkpool data #rados -p data put test1 /tmp/test #rados df (再多推一些東西上去:) #rados -p data put test2 /tmp/test #rados -p data put test3 /tmp/test #rados df
-
刪除 RADOS server 內的資料:
#rados -p data rm test1 #rados -p data rm test2 #rados -p data rm test3
CephX 的驗證機制:
-
在 ServerC 上,使用 Ceph 的監看模式,查看CephX上的ID與金鑰:
#ceph --id admin --keyring /etc/ceph/ceph.client.admin/keyring -w
-
使用 rbd 指令,建立一個影像檔:
#rbd --id admin --keyring /etc/ceph/ceph.client.admin.keyring create --size 1024 testimg
-
使用 rbd 指令,移除先前建立一個影像檔:
#rbd --id admin --keyring /etc/ceph/ceph.client.admin.keyring rm testimg
-
可以利用 Shell 指令,指定一部份的 rbd 指令:
#CEPH_ARGS='--id user --keyring /etc/ceph/ceph.client.user.keyring'
-
增加一個使用者 rhuser 到 Ceph 內:
ceph auth get-or-create client.rhuser mds 'allow' osd 'allow *' mon 'allow *' -o /etc/ceph/ceph.client.rhuser.keyring
-
查詢使用者相關資料與權限:
#ceph auth list
-
修訂使用者 rhuser 相關資料與權限:
#ceph --id admin --keyring /etc/ceph/ceph.client.admin.keyring auth caps client.rhuser osd 'allow * pool=data' mon 'allow *'