GNU/Linux >> Znalost Linux >  >> Linux

Existuje způsob, jak restartovat špatné bloky?

Tuto skvělou odpověď na otázku jsem našel na obecném mailingovém seznamu nadšenců Linuxu v Atlantě:

Nakonec jsem na to přišel po dlouhém přemýšlení a asi 10x přečtení manuálové stránky. Myslel jsem, že se o to podělím, kdyby někdo potřeboval informace. Google moc nepomohl, protože tyto záznamy obvykle citují manuálovou stránku. Když manuálová stránka říká poslední blok první blok, nechce, abyste zadali tato SLOVA, chce, abyste zadali ČÍSLO. Zmiňuje se o tom, že oba jsou volitelné, ale nemohu přijít na to, jak vynechat poslední blok, pokud chcete zadat první blok.

Řekněme, že jste původně zastavili test na bloku 33000001. Test bych restartoval o jeden blok méně, takže 33000000.

Nejprve musíte určit, jaké je číslo posledního bloku na oddílu. Našel jsem dva způsoby, jak to udělat.

  1. Můžete spustit badblocks bez čísel bloků. Sdělí vám rozsah bloku, který zpracovává.

    Příklad:sudo badblocks -sv /dev/sda3

    A říká něco jako:

    Searching for badblocks in read only nondestructive mode from block to 66828373

    Zapište si toto koncové číslo bloku. Ukončete test pomocí CTRL-C a poté zadejte příkaz s požadovanými čísly bloků.

  2. Můžete použít fdisk (nebo myslím také sfdisk ) příkaz k zobrazení informací o oddílu. Jeden ze sloupců informací je # z bloků. Najděte počet bloků v oddílu, který vás zajímá, a ODEČTETE 1, protože bloky jsou číslovány od 0.

    sudo fdisk -l /dev/sda (Tato možnost je malá písmena L. V tomto případě neuvádíte číslo oddílu, ale pouze označení pevného disku.)

    A říká něco jako:

    /dev/sda2 ... /dev/sda3 ... 66828374 /dev/sda4 ...

    Najděte oddíl, který vás zajímá, a přečtěte si počet bloků a odečtěte 1, abyste našli číslo posledního bloku.

    Nyní můžete zadat badblocks příkaz následovně. Řekněme, že chcete začít testovat uprostřed oddílu na bloku 33000000. Tento příklad je pro nedestruktivní režim čtení a zápisu s badblocks seznam do textového souboru. Pokud zavedete z živého CD, ztratíte tento textový soubor při restartu.

    sudo badblocks -nsv -o ~/Desktop/badblocks.txt /dev/sda3 66828373 33000000

    To bude testovat od bloku 33000000 do konce oddílu. Pokud zadáte 66828374 jako poslední blok, jak je uvedeno v fdisk , ohlásí toto číslo bloku jako špatné, ale ve skutečnosti toto číslo bloku neexistuje.

Doufám, že to bude pro ostatní užitečné, protože mě to na chvíli opravdu zmátlo.

S pozdravem

Ron


Existuje způsob, jak určit, ze kterého bloku badblocks by měl začít a poslední blok, (viz man badblocks ):

badblocks [ -svwnfBX ] [ -b block-size ] [ -c blocks_at_once ] [ -e max_bad_blocks ] [ -d read_delay_factor ] [ -i input_file ] [ -o output_file ] [ -p num_passes ] [ -t test_pattern ] device [ last-block ] [ first-block ]


Linux
  1. Existuje způsob, jak omezit celkovou spotřebu CPU?

  2. Existuje způsob, jak vypsat informace CPUID CPU?

  3. Existuje způsob, jak získat poměry Hit/Miss mezipaměti pro bloková zařízení v Linuxu?

  1. Existuje způsob, jak převést z UTF8 na ISO-8859-1?

  2. Existuje způsob, jak nainstalovat Apache Bench (ab) bez instalace apache

  3. Existuje správný způsob, jak vymazat protokoly?

  1. Existuje způsob, jak oříznout soubor NETCDF?

  2. Existuje způsob, jak obnovit přerušený scp souboru?

  3. Existuje nějaký způsob, jak zablokovat LD_PRELOAD a LD_LIBRARY_PATH na Linuxu?