![NFS 或 RSYNC 上的自動檔案加密用於遠端增量備份?](https://rvso.com/image/1419619/NFS%20%E6%88%96%20RSYNC%20%E4%B8%8A%E7%9A%84%E8%87%AA%E5%8B%95%E6%AA%94%E6%A1%88%E5%8A%A0%E5%AF%86%E7%94%A8%E6%96%BC%E9%81%A0%E7%AB%AF%E5%A2%9E%E9%87%8F%E5%82%99%E4%BB%BD%EF%BC%9F.png)
我應該考慮什麼解決方案來允許透過 nfs4 上的 rsync 進行增量備份,從而允許在備份主機上對檔案進行加密?
我對備份主機的軟體具有零控制權,因此加密顯然必須在客戶端完成。由於頻寬可用性較低,我希望增量備份仍然有效(儘管它可以是整個文件,但我不希望複製部分文件)。
看起來很奇怪,這麼多年之後,NFS 或 RSYNC 都沒有內建這種功能,除非我錯過了一些東西。
我發現同步加密但它看起來已經好幾年沒有更新了,並且不像我希望的那樣透明。
答案1
覆蓋檔案系統encfs
可用於此目的。通常它會被賦予一個加密目錄,並允許透明地存取其中的解密檔案。然而,使用該--reverse
選項,它會以相反的方向工作——給定一個常規目錄,它允許透過掛載點讀取加密檔案。因此,您可以指向rsync
反向加密檔案系統,並讓它複製加密的檔案。
# encfs --reverse /home /mnt/encrypted-home
# rsync --various-options /mnt/encrypted-home/ /mnt/nfs-backup-server/
然而。通過說“通過 NFS”,您似乎暗示 rsync 運行僅有的在本地,僅使用 NFS 寫入伺服器。一方面,這意味著 rsync 根本不會有效率——如果不先從伺服器讀取舊版本,它就無法執行部分複製,如果它透過 NFS 執行此操作,它會使用更多的頻寬高於整個文件副本。
另一方面,這意味著您可以使用encfs
(或其他替代方案,例如eCryptFS
)沒有「反向」模式,透過使用 encfs 直接掛載目標目錄(而非來源目錄)。透過這種方式,您可以獲得更廣泛的覆蓋檔案系統選擇,因為並非所有檔案系統都具有「反向」模式。
# encfs /mnt/nfs-backup-server/ /mnt/encrypted-backup/
# rsync --etc-etc-etc /home/ /mnt/encrypted-backup/