Zfs

創建 ZFS 卷的備份

  • October 22, 2019

我無法創建現有 ZFS 捲和快照的副本。對於我的其他卷,我每晚通過 zfs send / zfs receive 同步備份,並且工作正常。

也就是說,我認為創建現有捲副本的過程基本上是:

zfs send -vR zfs_volume_name@snapshot_name | ssh -x backup_server sudo zfs receive zfs_backup_volume_name

但是,當我這樣做時,我得到:

cannot receive new filesystem stream: invalid backup stream

當我啟動同步命令時,它看起來會起作用。它開始說它將要發送的每個快照的預期大小,但隨後它很快就因上述錯誤而死。

如果它有任何意義,我這樣做是因為我的一個備份卷在很長時間內沒有同步,而且我錯過了一些增量快照,所以沒有共同點。我用發現問題的日期重命名了現有捲,並打算從新的主卷創建一個新卷。一旦我啟動並執行了新的備份卷,我將刪除舊的備份卷。

我相信我的增量和這之間的唯一區別是我發送 -I 發送增量,所以我希望這適用於完整備份。

如果我只是將備份流發送到一個文件,它就可以了。我在源和目標上都有相同版本的 ZFS,儘管是更新的核心。我懷疑池是不同的版本,當我執行 zpool get version 時,版本號都不會顯示。

我相信問題是由使用較舊的作業系統引起的(儘管安裝的 ZFS 版本相同)。我現在在兩個盒子上使用相同的作業系統版本(dd if=current_root of=usb_device)並且能夠按預期同步。

根據特定的 ZFS 版本,這可能是由於dnodesize 不匹配造成的。

請更新兩個 ZFS 框並重試。

引用自:https://serverfault.com/questions/988917