Linuxi ketta kontroll. Kontrollige, kas ketas töötab Ubuntus korralikult. Badblocksi konsooliprogramm

Kui alglaadimise ajal teatab operatsioonisüsteem mõne partitsiooni failisüsteemis esinevatest vigadest, peaksite kohe kettaid kontrollima ja failisüsteemi vead parandama.

Iga endast lugupidav kasutaja ei tohiks unustada, et regulaarne kõvaketaste vigaste sektorite kontrollimine ja ketaste vigade kontrollimine on terve mõistuse näide.

Tähtis! Käivitamine ja täitmine FSCKühendatud failisüsteemis võib põhjustada andmete rikkumist, seegakasutage seda materjali omal vastutusel. Autor ei vastuta teie tekitatud kahjude eest.

Enda kaitsmiseks peate:

  • Lülituge ühe kasutaja režiimile ja eemaldage failisüsteem
  • Käivitage arvuti taasterežiimi, kasutades installi-CD-d

Niisiis, peate kettaid kontrollima ja failisüsteemi vead parandama, alustame.

1) Ühe kasutaja režiim

Muutke algtaset ja eemalda failisüsteem:

# algus 1
# umount / kodu

Ühendatud partitsioonide otsimine:

# fsck / dev / sda1

2) Taasterežiim installi-CD-lt

Sisestage installi-CD draivi ja taaskäivitage süsteem:

Oodake veidi ja pärast installi-CD-lt käivitamist käivitage käsk:

# linux pääste nomount

Direktiiv NOMOUNT keelab paigaldamise, nii et saate FSCK-d ohutult kasutada.

Pärast seda käivitage vigadega jaotise FSCK:

# fsck -yvf / dev / sda1

LVM (loogiline helitugevuse haldur)

Olukord koos LVM (loogiline helitugevuse haldur) lõigud on veidi keerulisemad. Alustuseks FSCK jaoks LVM Peate kõigepealt leidma jaotised PV (füüsiline maht), VG (mahurühm), LV (loogiline laiend) ja aktiveerige need, käivitage järjestikku järgmised käsud:

# lvm pvscan
# lvm vgscan
# lvm lvchange -ay VolGroup00
# lvm lvscan

# fsck -yfv / dev / VolGroup00 / LogVol00

Täitmisel tagastab FSCK tulemuse koodi kujul, see kood on kordumatu arv, mis esindab järgmiste väärtuste summat:

0 – vigu pole;
1 - failisüsteemi vead parandatud;
2 - süsteem tuleks taaskäivitada;
4 - parandamata failisüsteemi vead;
8 - tööviga;
16 - Kasutus- või süntaksiviga;
32 - Fsck tühistati kasutaja taotlusel;
128 – jagatud teegi viga.

Arvuti on seade, mis tugineb paljude komponentide koostoimele. Need võivad aja jooksul põhjustada talitlushäireid. Üks levinumaid masina defektse töö põhjuseid on ketta vigased sektorid, mistõttu tuleb seda perioodiliselt testida. Linux pakub selleks kõik võimalused.

Mis on katkised plokid ja miks need ilmuvad

Plokk (sektor) on ketta väike lahter, mis salvestab informatsiooni bittide (0 ja 1) kujul. Kui süsteem ei suuda järgmist bitti lahtrisse kirjutada, räägitakse bitisektorist. Selliste plokkide ilmumisel võib olla mitu põhjust:

  • tootmisdefektid;
  • teabe salvestamise ajal välja lülitada;
  • ketta füüsiline kulumine.

Esialgu on rikkumisi peaaegu kõigil meediakanalitel. Aja jooksul võib nende arv suureneda, mis näitab seadme peatset riket. Linuxis on ketta vigade testimiseks mitu võimalust.

Linuxi ketta kontroll

Linuxi tuumal töötavad mitmed operatsioonisüsteemid, sealhulgas Ubuntu ja Debian. Kettakontrolli protseduur on universaalne ja sobib igaühele neist. Tasub mõelda andmekandjate testimise ajale, kui kettasüsteem on suure koormuse all, kandjaga töötamise (kirjutamise/lugemise) kiirus oluliselt langenud või need protseduurid põhjustavad lausa tõrkeid.

Paljud on tuttavad Windowsi programmiga - Victoria HDD. Arendajad hoolitsesid selle analoogide kirjutamise eest Linuxi jaoks.

Halvad plokid

Badblocks on Ubuntu ja teiste Linuxi distributsioonidega vaikimisi kaasas olev kettautiliit. Programm võimaldab testida nii kõvaketast kui ka väliseid draive.

Tähtis! Kõik selles artiklis olevad terminalikäsud algavad parameetriga sudo, kuna nende käivitamiseks on vaja superkasutaja õigusi.

Enne ketta testimist Linuxis peaksite kontrollima, millised draivid on utiliidi fdisk-l abil süsteemiga ühendatud. See näitab ka nende jaoks saadaolevaid jaotisi.

Nüüd saate jätkata vigaste sektorite otsese testimisega. Badblocksi töö on korraldatud järgmiselt:

badblocks -v / dev / sdk1> bsector.txt

Kirje kasutab järgmisi käske ja operande:

  • -v - kuvab üksikasjaliku aruande teostatud kontrolli kohta;
  • / dev / sdk 1- kontrollitav osa;
  • bsector.txt – tulemuste kirjutamine tekstifaili.

Kui leiate ketta kontrollimise ajal vigaseid plokke, peate olenevalt kasutatavast failisüsteemist käivitama utiliidi fsck või e2fsck. Nad piiravad teabe kirjutamist mittetöötavatele sektoritele. Failisüsteemide ext2, ext3 või ext4 jaoks käivitage järgmine käsk:

fsck -l bsector.txt / dev / sdk1

Vastasel juhul:

fsck -l bsector.txt / dev / sdk1

Parameeter -l annab programmile teada, et vigased plokid on loetletud failis bsector.txt ja need tuleks välja jätta.

Gparted

Utiliit kontrollib Linuxi failisüsteemi ilma tekstipõhist liidest kasutamata.

Tööriist ei kuulu algselt operatsioonisüsteemi distributsioonidesse, seega peate selle installima, käivitades käsu:

apt-get install gparted

Saadaolevad draivid kuvatakse rakenduse põhiaknas. See, et on aeg kandjat testida, selgub selle nime kõrval olevast hüüumärgist. Kontrolli alustatakse, klõpsates ülemisel paneelil asuvas alammenüüs "Sektsioon" üksusel "Kontrolli vigu". Soovitud plaat on eelvalitud. Kui skannimine on lõppenud, kuvab utiliit tulemuse.

HDD ja muude salvestusseadmete kontrollimine rakendusega GParted on saadaval Ubuntu, FreeBSD, Centose, Debiani ja muude ja muude Linuxi tuumas töötavate distributsioonide kasutajatele.

Smartmontools

Tööriist võimaldab teil failisüsteemi suurema usaldusväärsusega testida. Tänapäevastel kõvaketastel on sisseehitatud S. M. A. R. T. enesekontrollimoodul, mis analüüsib draivi andmeid ja aitab algstaadiumis rikke tuvastada. Smartmontools on loodud selle mooduliga töötamiseks.

Installimine käivitatakse terminali kaudu:

  • apt install smartmontools - Ubuntu / Debiani jaoks;
  • yum installige CentOS-i jaoks smartmontools.

Kõvaketta oleku teabe vaatamiseks sisestage rida:

smartctl –H / dev / sdk1

Vea kontrollimine võtab sõltuvalt ketta suurusest erineva aja. Lõpus kuvab programm tulemuse vigaste sektorite olemasolu või nende puudumise kohta.

Utiliidil on ka muid valikuid: -a, --all, -x, --xall. Lisateabe saamiseks kutsutakse abi:

Turvakoopia

Kui on vaja kõvaketast Linuxis testida, peaksite olema valmis igaks tulemuseks.

Rakendus Safecopy kopeerib andmed kahjustatud seadmest töötavasse. Allikaks võivad olla nii kõvakettad kui ka irdkandjad. See tööriist ignoreerib sisend-/väljundvigu, lugemisi, vigaseid plokke ja jätkab pidevat töötamist. Täitmiskiirus on kiireim, mida arvuti pakub.

Kommenteeri! Utiliit ei ole mõeldud kustutatud failide taastamiseks. Ta tõmbab välja purustatud sektoritesse salvestatud teabe.

Safecopy installimiseks Linuxisse sisestage terminali rida:

Skannimist alustatakse käsuga:

turvakoopia / dev / sdk1 / kodu / failid /

Siin on esimene tee kahjustatud ketas, teine ​​on kataloog, kuhu failid salvestatakse.

Programm on võimeline looma ebastabiilse salvestusseadme failisüsteemi kujutise.

Mida teha, kui Ubuntu süsteemiprogrammis leitakse viga

Uue tarkvara installimine või süsteemisätete muutmine võib põhjustada teate "Süsteemiprogrammis on tuvastatud viga." Paljud ignoreerivad seda, kuna see ei mõjuta üldist tööd.

Tavaliselt puutuvad probleemiga kokku Ubuntu versiooni 16.04 kasutajad. Sel juhul pole HDD-d vaja testida, kuna probleem on tõenäolisemalt tarkvara rike. Sõnum teavitab programmi ootamatust lõpetamisest ja pakub arendajatele aruande saatmist. Kui nõustute, avaneb brauseriaken, kus peate täitma 4-astmelise vormi. See valik tekitab raskusi ega garanteeri vea kadumist.

Teine meetod aitab vältida sõnumi ilmumist ainult siis, kui sellele helistab sama programm. Selleks peate järgmise teate juures märkima valiku "Ära näita selle programmi jaoks rohkem".

Kolmas meetod on keelata utiliit Apport, mis vastutab Linuxis teabe kogumise ja aruannete saatmise eest. See lähenemisviis kõrvaldab täielikult vigadega hüpikaknad. Võimalik on keelata ainult teadete kuvamine, jättes inkassoteenuse töökorda. Selleks peate tegema järgmist.

gsettings set com.ubuntu.update-notifier show-apport-crashes false

Andmete kogumist jätkatakse kausta / var / crash. Neid tuleb perioodiliselt puhastada, et need ei täidaks kettaruumi:

Apport teenuste täielikuks keelamiseks sisestatakse terminali kanne:

gksu gedit / etc / default / apport

Ilmuvas tekstis muutub lubamisvälja väärtus 1-lt 0-le. Hiljem teenuse uuesti lubamiseks tagastatakse vaikesätted.

Järeldus

Failide kadumise vältimiseks on soovitatav kõvaketast ja irdkandjat perioodiliselt testida. Linux pakub probleemi lahendamiseks mitmeid lähenemisviise. Saate valida utiliitide loendist, mis tuvastavad vigased sektorid ja edastavad teabe tavapäraselt töötavasse seadmesse.

Kas Linus Torvalds, luues oma vaimusünnituse, leidis, et Linuxit hakatakse kasutama manussüsteemides mitte ainult odavates koduruuterites, vaid ka sellistes tõsistes telekommunikatsioonilahendustes nagu AVAYA PBX?

Hiljuti oli vaja taastada ühe suurkliendi AVAYA automaatne telefonikeskjaam. See on Avaya G650 Media Gateway (šassii) koos Avaya S8400 serveriga (protsessor). Kui süsteemiketas on 2 GB CompactFlash. Mida võib tinglikult pidada IDE-liidesega SSD-draiviks.
Ja mis oli minu üllatus, kui ühendasin CF-draivi läbi kaardilugeja ja nägin Linuxi failisüsteemi tuttavat struktuuri. See muidugi lihtsustas CF-draivi jõudluse kontrollimise protseduuri.

Kuidas kontrollida Linuxi ketta failisüsteemis vigu

MicroSoft DOS operatsioonisüsteemis (oh jaa, ma mäletan versiooni 5.0, mis mahtus ühele disketile!) oli CHKDSK check käsk. Ja Linuxis on midagi sarnast.
Linuxi ketta failisüsteemi vigade kontrollimiseks peate välja selgitama kontrollitavate failisüsteemide nimed:

# df -h failisüsteemi suurus Kasutatud Kasutus% Paigaldatud / dev / sda 20G 4.0G 15G 21% / / dev / sdd1 1G 455M 555M 46% / meedia / Np% blsl3648B4Jjeiedgyy / 8% dev / 1G / 9%sd 10.13-23dd puudub 246M 0 246M 0% / dev / shm

Testitava CF-draivi puhul on see nii / dev / sdd1 ja / dev / sdd6
Järgmiseks peate testitavad failisüsteemid lahti ühendama:

#sudo umount / dev / sdd1 # sudo umount / dev / sdd6

#fsck -y / dev / sdd1 # fsck -y / dev / sdd6

Parameeter -y vastab automaatselt kõigile küsimustele jah, mida reeglina enamik kasutajaid teeb.

Lunuxi FSCK failisüsteemi kontrollimise tulemused

Minu puhul oli ühes jaotises vigu, mille utiliit parandas. Pärast seda viidi CF-draiv oma kohale tagasi ja Avaya PBX taastati.

Ka mina pidin selle probleemiga silmitsi seisma. Minu üks sõber, kellel on Ubuntu vanal ASUSe sülearvutil ja kes lihtsalt ei taha vähemalt vahel oma ajusid sisse lülitada, pöördus sellise probleemiga minu poole. Tema sülearvutisse on installitud uus Ubuntu 12.10 ja väga sageli ei taha süsteem lihtsalt käivituda, visates selle mustale ekraanile või külmetades lilla tausta taustal. Kuid hiljuti on hakanud ilmuma selline teade, umbes nagu "Operatsioonisüsteem ei saanud alglaadida. Valige edasiste toimingute jaoks vajalik klahv ... "Ja siis on kirjeldus, mida peate vajutama. Täpselt ei mäleta, milliseid klahve süsteem soovitab vajutada, aga tähendus on selles, et vigade automaatseks parandamiseks vajutada sellist ja sellist klahvi, käsitsi silumiseks teist ja selle teate ignoreerimiseks soovitatakse vajutada kolmandat nuppu . Automaatne veaparandus ei toonud kaasa midagi ja operatsioonisüsteemi laadimine ei jõudnud oma loogilise järelduseni. Seega otsustasin proovida kuulsat meeskonda fsck.

Esiteks peate käivitama kas buutivalt Ubuntu USB-mälupulgalt (Lubuntu, Xubuntu, Kubuntu jne) või Ubuntu Live CD-lt. Nüüd peame välja selgitama, millist konkreetset Ubuntu partitsiooni peame failisüsteemi parandamiseks skannima. Käivitage terminal (Ctrl-Alt-T) ja täitke käsk:

sudo fdisk -l

See käsk näitab meile kõiki süsteemiga ühendatud kettaid ja välkmäluseadmeid. Kasutan näitena oma personaalarvutit, mitte sõbra sülearvutit. Minuga juhtus järgmine:

[e-postiga kaitstud]: ~ $ sudo fdisk -l

Ketas / arendaja / sda: 640,1 GB, 640135028736 baiti
255 pead, 63 sektorit / rada, 77825 silindrit, kokku 1250263728 sektorit



Ketta identifikaator: 0x0009d6f7


/ dev / sda1 * 2048 61442047 30720000 83 Linux
/ dev / sda2 61442048 73730031 6143992 82 Linuxi vahetus / Solaris
/ dev / sda3 73730048 1250263039 588266496 83 Linux

Ketas / arendaja / sdb: 500,1 GB, 500107862016 baiti
255 pead, 63 sektorit / rada, 60801 silindrit, kokku 976773168 sektorit
Ühikud = sektorid 1 * 512 = 512 baiti
Sektori suurus (loogiline / füüsiline): 512 baiti / 512 baiti
I / O suurus (minimaalne / optimaalne): 512 baiti / 512 baiti
Ketta identifikaator: 0xb9ff6f01

Seadme alglaadimise alguse lõpp blokeerib ID-süsteemi
/ dev / sdb1 * 16065 100197404 50090670 83 Linux
/ dev / sdb2 105322201 976771071 435724435+ 5 Laiendatud
/ dev / sdb3 100197405 105322139 2562367+ 82 Linuxi vahetus / Solaris
/ dev / sdb5 105322203 832110591 363394194+ 7 HPFS / NTFS / exFAT
/ dev / sdb6 832112640 860755218 14321289+ 83 Linux
/ dev / sdb7 860758016 862613503 927744 82 Linuxi vahetus / Solaris
/ dev / sdb8 862615552 976771071 57077760 83 Linux

Sektsioonitabeli kirjed ei ole ketta järjekorras

Ketas / arendaja / sdc: 8115 MB, 8115978240 baiti
250 pead, 62 sektorit / rada, 1022 silindrit, kokku 15851520 sektorit
Ühikud = sektorid 1 * 512 = 512 baiti
Sektori suurus (loogiline / füüsiline): 512 baiti / 512 baiti
I / O suurus (minimaalne / optimaalne): 512 baiti / 512 baiti
Ketta identifikaator: 0xc3072e18

Seadme alglaadimise alguse lõpp blokeerib ID-süsteemi
/ dev / sdc1 * 32 15847625 7923797 b W95 FAT32

Nagu näete käsu väljundist sudo fdisk -l, Mul on 2 kõvaketast (sda) 640 GB ja (sdb) 500 GB, samuti mälupulk (sdc) 8 GB, millelt ma tegelikult käivitasin. Ma tean, et minu Ubuntu 12.04-põhine süsteem on sda-draivil ja operatsioonisüsteemi partitsioon kannab vastavalt nime sda1.

Nüüd, kui teame skannimist vajavat jaotist, saame hakata seda kontrollima. Terminalis:

sudo fsck -y -f -c / dev / sda1

kui näete viga, peate tõenäoliselt selle jaotise lahti ühendama:

sudo umount / dev / sda1

Käsuklahvid ja parameetrid fsck:

y- vastake kõikidele küsimustele alati jaatavalt (on alternatiiv: klahv p - käivitab kontrolli täisautomaatses režiimis);

f- failisüsteemi sunnitud kontroll (isegi kui failisüsteem on märgitud täielikult toimivaks)

c- otsib halbu plokke ja märgib need seejärel vastavalt

/ dev / sda1- kontrollitav seade või sektsioon. Kuigi meeskonna välimus võib olla erinev. Näiteks:

sudo fsck -p / dev / sda1

Sel juhul on lisatud ainult lüliti -p. Lugesite lihtsalt kõigi fsck-käsu valikute kohta ja lisage täpselt need suvandid, mida vajate. Programmi kõigi funktsioonide kohta lisateabe saamiseks sisestage terminali:

mees fsck

Terminal pärast kontrollimist väljastas järgmise:

[e-postiga kaitstud]: ~ $ sudo fsck -y -f -c / dev / sda1
fsck versioonist util-linux 2.20.1
e2fsck 1.42.5 (29. juuli 2012)
Halbade plokkide kontrollimine (kirjutuskaitstud test): 0,00% tehtud, 0:00 möödunud. (0/0/0 viga
/ dev / sda1: vigase ploki inode värskendamine.
1. läbimine: sisendmoodulite, plokkide ja suuruste kontrollimine
2. sooritamine: kataloogistruktuuri kontrollimine
3. läbimine: kataloogi ühenduvuse kontrollimine
4. läbimine: viidete arvu kontrollimine
5. läbimine: rühma kokkuvõtte teabe kontrollimine

Iga arvuti on keeruline seade, mis koosneb paljudest komponentidest ja keegi pole kaitstud ühegi neist rikete eest. Selles artiklis vaatleme, kuidas õigeaegselt ära tunda üks tõsine probleem salvestusseadmetega, olgu selleks kõvaketas või mälupulk, kuidas kontrollitakse ketast vigaste linuxi sektorite suhtes.

Iga salvestusseade koosneb paljudest väikestest plokkidest (sektoritest), mis salvestavad teavet nullide või ühtede (bittide) kujul. Kui operatsioonisüsteem ei saa mingil põhjusel teatud sektorisse natuke infot kirjutada, siis võib seda lugeda "katkiseks".

Sektor võib kahjustada saada mitmel põhjusel:

  • Tootmisvead
  • Teabe salvestamise ajaks lülitage arvuti välja.
  • Ajami füüsiline kulumine.

Peaaegu igal draivil leidub väike arv vigaseid sektoreid. Kuid tasub olla tähelepanelik, kui nende arv aja jooksul suureneb. See võib viidata draivi peatsele füüsilisele surmale ja teil on aeg mõelda selle väljavahetamisele.

Vaatame, milliseid utiliite Linuxis saame kontrollida, kas kettal on halbu linuxi sektoreid.

Draivi kontrollimine vigaste sektorite suhtes, kasutades badblocks.

Badblocks on tavaline Linuxi utiliit vigaste sektorite kontrollimiseks. See on vaikimisi installitud peaaegu igasse jaotuskomplekti ja selle abiga saate kontrollida nii kõvaketast kui ka välist draivi.

Esiteks vaatame, millised draivid on meie süsteemiga ühendatud ja millised partitsioonid neil on. Selleks vajame teist tavalist Linuxi utiliiti - fdisk.

Loomulikult peate täitma superkasutaja õigustega käske:

Parameeter -l me käsime fdiskil näidata partitsioonide loendit ja väljuda.

Nüüd, kui teame, millised partitsioonid meil on, saame kontrollida, kas neil pole vigaseid sektoreid. Selleks kasutame utiliiti badblocks järgmiselt:

$ sudo badblocks -v / dev / sda1> badsectors.txt

Kontrollimiseks näitame järgmisi parameetreid:

  • -v- kontrolli tulemuste üksikasjalik kuvamine.
  • / dev / sda1- jaotis, mida tahame kontrollida vigaste sektorite suhtes.
  • > badsectors.txt- väljastame käsu tulemuse faili badsectors.txt.

Kui selle tulemusena leiti vigased sektorid, peame operatsioonisüsteemile andma korralduse, et edaspidi neisse teavet ei kirjutataks. Selleks vajame failisüsteemidega töötamiseks Linuxi utiliite:

  • e2fsck. Kui parandame partitsiooni Linuxi failisüsteemidega (ext2, ext3, ext4).
  • fsck. Kui parandame failisüsteemi, mis ei ole ext.

Sisestame järgmised käsud:

$ sudo e2fsck -l badsectors.txt / dev / sda1

Või kui meie failisüsteem ei ole ext:

$ sudo fsck -l badsectors.txt / dev / sda1

Parameeter -l käsime utiliidil kasutada vigaste sektorite loendit failist badsectors.txt, mille saime varem utiliidi badblocks kontrollimisel.

Kontrollige draivi vigaste sektorite suhtes Linuxis Smartmontoolsis

Vaatame nüüd moodsamat ja usaldusväärsemat viisi ketta vigaste linuxi sektorite kontrollimiseks. Kaasaegsetel ATA / SATA, SCSI / SAS, SSD draividel on sisseehitatud enesekontrollisüsteem S.M.A.R.T (eneseseire-, analüüsi- ja aruandlustehnoloogia, Enesekontrolli-, analüüsi- ja aruandlustehnoloogia), mis jälgib ajami parameetreid ja aitab kindlaks teha ajami jõudluse halvenemist varases staadiumis. S.M.A.R.T-ga Linuxis töötamiseks on olemas utiliit smartmontools.

Esmalt installime selle. Kui teie distributsioon põhineb Debianil \ Ubuntul, sisestage:

$ sudo apt install smartmontools

Kui teil on RHEL \ CentOS-il põhinev levitamiskomplekt, sisestage:

$ sudo yum installige smartmontools