Včera jeden z mých zákaznických serverů selhal kvůli neočekávanému vypnutí serveru a samozřejmě nebyl přístup přes ssh.
Jelikož se jedná o vzdálený hostovaný server, nemohli jsme se k němu dostat. Když se znovu spustil, spustil automatický fsck přes sda a sdb.
Vzhledem k tomu, že se jednalo o pomalý disk SATA II s přibližně 1,5 TB obsahu, jeho dokončení trvalo přibližně 3 hodiny. Na konci se náhle zobrazila tato chyba:
NEOČEKÁVANÁ NEKONZISTENTNOST; SPUŠTĚJTE fsck RUČNĚ
Tato zpráva je docela jasná, automatické fsck nemohlo opravit nekonzistenci a doporučuje spustit fsck ručně .
V těchto situacích někteří doporučují nabootovat server pomocí živého linuxového obrazu, jako je SystemRescueCD nebo zaváděcí klíč USB, abyste získali přístup ke kořenovému shellu, avšak v tomto případě bylo potřeba pouze zadat heslo uživatele root a jednoduše spustit fsck ručně. .
Když jsem navštívil kancelář svého zákazníka, kde se nachází tento server, bylo třeba udělat dvě věci:
1.- Vyhněte se fsck úpravou parametrů jádra ze zavaděče grub přidáním ‚fastspeed‘ na konec, restartem a zkřížením prstů, aby byl systém znovu aktivní.
2.- Ručně spusťte fsck, abyste opravili všechny neočekávané nekonzistence dat.
Vybral jsem si 2 a bylo to ve skutečnosti docela jednoduché:
Po NEOČEKÁVANÉ NEKONZISTENCI; Zpráva RUN fsck MANUALLY požadovala zadání hesla uživatele root nebo pokračujte stisknutím kláves CTRL + D, takže jsem zadal heslo uživatele root a vydal příkaz:
fsck -y /dev/sdb1
To bylo vše, ruční fsck opravil všechny chyby a systém byl znovu aktivní.
NEOČEKÁVANÁ NEKONZISTENTNOST; RUN fsck MANUALLY byl naposledy upraven:19. září 2017 Estebanem Borgesem