機器規劃html
IP | 主機名 | 角色 |
10.101.0.1 | ceph01 | mon admin mds |
10.101.0.2 | ceph02 | ods |
10.101.0.3 | ceph03 | ods |
10.101.0.4 | ceph04 | ods |
10.101.0.5 | client | client(掛載點) |
考慮到高可用性,生產集羣應該至少有 3 個監視器。ssh
在每臺機添加hoststcp
10.101.0.1 ceph01 10.101.0.2 ceph02 10.101.0.3 ceph03 10.101.0.4 ceph04
關閉防火牆和SELINUXui
每一個節點上建立ceph用戶並添加sudo權限url
useradd ceph echo "ceph ALL = (root) NOPASSWD:ALL" >/etc/sudoers.d/ceph echo "Defaults:ceph |requiretty" >/etc/sudoers.d/ceph
在管理節點ceph01上生成ceph用戶的ssh公鑰並實現免密碼登陸其餘主機spa
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -ivh https://download.ceph.com/rpm-hammer/el6/noarch/ceph-release-1-1.el6.noarch.rpm
yum install -y ceph-deploy
部署過程當中有錯誤能夠查看日誌/var/log/ceph/.net
3.1切換到ceph用戶執行(ceph01節點)日誌
mkdir /home/ceph/ceph-cluster cd /home/ceph/ceph-cluster 生成集羣配置文件 ceph-deploy new ceph01 #上面的命令會生成3個文件 ceph.conf #集羣配置文件,此配置可按需修改或不修改也行 ceph.log #日誌文件 ceph.mon.keyring #keyring文件,集羣驗證用
3.2安裝ceph(ceph01節點)code
ceph-deploy install ceph01 ceph02 ceph03 ceph04 --repo-url=https://download.ceph.com/rpm-hammer/el6/ #此命令將會按順序在3臺機上安裝ceph
3.3建立並初始化監控節點(ceph01)htm
ceph-deploy mon create-initial
#執行此命令後會初始化mon節點,ceph.conf文件中聲明瞭mon節點等信息
3.4添加數據節點(ceph02,ceph03,ceph04)
掛載好要使用的磁盤 mount /dev/sdb1 /data/osd0(另外兩個節點相似,不過是osd1,osd2。名稱可自定義)
3.5
在管理節點初始化磁盤(ceph01)
ceph-deploy disk zap ceph01:sdb ceph02:sdb ceph03:sdb
在管理節點準備OSD(ceph01)
ceph-deploy osd prepare ceph01:/data/osd0 ceph02:/data/osd1 ceph03:/data/osd2
3.6激活OSD(ceph01)
ceph-deploy osd activate ceph01:/data/osd0 ceph02:/data/osd1 ceph03:/data/osd2
3.7分發配置和密鑰
使用ceph-deploy命令將配置文件和管理密鑰複製到管理節點和你的Ceph節點。
ceph-deploy admin ceph01 ceph02 ceph03
3.8查看集羣狀態
sudo ceph health #集羣健康狀態,返回OK狀態
sudo ceph -s #
sudo ceph status #集羣狀態
4.1建立mds(ceph01節點)
ceph-deploy mds create ceph04 #若是報以下錯誤 RuntimeError: config file /etc/ceph/ceph.conf exists with different content; use --overwrite-conf to overwrite 加上--overwrite-conf參數 ceph-deploy --overwrite-conf mds create ceph04 查看mds進程 netstat -tnlp | grep mds tcp 0 0 172.16.100.5:6804 0.0.0.0:* LISTEN 12787/ceph-mds
4.2建立pool(ceph01節點)
查看pool ceph osd lspools 新建立的ceph集羣默認只有rdb一個pool。這時咱們須要建立新的pool 建立兩個存儲池。MDS須要使用兩個pool,一個pool用來存儲數據,一個pool用來存儲元數據。 ceph osd pool create fs_data 32 #這裏的32指的是PG組 ceph osd pool create fs_metadata 32 查看pool rados lspools
4.3建立Cephfs(ceph01節點)
ceph fs new cephfs fs_metadata fs_data #查看 ceph fs ls
#查看MDS狀態
ceph mds stat
4.4在client節點掛載cephfs(client節點)
Client掛載方式有兩種:內核kernal方式和fuse方式。(內核掛載方式須要2.6.34及其之後的版本才支持)
使用fuse方式掛載(注意:此方式讀寫效率很低)
安裝ceph-fuse yum install -y ceph-fuse 複製配置文件 將ceph配置文件ceph.conf從管理節點copy到client節點 scp ceph@ceph01:/etc/ceph/ceph.conf /etc/ceph/ 複製密鑰 將ceph的ceph.client.admin.keyring從管理節點copy到client節點 scp ceph@ceph01:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ 查看ceph受權 ceph auth list 建立掛載目錄 mkdir /cephfs 掛載到指定目錄 將ceph掛載到/cephfs ceph-fuse -m ceph01:6789 /cephfs(能夠掛在多個mon節點保證高可用,ip:6789,ip:6789)
使用rbd塊設備方式掛載(讀寫效率高),但須要加載rbd內核模塊,2.6.34以前的版本都沒有該模塊,要把系統內核升級到2.6.34或者更新。
建立一個pool
ceph osd pool create press 100
設置pool 的pgp_num
ceph osd pool set press pgp_num 100
查看建立的pool
ceph osd lspools
建立一個100G 名爲 image 鏡像
rbd create -p press --size 100000 image
查看鏡像
rbd -p press info image
客戶端塊存儲掛載:
rbd -p press map image mkfs.xfs /dev/rbd0 mount /dev/rbd0 /mnt/rbd
卸載map鏡像
umount /mnt/rbd rbd unmap /dev/rbd0
參考文檔:
http://www.cnblogs.com/keithtt/p/6410288.html