Filesystems
zfs 收到 -F 做什麼?
當我閱讀時
man zfs
,zfs receive
我看到-F Force a rollback of the file system to the most recent snap- shot before performing the receive operation. If receiving an incremental replication stream (for example, one generated by "zfs send -R -Fi -iI"), destroy snapshots and file systems that do not exist on the sending side.
但我不太明白
-F
實際上會做什麼。如果我
zfs receive tank/pool
接收到的快照將在目標端文件系統上回滾,這就是我想要的。我想在哪些情況下使用
-F
?
如果您在收到目標數據集後弄亂了它,則 -F 開關會派上用場。一旦您對其進行了任何更改(包括做一些像目錄列表一樣無辜的事情,因為這有時會改變),它就不再處於初始傳輸後的狀態。嘗試
zfs receive
從對方創建的增量數據流中執行純文字zfs send -i tank/dataset@old tank/dataset@new
會導致錯誤。在這種情況下,您在接收方有兩個選擇:
- 您可以使用手動恢復到最後一個快照
zfs rollback
- 或提供
-F
開關以zfs receive
讓它自動為您處理當然,它可能是一種破壞性的操作,所以在使用它之前你必須了解它在做什麼。但是,如果您所做的只是將快照複製到非實時“備份”目的地,沒有其他數據寫入您可能會失去,那麼它應該是安全的。