
我想將一個 ZFS 檔案系統(池中的磁碟區)替換為另一個 ZFS 檔案系統(同一池中的另一個磁碟區)。重新啟動是可以的,但我想避免單一使用者模式。
當我嘗試在舊檔案系統上進行設定時mountpoint=none
,ZFS 嘗試卸載它,但由於檔案正在使用而失敗。因此,mountpoint=/data
由於安裝了某些東西,我無法在新檔案系統上進行設定。這些mountpoint
屬性也不會寫入檔案系統。
如果我重新啟動,舊的文件系統仍然被安裝,服務將開始使用那裡的文件,並且我無法再卸載它。有沒有辦法mountpoint
在檔案系統上寫入屬性,而無需實際更改已安裝的任何內容,然後重新啟動,以便在系統再次啟動時使用新的檔案系統?
答案1
在較新版本的 OpenZFS 中,有該zfs set -u
標誌。
zfs set -u mountpoint=/data-old zpool/data1
zfs set -u mountpoint=/data zpool/data2
現在屬性已更改,但目前掛載點沒有任何更改;/data
仍然指向zpool/data1
,但重新啟動後,它將是zpool/data2
。