Impor ZFS tidak dapat menemukan kumpulan apa pun

11

Saya memiliki kolam ZFS - sebuah cermin yang berisi 2 vdevs - berjalan pada server FreeBSD. Saya sekarang hanya memiliki satu disk dari cermin, dan saya mencoba memulihkan file darinya.

Data ZFS berada di partisi GPT pada disk.

Ketika saya mencoba mengimpor kumpulan, tidak ada tanda bahwa itu ada sama sekali. Saya telah mencoba sejumlah pendekatan, tetapi tidak ada yang terjadi.

Saya telah berjalan zdb -ludi partisi, dan tampaknya menemukan label baik-baik saja.

# zpool import
# zpool import -D
# zpool status
no pools available
# zpool import -f ztmp
cannot import 'ztmp': no such pool available
# zpool import 16827460747202824739
cannot import '16827460747202824739': no such pool available

Informasi partisi:

# gpart list da0
Geom name: da0
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 3907029134
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: da0p1
   Mediasize: 65536 (64K)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 17408
   Mode: r0w0e0
   rawuuid: d7a10230-8b0e-11e1-b750-f46d04227f12
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: (null)
   length: 65536
   offset: 17408
   type: freebsd-boot
   index: 1
   end: 161
   start: 34
2. Name: da0p2
   Mediasize: 17179869184 (16G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 82944
   Mode: r0w0e0
   rawuuid: d7aa40b7-8b0e-11e1-b750-f46d04227f12
   rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 17179869184
   offset: 82944
   type: freebsd-swap
   index: 2
   end: 33554593
   start: 162
3. Name: da0p3
   Mediasize: 1905891737600 (1.7T)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 82944
   Mode: r0w0e0
   rawuuid: d7b6a47e-8b0e-11e1-b750-f46d04227f12
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 1905891737600
   offset: 17179952128
   type: freebsd-zfs
   index: 3
   end: 3755999393
   start: 33554594
Consumers:
1. Name: da0
   Mediasize: 2000398934016 (1.8T)
   Sectorsize: 512
   Mode: r0w0e0

Label ZFS:

--------------------------------------------
LABEL 0
--------------------------------------------
    version: 5000
    name: 'ztmp'
    state: 0
    txg: 0
    pool_guid: 16827460747202824739
    hostid: 740296715
    hostname: '#############'
    top_guid: 15350190479074972289
    guid: 3060075816835778669
    vdev_children: 1
    vdev_tree:
        type: 'mirror'
        id: 0
        guid: 15350190479074972289
        whole_disk: 0
        metaslab_array: 30
        metaslab_shift: 34
        ashift: 9
        asize: 1905887019008
        is_log: 0
        create_txg: 4
        children[0]:
            type: 'disk'
            id: 0
            guid: 3060075816835778669
            path: '/dev/gptid/d7b6a47e-8b0e-11e1-b750-f46d04227f12'
            phys_path: '/dev/gptid/d7b6a47e-8b0e-11e1-b750-f46d04227f12'
            whole_disk: 1
            DTL: 5511
            resilvering: 1
        children[1]:
            type: 'disk'
            id: 1
            guid: 3324029433529063540
            path: '/dev/gptid/396a2b11-cb16-11e1-83f4-f46d04227f12'
            phys_path: '/dev/gptid/396a2b11-cb16-11e1-83f4-f46d04227f12'
            whole_disk: 1
            DTL: 3543
            create_txg: 4
            resilvering: 1
    features_for_read:
    create_txg: 0
Uberblock[0]
    magic = 0000000000bab10c
    version = 5000
    txg = 0
    guid_sum = 1668268329223536005
    timestamp = 1361299185 UTC = Tue Feb 19 10:39:45 2013

(Label lain adalah salinan persis)

Ada diskusi tentang masalah yang terdengar serupa di utas lama ini . Saya mencoba menjalankan labelfixalat Jeff Bonwick (dengan pembaruan dari posting ini ), tetapi tampaknya tidak menyelesaikan masalah.

Ada ide?

squidpickles
sumber
2
Drive terlepas dari cermin, bukannya terpecah. Tampaknya itulah penyebab masalahnya. Sayangnya, sisa cermin tidak ada.
squidpickles
1
Saya tidak tahu bahwa ini adalah forum yang tepat untuk ini, karena 'jawaban' untuk pertanyaan melibatkan banyak trial & error. Untuk saat ini, coba 'impor zpool -d </ dev / path / ke / disk>'. -D mendaftar kolam hancur, -d mengambil argumen lokasi disk untuk melihat, dan dapat ditentukan beberapa kali pada baris perintah (tetapi dalam kasus Anda, hanya sekali akan diperlukan seperti yang Anda miliki tetapi satu disk) . Lihat apa fungsinya.
Nex7
1
Anda mungkin benar karena ini bukan forum yang tepat. Dan ya, saya sudah mencoba -ddan -Dopsi, tidak berhasil.
squidpickles
1
Jika Anda mencoba dengan -d <disk dev path termasuk partisi> dan itu tidak muncul, coba semuanya lagi kecuali pada OS illumos. Jika itu masih tidak bisa melihatnya, saya kehabisan ide. Anda mungkin perlu melibatkan ahli pemulihan data jika data memiliki nilai moneter, atau mulai melihat kode (src.illumos.org) saat menggunakan turunan illumos dan menelusuri perintah impor zpool untuk melihat jalur apa yang diambil dan mencoba untuk mencari tahu mengapa itu tidak dapat melihat kolam Anda.
Nex7
2
@ GrahamPerrin Saya akhirnya membuatnya bekerja. Saya mengedit sumber ZFS pada instalasi FreeBSD saya, dan membuatnya memotong semua cek kewarasan. Setelah cukup menonaktifkan itu, saya berhasil mendapatkan kolam diimpor. Seseorang pasti melewati cek kewarasananku sendiri ...
squidpickles

Jawaban:

6

untuk referensi di masa mendatang, cukup melakukan impor zpool -a (akan mencari semua), biasanya membantu juga ketika zpool / zfs fs tidak dikenali.

Mal
sumber
Aku bahkan melihat milikku di cache, tetapi mencoba ini tidak berhasil. Saya mencadangkan file cache saya, mencoba dengan dan tanpa itu, dan untuk memaksanya, dll. Juga, akan memeriksa apa yang disarankan Graham di atas.
Brian Thomas
4

Dari komentar (dari poster pembuka):

Saya mengedit sumber ZFS pada instalasi FreeBSD saya, dan membuatnya memotong semua cek kewarasan. Setelah cukup menonaktifkan itu, saya berhasil mendapatkan kolam diimpor.

Graham Perrin
sumber
1

Saya entah bagaimana mengacaukan konfigurasi ZFS saya. Sayangnya saya tidak ingat apa yang sebenarnya saya lakukan (saya telah mengubah beberapa perangkat keras jadi saya mengacaukannya; jangan seperti saya!), Tetapi ini berhasil bagi saya. Saya menggunakan XigmaNAS (nas4free) dan semua perintah di bawah ini dikeluarkan melalui terminal.

Beberapa ingatan samar tentang apa yang saya lakukan (dan tidak saya lakukan):

  • Tidak mengekspor kumpulan apa pun
  • Mungkin telah menghapus (menghancurkan) kolam

Gejala:

  1. Di Web GUI, disk dapat secara otomatis diimpor dan dikenali sebagai zpool (tidak diformat atau UFS dll.)
  2. Namun, bagian GUI ZFS tidak dapat mendeteksi zpool. Jadi saya tidak bisa mengimpor kumpulan hanya dengan menekan tombol. Impor paksa juga tidak berhasil.
  3. Info SMART tentang disk ini terlihat benar di GUI. Saya tidak berpikir disk rusak secara fisik.
  4. Di bagian Informasi GUI menunjukkan disk sebagai da1. Ini cukup info yang saya butuhkan sebelum pergi ke terminal.
  5. Peringatan untuk pengguna lain: Jika Anda mengalami masalah dengan GUI, segera hentikan operasi yang merusak. Seperti membuat vdev baru atau mencoba dengan format disk lain. Pergi ke terminal.
  6. Di terminal, berikut adalah beberapa perintah dan hasil percobaan.

    • zpool import -a kata no pool available to import
    • zpool statuskata no pools available(bahasa rusak? lol.)
    • gpart list -a tidak muncul da1
    • gpart list da1 kata gpart: no such geom: da1
    • zpool list kata no pools available
    • glabel list -a tidak menampilkan kolam apa pun di da1
    • zdb -l /dev/da1dapat mencetak kedua label da1, sehingga disk saya tidak mati
    • zpool import -Dmengatakan bahwa kolam di da1hancur, dan mungkin dapat diimpor

Larutan:

Jalankan zpool import -D -f (poolname)memecahkan masalah.

Yvon
sumber