Sağlıklı bir havuzda kalıcı bir ZFS hatasını temizleme


20

Bugün havuzumu temizledim ve fırçalama bittikten sonra bir dosyayı bozan bir hata olduğunu fark ettim. Dosya umurumda değildi, bu yüzden sildim. Ne yazık ki, hata (şimdi bir dosya adı değil, onaltılık bir kimlik tarafından başvurulan) kalır ve nasıl temizleneceğini bilmiyorum.

  • Endişelenmeli miyim? Henüz bu hatayı gerçekten boş değil miyim?
  • Hatayı giderebilir miyim? Dosya kaybolduysa, bu hatayı gelecekte görmek istemiyorum.

Referans olarak, ek açıklamalarla birlikte verdiğim komutlar ve çıktılar şunlardır:

Durum kontrolü

kevin@atlas:~$ sudo zpool status -v

pool: zstorage
state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
see: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     0
    raidz1-0                                    ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        /zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause/03 Harmony One.mp3

Köke geçme ve dosyayı silme - İhtiyacım yok

kevin@atlas:~$ sudo -i

root@atlas:~# cd /zstorage/owncloud/kevin/files/Archives/Music/Kev\ Rev\ 7/graveyard/Old/Four\ Tet/Pause/

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# rm 03\ Harmony\ One.mp3

Durumu tekrar kontrol etme

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# zpool status -v

pool: zstorage
state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
see: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     1
    raidz1-0                                    ONLINE       0     0     2
        ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        zstorage:<0x9f115>

Ah oh. Belki hatayı giderebilirim?

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# zpool clear zstorage

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# zpool status -v

pool: zstorage
state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
see: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     0
    raidz1-0                                    ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        zstorage:<0x9f115>

Bu iyi görünmüyor!


Dosya bir anlık görüntünün parçası mı (zfs list -t all) ve bu nedenle saklanıyor mu?
lundman

Yanıtlar:


14

Havuzunuzu tekrar ovalayın (henüz yapmadıysanız):

zpool bodur zstorage

Bu hata size <0x9f115> inode'un bozuk olduğunu söylüyor (dosyanın silinmesi dosya adını -> inode eşlemesini kırdı, bu yüzden şimdi inode'u rapor ediyor). Ya bir şey hala dosya açıktır ya da meta verilerin temizlenmesi gerekir (bir fırçalama yapmalıdır).

Eğer bir ovma olmazsa hatayı temizlemek için oracle (ve başka yerlerde kötü belgelenmiş) tarafından kamuya açık olarak belgelenmemiş zdb ile aşağı ve kirli olmanız gerekir - ve her halükarda muhtemelen daha temelde yanlış bir şey gösterir.


7

Partiye çok geç kaldığımı biliyorum, ama sadece ek zdbfırçalar bu gibi sorunları çözmezse, size bakmak yerine bir ovma başlatabilir, birkaç dakika çalışmasına izin verebilir ve sonra durdurun zpool scrub -s zstorage. Bu, tüm okuma / yazma / sağlama toplamı hataları sıfır olduğunda dosyalar için kalıcı hataları temizlemede benim için çalıştı.

http://unixetc.co.uk/2012/01/22/zfs-corruption-persists-in-unlinked-files/

DÜZENLEME: Bunu birkaç kez yapmak zorunda kaldıktan sonra, ovma çalışmasına ne kadar süre verdiğinizin zamanlamasının çalışıp çalışmadığını etkileyeceğini fark ettim (ilk bakışta hangi bloklara bağlı olarak). İlk başta çalışmazsa, birkaç kez daha deneyin ve durdurduğunuz zamanın zamanlamasını ayarlayın.


Benim için bu işe yaramadı - kalıcı hatalar hala var ve tam bir fırçalama yaparsam onları tekrar göreceğim.
William Stein

3
Bunu benim için yaptı. Ben tam bir bodur yapmıştı ve hatalar temizlenmedi, ama sonra start-> stop yaptım ve temiz. Teşekkürler.
Stu

Şimdi benim için çalışıyor gibi görünüyor (şimdi linux üzerinde ZFS'nin en son sürümünü kullanıyorum).
William Stein
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.