自建 samba + ZFS (snhpshot快照/任意還原點)檔案伺服器
步驟:
- 製作快照:將要傳送的資料池(dataset, 相當於分割區的概念)製作快照
- 將製作的快照傳送到另一台主機(pve)
實作:
- 將虛擬機 的 dataset zfs/samba 先建立快照
root@debian8:~# zfs snapshot -r zfs/samba@GMT-`date -u +%Y.%m.%d-%H.%M.%S`
root@debian8:~# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
zfs/samba@GMT-2017.07.04-13.45.57 0 - 152K -
root@debian8:~#
- 將虛擬機 的 dataset zfs/samba 建立的快照 zfs/samba@GMT-2017.07.04-13.45.57
透過網路 以zfs 複製/備份 到
另一台主機 pve 的 backup/samba dataset
來源:本 機
zfs dataset:zfs/samba@GMT-2017.07.04-13.45.57
目的:遠端主機 pve (或 主機pve的ip 192.168.200.12)
zfs dataset:backup/samba
開始傳送
# zfs send zfs/samba@GMT-2017.07.04-13.45.57 | ssh pve zfs receive backup/samba
或
# zfs send zfs/samba@GMT-2017.07.04-13.45.57 | ssh 192.168.200.12 zfs receive backup/samba
說明:- 1.zfs zfs檔案系統提供的處理指令
- @GMT-2017.07.04-13.45.57 dataset 因為還掛載於系統上(使用中),所以先製作快照,zfs會將這個dataset 的時間點快照複製到遠端主機,這樣才不會影響到系統對這個dataset的讀寫
- send 傳送
- ssh pve 透過ssh 連線到 主機 pve 或 主機的ip
- receive 接收
- 若遠端主機(接收方)的目的 dataset (backup/samba)原本不存在,zfs會自動建立。
- 但遠端目的dataset文件系統若已經存在,為避免將遠端覆蓋zfs會自動停止傳送,可加上 -F 參數強制 覆蓋.
# zfs send zfs/samba@GMT-2017.07.04-13.45.57 | ssh pve zfs receive backup/samba -F