ZFS içe aktarma işlemi havuz bulamıyor


11

Bir FreeBSD sunucusunda çalışan bir ZFS havuzu - 2 vdevs içeren bir ayna - vardı. Şimdi aynadaki disklerden sadece bir tanesi var ve dosyaları ondan kurtarmaya çalışıyorum.

ZFS verileri diskteki bir GPT bölümünde bulunur.

Havuzu almaya çalıştığımda, havuzun var olduğuna dair bir işaret yok. Bir dizi yaklaşımı denedim, ama hiçbir şey olmuyor.

zdb -luBölüm üzerinde çalıştım ve etiketleri gayet iyi buluyor gibi görünüyor.

# 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

Bölüm bilgileri:

# 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

ZFS etiketi:

--------------------------------------------
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

(Diğer etiketler tam kopyadır)

Bu eski başlıkta benzer bir soruna dair bir tartışma var . Jeff Bonwick'in labelfixaracını çalıştırmayı denedim ( bu yazıdaki güncellemelerle ), ancak sorunu çözmedi.

Herhangi bir fikir?


2
Sürücü, bölünmek yerine aynadan ayrıldı. Sorunun nedeni bu gibi görünüyor. Aynanın geri kalanı maalesef mevcut değil.
squidpickles

1
Bunun bunun için uygun bir forum olduğunu bilmiyorum, çünkü sorunun 'cevabı' çok fazla deneme yanılma içeriyor. Şimdilik, 'zpool import -d </ dev / path / to / disk>' seçeneğini deneyin. -D tahrip olmuş havuzları listeler, -d bakılacak diskin konumunun bir argümanını alır ve komut satırında birden çok kez belirtilebilir (ancak sizin durumunuzda, sadece bir diskten sadece bir kez gerekli olacaktır) . Bakın ne yapıyor.
Nex7

1
Bunun doğru forum olmaması konusunda haklı olabilirsiniz. Ve evet, -dve -Dseçenekleri ile denedim , boşuna.
squidpickles

1
-D <disk bölümü dahil disk dev yolu> ile denediyseniz ve görünmediyse, illumos işletim sisteminde her şeyi tekrar deneyin. Eğer hala göremiyorsanız, fikirlerim kalmadı. Verilerin parasal değeri varsa bir veri kurtarma uzmanıyla etkileşime geçmeniz veya illumos türevi ve zpool import komutunu kullanırken hangi yolu izleyip denediğini görmek için koda bakmaya başlamanız gerekebilir (src.illumos.org) havuzunuzu neden göremediğini anlamak için.
Nex7

2
@GrahamPerrin Sonunda çalışmasını sağladım. FreeBSD kurulumumda ZFS kaynaklarını düzenledim ve tüm sağlık kontrollerini atlattım. Bunları yeterince devre dışı bıraktıktan sonra, havuzu ithal etmeyi başardım. Birisi kendi aklı kontrollerimi
atlamalıydı

Yanıtlar:


6

ileride başvurmak için, sadece zpool import -a (tümünü arayacaktır) yapmak, genellikle bir zpool / zfs fs tanınmadığında da yardımcı olur.


Ben bile önbellekte benim görmek, ama bunu denemek işe yaramadı. Önbellek dosyamı yedekliyorum, onunla ve onsuz çalışıyorum ve zorlamak için, vb. Ayrıca Graham'ın yukarıda önerdiğini kontrol edeceğim.
Brian Thomas

4

Yorumdan (açılış posterinden):

FreeBSD kurulumumda ZFS kaynaklarını düzenledim ve tüm sağlık kontrollerini atlattım. Bunları yeterince devre dışı bıraktıktan sonra, havuzu ithal etmeyi başardım.


1

ZFS yapılandırmamı bir şekilde berbat ettim. Ne yazık ki tam olarak ne yaptığımı hatırlamıyorum (bazı donanımları değiştirdim, bu yüzden berbat ettim; benim gibi olma!), Ama bu benim için çalıştı. XigmaNAS (nas4free) kullanıyorum ve aşağıdaki tüm komutlar terminal aracılığıyla verilir.

Yaptığım (ve yapmadığım) bazı belirsiz bellekler:

  • Havuz dışa aktarılmadı
  • Havuzu silebilir (yok edebilir)

Semptomlar:

  1. Web GUI'de disk otomatik olarak bir zpool (formatlanmamış veya UFS vb.) Olarak içe aktarılabilir ve tanınabilir
  2. Ancak, GUI ZFS bölümü zpool'u algılayamaz. Bu yüzden sadece düğmelere basarak havuzu içe aktaramıyorum. Zorla ithalat da işe yaramadı.
  3. Bu disk hakkındaki SMART bilgileri GUI'de iyi görünüyor. Diskin fiziksel olarak hasar gördüğünü sanmıyorum.
  4. GUI Bilgileri bölümünde diski olarak gösterir da1. Bu terminale gitmeden önce ihtiyacım olan yeterli bilgi.
  5. Diğer kullanıcılara uyarı: GUI ile ilgili sorun yaşarsanız, hemen tüm yıkıcı işlemleri durdurun. Yeni bir vdev oluşturmak veya diğer disk formatlarını denemek gibi. Terminale git.
  6. Terminalde, burada denenen bazı komutlar ve sonuçlar var.

    • zpool import -a diyor no pool available to import
    • zpool statusdiyor no pools available(kırık dil? lol.)
    • gpart list -a göstermez da1
    • gpart list da1 diyor gpart: no such geom: da1
    • zpool list diyor no pools available
    • glabel list -a herhangi bir havuz göstermiyor da1
    • zdb -l /dev/da1iki etiketi yazdırabildiğinden da1diskim ölü değil
    • zpool import -Dhavuzun da1yok edildiğini ve ithal edilebileceğini söylüyor

Çözüm:

Run zpool import -D -f (poolname)sorunu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.