Fsck ne zaman tehlikelidir?


37

Son zamanlarda, uzaktaki bir veri merkezindeki bir makinenin kök dosya sistemini, tutarlılık sorunları nedeniyle salt okunur şekilde yeniden birleştirildiğini gördüm.

Yeniden başlatıldığında, bu hata gösterildi:

UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY (i.e., without -a or -p options)

Önerilen fsck çalıştırıldıktan ve düzeltmeleri elle kabul ettikten sonra Y, hatalar düzeltildi ve sistem artık iyi durumda.

Şimdi, fsck'in her şeyi otomatik olarak çalıştırmak ve onarmak için yapılandırılmış olmasının ilginç olacağını düşünüyorum, çünkü bazı durumlarda tek alternatif (bunun gibi) uzaktaki veri merkezine şahsen gidip etkilenen makineye bir konsol takmaktır.

Sorum şu: neden varsayılan olarak fsck elle müdahale istiyor? Bu program tarafından yapılan bir düzeltmenin nasıl ve ne zaman güvenli olamayacağı? Sistem yöneticisinin bir süre bir kenara önerilen bir düzeltmeyi bırakmak (başka bazı işlemleri yapmak) veya tamamen iptal etmek isteyebileceği durumlar hangileridir?


15
Geliştiriciler% 100 güvende olsaydı, hata otomatik olarak düzeltilebilirdi, o zaman ilk etapta hata olmazdı.
user253751, 28:16

Yanıtlar:


42

fsckAltta yatan donanım bir şekilde zarar görmüşse kesinlikle daha iyi zarar verir; kötü CPU, kötü RAM, ölmekte olan bir sabit disk, disk denetleyicisi kötü gitti ... bu durumlarda daha fazla yolsuzluk kaçınılmazdır.

Şüpheniz varsa, yalnızca bozuk diskin bir görüntüsünü dd_rescueya da başka bir aracı kullanarak çekmek ve ardından bu görüntüyü başarıyla düzeltip düzeltemeyeceğinizi görmek iyi bir fikirdir . Bu şekilde orijinal kurulum hala mevcut olur.


4
Arızalı donanım konusunda çok çalıştım ve buna katılıyorum. Yapmak istediğim son şey, herhangi bir kötü donanımdan şüpheleniliyorsa fsck. Ayrıca düşük güçte bir olay ve daha sonra otomatik fsck tarafından geciken bir iyileşme gördüm.
jorfus

Somut bir örnek vermek gerekirse: "Rasgele" (10 ^ 5'te yaklaşık 1 kez) disk denetleyicisine sahip bir makinede çalıştım, herhangi bir cihazdaki XXXXXXYY'yi bloklamak için herhangi bir cihazda XXXXXXYY'yi engellemek için bir oku veya yazıyı döndürebilirim ilk cihaz Başka bir deyişle, sık sık yapılandırılmış yanlış ve yapılandırılmamış yanlış verileri önyükleme sektörüne ve önyükleme diskinin çeşitli kritik dosya sistemi yapılarına püskürtmüştür. Böyle bir durumda fsck çalıştırmak (milyonlarca okuma), veri kurtarma şansını ortadan kaldırabilir.
Eric Towers

2
10'da 5'i çok fazla ... bu 10 baytlık Mb.
Nelson

1
@Nelson: Bu bir çeşit ... Birim "bayt" değil, "tek blok aktarımı" var. Yani on blok, milyon blok başına yazıyor (ve bloklar bayttan önemli ölçüde büyük)
Eric Towers,

21

Çalıştığınız yerde bir örnek gördünüz fsck, ancak başarılı bir şekilde çalışmadığı durumlarda yeterince zarar görmüş dosya sistemlerini gördüm. Tam otomatik çalışacaksa, bir dddisk dökümü gibi bir şey yapma şansınız ya da çoğu durumda tamirat yapmadan önce yapılması gereken mükemmel bir fikir olabilir.

Hiç bu kadar otomatik bir şey denemek asla iyi bir fikir değildir.

Oh ve modern sunucular, KVM rafını sunucuya bağlamadan böyle bir şeyden kurtarmak için uzak konsollara veya en azından bağımsız kurtarma sistemlerine sahip olmalıdır.


7
Aslında, iyi bir fikir olmayan şey, “ asla, asla ” böyle demek, doğru olmadığı zaman söylemektir. İyi bir fikir olduğu durumlarda kullanım durumu: Sunucunun ana bölümleri, sorun olması durumunda hızlı bir şekilde sıfırdan yeniden oluşturulabilir. Aslında önemli verilere, uzak bir dosya sistemi üzerinden erişilir ve bu veriler için uygun fazlalık sağlanır. Ben daha çok şansı alırdım fsck -p /ve fsck -p /varvb düzgün şekilde çalışmalı ve manuel müdahale olmadan sunucuyu kalkarken ve gerekirse ben sadece yeniden oluşturabilirsiniz bu bölümlere felakete küçük, sıfır olmayan% şansı riske .
TOOGAM

1
Sistem kolayca yeniden kurulabilirse, bunu sadece yaparım ...
Sven

1
Bu daha uzun sürer. Seçenekler şunlardır: A) Otomatik olarak yapma riski. B) Birisinin fsckbakmasını söylettirin , sonra her şey yolunda gider. Eğer öyleyse, yaklaşık 2 dakika sürer. Bu gerçekleşene kadar kapalı kalma süresi. C) Birinin işletim sistemini yeniden yüklemesini sağlayın. 30+ dakika sürer. C seçeneğini mi seçiyorsunuz? Belki de elimizdeki en önemli fark, fsckçalışmalarınızda, cevabınızdaki fiyat teklifinden daha fazla zaman geçirdim . Benim asıl noktası (bu ucuz-o sistem bir uzak konsol kullanmaz) sistem tasarımı değildi, ama sadece söyleyerek " asla, asla " doğru olamayacak kadar güçlü bir ifade oldu
TOOGAM

Sadece katılmıyorum kabul edelim.
Sven

0

Öncelikle, modern (günlük) dosya sistemlerinde, bir sistem çökmesinin dosya sistemini bozmayacağını ve önyükleme sırasında fsck gerektirmeyeceğini anlamanız gerekir.

Ext3, Ext4, ZFS, btrfs, xfs ve tüm modern FS'ler bir çökme veya sistem sıfırlamasından sonra% 100 tutarlıdır.

Ext2 veya vfat gibi günlüklendirilmemiş FS, sistem kökleri için büyük bir NOGO'dur.

Şimdi, sisteminiz önyükleme sırasında bir fsck gerektiriyorsa, kendinize sormalısınız: ilk başta bunun nedeni neydi?

Ne zaman ve ne olduğunu öğrenmek için daha sonra çekirdek kütüklerinizi araştırmalısınız. Ayrıca hatanın ne zaman başladığından beri bulmak için zaman içinde günlüklere geri dönmelisiniz. Disklerinizi smartctl ile kontrol etmelisiniz. Vb ... Gazeteli bir fs'de bir fsck'e ihtiyacınız varsa, fs'nin bir yönetici (dd gibi blok düzeyinde araçlarla) veya bir hatadan zarar görmediğini farz edersek, donanımınızın arızalı olduğu kesindir.

Bu nedenle, fsck'ü kullanarak kök nedenini incelemeden ve düzeltmeden sorunu "düzeltmek" aptalcadır (hatalı donanım / bellenim / yazılımı değiştirerek / yükselterek).

Bir fsck yapmak, önyüklemeyi tamamlamak ve mutlu olmak en az şey demek değildir. "Fsck çalışması yaptığım zamandan daha büyük bir yüzdeye sahibim" ifadesiyle "fsck çalışması" ile ne demek istediğinizi merak etmektesiniz. fsck, işlemdeki bazı dosyaları ve verileri kaybederek fs'nizi tutarlı bir duruma getirmiş olabilir ... Bir yedekleme ile karşılaştırdınız mı? Birçok kişi, dosyaları kaybediyor veya fark etmeden dosya verilerinin bozulmasına neden oluyor ...

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.