歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> 搭建中小規模集群之rsync數據同步備份,rsync數據同步

搭建中小規模集群之rsync數據同步備份,rsync數據同步

日期:2017/3/3 17:32:55   编辑:學習Linux

搭建中小規模集群之rsync數據同步備份,rsync數據同步


熱度2 評論 253 www.BkJia.Com 網友分享於: 2017-02-10 04:02:48 浏覽數26272次

搭建中小規模集群之rsync數據同步備份,rsync數據同步


NFS重要問題

1、有關NFS客戶端普通用戶寫NFS的問題。

1)為什麼要普通用戶寫NFS。

2)exports加all_squash。

Rsync介紹

什麼是Rsync?

Rsync是一款開源的、快速的、多功能的、可實現全量即增量的本地或遠程數據同步備份的優秀工具。Rsync軟件適用於unix、linux、windows等多種操作系統平台。

Rsync簡介

Rsync英文全稱Remote synchronization。從軟件的名稱就可以看出來,Rsync具有可使本地和遠程兩台主機之間的數據快速復制同步鏡像、遠程備份的功能,這個功能類似ssh帶的scp命令,但又優於scp命令的功能,scp每次都是全量拷貝,而rsync可以增量拷貝。當然,Rsync還可以在本地主機的不同分區或目錄之間全量及增量的復制數據,這又類似cp命令,但同樣也優於cp命令,cp每次都是全量拷貝,而rsync可以增量拷貝。

利用rsync還可以實現刪除文件和目錄的功能,又相當於rm命令。

一個rsync相當於scp、cp、rm,但是還優於他們每一個命令。

Rsync的特性

1、支持拷貝特殊文件如鏈接文件、設備等。

2、可以有排除指定文件或目錄同步的功能,相當於打包命令tar的排除功能。

3、可以做到保持原文件或目錄的權限、時間、軟硬鏈接、屬主、屬組等所有屬性均不改變-p。

4、可以實現增量同步,即只同步變化的數據,因此數據傳輸效率很高。

5、可以使用rcp、rsh、ssh等方式來配合傳輸文件(rsync本身不對數據加密)。

6、可以通過socket(進程方式)傳輸文件和數據(服務端和客戶端)。

7、支持匿名或認證的進程模式傳輸,可以實現方便安全的進行數據備份及鏡像。

Rsync的企業工作場景說明

兩台服務器之間數據做定時同步cron+rsync

全網服務器數據備份

rsync結合inotify的功能做實時的數據同步

Rsync的工作方式

rsync命令是客戶端命令。

Rsync大致使用三種主要的傳輸數據的方式。

1、單個主機本地之間的數據傳輸(此時類似cp命令的功能)。

2、借助rcp、ssh等通道來傳輸數據(此時類似scp命令的功能)。

3、以守護進程(socket)的方式傳輸數據(rsync自身的重要功能)。

借助ssh通道推送數據

源端:

目標端:

借助ssh通道拉取數據

源端:

關鍵語法說明:

1、-avz相當於-vzrtopgD1,表示同步時文件和目錄屬性不變。

2、-P顯示同步的過程,可以用--progress替換。

3、-e 'ssh -p 22',表示通過ssh的通道傳輸數據,-p 22可省略。

4、[email protected]:/tmp/遠程的主機系統用戶、地址、路徑。

5、/tmp/本地的路徑。

Rsync命令同步參數選項

常用參數選項說明:

-v,--verbose:詳細模式輸出,傳輸時的進度等信息。

-z,--compress:傳輸時進行壓縮以提高傳輸效率,--compress-level=NUM可按級別壓縮。

-a,--archive:歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,等於-rtopgDl。

-r,--recursive:對子目錄以遞歸模式,即目錄下的所有目錄都同樣傳輸,注意是小寫r。

-t,--times:保持文件時間信息。

-o,--owner:保持文件屬主信息。

-p,--perms:保持文件權限。

-g,--group:保持文件屬組信息。

-P,--progress:顯示同步的過程及傳輸時的進度等信息。

-D,--devices:保持設備文件信息。

-l,--links:保留軟鏈接。

-e,--rsh=COMMAND:使用的信道協議,指定替代rsh的shell程序。例如:ssh。

--exclude=PATTERN:指定排除不需要傳輸的文件模式。

--exclude-from=file(文件名所在的目錄文件)

--bwlimit=PATE(限速) limit socket I/O bandwidth。

生產參數:-avz或者-vzrtopg。

查看rsync安裝包

啟動rsync服務

創建rsync用戶

創建共享目錄/backup

創建密碼文件/etc/rsync.password

修改密碼文件/etc/rsync.password的權限

rsync server配置步驟

1、vi /etc/rsyncd.conf配置。

2、創建rsync用戶,及共享目錄/backup。

useradd rsync -s /sbin/nologin -M

id rsync

mkdir /backup

chown -R rsync /backup

3、創建密碼文件/etc/rsync.password。

echo "用戶名:密碼" >/etc/rsync.password

chmod 600 /etc/rsync.password

4、啟動服務

rsync --daemon

netstat -lntup|grep rsync

ps -ef|grep rsync|grep -v grep

5、加入開機自啟動

echo "rsync --daemon" >>/etc/rc.local

cat /etc/rc.local

rsync客戶端配置步驟

1、創建密碼文件

echo "密碼">/etc/rsync.password

chmod 600 /etc/rsync.password

2、rsync

push:

rsync -avz /tmp/ [email protected]::backup --password-file=/etc/rsync.password

pull:

rsync -avz [email protected]::backup /tmp/ --password-file=/etc/rsync.password

rsync -avz rsync://[email protected]/backup /tmp/ --password-file=/etc/rsync.password

安全的優化:

pkill rsync #結束進程rsync

rsync --daemon --address=10.0.0.10

進程管理:

pkill 進程名

killall 進程名

kill pid(進程號)

平滑結束進程:

kill -HUP `cat /var/run/rsyncd.pid`

kill –USR2 `cat /var/run/rsyncd.pid`

Rsync服務端排錯

1、查看rsync服務配置文件路徑是否正確,正確的默認路徑為:/etc/rsyncd.conf。

2、查看配置文件裡host allow、host deny允許的ip網段是否是允許客戶端訪問的ip網段。

3、查看配置文件中path參數裡的路徑是否存在,權限是否正確(正常應為配置文件中的UID參數對應的屬主和組)。

4、查看rsync服務是否啟動。查看命令為ps -ef|grep rsync。端口是否存在netstat -lnt|grep 873。

5、查看iptables防火牆和selinux是否開啟允許rsync服務通過,也可以關閉。

6、查看服務端rsync配置的密碼文件是否為600的權限,密碼文件格式是否正確,正確格式:用戶名:密碼,文件路徑和配置文件裡的secrect files參數對應。

7、如果是推送數據,要查看配置rsyncd.conf文件中用戶是否對模塊下目錄有可讀寫的權限。

rsync優點

1、增量備份同步。

2、支持socket(daemon)。

3、集中備份。

rsync缺點

1、大量小文件同步的時候比對時間較長,有的時候rsync進程會停止。

解決辦法:a、打包同步。b、drbd(文件系統同步復制block)。

2、同步大文件時(10G以上)會有中斷。未完整同步前是隱藏文件,同步完成之後為正常文件。

無差異同步:--delete(慎用),使用該參數前先備份。

客戶端rsync命令排除

排除單個文

rsync -avz --exclude=a /data1/ [email protected]::oldboy --password-file=/etc/rsync.password

排除多個文件

rsync -avz --exclude={a,b} /data1/ [email protected]::oldboy --password-file=/etc/rsync.password

rsync -avz –exclude-from=paichu.log /data1/ [email protected]::oldboy --password-file=/etc/rsync.password

定時備份案例

用scp發送到另外一台服務器

http://www.bkjia.com/Linuxjc/1192043.html TechArticle

Copyright © Linux教程網 All Rights Reserved