Saya menjalankan Ubuntu Server 13.04 64-bit menggunakan ZFS asli. Saya memiliki zpool yang terdiri dari 4 hard drive yang satu mati kemarin dan sekarang tidak dikenali oleh OS atau BIOS lagi.
Sayangnya saya melihat masalah hanya setelah reboot berikutnya jadi sekarang label drive hilang dan saya tidak dapat mengganti disk menggunakan instruksi resmi di sini dan di sini .
zpool status hermes -x
cetakan
root@zeus:~# zpool status hermes -x
pool: hermes
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: scrub repaired 0 in 2h4m with 0 errors on Sun Jun 9 00:28:24 2013
config:
NAME STATE READ WRITE CKSUM
hermes DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
ata-ST3300620A_5QF0MJFP ONLINE 0 0 0
ata-ST3300831A_5NF0552X UNAVAIL 0 0 0
ata-ST3200822A_5LJ1CHMS ONLINE 0 0 0
ata-ST3200822A_3LJ0189C ONLINE 0 0 0
errors: No known data errors
Saya sudah mengganti drive dengan yang baru (yang mendapat label /dev/disk/by-id/ata-ST3500320AS_9QM03ATQ
)
Salah satu dari perintah itu
zpool replace hermes /dev/disk/by-id/ata-ST3300831A_5NF0552X /dev/disk/by-id/ata-ST3500320AS_9QM03ATQ
zpool offline hermes /dev/disk/by-id/ata-ST3300831A_5NF0552X
zpool detatch hermes /dev/disk/by-id/ata-ST3300831A_5NF0552X
gagal dengan
root@zeus:~# zpool offline hermes /dev/disk/by-id/ata-ST3300831A_5NF0552X
cannot offline /dev/disk/by-id/ata-ST3300831A_5NF0552X: no such device in pool
karena label drive yang mati tidak ada dalam sistem lagi. Saya juga mencoba perintah di atas menghilangkan jalan ke label drive tidak berhasil.
Bagaimana saya bisa mengganti disk "ghost"?
-n
switch, tetapi juga-g
switch akan mengambil uuid seperti itu juga.zpool status
(nama-nama seperti sdab) TIDAK sama dengan jalur di/dev/disk/by-id
(nama ID panjang gila). Tetapils -la /dev/disk/by-id
mengungkapkan bahwa mereka semua tautan/dev/...
sehingga saya menemukan yang menunjuk ke disk UNAVAIL saya (dan kemudian OFFLINE), dan saya berhasil menyelesaikan langkah-langkah ini. Sekarang resilver. Terima kasih!zpool status -g
yang menunjukkan status menggunakan GUID untuk setiap perangkat. Juga, untuk @Matt,zpool status -L
akan menampilkan status menggunakan nama perangkat dasar alih-alih/dev/disk/by-id
nama panjang .Masalahnya adalah disk dirujuk oleh id dan bukan oleh perangkat.
Berikut adalah solusi yang harus berhasil:
Sunting: Saya terlambat 30 detik ...
sumber
no such device in pool
.zpool status
offline
danreplace
langkah - langkah). Saya mengimpor kumpulan ini untuk kedua kalinya setelah menghapus tautan nol. Mungkin itu hanya masalah dengan label drive? Bahkan, nama drive tetap sama. Saya melakukan scrub lengkap setelah itu dan tidak ada kesalahan yang ditemukan.@ Marscus: Terima kasih telah mengirim jawaban yang bagus untuk pertanyaan Anda sendiri, ini sangat membantu saya.
Suatu hari saya menemukan twist yang mungkin menarik bagi Anda (dan siapa pun yang datang ke sini-googling di masa depan): Saya memiliki perangkat cache yang dijatuhkan dari kolam (dan ditandai sebagai "UNAVAIL") karena kesalahan yang sama (ZFS-8000-4J, "label tidak ada atau tidak valid"), dan mencoba offline / menghapus / mengganti gagal dengan pesan "no device in pool" yang persis sama.
TETAPI, ketika saya mencoba menerapkan solusi Anda, "zdb" polos (tanpa argumen) tidak mencantumkan perangkat, apalagi GUID-nya.
Setelah beberapa penggalian, saya menemukan bahwa "zdb -l / dev / DEVICENAME" mendaftarkan GUID (mengambilnya langsung dari perangkat, dan bukan dari catatan kumpulan), dan menggunakan GUID itu memungkinkan saya untuk melakukan penggantian (sebenarnya saya melakukan "zpool offline" diikuti oleh "zpool remove" dan kemudian "zpool add", yang bekerja dengan sempurna).
sumber
zdb -l /dev/...
selalu menunjukkan "gagal membongkar label".Saya memiliki masalah serupa:
Drive gagal sedemikian rupa sehingga tidak terdaftar di BIOS lagi (benar-benar mati). The
zpool status
menunjukkan bahwa ituUNAVAILABLE
.Aku meletakkan drive kapasitas yang sama, dan saya berhasil mengalokasikan sebagai baru
spare
yangINUSE
dan resilvered drive. Tapi, itu sebenarnya bukan bagian dari zpool, melainkan kolam itu memiliki memori drive yang hilang, berpikir suatu hari nanti akan muncul lagi.Solusinya adalah dengan pertama-tama menjatuhkan drive yang hilang dari zpool:
Kemudian, jatuhkan drive yang ditandai
spare-1 INUSE
juga:Setelah saya melakukan ini, sepertinya FreeNAS menemukan jawabannya tanpa saya harus melakukan
replace
perintah, namun jika sistem Anda tidak mengetahuinya sendiri, perintah berikut harus mengganti satu perangkat dengan yang lain:Sebagai contoh:
zpool status
perintah saya .sumber