欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

web+nfs+rsync+sersync 綜合實(shí)驗(yàn)(實(shí)時(shí)同步resync,加多臺(tái)web節(jié)點(diǎn),nfs - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 技術(shù)分享 >

web+nfs+rsync+sersync 綜合實(shí)驗(yàn)(實(shí)時(shí)同步resync,加多臺(tái)web節(jié)點(diǎn),nfs

發(fā)表時(shí)間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):110

搭建架構(gòu)原理圖以及實(shí)時(shí)同步概念

在這里插入圖片描述

0.概念

1.什么是實(shí)時(shí)同步

百度云同步盤 金山云盤 騰訊文檔

實(shí)時(shí)監(jiān)測(cè)目錄的變化, 當(dāng)出現(xiàn) 增 刪 改 時(shí), 則觸發(fā)一個(gè)動(dòng)作, 這個(gè)動(dòng)作就是推送至遠(yuǎn)程服務(wù)器

2.為什么要實(shí)時(shí)同步

1.解決NFS單點(diǎn)故障問題
2.遷移 ( 本地環(huán)境 --> 云環(huán)境 )
3.實(shí)時(shí)同步的原理
4.實(shí)時(shí)同步的場(chǎng)景
5.實(shí)時(shí)同步工具選擇

rsync+inotify 復(fù)雜
sersync 二進(jìn)制包,解壓即用 ( 國(guó)人開發(fā) )
lsyncd 將sersync替換為lsyncd

3.實(shí)時(shí)同步案例演示(重點(diǎn))

角色外網(wǎng)IP(nat)內(nèi)網(wǎng)IP(lan)安裝工具WEB01eth0:10.0.0.7eth1:172.16.1.7httpd,php,可道云NFSeth0:10.0.0.31eth1:172.16.1.31nfs-serverBACKUPeth0:10.0.0.41eth1:172.16.1.41rsync-server

🦄1.準(zhǔn)備備份服務(wù)器backup

💗rsync服務(wù)服務(wù)端(backup):💗

①rsync服務(wù)配置(安裝和配置文件修改)

[root@backup ~]# yum install rsync -y
[root@backup ~]# cat /etc/rsyncd.conf 
uid = rsync
gid = rsync 
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read>= false 
list = false 
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#############################
[backup]
comment = welcome to oldboyedu backup! 
path = /backup 

[data]
comment = welcome to oldboyedu data!
path = /data 

在這里插入圖片描述

②創(chuàng)建用戶,準(zhǔn)備虛擬連接用戶

1,創(chuàng)建進(jìn)程虛擬運(yùn)行的用戶

[root@backup ~]# useradd rsync -M -s /sbin/nologin
[root@backup ~]# id rsync
uid=1001(rsync) gid=1001(rsync)=1001(rsync)

2.創(chuàng)建認(rèn)證用戶以及認(rèn)證用戶的密碼/etc/rsync.passwd

格式: Username:Password

[root@backup ~]# cat /etc/rsync.passwd 
rsync_backup:1
[root@backup ~]# chmod 600 /etc/rsync.passwd

3.創(chuàng)建接收備份數(shù)據(jù)目錄,進(jìn)行授權(quán)。

[root@backup ~]# mkdir /backup
[root@backup ~]# chown -R rsync.rsync /backup/
[root@backup ~]# mkdir /data
[root@backup ~]# chown -R rsync.rsync /data/

在這里插入圖片描述

4.重啟服務(wù),檢查服務(wù)

[root@backup ~]#systemctl start rsyncd
[root@backup ~]#systemctl enable rsyncd
[root@backup ~]#systemctl status rsyncd

在這里插入圖片描述

5.檢查服務(wù)端口號(hào)

netstat -lntup |grep rsync
873

💗rsync服務(wù)客戶端(nfs):💗

6.測(cè)試一下rsync能否正常工作

③客戶端創(chuàng)建上傳文件:

[root@nfs01 ~]# rsync -avz cry.txt rsync_backup@172.16.1.41::backup
Password: 
sending incremental file list
cry.txt

②服務(wù)端查看推送的文件


[root@backup ~]# cd /backup/
[root@backup backup]# ls
cry.txt

🦄2.準(zhǔn)備NFS共享存儲(chǔ)

💗nfs服務(wù)服務(wù)端(nfs):💗

①nfs服務(wù)配置:

[root@nfs01 ~]# yum install nfs-utils -y
[root@nfs01 ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

②創(chuàng)建管理用戶組和用戶

[root@nfs01 ~]# groupadd -g 666 www
[root@nfs01 ~]# useradd -u666 -g666 www

③創(chuàng)建共享目錄及設(shè)置共享目錄權(quán)限

[root@nfs01 ~]# mkdir -p /data
[root@nfs01 ~]# chown www.www /data

④開啟服務(wù)下次開啟自啟

[root@nfs01 ~]# systemctl restart nfs
[root@nfs01 ~]# systemctl enable nfs

在這里插入圖片描述

💗nfs服務(wù)客戶端測(cè)試(backup):💗

①安裝nfs服務(wù)

[root@web01 ~]# yum install nfs-utils -y

②查看共享目錄

[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24

③將共享目錄掛載到本地/mnt,測(cè)試能否使用

[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt
[root@web01 ~]# touch /mnt/hello
[root@web01 ~]# umount /mnt/

在這里插入圖片描述

🦄3.準(zhǔn)備web站點(diǎn)程序,php編寫 (httpd php)

web服務(wù)服務(wù)端(web01):💗

①安裝web服務(wù)需要的包

[root@web01 ~]# yum install httpd php php-mbstring php-gd -y
[root@web01 ~]# groupadd -g666 www
[root@web01 ~]# useradd -u666 -g666 www

在這里插入圖片描述

②修改httpd以www用戶身份運(yùn)行

[root@web01 ~]# sed -i '/^User/c User www' /etc/httpd/conf/httpd.conf 
[root@web01 ~]# sed -i '/^Group/c Group www' /etc/httpd/conf/httpd.conf

在這里插入圖片描述

③進(jìn)入站點(diǎn)目錄,下載代碼,授權(quán)整個(gè)/var/www/html目錄為www (httpd程序就可以通過www身份讀取所有代碼)

[root@web01 ~]# cd /var/www/html				#默認(rèn)網(wǎng)站代碼存放的路徑
[root@web01 html]# wget http://static.kodcloud.com/update/download/kodexplorer4.40.zip
[root@web01 html]# unzip kodexplorer4.40.zip

在這里插入圖片描述

[root@web01 html]# chown -R www.www /var/www/html

在這里插入圖片描述

④重啟服務(wù),下次開啟自啟

[root@web01 ~]# systemctl restart httpd
[root@web01 ~]# systemctl enable httpd
[root@web01 ~]# systemctl status httpd

在這里插入圖片描述

⑤將用戶寫入web主機(jī)上的視頻類資源,自動(dòng)的寫入至NFS存儲(chǔ).

1)我們打開谷歌瀏覽器輸入配置httpd服務(wù)web01的外網(wǎng)(10.0.0.7)

在這里插入圖片描述

2)登陸admin 密碼默認(rèn)設(shè)置為1

在這里插入圖片描述

3)創(chuàng)建一個(gè)我們實(shí)驗(yàn)環(huán)境下,測(cè)試上傳視頻用的video文件夾。

在這里插入圖片描述

4)我們?cè)趙eb01將nfs共享的目錄掛載到httpd的站點(diǎn)目錄下

[root@web01 ~]# mount       -t        nfs     172.16.1.31:/data             /var/www/html/data/User/admin/home/video/
                掛載  選項(xiàng)(指定類型) nfs  nfs服務(wù)端ip:共享目錄   站點(diǎn)目錄(/var/www/html)/我們創(chuàng)建文件的路徑/

在這里插入圖片描述

5)我們現(xiàn)在上傳一個(gè)照片,這個(gè)照片相當(dāng)于上傳存儲(chǔ)到nfs的共享目錄/data下。

在這里插入圖片描述

#nfs的共享目錄/data掛載在站點(diǎn)目錄下(/var/www/html/data/User/admin/home/video),所以我們要在這個(gè)路徑下查找上傳的圖片。
在這里插入圖片描述

🦄4.部署sersync

接入sersync實(shí)時(shí)同步工具, 同步NFS數(shù)據(jù)至 備份服務(wù)器的data模塊

1.安裝sersync

我們把windows中rersync實(shí)時(shí)同步這個(gè)工具移動(dòng)到Linux中的nfs服務(wù)器中,

在這里插入圖片描述

 解釋: 為什么我們把resync裝在nfs中?
 因?yàn)槲覀冇胹ersync這個(gè)工具監(jiān)控nfs共享目錄/data的增 刪 改 查,然后增量備份上傳到backup(rsync服務(wù)端)
[root@nfs01 ~]# unzip sersync_installdir_64bit.zip 
[root@nfs01 ~]# mv sersync_installdir_64bit/sersync/ /usr/local/

在這里插入圖片描述

2.配置

[root@nfs01 /]# vim /usr/local/sersync/conf/confxml.xml

在這里插入圖片描述
在這里插入圖片描述

3.編輯一個(gè)免交互的密碼文件,要給/etc/rsync.pass 600權(quán)限

[root@nfs01 /]# vim /etc/rsync.pass
[root@nfs01 /]# cat /etc/rsync.pass 
1
[root@nfs01 data]# chmod 600 /etc/rsync.pass

在這里插入圖片描述

4.更改權(quán)限

[root@nfs01 ~]# chmod +x /usr/local/sersync/bin/sersync
[root@nfs01 /]# chown -R  www.www  /usr/local/sersync/bin/sersync 

在這里插入圖片描述

5.啟動(dòng)resync實(shí)時(shí)監(jiān)控工具

[root@nfs01 ~]# /usr/local/sersync/bin/sersync -rdo /usr/local/sersync/conf/confxml.xml
在這里插入圖片描述

🦄5.測(cè)試三臺(tái)機(jī)器整套流程(實(shí)時(shí)同步)

用戶上傳一個(gè)視頻 --> /var/video —>nfs–>/data —> push —>rsync---->backup

💗a.web01虛擬機(jī):

第一步:我們開始測(cè)試 首先是上傳一個(gè)文件(文件名稱為實(shí)驗(yàn)成功大吉大利)在web網(wǎng)頁(yè)上。

在這里插入圖片描述

第二步:我們查看web服務(wù)器下的站點(diǎn)目錄(/var/www/html/data/User/admin/home/video)有沒有我們的大吉大利!

在這里插入圖片描述
web節(jié)點(diǎn)測(cè)試成功!!!

💗b.nfs01虛擬機(jī):

第三步:我們查看nfs的共享目錄/data下有沒有大吉大利文件,因?yàn)槲覀兊膎fs共享目錄/data,掛載在web01虛擬機(jī)的站點(diǎn)目錄下,所以我們查看nfs的共享目錄/data下有大吉大利文件。

在這里插入圖片描述
nfs節(jié)點(diǎn)測(cè)試成功!!!

第四步:我們手動(dòng)用一下rsync

在這里插入圖片描述

💗c.backup虛擬機(jī)

第五步:檢查rsync備份/data下是否擁有大吉大利

在這里插入圖片描述

backup節(jié)點(diǎn)測(cè)試成功!!!

🦄6.增加一個(gè)web節(jié)點(diǎn)

原理圖
在這里插入圖片描述

1.web02節(jié)點(diǎn)配置

[root@web02 ~]# yum install nfs-utils -y 
[root@web02~]# yum install httpd php php-mbstring php-gd -y
[root@web02 ~]# groupadd -g666 www
[root@web02 ~]# useradd -u666 -g666 www

在這里插入圖片描述#

2.修改httpd以www用戶身份運(yùn)行

[root@web02 ~]# sed -i '/^User/c User www' /etc/httpd/conf/httpd.conf
[root@web02 ~]# sed -i '/^Group/c Group www' /etc/httpd/conf/httpd.conf

在這里插入圖片描述

3.進(jìn)入站點(diǎn)目錄,下載代碼,授權(quán)整個(gè)/var/www/html目錄為www (httpd程序就可以通過www身份讀取所有代碼)

[root@web02 ~]# cd /var/www/html				#默認(rèn)網(wǎng)站代碼存放的路徑
[root@web02 html]# wget http://static.kodcloud.com/update/download/kodexplorer4.40.zip
[root@web02 html]# unzip kodexplorer4.40.zip
[root@web02 html]# chown -R www.www /var/www/html

4.重啟服務(wù)

[root@web02 ~]# systemctl restart httpd
[root@web02 ~]#  systemctl enable httpd
[root@web02 ~]# systemctl status httpd

5.測(cè)試

①.我們把nfs共享目錄/data掛載到web02站點(diǎn)目錄(/var/www/html/data/User/admin/home/video)下,并且上傳一個(gè)web站點(diǎn)添加的文件。

[root@web02 ~]# showmount -e 172.16.1.31
 Export list for 172.16.1.31:
/data 172.16.1.0/24
[root@web02 ~]# mount -t nfs 172.16.1.31:/data    /var/www/html/data/User/admin/home/video/

在這里插入圖片描述

②查看web02下

在這里插入圖片描述

③查看web01下

在這里插入圖片描述

④查看nfs01下

在這里插入圖片描述

⑤推送到backup的data模塊下

在這里插入圖片描述

⑥查看backup下

在這里插入圖片描述

🦄7.模擬nfs服務(wù)器故障,如何快速切換 (平滑遷移,冷備方式).

1.在backup備份服務(wù)器上配置nfs

①.在backup服務(wù)器搭建一個(gè)nfs ( 不使用 ,等有故障時(shí)能正常切換使用 )

[root@backup ~]# yum install nfs-utils -y
[root@backup ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
[root@backup ~]# groupadd -g666 www
[root@backup ~]# useradd -u666 -g666 www
[root@backup ~]# chown -R www.www /data/

在這里插入圖片描述

②.修改rsync的權(quán)限為www

[root@backup ~]# head -2 /etc/rsyncd.conf 
uid = www
gid = www

在這里插入圖片描述

[root@backup ~]# chown -R www.www /backup/

③.重啟服務(wù)

[root@backup ~]# systemctl restart rsyncd nfs	

2 .測(cè)試:我們關(guān)閉nfs準(zhǔn)備環(huán)境

[root@nfs01 sersync]# systemctl stop nfs

在這里插入圖片描述

3.web卸載nfs ,重新到backup掛載,達(dá)到平滑遷移

[root@web01 ~]# umount -lf 172.16.1.31:/data && mount -t nfs 172.16.1.41:/data /var/www/html/data/User/admin/home/video

在這里插入圖片描述

[root@web02 ~]# umount -lf 172.16.1.31:/data && mount -t nfs 172.16.1.41:/data /var/www/html/data/User/admin/home/video~

8.拓展實(shí)時(shí)同步的工具 Lsyncd

Lysncd是一款開源的數(shù)據(jù)實(shí)時(shí)同步工具,基于inotify和rsync基礎(chǔ)之上進(jìn)行開發(fā)。

lsyncd與sersync一樣,會(huì)監(jiān)控本地目錄,只要當(dāng)本地目錄發(fā)生變化則觸發(fā)動(dòng)作,這個(gè)動(dòng)作就是同步至遠(yuǎn)程服務(wù)器。Lsyncd應(yīng)用場(chǎng)景例如CDN鏡像、網(wǎng)站數(shù)據(jù)備份、網(wǎng)站搬家等等。

1.環(huán)境準(zhǔn)備

rsync服務(wù)端172.16.1.41rsynclsync客戶端172.16.1.31lsyncd
[root@nfs01-31:~]# yum install lsyncd~

2.backup服務(wù)器環(huán)境準(zhǔn)備

[root@backup-41:~]# cat /etc/rsyncd.conf
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read>= false
auth users = rsync_backup
secrets file = /etc/rsync.password

[backup]
comment = "backup dir by oldboy"
path = /backup

3.根據(jù)配置初始化環(huán)境

[root@backup-41:~]# mkdir /backup
[root@backup-41:~]# useradd rsync
[root@backup-41:~]# ll /backup/ -d
drwxr-xr-x 2 root root 6 Aug  2 15:40 /backup/
[root@backup-41:~]# chown rsync.rsync /backup/
[root@backup-41:~]# echo "rsync_backup:123456" >/etc/rsync.password
[root@backup-41:~]# chmod 600 /etc/rsync.password 
[root@backup-41:~]# systemctl start rsyncd.service

4.NFS服務(wù)器配置lsync

①安裝lsyncd

[root@nfs01-31:~]# yum install lsyncd

②配置lsyncd,監(jiān)控本地目錄,觸發(fā)則立即同步

[root@nfs01-31:~]# cat /etc/lsyncd.conf

settings {
 logfile = "/var/log/lsyncd/lsyncd.log",
 statusFile = "/var/log/lsyncd/lsyncd.status",
 inotifyMode = "CloseWrite",
 maxProcesses = 8,
}

sync {
 default.rsync,
 source = "/data",
 target = "rsync_backup@172.16.1.41::backup",
 delete= true,
 exclude = { ".*" },
 delay = 1,

rsync = {
    binary = "/usr/bin/rsync",
    archive = true,
    compress = true,
    verbose = true,
    password_file = "/etc/rsync.pwd",
    _extra = {"--bwlimit=200"}
    }
}


③配置

[root@nfs01-31:~]# mkdir /data
[root@nfs01-31:~]# echo "123456" >/etc/rsync.pwd  #創(chuàng)建密碼文件
[root@nfs01-31:~]# chmod 600 /etc/rsync.pwd 
[root@nfs01-31:~]# systemctl start lsyncd.service
[root@nfs01-31:~]# touch /data/{1..10}
[root@nfs01-31:~]# rsync -avz /etc/passwd rsync_backup@172.16.1.41::backup

相關(guān)案例查看更多