部署Ceph分布式存儲,遷移網(wǎng)站數(shù)據(jù)到ceph集群

  • 使用三臺服務器部署Ceph分布式存儲矗烛,實現(xiàn)Ceph文件系統(tǒng)共享辅柴,將網(wǎng)站數(shù)據(jù)從NFS遷移到Ceph存儲

實驗拓撲如下圖所示,做具體實驗前請先配置好環(huán)境:

image

主機配置如下表所示:

image
一:準備環(huán)境

1)將3臺虛擬機全部關機,添加光盤和磁盤瞭吃,右擊虛擬機碌嘀,選【設置】---【添加】---【CD|DVD驅動器】--【完成】,選擇鏡像文件 ceph10.iso歪架,所有3臺ceph服務器都添加2塊20G磁盤股冗。

啟動所有虛擬機后,查看磁盤情況:

lsblk

所有主機設置防火墻和SELinux:

firewall-cmd --set-default-zone=trusted
sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config
setenforce 0

2)所有主機掛載ceph光盤和系統(tǒng)光盤(根據(jù)實際情況掛載和蚪,不用照抄)

[root@node1 ~]# umount /dev/sr0
[root@node1 ~]# umount /dev/sr1
[root@node1 ~]# mkdir /ceph
[root@node1 ~]# vim /etc/fstab
/dev/sr0 /ceph     iso9660   defaults   0  0
/dev/sr1 /media    iso9660   defaults   0  0
[root@node1 ~]# mount -a

3)在node1配置SSH密鑰止状,讓node1可用無密碼連接node1,node2,node3

ssh-keygen  -f /root/.ssh/id_rsa  -N  ''
#-f后面跟密鑰文件的名稱(創(chuàng)建密鑰到哪個文件)
#-N  ''設置密鑰的密碼為空(不要給密鑰配置密碼)

[root@node1 ~]# for i in   41  42  43
do
ssh-copy-id  192.168.2.$i
done
#通過ssh-copy-id將密鑰傳遞給node1,node2攒霹,node3

4)修改/etc/hosts域名解析記錄(不要刪除原文件的數(shù)據(jù))怯疤,同步給所有ceph節(jié)點。

vim /etc/hosts      #修改文件催束,手動添加如下內容(不要刪除原文件的數(shù)據(jù))
192.168.2.41    node1
192.168.2.42     node2
192.168.2.43    node3

for i in 41 42 43
do
scp /etc/hosts 192.168.2.$i:/etc
done

5)為所有ceph節(jié)點配置yum源集峦,并將配置同步給所有節(jié)點

提示:前面已經(jīng)將ceph的光盤掛載到/ceph目錄。

cat /etc/yum.repos.d/ceph.repo
[mon]
name=mon
baseurl=file:///ceph/MON
gpgcheck=0
[osd]
name=osd
baseurl=file:///ceph/OSD
gpgcheck=0
[tools]
name=tools
baseurl=file:///ceph/Tools
gpgcheck=0

[root@node1 ~]# yum repolist                #驗證YUM源軟件數(shù)量

[root@node1 ~]# for i in 41 42 43
do
scp /etc/yum.repos.d/ceph.repo 192.168.2.$i:/etc/yum.repos.d/
done

6)配置NTP服務器同步時間。

node1做服務端:

vim /etc/chrony.conf
allow 192.168.2.0/24        #修改26行
local stratum 10            #修改29行(去注釋即可)

systemctl restart chronyd

node2和node3做客戶端:

[root@node2 ~]# vim /etc/chrony.conf
server 192.168.2.41   iburst              #配置文件第二行塔淤,手動加入該行內容
[root@node2 ~]# systemctl restart chronyd
[root@node2 ~]# chronyc sources -v

[root@node3 ~]# vim /etc/chrony.conf
server 192.168.2.41   iburst              #配置文件第二行摘昌,手動加入該行內容
[root@node3 ~]# systemctl restart chronyd
[root@node3 ~]# chronyc sources -v
二:部署ceph集群

1)給node1主機安裝ceph-deploy,創(chuàng)建工作目錄高蜂,初始化配置文件聪黎。

[root@node1 ~]# yum -y install ceph-deploy
[root@node1 ~]# mkdir ceph-cluster
[root@node1 ~]# cd ceph-cluster

2)給所有ceph節(jié)點安裝ceph相關軟件包

[root@node1 ceph-cluster]# for i in node1 node2 node3
do
ssh $i "yum -y install ceph-mon ceph-osd ceph-mds"
done

3)初始化mon服務

[root@node1 ceph-cluster]# ceph-deploy new node1 node2 node3               #生成ceph配置文件
[root@node1 ceph-cluster]# ceph-deploy mon create-initial
\#拷貝ceph配置文件給node1,node2,node3,啟動所有主機的mon服務
[root@node1 ceph-cluster]# ceph -s                    #查看狀態(tài)(此時失敗是正常的)
cluster 9f3e04b8-7dbb-43da-abe6-b9e3f5e46d2e
health HEALTH_ERR
monmap e2: 3 mons at
{node1=192.168.2.41:6789/0,node2=192.168.2.42:6789/0,node3=192.168.2.43:6789/0}

osdmap e45: 0 osds: 0 up, 0 in

4)使用ceph-deploy工具初始化數(shù)據(jù)磁盤(僅node1操作)备恤,硬盤名稱根據(jù)實際情況填寫稿饰,不能照抄。

[root@node1 ceph-cluster]# ceph-deploy disk  zap  node1:sdb  node1:sdc    
[root@node1 ceph-cluster]# ceph-deploy disk  zap  node2:sdb  node2:sdc
[root@node1 ceph-cluster]# ceph-deploy disk  zap  node3:sdb  node3:sdc

5)初始化OSD集群烘跺,磁盤名稱根據(jù)實際情況填寫湘纵。

[root@node1 ceph-cluster]# ceph-deploy osd create  node1:sdb  node1:sdc  
#每個磁盤都會被自動分成兩個分區(qū)脂崔;一個固定5G大新舜尽;一個為剩余所有容量
#5G分區(qū)為Journal緩存砌左;剩余所有空間為數(shù)據(jù)盤脖咐。
[root@node1 ceph-cluster]# ceph-deploy osd create  node2:sdb  node2:sdc
[root@node1 ceph-cluster]# ceph-deploy osd create  node3:sdb  node3:sdc 

[root@node1 ceph-cluster]# ceph -s                 #查看集群狀態(tài),狀態(tài)為OK
三:部署ceph文件系統(tǒng)

1)啟動mds服務(可以在node1或node2或node3啟動汇歹,也可以在多臺主機啟動mds)

[root@node1 ceph-cluster]# ceph-deploy mds create node3

2)創(chuàng)建存儲池(文件系統(tǒng)由inode和block組成)

[root@node1 ceph-cluster]# ceph osd pool create cephfs_data 64
[root@node1 ceph-cluster]# ceph osd pool create cephfs_metadata 64
[root@node1 ceph-cluster]# ceph osd lspools      #查看共享池
0 rbd,1 cephfs_data,2 cephfs_metadata

3)創(chuàng)建文件系統(tǒng)

[root@node1 ceph-cluster]# ceph fs new myfs1 cephfs_metadata cephfs_data
[root@node1 ceph-cluster]# ceph fs ls
name: myfs1, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
四:遷移網(wǎng)站數(shù)據(jù)到ceph集群

1)卸載web1屁擅,web2,web3的NFS共享产弹。

暫停服務防止有人實時讀寫文件:

[root@web1 ~]# /usr/local/nginx/sbin/nginx -s stop
[root@web2 ~]# /usr/local/nginx/sbin/nginx -s stop
[root@web3 ~]# /usr/local/nginx/sbin/nginx -s stop
[root@web1 ~]# umount /usr/local/nginx/html
[root@web2 ~]# umount /usr/local/nginx/html
[root@web3 ~]# umount /usr/local/nginx/html
[root@web1 ~]# vim /etc/fstab
#192.168.2.31:/web_share/html /usr/local/nginx/html/ nfs defaults 0 0
[root@web2 ~]# vim /etc/fstab
#192.168.2.31:/web_share/html /usr/local/nginx/html/ nfs defaults 0 0
[root@web3 ~]# vim /etc/fstab
#192.168.2.31:/web_share/html /usr/local/nginx/html/ nfs defaults 0 0

2)web服務器永久掛載Ceph文件系統(tǒng)(web1派歌、web2、web3都需要操作)痰哨。

在任意ceph節(jié)點胶果,如node1查看ceph賬戶與密碼:

[root@node1 ~]# cat /etc/ceph/ceph.client.admin.keyring 
[client.admin]
key = AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==

/etc/rc.local是開機啟動腳本,任何命令放在該文件中都是開機自啟斤斧。

ceph-common是ceph的客戶端軟件:

[root@web1 ~]# yum -y install ceph-common
[root@web2 ~]# yum -y install ceph-common
[root@web3 ~]# yum -y install ceph-common

[root@web1 ~]# mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/ -o name=admin,secret=AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==
[root@web1 ~]# echo 'mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/ -o name=admin,secret=AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==' >> /etc/rc.local 
[root@web1 ~]# chmod +x /etc/rc.local

[root@web2 ~]# mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/ -o name=admin,secret=AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==
[root@web2 ~]# echo 'mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/ -o name=admin,secret=AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==' >> /etc/rc.local 
[root@web2 ~]# chmod +x /etc/rc.local

[root@web3 ~]#  mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/ -o name=admin,secret=AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==
[root@web3 ~]# echo 'mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/ -o name=admin,secret=AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==' >> /etc/rc.local 
[root@web3 ~]# chmod +x /etc/rc.local

另一種解決方案早抠,還可以通過fstab實現(xiàn)永久掛載。

提示:如果希望使用fstab實現(xiàn)永久掛載撬讽,客戶端需要額外安裝libcephfs1軟件包蕊连。

[root@web1 ~]# yum -y install libcephfs1
[root@web1 ~]# vim /etc/fstab
… …
192.168.2.41:6789:/ /usr/local/nginx/html/    ceph    defaults,_netdev,name=admin,secret=AQCVcu9cWXkgKhAAWSa7qCFnFVbNCTB2DwGIOA== 0 0

第三種掛載方案:對于高可用的問題,可以在mount時同時寫入多個IP游昼。

臨時命令:

[root@web1 ~]# mount -t ceph  192.168.2.41:6789,192.168.2.42:6789,192.168.2.43:6789:/ /usr/local/nginx/html  -o name=admin,secret=密鑰

永久修改:

[root@web1 ~]# vim /etc/fstab
192.168.2.41:6789,192.168.2.42:6789,192.168.2.43:6789:/ /usr/local/nginx/html/ ceph defaults,_netdev,name=admin,secret=密鑰 0 0

3)遷移NFS服務器中的數(shù)據(jù)到Ceph存儲

登陸NFS服務器備份數(shù)據(jù)甘苍,將備份數(shù)據(jù)拷貝給web1或web2或web3,tar備份數(shù)據(jù)時注意使用-p選項保留文件權限烘豌。

[root@nfs ~]# cd /web_share/html/
[root@nfs html]# tar -czpf /root/html.tar.gz ./*
[[root@nfs](mailto:root@nfs) html]# scp /root/html.tar.gz 192.168.2.11:/usr/local/nginx/html/

登陸web1將數(shù)據(jù)恢復到Ceph共享目錄

[root@web1 html]# tar -xf html.tar.gz
[root@web1 html]# rm -rf html.tar.gz

4)恢復web服務

[root@web1 ~]# /usr/local/nginx/sbin/nginx
[root@web2 ~]# /usr/local/nginx/sbin/nginx
[root@web3 ~]# /usr/local/nginx/sbin/nginx
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末载庭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌昧捷,老刑警劉巖闲昭,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異靡挥,居然都是意外死亡序矩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進店門跋破,熙熙樓的掌柜王于貴愁眉苦臉地迎上來簸淀,“玉大人,你說我怎么就攤上這事毒返∽饽唬” “怎么了?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵拧簸,是天一觀的道長劲绪。 經(jīng)常有香客問我,道長盆赤,這世上最難降的妖魔是什么贾富? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮牺六,結果婚禮上颤枪,老公的妹妹穿的比我還像新娘。我一直安慰自己淑际,他們只是感情好畏纲,可當我...
    茶點故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著春缕,像睡著了一般盗胀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上淡溯,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天读整,我揣著相機與錄音,去河邊找鬼咱娶。 笑死米间,一個胖子當著我的面吹牛,可吹牛的內容都是我干的膘侮。 我是一名探鬼主播屈糊,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼琼了!你這毒婦竟也來了逻锐?” 一聲冷哼從身側響起夫晌,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎昧诱,沒想到半個月后晓淀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡盏档,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年凶掰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜈亩。...
    茶點故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡懦窘,死狀恐怖,靈堂內的尸體忽然破棺而出稚配,到底是詐尸還是另有隱情畅涂,我是刑警寧澤,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布道川,位于F島的核電站午衰,受9級特大地震影響,放射性物質發(fā)生泄漏愤惰。R本人自食惡果不足惜苇经,卻給世界環(huán)境...
    茶點故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宦言。 院中可真熱鬧,春花似錦商模、人聲如沸奠旺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽响疚。三九已至,卻和暖如春瞪醋,著一層夾襖步出監(jiān)牢的瞬間忿晕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工银受, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留践盼,地道東北人。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓宾巍,卻偏偏與公主長得像咕幻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子顶霞,可洞房花燭夜當晚...
    茶點故事閱讀 45,995評論 2 361

推薦閱讀更多精彩內容