Linux disk provjerava ima li pogrešaka. Provjera diska za loše sektore u Linuxu. Provjera pogona za loše sektore pomoću badblokova

Svako računalo je složen uređaj koji se sastoji od mnogo komponenti i nitko nije imun na kvarove bilo koje od njih. U ovom ćemo članku pogledati kako odmah prepoznati jedan od ozbiljnih problema s uređajima za pohranu podataka, bilo da se radi o tvrdom disku ili flash pogonu, te kako se disk provjerava na loše sektore u Linuxu.

Svaki pogon sastoji se od mnogo malih blokova (sektora) koji pohranjuju informacije u obliku nula ili jedinica (bitova). Ako iz nekog razloga operativni sustav ne može zapisati dio informacija u određeni sektor, tada se može smatrati "pokvarenim".

Sektor može biti oštećen iz raznih razloga:

  • Greške u proizvodnji
  • Isključite napajanje računala tijekom snimanja informacija.
  • Fizičko trošenje pogona.

Mali broj loših sektora nalazi se na gotovo svakom pogonu. Ali vrijedi obratiti pažnju ako se njihov broj s vremenom povećava. To može značiti skoru fizičku smrt pogona i vrijeme je da razmislite o njegovoj zamjeni.

Pogledajmo koje Linux uslužne programe možemo koristiti za provjeru diska za loše sektore Linuxa.

Provjera pogona za loše sektore pomoću badblokova.

Badblocks je standardni Linux uslužni program za provjeru loših sektora. Instalira se prema zadanim postavkama u gotovo svakoj distribuciji i može se koristiti za provjeru i tvrdog diska i vanjskog pogona.

Prvo, pogledajmo koji su pogoni povezani s našim sustavom i koje particije imaju. Da bismo to učinili, potreban nam je još jedan standardni Linux uslužni program - fdisk.

Naravno, trebate izvršavati naredbe s pravima superkorisnika:

Parametar -l kažemo fdisku da trebamo pokazati popis particija i izađemo.

Sada kada znamo koje particije imamo, možemo ih provjeriti za loše sektore. Da bismo to učinili, koristit ćemo uslužni program badblocks na sljedeći način:

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

Za provjeru navodimo sljedeće parametre:

  • -v- detaljan ispis informacija o rezultatima ispitivanja.
  • /dev/sda1- dio koji želimo provjeriti za loše sektore.
  • > badsectors.txt- ispisati rezultat naredbe u datoteku badsectors.txt.

Ako su kao rezultat toga pronađeni loši sektori, tada moramo dati instrukcije operativnom sustavu da ubuduće ne upisuje informacije u njih. Da bismo to učinili, potrebni su nam Linux uslužni programi za rad sa datotečnim sustavima:

  • e2fsck. Ako popravimo particiju s Linux sustavima datoteka (ext2,ext3,ext4).
  • fsck. Ako zakrpimo datotečni sustav koji nije ext.

Unesite sljedeće naredbe:

sudo e2fsck -l badsectors.txt /dev/sda1

Ili, ako naš datotečni sustav nije ext:

sudo fsck -l loši sektori.txt /dev/sda1

Parametar -l kažemo uslužnom programu da koristi popis loših sektora iz datoteke badsectors.txt, koji smo dobili ranije prilikom provjere s uslužnim programom badblocks.

Provjera pogona za loše sektore u Linuxu u smartmontools

Sada pogledajmo moderniji i pouzdaniji način provjere diska za loše sektore Linuxa. Moderni ATA/SATA, SCSI/SAS, SSD diskovi imaju ugrađeni sustav samonadzora S.M.A.R.T (tehnologija samonadzora, analize i izvješćivanja, Tehnologija samonadzora, analize i izvješćivanja), koja prati parametre pogona i pomoći će odrediti pogoršanje parametara pogona u ranim fazama. Za rad sa S.M.A.R.T u Linuxu postoji uslužni program smartmontools.

Prvo ga instalirajmo. Ako se vaša distribucija temelji na Debian\Ubuntu, unesite:

sudo apt instalirajte smartmontools

Ako imate distribuciju baziranu na RHEL\CentOS, unesite:

sudo yum instalirajte smartmontools

Sada kada smo instalirali smartmontools, možemo pogledati stranicu pomoći pomoću naredbe:

Prijeđimo na rad s uslužnim programom. Unesite sljedeću naredbu s parametrom -H tako da nam uslužni program prikazuje informacije o statusu pogona:

sudo smartctl -H /dev/sda1

Kao što vidite, provjera diska za loše linux sektore je završena i uslužni program nam govori da je sve u redu s diskom!

Osim toga, možete odrediti sljedeće parametre -a ili --svi kako biste dobili još više informacija o vožnji, ili -x I --xall za pregled informacija, uključujući druge parametre pogona.

zaključke

U ovom smo članku pogledali načine provjere pogona za loše sektore pod Linuxom kako bismo na vrijeme predvidjeli moguće kvarove i kako ne bismo izgubili podatke.

S vremena na vrijeme trebate provjeriti svoj tvrdi disk. Vjerujem da nema ništa vrjednije od informacija na tvrdom disku, pa, naravno, ne računajući naše živote, i bit će oh, kakva šteta kada vaše obiteljske fotografije, video zapisi, potrebni sažeci i izvješća o radu, lozinke i bilo što drugi važni podaci nestaju. Kako provjeriti tvrdi disk u Linuxu, au našem slučaju u Ubuntuu, i koji programi postoje za testiranje naših pomoćnika i spasitelja - tvrdih diskova? Trebali biste provjeriti tvrdi disk ne iz sustava instaliranog na njemu, već s LiveCD/USB. Jedna takva vrijedna verzija bila bi Parted Magic, iako se to može učiniti i s Ubuntu CD-a/USB-a. Ovo je kompletan komplet streljiva za rad s tvrdim diskovima. Ovdje imate GParted, za promjenu veličine HDD particija (analogno Acronis Disc Directoru), i CloneZilla, za stvaranje točnih kopija vaših sistemskih diskova ili particija s naknadnim oporavkom, i GSmartControl - za izvješćivanje o statusu vašeg diska i još mnogo toga. Pa počnimo s pregledom programa za provjeru tvrdog diska u Ubuntuu.

Konzolni program Badblokovi.

Da biste saznali kako su vaš tvrdi disk ili diskovi particionirani i odabrali particiju za provjeru, pokrenite naredbu:

sudo fdisk -l

Za početak skeniranja loših sektora samo pokrenite naredbu u terminalu:

sudo badblocks -sv /dev/sdb1

Gdje:

/dev/sdb1- ovo je dio koji se provjerava,

-s— prikazat će informacije o skeniranju kao postotak, prisutnost ili odsutnost "loših" sektora itd.,

-v— prikazat će detaljne informacije o čeku.

Ako trebate dobiti tekstualno izvješće, morate pokrenuti sljedeću naredbu:

sudo badblocks -s /dev/sdb1 > pogreške.txt

Umjesto /dev/sdb1 morate označiti željenu particiju vašeg tvrdog diska i tekstualna datoteka će se pojaviti u vašem početnom direktoriju greške.txt s izvješćem. Ako i dalje postoje loše stvari, onda ih je poželjno označiti tako da im sustav ne pristupa tijekom rada s diskom. Za označavanje loših sektora pokrenite naredbu:

sudo e2fsck -l pogreške.txt /dev/sdb1

Ključ -l omogućuje programu korištenje datoteke errors.txt za rad s lošim sektorima. Ali možete izbjeći gornje dvije naredbe i pokrenuti samo jednu:

sudo e2fsck -ct /dev/sdb1

Program e2fsck dio je softverskog paketa E2fsprogs koji uključuje badblock i ključ -c omogućuje korištenje badblock uslužnog programa za traženje loših sektora.

Za provjeru datotečnog sustava (ext 2/ext 3/ext 4) pokrenite sljedeću naredbu:

e2fsck -y /dev/particija vašeg diska ili cijelog diska

Ključ -y govori komunalnom poduzeću da na sva pitanja odgovori pozitivno.

Druge najčešće korištene opcije:

-godišnje automatski "popravi" datotečni sustav bez ikakvih pitanja.
-f prisilna (prisilna) provjera. Provjera će se dogoditi u svakom slučaju, čak i ako je datotečni sustav nije trebao.
-c pokreće program badblocks za pronalaženje i označavanje "loših" sektora na disku;
-v Prikazat će se detaljne informacije o provjeri.

Iako se umjesto e2fsck može koristiti fsck. Ali svatko je slobodan izabrati što mu je bolje ili zgodnije.

Program za diskove.

Ubuntu ima izvrstan program Diskovi, koji pruža informacije o svim povezanim uređajima u sustavu (tvrdi diskovi, flash diskovi, CD/DVD pogoni, itd.) Njegovim pokretanjem možete saznati podatke S.M.A.R.T. na disku od interesa.

Program GSmartControl

I na kraju, želim preporučiti program GSmartControl, koja je grafička ljuska (GUI) za konzolni program - smartctl. Možete ga pronaći u Ubuntu Application Centeru ili ga instalirati putem terminala naredbom:

sudo apt-get instaliraj gsmartcontrol

Program prikazuje potpune informacije o podacima S.M.A.R.T. O svakom artiklu možete saznati više .

Pa, naučili ste kako provjeriti tvrdi disk u Linuxu. Neka vam ove informacije dobro služe! Sretno!

Svako računalo je složen uređaj koji se sastoji od mnogo komponenti i nitko nije imun na kvarove bilo koje od njih. U ovom ćemo članku pogledati kako odmah prepoznati jedan od ozbiljnih problema s uređajima za pohranu podataka, bilo da se radi o tvrdom disku ili flash pogonu, te kako se disk provjerava na loše sektore u Linuxu.

Svaki pogon sastoji se od mnogo malih blokova (sektora) koji pohranjuju informacije u obliku nula ili jedinica (bitova). Ako iz nekog razloga operativni sustav ne može zapisati dio informacija u određeni sektor, tada se može smatrati "pokvarenim".

Sektor može biti oštećen iz raznih razloga:

  • Greške u proizvodnji
  • Isključite napajanje računala tijekom snimanja informacija.
  • Fizičko trošenje pogona.

Mali broj loših sektora nalazi se na gotovo svakom pogonu. Ali vrijedi obratiti pažnju ako se njihov broj s vremenom povećava. To može značiti skoru fizičku smrt pogona i vrijeme je da razmislite o njegovoj zamjeni.

Pogledajmo koje Linux uslužne programe možemo koristiti za provjeru diska za loše sektore Linuxa.

Provjera pogona za loše sektore pomoću badblokova.

Badblocks je standardni Linux uslužni program za provjeru loših sektora. Instalira se prema zadanim postavkama u gotovo svakoj distribuciji i može se koristiti za provjeru i tvrdog diska i vanjskog pogona.

Prvo, pogledajmo koji su pogoni povezani s našim sustavom i koje particije imaju. Da bismo to učinili, potreban nam je još jedan standardni Linux uslužni program - fdisk.

Naravno, trebate izvršavati naredbe s pravima superkorisnika:

Parametar -l kažemo fdisku da trebamo pokazati popis particija i izađemo.

Sada kada znamo koje particije imamo, možemo ih provjeriti za loše sektore. Da bismo to učinili, koristit ćemo uslužni program badblocks na sljedeći način:

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

Za provjeru navodimo sljedeće parametre:

  • -v— detaljan izlaz informacija o rezultatima ispitivanja.
  • /dev/sda1- dio koji želimo provjeriti za loše sektore.
  • > badsectors.txt— ispis rezultata naredbe u datoteku badsectors.txt.

Ako su kao rezultat toga pronađeni loši sektori, tada moramo dati instrukcije operativnom sustavu da ubuduće ne upisuje informacije u njih. Da bismo to učinili, potrebni su nam Linux uslužni programi za rad sa datotečnim sustavima:

  • e2fsck. Ako popravimo particiju s Linux sustavima datoteka (ext2,ext3,ext4).
  • fsck. Ako zakrpimo datotečni sustav koji nije ext.

Unesite sljedeće naredbe:

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

Ili, ako naš datotečni sustav nije ext:

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

Parametar -l kažemo uslužnom programu da koristi popis loših sektora iz datoteke badsectors.txt, koji smo dobili ranije prilikom provjere s uslužnim programom badblocks.

Provjera pogona za loše sektore u Linuxu u smartmontools

Sada pogledajmo moderniji i pouzdaniji način provjere diska za loše sektore Linuxa. Moderni ATA/SATA, SCSI/SAS, SSD diskovi imaju ugrađeni sustav samonadzora S.M.A.R.T (tehnologija samonadzora, analize i izvješćivanja, Tehnologija samonadzora, analize i izvješćivanja), koja prati parametre pogona i pomoći će odrediti pogoršanje parametara pogona u ranim fazama. Za rad sa S.M.A.R.T u Linuxu postoji uslužni program smartmontools.

Prvo ga instalirajmo. Ako se vaša distribucija temelji na Debian\Ubuntu, unesite:

$ sudo apt instalirajte smartmontools

Ako imate distribuciju baziranu na RHEL\CentOS, unesite:

$ sudo yum instalirajte smartmontools

I ja sam se morao suočiti s ovim problemom. Moj jedini prijatelj koji je instalirao Ubuntu na starom ASUS laptopu, a koji jednostavno ne želi barem ponekad uključiti mozak, došao mi je s takvim problemom. Novi Ubuntu 12.10 instaliran je na njegovom laptopu i vrlo često se sustav jednostavno ne želi pokrenuti, bacajući ga na crni ekran ili zamrzavajući na ljubičastoj pozadini. Ali nedavno se počela pojavljivati ​​ova poruka, nešto poput "Operacijski sustav se nije mogao pokrenuti. Odaberite željenu tipku za daljnje radnje...” I onda slijedi opis što je potrebno pritisnuti. Ne sjećam se točno koje tipke sustav predlaže da pritisnete, ali značenje je da za automatsko ispravljanje pogrešaka pritisnite tu i tu tipku, za ručno otklanjanje pogrešaka drugu, a da zanemarite ovu poruku od vas se traži da pritisnete treću tipku. Automatsko ispravljanje pogrešaka nije dovelo ni do čega i učitavanje operativnog sustava nikada nije došlo do logičnog završetka. Pa sam odlučio isprobati slavni tim fsck.

Najprije se morate pokrenuti s USB flash pogona za podizanje sustava s Ubuntuom (Lubuntu, Xubuntu, Kubuntu, itd.) ili s Ubuntu Live CD-a. Sada moramo saznati koju Ubuntu particiju trebamo skenirati da popravimo datotečni sustav. Pokrenite terminal (Ctrl-Alt-T) i izvršite naredbu:

sudo fdisk -l

Ova naredba će nam pokazati sve diskove i flash pogone koji su montirani na sustav. Dat ću primjer sa svojim osobnim računalom, a ne s laptopom prijatelja. Evo što sam dobio:

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 640,1 GB, 640135028736 bajtova
255 glava, 63 sektora/staza, 77825 cilindara, ukupno 1250263728 sektora



Identifikator diska: 0x0009d6f7


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

Disk /dev/sdb: 500,1 GB, 500107862016 bajtova
255 glava, 63 sektora/staza, 60801 cilindar, ukupno 976773168 sektora
Jedinice = sektori od 1 * 512 = 512 bajtova
Veličina sektora (logička/fizička): 512 bajtova / 512 bajtova
I/O veličina (minimalna/optimalna): 512 bajtova / 512 bajtova
Identifikator diska: 0xb9ff6f01

Device Boot Start End Blocks Id System
/dev/sdb1 * 16065 100197404 50090670 83 Linux
/dev/sdb2 105322201 976771071 435724435+ 5 Prošireno
/dev/sdb3 100197405 105322139 2562367+ 82 Linux swap / Solaris
/dev/sdb5 105322203 832110591 363394194+ 7 HPFS/NTFS/exFAT
/dev/sdb6 832112640 860755218 14321289+ 83 Linux
/dev/sdb7 860758016 862613503 927744 82 Linux swap / Solaris
/dev/sdb8 862615552 976771071 57077760 83 Linux

Unosi particijske tablice nisu u redoslijedu na disku

Disk /dev/sdc: 8115 MB, 8115978240 bajtova
250 glava, 62 sektora/staza, 1022 cilindra, ukupno 15851520 sektora
Jedinice = sektori od 1 * 512 = 512 bajtova
Veličina sektora (logička/fizička): 512 bajtova / 512 bajtova
I/O veličina (minimalna/optimalna): 512 bajtova / 512 bajtova
Identifikator diska: 0xc3072e18

Device Boot Start End Blocks Id System
/dev/sdc1 * 32 15847625 7923797 b W95 FAT32

Kao što možete vidjeti iz izlaza naredbe sudo fdisk -l, imam 2 hard diska (sda) 640 GB i (sdb) 500 GB, kao i flash disk (sdc) 8 GB, s kojeg sam se zapravo digao. Znam da se moj osnovni sustav s Ubuntu 12.04 nalazi na sda disku, a particija s operativnim sustavom zove se sda1.

Sada kada znamo particiju koju treba skenirati, zapravo je možemo početi provjeravati. U terminalu:

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

Ako vidite pogrešku, najvjerojatnije trebate demontirati ovu particiju:

sudo umount /dev/sda1

Tipke i parametri naredbi fsck:

g- na sva pitanja uvijek odgovorite potvrdno (postoji alternativa: tipka p - počinje provjeru u potpuno automatskom načinu rada);

f- prisilna provjera datotečnog sustava (čak i ako je datotečni sustav označen kao potpuno funkcionalan)

c- traži loše blokove, a zatim ih prema tome označava

/dev/sda1- uređaj ili particiju koju je potrebno provjeriti. Iako tim može imati drugačiji izgled. Na primjer:

sudo fsck -p /dev/sda1

U ovom slučaju dodan je samo prekidač -p. Upravo ste pročitali o svim tipkama naredbe fsck i dodali točno one tipke koje trebate. Kako biste saznali sve mogućnosti programa, unesite u Terminal:

čovjek fsck

Ovo je ono što je terminal proizveo nakon provjere:

ubuntu@ubuntu:~$ sudo fsck -y -f -c /dev/sda1
fsck iz util-linux 2.20.1
e2fsck 1.42.5 (29. srpnja 2012.)
Provjera loših blokova (test samo za čitanje): 0,00% gotovo, 0:00 proteklo. (0/0/0 pogreška
/dev/sda1: Ažuriranje inode lošeg bloka.
Prolaz 1: Provjera inoda, blokova i veličina
Prolaz 2: Provjera strukture direktorija
Prolaz 3: Provjera povezanosti imenika
Prolaz 4: Provjera broja referenci
Prolaz 5: Provjera informacija o sažetku grupe

Je li Linus Torvalds, stvarajući svoju zamisao, zamislio da će se Linux koristiti u ugrađenim sustavima, ne samo u jeftinim kućnim usmjerivačima, već iu tako ozbiljnim telekomunikacijskim rješenjima kao što je AVAYA PBX?

Nedavno smo morali vratiti funkcionalnost AVAYA PBX-a jednog velikog korisnika. Ovo je Avaya G650 pristupnik (kućište) s Avaya S8400 poslužiteljem (procesor). Gdje se kao sistemski disk koristi CompactFlash medij od 2 GB. Što se uvjetno može smatrati SSD diskom s IDE sučeljem.
I zamislite moje iznenađenje kada sam, nakon povezivanja CF pogona preko čitača kartica, vidio poznatu strukturu Linux datotečnog sustava. Što je, naravno, pojednostavilo proceduru provjere funkcionalnosti CF pogona.

Kako provjeriti da li sustav datoteka Linux diska sadrži pogreške

Operativni sustav MicroSoft DOS (o da, sjećam se verzije 5.0, koja je stala na jednu disketu!) imao je CHKDSK naredbu za provjeru diska. I nešto slično postoji u Linuxu.
Da biste provjerili Linux disk za greške u datotečnom sustavu, trebate saznati nazive datotečnih sustava za provjeru:

# df -h Korištena veličina datotečnog sustava Dostupnost Upotreba % Montirano na /dev/sda 20G 4.0G 15G 21% / /dev/sdd1 1G 455M 555M 46% /media/Np%blsl3648B4Jjeiedgyy /dev/sdd6 1G 98M 902M 10% /media/ 10.13-23dd ništa 246M 0 246M 0% /dev/shm

Za testiranu vožnju CF je /dev/sdd1 I /dev/sdd6
Zatim morate demontirati datotečne sustave koji se testiraju:

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

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

Parametar -yće automatski odgovoriti potvrdno na sva pitanja, što većina korisnika obično radi.

Rezultati uslužnog programa za provjeru datotečnog sustava Lunux FSCK

U mom slučaju, bilo je pogrešaka na jednoj od particija koje je uslužni program ispravio. Nakon čega je CF pogon vraćen na svoje mjesto i funkcionalnost Avaya PBX-a je vraćena.