GNU/Linux >> Znalost Linux >  >> Cent OS

Jak zkontrolovat disk na špatné bloky nebo chyby disku na CentOS / RHEL

Pevné disky mohou neočekávaně selhat a vždy je nejlepší uchovávat poslední zálohy všech důležitých dat. Mějte prosím na paměti, že i když je zjištěna aktuální nebo nadcházející porucha, nemusí být dostatek času na zálohování dat. Níže je uvedeno několik metod, které lze použít k identifikaci špatných bloků nebo chyb disku v CentOS/RHEL.

Použití smartctl

Pokud je v /var/log/messages několik I/O chyb nebo máte jednoduše podezření, že pevné disky mohou selhávat, smartctl může být užitečným nástrojem při jejich kontrole. S.M.A.R.T. znamená Self-Monitoring , Analýza a Technologie hlášení . Musíte povolit S.M.A.R.T. podporu v systému BIOS před jeho použitím.

Dále nainstalujte potřebné balíčky pro spuštění /usr/sbin/smartctl. V Red Hat Enterprise Linux je poskytován pomocí smartmontools balíček.

1. Ověřte, zda váš pevný disk podporuje S.M.A.R.T. :

# smartctl -i /dev/xxx

Při použití příkazů uvedených v tomto příspěvku nahraďte /dev/xxx požadovaným pevným diskem.

2. Pro jednotky SATA použijte:

# smartctl -i -d ata /dev/xxx

3. Povolte S.M.A.R.T. podpora s:

# smartctl -s on /dev/xxx            ### For SCSI Disks
# smartctl -s on -d ata /dev/xxx     ### for SATA Disks

4. Spuštění následujícího příkazu jako root může být rychlý test PASS/FAIL, ale důkladnější testování popsané níže je obecně průkaznější:

# smartctl -H /dev/xxx

Spuštění smartctl na pozadí

Chcete-li spustit test na pozadí, spusťte následující příkaz jako root:

# smartctl -t long /dev/xxx

Pro přístup k výsledkům použijte následující příkaz:

# smartctl -a /dev/xxx

Chcete-li se dozvědět více o různých možnostech, které lze použít se smartctl, podívejte se na manuálovou stránku příkazu:

# man smartctl

Používání chybných bloků

Ke kontrole chybných bloků na diskovém zařízení můžete také použít příkaz „badblocks“. Příkaz „badblocks“ může být velmi užitečný při izolování problémů se synchronizací LVM oddílů v Linuxu. Operace LVM selžou kvůli špatným blokům na disku. Špatné bloky na zdrojovém nebo cílovém disku v zrcadle LVM způsobí selhání synchronizace.

Badblocks lze také použít ve spojení s fsck a makefs k označení bloků jako špatných. Pokud má být výstup chybných bloků přiváděn do programů e2fsck nebo mke2fs, je důležité, aby byla správně zadána velikost bloku, protože čísla bloků, která jsou generována, velmi závisí na velikosti bloku používaného souborovým systémem. Z tohoto důvodu se důrazně doporučuje, aby uživatelé nespouštěli badblocks přímo, ale raději používali volbu -c programů e2fsck a mke2fs.

Upozornění :Nesprávné použití těchto příkazů může způsobit ztrátu dat. Další informace o příkazu „badblocks“ jsou dostupné pomocí příkazu „man badblocks“.

1. Pomocí nástroje pro kontrolu disku badblocks prohledejte zadaný pevný disk blok po bloku. Například pro skenování /dev/sdd zadejte příkazy:

# mount | grep sdd                  # find all mounted partitions of sdd
# umount /dev/sdd1                  # unmount the partitions (may be more then one)
# badblocks -n -vv /dev/sdd

Kde -n používá nedestruktivní režim čtení-zápis. Ve výchozím nastavení se provádí pouze nedestruktivní test pouze pro čtení.

Poznámka :Nikdy nepoužívejte -w možnost na zařízení obsahujícím existující souborový systém. Tato volba vymaže data! Pokud je třeba provést testování režimu zápisu na existujícím systému souborů, použijte -n místo toho. Je to pomalejší, ale zachová data.

2. Pokud se po spuštění chybných bloků objeví zprávy podobné příkladům uvedeným níže v /var/log/messages nebo na konzoli, doporučuje se zálohovat všechna data na postižených zařízeních a vyměnit zařízení:

Apr  4 13:50:40 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Apr  4 13:50:40 test kernel: sdd: dma_intr: error=0x40 { UncorrectableError }, LBAsect=74367249, sector=74367232
Apr  4 13:50:40 test kernel: ide: failed opcode was: unknown
Apr  4 13:50:40 test kernel: end_request: I/O error, dev sdd, sector 74367232
Apr  4 13:50:42 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Apr  4 13:50:42 test kernel: sdd: dma_intr: error=0x40 { UncorrectableError }, LBAsect=74367249, sector=74367240
Apr  4 13:50:42 test kernel: ide: failed opcode was: unknown
Apr  4 13:50:42 test kernel: end_request: I/O error, dev sdd, sector 74367240
Apr  4 13:50:44 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }

3. Níže uvedený příkaz vypíše nalezené špatné bloky do výstupního souboru:badblocks.log.

# badblocks -v -o badblocks.log /dev/sdd


Cent OS
  1. Jak zkontrolovat, zda na celém pevném disku nejsou chyby a špatné sektory?

  2. Jak zkontrolovat špatné bloky na fyzickém svazku LVM?

  3. CentOS / RHEL:Jak povolit SSL pro Apache

  1. Jak odstranit ASM disk na vícecestném zařízení v CentOS/RHEL

  2. Jak povolit výpis jádra pro aplikace na CentOS/RHEL

  3. Jak zkontrolovat aktuální hodnoty parametrů ladění jádra v CentOS/RHEL

  1. Jak vytvořit soubor Kickstart pro CentOS/Fedora/RedHat (RHEL)

  2. CentOS / RHEL 7 :Jak povolit telnet pro skupinu uživatelů

  3. CentOS / RHEL 7 :Jak nastavit pravidla udev pro ASM na vícecestných discích