ZFS 儲存池降級或消失:資料是不是不見了
儲存池降級不代表資料遺失,而是失去了備援。看似消失的儲存池,通常也沒有被刪除,只是從系統上脫離了。
AtlasPVE ·
本條目涵蓋以下問題
- zfs pool 降級
- proxmox zfs pool 不見了
- zpool import 無法匯入
- 不小心刪除 zfs pool
- zfs 硬碟故障怎麼辦
兩種不同的恐懼常被混為一談:儲存池顯示為降級,以及儲存池完全沒有顯示。這是兩種不同的情況,而且在兩種情況下,資料通常都還在。
降級是什麼意思
降級代表儲存池失去了其中一個成員。以鏡像或同位元方式建置的儲存池,在這種狀態下仍會繼續運作並提供資料;失去的不是資料,而是備援。此時儲存池對下一次故障已毫無防護。所以儲存池降級是緊急狀況,但不是恐慌的理由:急迫的是在第二顆磁碟損壞之前更換磁碟。
為什麼會降級
原因不一定是磁碟壞了。鬆脫的線材、斷電時被中斷的寫入,或是控制器的問題,都會產生相同的畫面。所以在更換磁碟之前,先確認離開的真的是那顆磁碟;更換一顆健康的磁碟,只會白白浪費時間和金錢。
如果儲存池完全沒有顯示
系統上看不到的儲存池,通常並沒有被刪除。ZFS 儲存池的資訊存放在磁碟本身的標籤中;儲存池被脫離或設定遺失時,這個標籤仍留在原處。因此在大多數情況下,儲存池都可以找回來。已停止的 mdadm 陣列和未掛載的 Btrfs 檔案系統也是同樣的道理。
不該做的事
這時最危險的動作,是格式化磁碟或在上面建立新的儲存池。只有這樣,標籤才會真的消失。順序是這樣:先確認磁碟是否還能被讀取,再嘗試找回儲存池,而且在任何步驟都不要對磁碟寫入任何東西。
資料來源
Proxmox 官方文件。內容為英文,且在此主題上以官方文件為準。