ceph 部署单机集群
文章目錄
- ceph-deploy部署集群
- ceph-deploy 部署單機
- ceph-deploy 創建osd
- ceph osd創建資源池
- ceph創建rbd塊設備
- ceph創建fs文件系統
本文檔主要參考ceph官方命令進行部署,使用的時侯ceph-deploy原生命令方式進行集群各個組件的創建,刪除,后續會增加擴容相關的命令。
ceph-deploy部署集群
-
修改hosts文件,增加想要創建的集群節點名稱和對應ip的映射關系
hosts文件可以加快域名解析,同時方便局域網用戶來為服務器創建容易記住的名字(node1,node2,node3…)
vim /etc/hosts增加如下ip到主機名稱的映射關系:
10.192.55.95 node1 10.192.55.6 node2 10.192.55.100 node3表示三結點的集群,同時需要將該文件拷貝到每個節點上
scp /etc/hosts 10.192.55.6:/etc -
修改hostname ,即對應hosts文件中的域名,在進行節點通信的時候主機間能夠進行映射
在每個ip上執行如右命令
hostname node1,同時為了重啟后生效應執行echo node1 >/etc/hostname或者直接編輯文件vim /etc/sysconfig/network,在其中增加HOSTNAME=node1來保持重啟后生效 -
進入目錄
/etc/ceph,如果沒有就創建一個。用來存儲部署過程中產生的配置文件,各個組件的密鑰,以及ceph-deploy日志其實這個目錄并沒有太多的限制,可以根據自己情況隨意創建,但是我們項目目前默認的是以上文件夾
-
創建配置文件、cepm-mon的keyring以及ceph-deloy日志文件
ceph-deploy new node1 node2 node3將以上產生的所有文件拷貝到每個節點,因為接下來創建mon的時候會ssh到每個節點進行keyring驗證并部署mon
-
創建mon(集群的大腦即監控者moniter),一般在ip較小的節點先進行創建(3節點最多可以創建3個mon),方便mon選舉,本例是我在node1節點創建mon
ceph-deploy mon create-initial此時運行
ceph -s可以看到此時集群其他節點還未更新,所以無法使用
ceph -s命令查看ceph集群狀態,因為缺少mon,客戶端啟動的相關密鑰,類似于bootstrap.keyring,需要在各個節點進行密鑰收集 -
在其他非創建mon節點
/etc/ceph目錄下執行ceph-deploy gatherkeys node1即可在其他節點上ceph -s看到集群狀態 -
創建mgr(集群管理者maneger),為三個節點都創建mgr,只需在一個節點
/etc/ceph目錄下執行ceph-deploy mgr create node1 node2 node3此時運行
ceph -s可以看到
ceph-deploy 部署單機
單機部署和集群部署總體流程一樣,只是把集群節點的多數目變為但數目即可
-
修改hosts文件,增加單機ip和節點名稱的映射
vim /etc/hosts增加node1 10.192.55.95 -
修改hostname
hostname node1 -
進入目錄
cd /etc/ceph,以下所有的ceph-deploy命令都在該目錄中執行 -
創建配置文件
ceph-deploy new node1 -
創建mon
ceph-deploy mon create-initial -
創建mgr
ceph-deploy mgr create node1
ceph-deploy 創建osd
以下命令適用于單機和集群
-
為osd創建分區并做xfs文件系統,存儲元數據
ceph-deploy osd prepare node1:/dev/sdb創建多個
ceph-deploy osd preapare node1:/dev/sdb node1:/dev/sdc node1:/dev/sdd -
激活osd
ceph-deploy osd activate node1:/dev/sdb1 node1:/dev/sdc1 node1:/dev/sdd1
使用ceph osd tree查看osd情況 -
根據crush規則部署OSD
目前我們的集群如果不做crush規則的更改,則默認為3副本規則
-
創建bucket(這是一種類型,表現形式為樹形的,它的級別可以理解為從世界存儲中心到具體的磁盤osd的劃分,默認類型包括root,data center,room,row,rack,host,osd),我們一般以設備為單位,所以選擇的級別就設置為host
ceph osd crush add-bucket host1 host這里我們要適配crush的3副本默認規則,所以host個數要設置大于三個
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nRfvlHLm-1575878199633)(C:\Users\zhanghuigui\AppData\Roaming\Typora\typora-user-images\1547174207805.png)]
-
將host移動到root下形成樹形管理結構,最后crush規則才能在集群中生效
ceph osd crush move host1 root=default ceph osd crush move host2 root=default ceph osd crush move host3 root=default -
將osd移動到host下
ceph osd crush add osd.0 1.00 host=host1 ceph osd crush add osd.1 1.00 host=host2 ceph osd crush add osd.2 1.00 host=host3
-
ceph osd創建資源池
創建的資源池需要設置PG 以及PGP數目
ceph osd pool create pool_name 128 128
查看創建結果ceph -s
查看具體pool的詳細信息
ceph osd pool ls detail
刪除資源池
ceph osd pool rm data data --yes-i-really-really-mean-it
ceph創建rbd塊設備
創建前提是需要擁有pool資源池
-
創建rbd塊設備
rbd create rbd_test -p data --size 1T在資源池data中創建一個名字叫做rbd_test的1T塊設備 -
查看創建結果
rbd ls -p data -
查看具體塊設備信息
rbd info rbd_test -p data或者rbd info data/rbd_test
-
禁用rbd的特性,否則會需要做一些密鑰驗證無法創建映射
rbd feature disable data/rbd_test object-map fast-diff deep-flatten exclusive-lock -
創建rbd映射
rbd map rbd_test -p data -
查看映射結果
lsblk -
解除rbd映射
rbd unmap /dev/rbd0 -
刪除rbd 塊
rbd rm rbd_test -p data
ceph創建fs文件系統
-
創建mds,進入node1的
/etc/cephceph-deploy mds create node1 -
創建元數據資源池
ceph osd pool create meta_data 128 128 -
創建文件系統
ceph fs new cephfs meta_data data
總結
以上是生活随笔為你收集整理的ceph 部署单机集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “连宵复竟日”下一句是什么
- 下一篇: ceph osd 相关命令