您好,登錄后才能下訂單哦!
這篇文章主要講解了“Ceph分布式部署教程”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Ceph分布式部署教程”吧!
一 、環境準備:
該部署使用3臺機器(ubuntu 14.04),兩臺機器做osd,一臺機器做mon和mds,具體服務情況如下:
ceph2(192.168.21.140):osd.0
ceph3(192.168.21.141):osd.1 osd.2
ceph4(192.168.21.142):mon mds
修改各自的hostname,并能夠通過hostname來互相訪問。
各節點能夠ssh互相訪問而不輸入密碼(通過ssh-keygen命令)。
二、配置免密碼登陸:
在每個節點上:
ssh-keygen -t rsa touch /root/.ssh/authorized_keys
首先配置ceph2
scp /root/.ssh/id_rsa.pub ceph3:/root/.ssh/id_rsa.pub_ceph2 scp /root/.ssh/id_rsa.pub ceph4:/root/.ssh/id_rsa.pub_ceph2 ssh ceph3 "cat /root/.ssh/id_rsa.pub_ceph2>> /root/.ssh/authorized_keys" ssh ceph4 "cat /root/.ssh/id_rsa.pub_ceph2 >> /root/.ssh/authorized_keys"
節點ceph3和ceph4也需要參照上面的命令進行配置。
三、安裝ceph 庫
在每個節點上安裝Ceph庫:
apt-get install ceph ceph-common ceph-mds
顯示ceph 版本信息:
ceph -v
四、在ceph2上創建ceph 配置文件
vim /etc/ceph/ceph.conf
[global] max open files = 131072 auth cluster required = none auth service required = none auth client required = none osd pool default size = 2 [osd] osd journal size = 1000 filestore xattruse omap = true osd mkfs type = xfs osd mkfs options xfs = -f #default for xfs is "-f" osd mount options xfs = rw,noatime # default mount option is"rw,noatime" [mon.a] host = ceph4 mon addr = 192.168.21.142:6789 [osd.0] host = ceph2 devs = /dev/sdb [osd.1] host= ceph3 devs= /dev/sdc [osd.2] host = ceph3 devs = /dev/sdb [mds.a] host= ceph4
配置文件創建成功之后,還需要拷貝到除純客戶端之外的每個節點中(并且后續也要始終保持一致):
scp /etc/ceph/ceph.conf ceph3:/etc/ceph/ceph.conf scp /etc/ceph/ceph.conf ceph4:/etc/ceph/ceph.conf
五、創建數據目錄:
在每個節點上執行
mkdir -p /var/lib/ceph/osd/ceph-0 mkdir -p /var/lib/ceph/osd/ceph-1 mkdir -p /var/lib/ceph/osd/ceph-2 mkdir -p /var/lib/ceph/mon/ceph-a mkdir -p /var/lib/ceph/mds/ceph-a
六、創建分區并掛載:
對于osd所在的節點ceph2和ceph3,需要對新分區進行xfs格式化并mount到指定目錄:
ceph2:
mkfs.xfs -f /dev/sdb mount /dev/sdb /var/lib/ceph/osd/ceph-0
ceph3:
mkfs.xfs -f /dev/sdc mount /dev/sdc /var/lib/ceph/osd/ceph-1 mkfs.xfs -f /dev/sdb mount /dev/sdb /var/lib/ceph/osd/ceph-2
七、初始化
注意,每次執行初始化之前,都需要在每個節點上先停止Ceph服務,并清空原有數據目錄:
/etc/init.d/ceph stop rm -rf /var/lib/ceph/*/ceph-*/*
然后,就可以在mon所在的節點ceph4上執行初始化了:
sudo mkcephfs -a -c /etc/ceph/ceph.conf -k /etc/ceph/ceph4.keyring
注意,一旦配置文件ceph.conf發生改變,初始化最好重新執行一遍。
八 、啟動ceph
在mon所在的節點ceph4上執行:
sudo service ceph -a start
注意,執行上面這步時,可能會遇到如下提示:
=== osd.0 ===
Mounting xfs onceph5:/var/lib/ceph/osd/ceph-0
Error ENOENT: osd.0 does not exist. create it before updating the crush map
執行如下命令后,再重復執行上面那條啟動服務的命令,就可以解決:
ceph osd create
九 、遇到的坑
ubuntu不能遠程通過root用戶登錄
修改 vim /etc/ssh/sshd_config 將 PermitEmptyPasswords 修改為no 重啟ssh
ceph osd tree 看到3個osd的host同為ubuntu因為我是用虛擬機做的實驗,虛擬機是clone得到的,因此hostname相同,vim /etc/hostname
ceph osd tree 看到3個osd的host同為ceph4在ceph2和ceph3上重啟ceph服務 /etc/init.d/ceph restart
ceph -s 看到有warning 不是ok
root@ceph4:/var/lib/ceph/osd# ceph -s cluster 57b27255-c63d-4a70-8561-99e76615e10f health HEALTH_WARN 576 pgs stuck unclean monmap e1: 1 mons at {a=192.168.21.142:6789/0}, election epoch 1, quorum 0 a mdsmap e6: 1/1/1 up {0=a=up:active} osdmap e57: 3 osds: 3 up, 3 in pgmap v108: 576 pgs, 3 pools, 1884 bytes data, 20 objects 3125 MB used, 12204 MB / 15330 MB avail 576 active+remapped
解決辦法,在/etc/ceph/ceph.conf 中[global]加入
osd pool default size = 2
推測應該是osd的數量應該大于副本數,ceph才可以正常運行
感謝各位的閱讀,以上就是“Ceph分布式部署教程”的內容了,經過本文的學習后,相信大家對Ceph分布式部署教程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。