中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

部署nfs高可用rsync+inotify

發布時間:2020-06-10 08:15:16 來源:網絡 閱讀:698 作者:wx5b9c94b17c62a 欄目:建站服務器

項目環境:

三臺主機(centos7):

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

項目操作:

1, 首先搭建nfs服務器

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

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

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

[root@nfs-master ~]# mkdir /nfs-share       #創建共享目錄
[root@nfs-master ~]# systemctl start rpcbind    #先啟動該服務
[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

修改內容如下:
部署nfs高可用rsync+inotify
部署nfs高可用rsync+inotify

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

部署nfs高可用rsync+inotify

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

//授予權限
[root@nfs-slave ~]# chmod 600 /etc/rsyncd_users.db
//啟動rsync服務:
[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

##編寫觸發式同步腳本:
[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

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

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

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

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

//對從nfs-server服務上的共享目錄授予權限

[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/

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

//執行該觸發腳本:
[root@nfs-master ~]# sh inotify.sh & #后臺運行

4, client客戶機進行掛載:

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

//在主nfs-server上進行查看:

[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上進行查看(是否已經觸發腳本,并同步數據)

[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

數據同步成功。。。。。。。。。。


5, 模擬nfs-server故障:

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

[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

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

//執行該腳本:
[root@client ~]# sh nfs.sh & #讓其后臺運行

//接下來將主nfs-server主機進行關機或者停止服務(模擬宕機)。


//最后驗證客戶機是否檢測到,并且將目錄掛載到從nfs-server服務器上。

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

---------------------------------可以看到當主nfs-server故障后,會執行腳本重新掛載到備用nfs-server上,以實現數據不會丟失,并且不會中斷正在運行的服務---------------------

———————— 本文至此結束,感謝閱讀 ————————

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳谷县| 拉孜县| 六安市| 云林县| 佛教| 威远县| 昌乐县| 浮山县| 昌吉市| 东城区| 江川县| 武平县| 浦江县| 安达市| 铜梁县| 福州市| 增城市| 同江市| 濮阳市| 平塘县| 安平县| 泰宁县| 留坝县| 社会| 藁城市| 临漳县| 龙井市| 湄潭县| 德昌县| 临湘市| 永胜县| 烟台市| 宝坻区| 松滋市| 辽源市| 荣昌县| 外汇| 明溪县| 惠东县| 澎湖县| 枣庄市|