Dobrý den, přátelé. V tomto příspěvku si vysvětlíme trik, který může ušetřit spoustu práce a dokonce i celý systém. Dnes se tedy dozvíte, jak zkontrolovat a opravit souborový systém XFS v RHEL/RockyLinux/CentOS.
Než začneme, musíme si trochu promluvit o XFS.
XFS je vysoce výkonný 64bitový žurnálovací souborový systém. Jeho přednosti, jako je vyspělost a odladěný kód, z něj činí preferovaného kandidáta pro použití na serverech GNU/Linux.
Některé hlavní výhody XFS jsou:
- Díky žurnálování je možná snadná a rychlá obnova po ztrátě dat. Tato funkce je na produkčním serveru životně důležitá.
- S XFS existuje možnost zvětšit oddíl, když je připojený a aktivní.
- XFS může provádět I/O (vstup/výstup) operace paralelně.
A tak dále. To je důvod, proč jej používá mnoho serverů s RHEL, RockyLinux a deriváty.
Je však možné, že nám to může selhat, takže to je důvod dnešního příspěvku.
Jak opravit souborový systém XFS v RHEL/RockyLinux/CentOS
Ve skutečnosti k opravě souborového systému XFS stačí spustit následující příkaz
xfs_repair [option] [device]
Musíme však mít poškozený systém XFS a to na produkčním systému je fatální.
Abych předvedl, jak tento příspěvek funguje, záměrně poškodím systém XFS.
Nezapomeňte provést tento test na virtuálním počítači, kde nedochází k poškození hlavního systému.
Předpokládejme, že náš oddíl nebo zařízení nebo systém je připojen v /device
nejprve jej musíme odpojit.
umount /device
A nyní poškoďte souborový systém spuštěním
xfs_db -x -c blockget -c "blocktrash -s 512109 -n 1000" [device]
Například,
sudo xfs_db -x -c blockget -c "blocktrash -s 512109 -n 1000" /dev/sdb1
A samozřejmě, pokud se jej pokusíte připojit, měla by se zobrazit chyba podobná této
mount: /device: mount(2) system call failed: Structure needs cleaning.
Takže to napravíme.
Za tímto účelem je nutné odpojit svazek.
A pro jeho opravu spusťte následující příkaz
xfs_repair [device]
Například,
xfs_repair /dev/sdb1
Na konci uvidíte výstupní obrazovku podobnou této
Proces byl tedy rozsáhlý. Nyní stačí připojit.
mount /dev/sdb1
Užijte si to.