Linux disk kontrol. Kontrollerer, at disken fungerer korrekt i Ubuntu. Badblocks konsol program

Hvis operativsystemet under opstart rapporterer tilstedeværelsen af ​​fejl i filsystemet på en af ​​partitionerne, skal du straks tjekke diskene og rette filsystemfejlene.

Enhver bruger med respekt for sig selv bør ikke glemme, at periodisk kontrol af harddiske for dårlige sektorer og kontrol af diske for fejl er et eksempel på sund fornuft.

Vigtig! Lancering og udførelse FSCK på et monteret filsystem kan forårsage datakorruption, såbrug dette materiale på egen risiko. Forfatteren er ikke ansvarlig for eventuelle skader, du måtte forårsage.

For at beskytte dig selv skal du:

  • Skift til enkeltbrugertilstand og afmonter filsystemet
  • Start computeren i gendannelsestilstand ved hjælp af installations-cd'en

Så du skal tjekke diskene og rette filsystemfejlene, lad os komme i gang.

1) Enkeltbrugertilstand

Skift init-niveau og afmonter filsystemet:

# init 1
# umount / hjem

Søg efter tilsluttede partitioner:

# fsck / dev / sda1

2) Gendannelsestilstand fra installations-cd

Indsæt installations-cd'en i drevet og genstart systemet:

Vent et stykke tid, og efter opstart fra installations-cd'en, kør kommandoen:

# linux redning nomount

NOMOUNT-direktivet vil ikke tillade montering, så du kan trygt bruge FSCK.

Kør derefter FSCK for afsnittet med fejl:

# fsck -yvf / dev / sda1

LVM (Logical Volume Manager)

Situationen med LVM (Logical Volume Manager) afsnit er lidt mere komplicerede. Til start FSCK til LVM sektioner først, du skal finde PV (fysisk volumen), VG (Volume Group), LV (logisk udvidelse) og aktiver dem, for at gøre dette skal du køre følgende kommandoer i rækkefølge:

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

# fsck -yfv / dev / VolGroup00 / LogVol00

Ved udførelse vil FSCK returnere resultatet i form af en kode, denne kode er et unikt tal, der repræsenterer summen af ​​følgende værdier:

0 - Ingen fejl;
1 - Filsystemfejl rettet;
2 - Systemet skal genstartes;
4 - Filsystemfejl efterlades ukorrigerede;
8 - Driftsfejl;
16 - Brugs- eller syntaksfejl;
32 - Fsck annulleret ved brugeranmodning;
128 - Fejl i delt bibliotek.

En computer er en enhed, der er afhængig af samspillet mellem mange komponenter. De kan forårsage funktionsfejl over tid. En af de mest almindelige årsager til maskinens defekte arbejde er dårlige sektorer på disken, så den skal testes med jævne mellemrum. Linux giver alle muligheder for dette.

Hvad er knækkede blokke, og hvorfor dukker de op

En blok (sektor) er en lille celle på en disk, der gemmer information i form af bits (0 og 1). Når systemet ikke formår at skrive den næste bit ind i en celle, taler de om en bitsektor. Der kan være flere årsager til udseendet af sådanne blokke:

  • fabrikationsfejl;
  • sluk mens du optager information;
  • fysisk slid på disken.

I første omgang har næsten alle medier krænkelser. Over tid kan deres antal stige, hvilket indikerer en forestående fejl i enheden. Der er flere måder at teste en disk for fejl i Linux.

Linux disk kontrol

Adskillige operativsystemer kører på Linux-kernen, inklusive Ubuntu og Debian. Diskkontrolproceduren er universel og egnet til hver af dem. Det er værd at tænke på tiden til at teste mediet, når disksystemet er under hård belastning, hastigheden på arbejdet med mediet (skrivning / læsning) er faldet betydeligt, eller disse procedurer forårsager endda fejl.

Mange kender programmet til Windows - Victoria HDD. Udviklerne tog sig af at skrive sine modstykker til Linux.

Badblocks

Badblocks er et diskværktøj, der leveres med Ubuntu og andre Linux-distributioner som standard. Programmet giver dig mulighed for at teste både harddisk og eksterne drev.

Vigtig! Alle terminalkommandoer i denne artikel begynder med sudo-parameteren, da de kræver superbrugerrettigheder for at udføre.

Før du tester en disk i Linux, bør du kontrollere, hvilke drev der er tilsluttet systemet ved hjælp af fdisk-l-værktøjet. Det vil også vise de tilgængelige sektioner på dem.

Nu kan du fortsætte til direkte test for dårlige sektorer. Badblocks arbejde er organiseret som følger:

badblocks -v / dev / sdk1> bsector.txt

Posten bruger følgende kommandoer og operander:

  • -v - viser en detaljeret rapport om den udførte kontrol;
  • / dev / sdk 1- det afsnit, der kontrolleres;
  • bsector.txt - skrive resultater til en tekstfil.

Hvis du finder dårlige blokke, mens du tjekker disken, skal du køre værktøjet fsck eller e2fsck, afhængigt af det anvendte filsystem. De vil begrænse skrivningen af ​​information til ikke-arbejdende sektorer. For filsystemer ext2, ext3 eller ext4 skal du køre følgende kommando:

fsck -l bsector.txt / dev / sdk1

Ellers:

fsck -l bsector.txt / dev / sdk1

Parameteren -l fortæller programmet, at de dårlige blokke er opført i filen bsector.txt, og de bør udelukkes.

GPartede

Værktøjet kontrollerer Linux-filsystemet uden at ty til en tekstbaseret grænseflade.

Værktøjet er ikke oprindeligt inkluderet i distributionerne af operativsystemet, så du skal installere det ved at køre kommandoen:

apt-get install gparted

Tilgængelige drev vises i programmets hovedvindue. Det faktum, at det er tid til at teste transportøren, fremgår tydeligt af udråbstegnet ved siden af ​​dens navn. Kontrollen startes ved at klikke på punktet "Kontroller for fejl" i undermenuen "Sektion" i toppanelet. Den ønskede disk er forvalgt. Når scanningen er færdig, viser værktøjet resultatet.

Kontrol af HDD og andre lagerenheder med GParted-applikationen er tilgængelig for brugere af Ubuntu, FreeBSD, Centos, Debian og andre og andre distributioner, der kører på Linux-kernen.

Smartmontools

Værktøjet giver dig mulighed for at teste filsystemet med større pålidelighed. Moderne harddiske har et indbygget S. M. A. R. T.-selvovervågningsmodul, som analyserer drevdataene og hjælper med at bestemme fejlen i den indledende fase. Smartmontools er designet til at fungere med dette modul.

Installationen startes via terminalen:

  • apt install smartmontools - til Ubuntu / Debian;
  • yum installer smartmontools til CentOS.

For at se oplysninger om harddiskens tilstand skal du indtaste linjen:

smartctl –H / dev / sdk1

Fejlkontrol tager forskellig tid afhængigt af størrelsen på disken. I slutningen vil programmet vise resultatet om tilstedeværelsen af ​​dårlige sektorer eller deres fravær.

Hjælpeprogrammet har andre muligheder: -a, --all, -x, --xall. Hjælp tilkaldes for mere information:

sikker kopi

Når der er behov for at teste en harddisk i Linux, bør du være klar til ethvert resultat.

Safecopy-applikationen kopierer data fra en beskadiget enhed til en fungerende enhed. Kilden kan være både harddiske og flytbare medier. Dette værktøj ignorerer I/O-fejl, læsninger, dårlige blokeringer og fortsætter med at køre kontinuerligt. Udførelseshastigheden er den hurtigst mulige, som computeren giver.

Kommentar! Hjælpeprogrammet er ikke beregnet til at gendanne slettede filer. Hun trækker informationen, der er gemt i de ødelagte sektorer, frem.

For at installere Safecopy på Linux skal du indtaste linjen i terminalen:

Scanning startes med kommandoen:

safecopy / dev / sdk1 / home / filer /

Her er den første sti den beskadigede disk, den anden er den mappe, hvor filerne vil blive gemt.

Programmet er i stand til at skabe et billede af filsystemet på en ustabil lagerenhed.

Hvad skal man gøre, hvis der findes en fejl i Ubuntu-systemprogrammet

Installation af ny software eller ændring af systemindstillinger kan forårsage meddelelsen "Der er registreret en fejl i systemprogrammet." Mange ignorerer det, da det ikke påvirker det generelle arbejde.

Problemet støder normalt på brugere af Ubuntu version 16.04. I dette tilfælde er det ikke nødvendigt at teste HDD'en, da problemet er mere sandsynligt, at det er en softwarefejl. Meddelelsen giver besked om den uventede afslutning af programmet og tilbyder at sende en rapport til udviklerne. Hvis du accepterer, åbnes et browservindue, hvor du skal udfylde en 4-trins formular. Denne mulighed forårsager vanskeligheder og garanterer ikke, at fejlen forsvinder.

Den anden metode hjælper kun med at undgå, at meddelelsen vises, hvis den kaldes af det samme program. For at gøre dette skal du ved den næste meddelelse markere indstillingen "Vis ikke mere for dette program".

Den tredje metode er at deaktivere Apport-værktøjet, som er ansvarligt for at indsamle oplysninger og sende rapporter i Linux. Denne tilgang vil helt eliminere pop op-vinduer med fejl. Det er muligt kun at deaktivere visningen af ​​meddelelser, så indsamlingstjenesten fungerer. For at gøre dette skal du gøre:

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

Data vil fortsat blive indsamlet i mappen / var / crash. De skal renses med jævne mellemrum, så de ikke fylder diskplads:

For fuldstændigt at deaktivere Apport-tjenester, indtastes en post i terminalen:

gksu gedit / etc / default / apport

I teksten, der vises, ændres værdien af ​​aktiveringsfeltet fra 1 til 0. Senere, for at genaktivere tjenesten, returneres standardindstillingerne.

Konklusion

For at forhindre tab af filer anbefales det, at du tester din harddisk og dine flytbare medier med jævne mellemrum. Linux tilbyder flere tilgange til at løse problemet. Du kan vælge fra en liste over hjælpeprogrammer, der identificerer dårlige sektorer og overfører oplysninger til en normalt fungerende enhed.

Var det Linus Torvalds, der skabte sin idé, at Linux ville blive brugt i indlejrede systemer, ikke kun i billige hjemmeroutere, men også i så seriøse telekommunikationsløsninger som AVAYA PBX?

For nylig var det nødvendigt at genoprette AVAYA automatiske telefoncentral for en stor kunde. Dette er en Avaya G650 Media Gateway (chassis) med en Avaya S8400 Server (processor). Hvor systemdisken er 2 GB CompactFlash. Hvilket betinget kan betragtes som et SSD-drev med et IDE-interface.
Og hvad var min overraskelse, da jeg tilsluttede CF-drevet gennem en kortlæser og så den velkendte struktur af Linux-filsystemet. Dette forenklede naturligvis proceduren for kontrol af CF-drevets ydeevne.

Sådan kontrolleres filsystemet på en Linux-disk for fejl

I MicroSoft DOS-operativsystemet (åh ja, jeg husker version 5.0, som passede på én diskette!) var der en CHKDSK-kontrolkommando. Og der er noget lignende i Linux.
For at kontrollere en Linux-disk for filsystemfejl, skal du finde ud af navnene på filsystemerne for at kontrollere:

# df -h Filsystem Størrelse Brugt Tilgængelig Brug% Monteret på / dev / sda 20G 4.0G 15G 21% / / dev / sdd1 1G 455M 555M 46% / media / Np% blsl3648B4Jjeiedgyy / dev / sdd 9M /G 90M 1 10.13-23dd ingen 246M 0 246M 0% / dev / shm

For det CF-drev, der testes, er dette / dev / sdd1 og / dev / sdd6
Dernæst skal du afmontere filsystemerne under test:

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

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

Parameter -y vil automatisk svare ja på alle spørgsmål, hvilket som regel de fleste brugere gør.

Lunux FSCK-filsystemkontrolresultater

I mit tilfælde var der fejl på en af ​​sektionerne, som værktøjet rettede. Derefter blev CF-drevet returneret til sin plads, og Avaya PBX blev gendannet.

Jeg måtte også se dette problem i øjnene. Min ene ven, der har Ubuntu på en gammel ASUS bærbar, og som simpelthen ikke ønsker at tænde deres hjerner i det mindste nogle gange, henvendte sig til mig med et sådant problem. På hans bærbare computer er en ny Ubuntu 12.10 installeret, og meget ofte vil systemet simpelthen ikke starte, smide det ind på en sort skærm eller fryse mod en lilla baggrund. Men for nylig er en sådan besked begyndt at dukke op, noget i stil med "operativsystemet kunne ikke starte. Vælg den ønskede tast for yderligere handlinger ... "Og så er der en beskrivelse af, hvad du skal trykke på. Jeg kan ikke huske præcis, hvilke taster systemet foreslår at trykke på, men meningen er, at for automatisk at rette fejl, skal du trykke på sådan en tast, for manuel fejlfinding, en anden, og for at ignorere denne besked foreslås det at trykke på den tredje knap . Automatisk fejlkorrektion førte ikke til noget, og indlæsningen af ​​operativsystemet nåede ikke sin logiske konklusion. Så jeg besluttede at prøve det berømte hold fsck.

Først skal du starte enten fra en bootbar Ubuntu USB-stick (Lubuntu, Xubuntu, Kubuntu osv.) eller fra en Ubuntu Live CD. Nu skal vi finde ud af, hvilken partition med Ubuntu vi skal scanne for at rette filsystemet. Start Terminal (Ctrl-Alt-T) og udfør kommandoen:

sudo fdisk -l

Denne kommando vil vise os alle diske, flashdrev, der er monteret på systemet. Jeg vil bruge min personlige computer som et eksempel, ikke en vens bærbare computer. Her er hvad der skete for mig:

[e-mailbeskyttet]: ~ $ sudo fdisk -l

Disk / dev / sda: 640,1 GB, 640135028736 bytes
255 hoveder, 63 sektorer / spor, 77825 cylindre, i alt 1250263728 sektorer



Disk-id: 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 bytes
255 hoveder, 63 sektorer / spor, 60801 cylindre, i alt 976773168 sektorer
Enheder = sektorer på 1 * 512 = 512 bytes
Sektorstørrelse (logisk / fysisk): 512 bytes / 512 bytes
I/O-størrelse (minimum / optimal): 512 bytes / 512 bytes
Disk-id: 0xb9ff6f01

Device Boot Start End Blocks Id System
/ dev / sdb1 * 16065 100197404 50090670 83 Linux
/ dev / sdb2 105322201 976771071 435724435+ 5 Udvidet
/ 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

Partitionstabelposter er ikke i diskrækkefølge

Disk / dev / sdc: 8115 MB, 8115978240 bytes
250 hoveder, 62 sektorer / spor, 1022 cylindre, i alt 15851520 sektorer
Enheder = sektorer på 1 * 512 = 512 bytes
Sektorstørrelse (logisk / fysisk): 512 bytes / 512 bytes
I/O-størrelse (minimum / optimal): 512 bytes / 512 bytes
Disk-id: 0xc3072e18

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

Som du kan se fra kommandoudgangen sudo fdisk -l, jeg har 2 harddiske (sda) 640 GB og (sdb) 500 GB, samt et flashdrev (sdc) 8 GB, hvorfra jeg faktisk startede. Jeg ved, at mit Ubuntu 12.04-baserede system er på sda-drevet, og operativsystempartitionen hedder sda1 i overensstemmelse hermed.

Nu hvor vi kender det afsnit, der skal scannes, kan vi faktisk begynde at tjekke det. I terminalen:

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

hvis du ser en fejl, skal du højst sandsynligt afmontere denne sektion:

sudo umount / dev / sda1

Kommandotaster og parametre fsck:

y- svar altid ja til alle spørgsmål (der er et alternativ: tast p - starter kontrollen i fuldautomatisk tilstand);

f- tvungen kontrol af filsystemet (selvom filsystemet er markeret som fuldt funktionelt)

c- søger efter dårlige blokke og markerer dem derefter

/ dev / sda1- den enhed eller sektion, der skal kontrolleres. Selvom holdet måske har et andet udseende. For eksempel:

sudo fsck -p / dev / sda1

I dette tilfælde er kun -p-kontakten blevet tilføjet. Du har lige læst om alle mulighederne for kommandoen fsck og tilføjet præcis de muligheder, du har brug for. For at finde ud af om alle funktionerne i programmet skal du indtaste i terminalen:

mand fsck

Her er, hvad terminalen udstedte efter kontrol:

[e-mailbeskyttet]: ~ $ sudo fsck -y -f -c / dev / sda1
fsck fra util-linux 2.20.1
e2fsck 1.42.5 (29. juli-2012)
Tjek for dårlige blokke (skrivebeskyttet test): 0,00 % udført, 0:00 forløbet. (0/0/0 fejlet
/ dev / sda1: Opdaterer dårlig blokinode.
Beståelse 1: Kontrol af inoder, blokke og størrelser
Beståelse 2: Kontrol af mappestruktur
Pass 3: Kontrol af telefonbogsforbindelse
Bestået 4: Kontrol af referencetal
Beståelse 5: Kontrol af grupperesuméoplysninger

Enhver computer er en kompleks enhed, der består af mange komponenter, og ingen er immune over for fejl i nogen af ​​dem. I denne artikel vil vi se på, hvordan man rettidigt genkender et af de alvorlige problemer med lagerenheder, det være sig en harddisk eller et flashdrev, hvordan en disk kontrolleres for dårlige linux-sektorer.

Enhver lagerenhed består af mange små blokke (sektorer), der gemmer information i form af nuller eller etaller (bits). Hvis operativsystemet af en eller anden grund ikke kan skrive en smule information til en bestemt sektor, så kan det betragtes som "brudt".

En sektor kan blive beskadiget af forskellige årsager:

  • Fremstillingsfejl
  • Sluk for computeren, mens du optager oplysninger.
  • Fysisk slitage af drevet.

Et lille antal dårlige sektorer findes på næsten ethvert drev. Men det er værd at være opmærksom på, hvis deres antal stiger over tid. Dette kan indikere den forestående fysiske død af drevet, og det er på tide, at du tænker på at erstatte det.

Lad os se på hvilke hjælpeprogrammer i Linux vi kan tjekke disken for dårlige linux-sektorer.

Kontrol af drevet for dårlige sektorer ved hjælp af badblocks.

Badblocks er et standard Linux-værktøj til at tjekke for dårlige sektorer. Det er installeret som standard i næsten ethvert distributionssæt, og med dets hjælp kan du tjekke både harddisken og det eksterne drev.

Lad os først se, hvilke drev der er forbundet til vores system, og hvilke partitioner de har. For at gøre dette har vi brug for et andet standard Linux-værktøj - fdisk.

Naturligvis skal du udføre kommandoer med superbrugerrettigheder:

Parameter -l vi beder fdisk om at vise listen over partitioner og afslutte.

Nu hvor vi ved, hvilke partitioner vi har, kan vi tjekke dem for dårlige sektorer. For at gøre dette bruger vi badblocks-værktøjet som følger:

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

Til verifikation angiver vi følgende parametre:

  • -v- detaljeret visning af oplysninger om resultaterne af kontrollen.
  • / dev / sda1- den sektion, som vi vil tjekke for dårlige sektorer.
  • > badsectors.txt- vi udsender resultatet af kommandoen til badsectors.txt-filen.

Hvis der som et resultat blev fundet dårlige sektorer, skal vi instruere operativsystemet i ikke at skrive information i dem i fremtiden. For at gøre dette har vi brug for Linux-værktøjer til at arbejde med filsystemer:

  • e2fsck. Hvis vi fikser en partition med Linux-filsystemer (ext2, ext3, ext4).
  • fsck. Hvis vi reparerer et andet filsystem end ext.

Vi indtaster følgende kommandoer:

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

Eller, hvis vores filsystem ikke er ext:

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

Parameter -l vi fortæller værktøjet at bruge listen over dårlige sektorer fra badsectors.txt-filen, som vi modtog tidligere, da vi tjekkede med værktøjet badblocks.

Kontrol af et drev for dårlige sektorer i Linux i smartmontools

Lad os nu se på en mere moderne og pålidelig måde at kontrollere en disk for dårlige linux-sektorer. Moderne ATA / SATA, SCSI / SAS, SSD-drev har et indbygget selvovervågningssystem S.M.A.R.T (selvovervågning, analyse og rapporteringsteknologi, Selvovervågning, analyse og rapporteringsteknologi), som overvåger frekvensomformerens parametre og hjælper med at bestemme forringelsen af ​​drevets ydeevne i de tidlige stadier. For at arbejde med S.M.A.R.T i Linux er der et smartmontools-værktøj.

Lad os installere det først. Hvis din distribution er baseret på Debian \ Ubuntu, skal du indtaste:

$ sudo apt installere smartmontools

Hvis du har et distributionssæt baseret på RHEL \ CentOS, skal du indtaste:

$ sudo yum installer smartmontools