部署nfs高可用rsync+inotify-創(chuàng)新互聯(lián)

項(xiàng)目環(huán)境:

三臺主機(jī)(centos7):

創(chuàng)新互聯(lián)從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元鎮(zhèn)賚做網(wǎng)站,已為上家服務(wù),為鎮(zhèn)賚各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

nfs-server主:172.16.1.20
nfs-server從:172.16.1.30
client(客戶機(jī)):172.16.1.40

項(xiàng)目操作:

1, 首先搭建nfs服務(wù)器

主從nfs-server都需搭建,相同的操作。

[root@nfs-master ~]# yum -y install nfs-utils  #安裝nfs服務(wù)
[root@nfs-master ~]# yum -y install rpcbind #安裝遠(yuǎn)程傳輸控制協(xié)議
[root@nfs-master ~]# vim /etc/exports  #編寫nfs文件
/nfs-share  172.16.1.*(rw,sync,no_root_squash)

參數(shù)解釋:
172.16.1.*:表示允許該網(wǎng)段,也可以自定義ip地址
rw:可讀可寫
sync:同步數(shù)據(jù)到磁盤
no_root_squash:加上這個(gè)選項(xiàng)后,root用戶就會對共享的目錄擁有至高的權(quán)限控制,就像是對本機(jī)的目錄操作一樣。

[root@nfs-master ~]# mkdir /nfs-share       #創(chuàng)建共享目錄
[root@nfs-master ~]# systemctl start rpcbind    #先啟動該服務(wù)
[root@nfs-master ~]# systemctl start nfs

2, 在從nfs-server上搭建rsync:

//安裝rsync:
[root@nfs-slave ~]# yum -y install rsync
//修改rsync配置文件:
[root@nfs-slave ~]# vim /etc/rsyncd.conf

修改內(nèi)容如下:
部署nfs高可用rsync+inotify
部署nfs高可用rsync+inotify

//為授權(quán)賬戶創(chuàng)建數(shù)據(jù)文件:
[root@nfs-slave ~]# vim /etc/rsyncd_users.db    
#文件名可以自定義,但是必須與上面配置文件中數(shù)據(jù)文件名相同

部署nfs高可用rsync+inotify

注意:用戶名得和rsync配置文件中同一個(gè)用戶。

//授予權(quán)限
[root@nfs-slave ~]# chmod 600 /etc/rsyncd_users.db
//啟動rsync服務(wù):
[root@nfs-slave ~]# rsync  --daemon

部署nfs高可用rsync+inotify

3, 在主nfs-server上安裝inotify工具:

下載并上傳inotify-tools-3.14.tar.gz安裝包

[root@nfs-master ~]# tar zxf inotify-tools-3.14.tar.gz 
[root@nfs-master ~]# cd inotify-tools-3.14/
[root@nfs-master inotify-tools-3.14]# ./configure && make && make install

##編寫觸發(fā)式同步腳本:
[root@nfs-master ~]# vim inotify.sh
部署nfs高可用rsync+inotify
#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e modify,create,move,delete /nfs-share"
RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /nfs-share sunqiuming@172.16.1.30::rsync"
$INOTIFY_CMD | while read DIRECTORY EVENT FILE

do
$RSYNC_CMD
done

注意:該腳本用于監(jiān)控本地的共享目錄/nfs-share,只要監(jiān)控到對該目錄有任何操作,就會同步數(shù)據(jù)到從nfs-server服務(wù)器上的/nfs-share目錄下(需要權(quán)限)。

//創(chuàng)建腳本中的密碼文件(為了在同步的過程中不用在輸入密碼)

[root@nfs-master ~]# echo "123456" >  /etc/server.pass
##文件名自定義,只要確保與上述腳本中相同

[root@nfs-master ~]# chmod 600 /etc/server.pass #授予權(quán)限

//對從nfs-server服務(wù)上的共享目錄授予權(quán)限

[root@nfs-slave ~]# chmod 777 /nfs-share/
[root@nfs-slave ~]# ls -ld /nfs-share/
drwxrwxrwx 2 root root 6 Nov 14 23:14 /nfs-share/

//將腳本文件加入開機(jī)自啟:
[root@nfs-master ~]# echo '/root/inotify.sh' >> /etc/rc.local

//執(zhí)行該觸發(fā)腳本:
[root@nfs-master ~]# sh inotify.sh & #后臺運(yùn)行

4, client客戶機(jī)進(jìn)行掛載:

[root@client ~]# mkdir /test    #創(chuàng)建測試掛載目錄
[root@client ~]# mount -t nfs -o soft,timeo=5 172.16.1.20:/nfs-share  /test 
#注意使用軟掛載,默認(rèn)是硬掛載,使用軟掛載,當(dāng)服務(wù)端宕機(jī),不會一直阻塞
##在測試目錄下編寫測試文件:
[root@client test]# echo "hello" > index.html
[root@client test]# echo "ha ha ha " > index.php

//在主nfs-server上進(jìn)行查看:

[root@nfs-master ~]# cd /nfs-share/
[root@nfs-master nfs-share]# cat index.html 
hello
[root@nfs-master nfs-share]# cat index.php 
ha ha ha

//再次到從nfs-server上進(jìn)行查看(是否已經(jīng)觸發(fā)腳本,并同步數(shù)據(jù))

[root@nfs-slave ~]# cd /nfs-share/
[root@nfs-slave nfs-share]# ls
nfs-share
[root@nfs-slave nfs-share]# cd nfs-share/
[root@nfs-slave nfs-share]# cat index.html 
hello
[root@nfs-slave nfs-share]# cat index.php 
ha ha ha

數(shù)據(jù)同步成功。。。。。。。。。。


5, 模擬nfs-server故障:

模擬故障前首先在客戶機(jī)上編寫檢測腳本:

[root@client ~]# vim nfs.sh
#!/bin/bash
while  true; 
do
        ping 172.16.1.20 -c 4  &> /dev/null
if [ $? -ne 0  ];
then
        umount -l /test  && mount -t nfs -o soft,timeo=5 172.16.1.30:/nfs-share /test
fi
sleep 1
done

注意:這個(gè)腳本會每秒檢測一次,只要當(dāng)主nfs-server故障后,就會重新掛載到從nfs-server上的共享目錄下。

//執(zhí)行該腳本:
[root@client ~]# sh nfs.sh & #讓其后臺運(yùn)行

//接下來將主nfs-server主機(jī)進(jìn)行關(guān)機(jī)或者停止服務(wù)(模擬宕機(jī))。


//最后驗(yàn)證客戶機(jī)是否檢測到,并且將目錄掛載到從nfs-server服務(wù)器上。

[root@client ~]# cd /test
[root@client test]# ls
nfs-share
[root@client test]# ls nfs-share/
123.txt  index.html  index.php

---------------------------------可以看到當(dāng)主nfs-server故障后,會執(zhí)行腳本重新掛載到備用nfs-server上,以實(shí)現(xiàn)數(shù)據(jù)不會丟失,并且不會中斷正在運(yùn)行的服務(wù)---------------------

———————— 本文至此結(jié)束,感謝閱讀 ————————

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

名稱欄目:部署nfs高可用rsync+inotify-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article38/hspsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站策劃、關(guān)鍵詞優(yōu)化、建站公司響應(yīng)式網(wǎng)站、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)