Zfs
儘管有足夠的副本可用,zpool 仍無法導入 raidz3 池
一些使用者在連接到該伺服器在池中的共享時遇到問題,而其他使用者似乎很好。安排重新啟動後,一旦系統啟動,池就無法導入。
在重新啟動期間,我注意到在 POST 期間驅動器出現故障,由擋板上的橙色燈指示,在
zpool import
.池中有足夠的設備可以聯機,但無法成功導入。
$ zpool import pool: darkpool id: 5743344949875332602 state: DEGRADED status: One or more devices contains corrupted data. action: The pool can be imported despite missing or damaged devices. The fault tolerance of the pool may be compromised if imported. see: http://zfsonlinux.org/msg/ZFS-8000-4J config: darkpool DEGRADED raidz3-0 DEGRADED wwn-0x5000c5008581aafb ONLINE wwn-0x5000c5008581b61b ONLINE wwn-0x5000c5008581b79f ONLINE wwn-0x5000c5008581b933 ONLINE wwn-0x5000c5008581b953 ONLINE wwn-0x5000c5008581bdf7 ONLINE wwn-0x5000c50085825ec7 ONLINE wwn-0x5000c5008581cc03 ONLINE wwn-0x5000c5008581e423 UNAVAIL wwn-0x5000c5008581fd3f ONLINE wwn-0x5000c50085820b93 ONLINE wwn-0x5000c500858211b3 ONLINE wwn-0x5000cca267ab0de4 ONLINE spare-13 DEGRADED 11992420879588183985 FAULTED corrupted data wwn-0x5000c500858252ef ONLINE spares wwn-0x5000c500858252ef $ zpool status no pools available $ zpool import darkpool cannot import 'darkpool': I/O error Destroy and re-create the pool from a backup source. $ zpool import -f darkpool cannot import 'darkpool': I/O error Destroy and re-create the pool from a backup source. $ zpool import -fFn darkpool $ zpool import -F darkpool cannot import 'darkpool': I/O error Destroy and re-create the pool from a backup source. $ zpool import -fFX darkpool cannot import 'darkpool': I/O error Destroy and re-create the pool from a backup source.
有沒有人見過這樣的東西?我不確定在銷毀池並從備份恢復之前要嘗試什麼(我想避免這種情況,因為它需要很長時間)。
看起來備份在幾週前開始失敗。有什麼方法可以知道維修故障驅動器是否會讓游泳池開心?
該系統是帶有 zfsutils-linux_0.7.5-1ubuntu16.7_amd64 的 Ubuntu 18.04.2 LTS。
我最終註冊了 LinkedIn Premium,這樣我就可以給 ZFS 開發人員發消息(實際上他很友好地回復了!)。他建議我將池移動到具有 ZFS 0.8 的系統,他在 Github 上的相關送出包含在 Ububtu 19.10 和其他發行版中。
在只讀模式下,我們可以通過禁用選項來載入池
spa_load_verify_metadata
。這也跳過了池的掃描,因此您不必等待幾分鐘或幾小時,具體取決於池的大小。載入池後,我開始將所有內容備份到另一台伺服器,併計劃銷毀池和伺服器(戴爾進行了太多現場旅行,更換 CPU、記憶體、主機板等……),然後開始新鮮的新系統。
切換選項(Ubuntu 19.10):
$ cat /sys/module/zfs/parameters/spa_load_verify_metadata 1 $ echo 0 >/sys/module/zfs/parameters/spa_load_verify_metadata $ cat /sys/module/zfs/parameters/spa_load_verify_metadata 0
載入池
zpool import -o readonly=on darkpool -f
該標誌將在重新啟動後重置,因此在啟動過程中不會載入池。但實際上你想複製數據並停止使用池。