Bozuk XFS dosya sistemleri ile başa çıkmanın uygun yolu


19

Son zamanlarda bir güç kesintisi nedeniyle bir XFS dosya sistemi bozuldu. (CentOS 7 sistemi). Sistem düzgün önyükleme yapmıyor.

Bir kurtarma CD'sinden önyükleme yaptım ve denedim xfs_repair, günlükle başa çıkmak için bölümü monte etmemi söyledi.

Bölümü monte ettim ve lsevet olduğunu doğrulamak için bir yaptım, orada olduğu anlaşılıyor. Bölümü ayırdım ve xfs_repairtekrar denedim ve aynı mesajı aldım.

Bu durumda ne yapmam gerekiyor? Kurtarma cd'mde bir sorun mu var (Sistem Kurtarma CD'si, sürüm 4.7.1)? Kullanmam gereken başka bir prosedür var mı?

Sonunda sistemi yedeklerden geri yükledim (bu durumda hızlı ve kolaydı), ancak gelecekte ne yapacağımı bilmek istiyorum.

Yanıtlar:


22

Xfs_repair komutunu çalıştırmayı deniyorsanız , günlüğü yeniden yürütmek için dosya sistemini bağlamanızı öneren hata iletisini alıyorsanız ve aynı hata iletisini almaya devam ettikten sonra, zorunlu onarımı ( -Lişaretini kullanarak xfs_repair) yapmanız gerekebilir . Bu seçenek son çare olmalıdır.

Örneğin, CentOS 7 kurulumumda bozuk bir kök bölümünün bulunduğu bir durum kullanacağım. Bölümü monte etmeye çalışırken, sürekli olarak aşağıdaki hata iletisini aldım:

mount: mount / dev / mapper / centos-root açık / mnt / centos-root başarısız: Yapının temizlenmesi gerekiyor

Ne yazık ki, bir onarımı zorlamak, onarım işleminden önce günlüğü sıfırlamayı (imha etmeyi) içerecektir. Bu yöntemi kullanırken, başlangıçta beklenenden daha fazla bozuk veri elde etme potansiyeli vardır; ancak, kalıcı değişiklikler yapmadan önce ne tür hasarlara yol açabileceğini görmek için uygun xfs araçlarını kullanabiliriz.

Xfs_metadump ve xfs_mdrestore kullanarak , etkilenen bölümün meta veri görüntüsünü oluşturabilir ve bölümün kendisi yerine görüntüde zorunlu onarımı gerçekleştirebilirsiniz. Bunun faydaları, bölüm üzerinde gerçekleştirmeden önce zorla onarımla gelen hasarı görme yeteneğidir.

Bunu yapmak için, uygun boyutlu bir USB veya harici sabit sürücüye ihtiyacınız olacaktır. USB sürücüsünü monte ederek başlayın - /dev/sdb1USB'm konumdaydı, sizinki farklı şekilde adlandırılabilir.

mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb

Monte edildikten sonra xfs_metadump, bölüm meta verilerinin USB'ye bir kopyasını oluşturmak için çalıştırın - yine, etkilenen bölümünüz farklı olabilir. Bu durumda, adresinde bozuk bir kök bölümü vardı /dev/mapper/centos-root:

xfs_metadump /dev/mapper/centos-root /mnt/usb/centos-root.metadump

Ardından, bir onarım gerçekleştirip hasarı ölçebilmemiz için meta verileri bir görüntüye geri yüklemek isteyeceksiniz.

xfs_mdrestore /mnt/usb/centos-root.metadump /mnt/usb/centos-root.img

Kurtarma modunda xfs_mdrestorekullanılamadığını ve bunun yerine canlı bir CentOS CD'sinin kurtarma modunda olmanız gerektiğini buldum .

Son olarak, görüntü üzerinde onarım yapabiliriz:

xfs_repair -L /mnt/usb/centos-root.img

Onarım tamamlandıktan ve çıktıyı ve olası hasarı değerlendirdikten sonra, onarımı bölüme karşı gerçekleştirmek isteyip istemediğinizi belirleyebilirsiniz.

Bölümü karşı onarım çalıştırmak için, sadece çalıştırın:

xfs_repair -L /dev/mapper/centos-root

Diğer bölümlerde de yolsuzluk olup olmadığını kontrol etmeyi unutmayın. Onarımlardan sonra sistemi yeniden başlatın ve başarılı bir şekilde önyükleme yapabilmeniz gerekir.

-LBayrağın, onarım için başka olası seçeneklerin olmadığı son çare olarak kullanılması gerektiğini unutmayın .

Bu çevrimiçi makalelerin yardımcı olduğunu buldum:


Tamam, yani -L son çare ve bunlar -L kullanırsak ne kadar kötü olacağını nasıl göreceğinize dair mükemmel talimatlardır. -L'yi kullanma konusunda başka hangi seçeneklere sahibim?
Michael Kohne

1
@MichaelKohne Tabii ki yedekten geri yükleme. Yedekleri yoksa bu cehennem seviyesine yakın bir yere gitmemelisin.
Michael Hampton

1
@MichaelHampton - Tamam, yeterince adil. Ama powerfail hataları ext4 hataları için şimdiye kadar böyle bir dosya sistemini kaybettim sanmıyorum - xfs daha az dirençli mi? Yoksa bu sefer gerçekten kötü şansım oldu mu?
Michael Kohne

@MichaelKohne Sanırım olağanüstü şanssız kaldın. XFS oldukça güvenilir bir dosya sistemidir.
Michael Hampton

3
bunu sadece initrd'den yapabiliyorduk. ne harika bir ilerleme kaydettik.
Florian Heigl

1

Bir kvm sanal makine içinde centos 7 kötü durma ile bu hatayı vardı:

xfs'de meta veri bozulması algılandı ...

günlük "whitctctl -xe" kullandığımda, bir hata montaj buldum:

/ dev / mapper / root / sysroot

Bunu kullanarak çözmek:

xfs_repair / dev / mapper / root

Ardından sistem yedi aşamayı tamamlar ve ardından

./kapat

Ve sonra sanal makine centos 7 iyi çalışıyor…

Saygılarımızla

Not: belki / dev / mapper / root'un başka bir adı vardır, lütfen ünitenizin adını kötü monte edilmiş bulmak için journalctl -xe ile hata günlüğünüzü izleyin

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.