6-5
差異性備份(增量複製)
- 重點:
- 將快照 zfs/samba@1 到 zfs/samba@2 之間的差異 傳送到遠端主機
- 從原始快照傳送增量串流以建立複製。接收端必須存有原始快照,才能接受增量串流。
- 建立兩邊預設同步的快照
- 先建立 zfs/samba 快照
root@debian8:~# zfs snapshot zfs/samba@1
- 將 zfs/samba@1 傳送到遠端主機的 bacupd/samba dataset
root@debian8:~# zfs send zfs/samba@1 | ssh localhost zfs receive backup/samba -F
root@localhost's password: <------這裡輸入遠端主機的密碼
cannot receive new filesystem stream: I/O error
- 現在兩邊主機的 dataset 目前已同步
root@debian8:~# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
backup/samba@1 0 - 152K -
zfs/samba@1 0 - 152K -
-
來源端增量
-
在 /zfs/samba/ dataset 下增加檔案/目錄
root@debian8:~# cd /zfs/samba/
-
將 /var/ 目錄複製到 /zfs/samba/ 底下
root@debian8:/zfs/samba# rsync -avP /var/ /zfs/samba/var/
root@debian8:/zfs/samba# ls -alF
總計 34
drwxr-xr-x 4 root root 4 7月 4 23:17 ./
drwxr-xr-x 4 root root 4 7月 3 22:22 ../
drwxr-xr-x 6 root root 6 7月 1 10:10 01-教導處/
drwxr-xr-x 11 root root 13 6月 13 14:04 var/
-
目錄容量明顯增加
root@debian8:/zfs/samba# du -d1 -h
43K ./01-教導處
145M ./var
145M
-
/zfs/samba/ 檔案及目錄增加或修改過後
-
製作第2次快照
root@debian8:/zfs/samba# zfs snapshot zfs/samba@2
-
目前快照
root@debian8:/zfs/samba# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
backup/samba@1 0 - 152K -
zfs/samba@1 96K - 152K -
zfs/samba@2 0 - 144M -
-
將增量的部份傳送到遠端主機
-
使用 參數 -I (大寫的 i ) 來傳送增量快照
~# zfs send -I zfs/samba@1 zfs/samba@2 | ssh localhost zfs receive backup/samba -F
root@localhost's password: <-----這裡輸入遠端主機密碼
root@debian8:/zfs/samba#
-
目前快照,可以發現本端主機與遠端主機的快照也同步了
root@debian8:/zfs/samba# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
backup/samba@1 96K - 152K -
backup/samba@2 0 - 144M -
zfs/samba@1 96K - 152K -
zfs/samba@2 88K - 144M -
-
使用增量快照的方式,在資料的傳輸上要比傳統使用 rsync 的方式所需要傳輸的資料少,時間上也較節省。若有一個10G的大檔案變更檔名,以rsync的方式來同步時,就必須重新傳送10G的資料量,而以zfs快照增量的方式,僅僅只需要傳送「變更檔名」的改變。
而且,zfs還提供本機與遠端每一次變更的快照。
-
參考資料
http://docs.oracle.com/cd/E19253-01/819-0362/ghgfx/index.html