Kontrollerar disken för linux mint-fel. Kontrollerar en disk för dåliga sektorer i Linux. Hur man kontrollerar ett Linux-diskfilsystem för fel

av admin

Låt oss titta på sätt att kontrollera och diagnostisera hdd på Linux-system. Information om driften av hårddisken hjälper dig att analysera tillståndet och, om nödvändigt, ersätta det misslyckade mediet, vilket förhindrar systemkrasch eller dataförlust. Dessutom lägger vi till övervakning av smart HDD till vårt zabbix övervakningssystem

Vi får en lista över anslutna enheter i systemet

För att avgöra vad som är monterat var, låt oss göra

Se det upptagna utrymmet på en viss enhet

Om det är en mjuk åktur, låt oss kontrollera det med följande kommando

root@big:~# cat /proc/mdstat
Personligheter:
md1: aktiv raid1 sdb3 sda3
965888832 block super 1.2

md0: aktiv raid1 sdb1 sda1
9756544 block super 1.2
oanvända enheter:
root@big:~#

vilken raid är installerad (monterad)
md0- raid enhetsnamn
sda sdb- Inkluderade enheter i denna raid
- tillstånd för diskar i RAID-arrayen

Installera nödvändiga paket

aptitude installera hdpparm sysstat smartmontools

Vi tittar på läshastighetsstatusen från enheten

Med hjälp iostat(som en del av sysstat) analyserar vi belastningen på våra hårddiskar

Vi tittar på datautgången för alla diskar med intervaller på 10 sekunder

Du kan definiera drivningen att analysera genom att lägga till

Med hjälp av det här verktyget kommer vi att bestämma belastningen på våra enheter, I/O-statistik och procentuell användning.

avg-cpu: %användare %trevlig %systemet %iowait %stjäla %på tomgång
0,16 0,00 1,89 23,75 0,00 74,21

Kontrollera status för enheter

Låt oss först kontrollera vår hårddisk för dåliga block, om det behövs, välj dem och markera dem för att ignoreras.

badblocks /dev/sda3 -sv > /root/badblockSDA3
Kontrollerar för dåliga blockeringar (skrivskyddat test): 27,93 % klar, 36:12 förflutit. (0/0/0 fel)

/dev/sda3- Namnet på enheten som testas
s- visar procentuell information
v- aktivera detaljerat läge
> /root/badblockSDA3- skriva dåliga sektorer till en fil

Markering av dåliga block (i framtiden kommer markerade block att ignoreras av systemet):

e2fsck -l /root/badblockSDA3 /dev/sda3

Dåliga block är markerade och du kan arbeta med disken.

UPPMÄRKSAMHET!!! Denna operation måste utföras på ett omonterat medium eller i skrivskyddat läge

UPPMÄRKSAMHET!!! Den testade enheten och enheten på vilken dåliga block kommer att markeras måste vara samma!

Vi tar emot S.M.A.R.T-data om HDD-drift

Där /dev/sdX är namnet på enheten som måste kontrolleras.
Du kommer att få utdata från S.M.A.R.T.-attributen, vars betydelse är väl beskriven i wikin

Övervakar S.M.A.R.T-status för hårddiskar i Zabbix

För varje enhet kontrollerar vi SMART-stöd

root@big:~# smartctl -i /dev/sda |grep SMART
SMART-stöd är: Tillgängligt - enheten har SMART-kapacitet.
SMART-stöd är: Aktiverat
root@big:~#

Om det stöds men inte är aktiverat, aktivera det

smartctl -s på -S på -o på /dev/sda

kontrollera status med kommandot

smartctl -H /dev/sda |grep "test"| cut -f2 -d: |tr -d " "

root@big:/etc/zabbix# smartctl -H /dev/sda |grep "test"| cut -f2 -d: |tr -d " "
PASSERADE
root@big:/etc/zabbix#

Aktivera smart check-parametern för disken i zabbix-agentens konfigurationsfil

UserParameter=HDD_smart.[*],sudo smartctl -H /dev/$1 |grep "test"| cut -f2 -d: |tr -d " "

Var HDD_smart- nyckel för zabbix element

V sudoers lägga till en post

zabbix ALL=NOPASSWD:/usr/sbin/smartctl

starta om sudo och zabbix agent.

För att vara säker på korrektheten, logga in som zabbix-användare och kontrollera utförandet av vårt kommando

root@big:/etc/zabbix# su - zabbix -s /bin/bash
Katalogen saknas eller är otillgänglig, logga in med HOME=/
zabbix@big:/$ sudo smartctl -H /dev/sda |grep "test"| cut -f2 -d: |tr -d " "
PASSERADE
zabbix@big:/$

Låt oss skapa en zabbix-agent på zabbix-servern ( Aktiva) dataelement

namn- slumpmässig
Typ- Zabbix-agent (aktiv)
Nyckel- HDD_smart. - för den första skivan, för den andra, respektive...
Typ- Symbol

Och efter en tid observerar vi data

Jag var också tvungen att möta detta problem. Min ena vän som har installerat Ubuntu som en gammal ASUS bärbar dator, och som helt enkelt inte vill använda sin hjärna ibland, kom till mig med ett sådant problem. Den nya Ubuntu 12.10 är installerad på hans bärbara dator och mycket ofta vill systemet helt enkelt inte starta, kasta det in i en svart skärm eller fryser på en lila bakgrund. Men nyligen började det här meddelandet dyka upp, ungefär som "Operativsystemet kunde inte starta. Välj önskad tangent för ytterligare åtgärder...” Och så finns det en beskrivning av vad som behöver tryckas. Jag kommer inte ihåg exakt vilka tangenter systemet föreslår att trycka på, men meningen är att för att automatiskt korrigera fel, tryck på en sådan och en sådan tangent, för manuell felsökning av en annan, och för att ignorera detta meddelande ombeds du att trycka på en tredje knapp. Automatisk felkorrigering ledde inte till någonting och laddningen av operativsystemet nådde aldrig sin logiska slutsats. Så jag bestämde mig för att prova det berömda laget fsck.

Först måste du starta antingen från en startbar USB-flashenhet med Ubuntu (Lubuntu, Xubuntu, Kubuntu, etc.) eller från Ubuntu disk Live CD. Nu måste vi ta reda på vilken Ubuntu-partition vi behöver skanna för att fixa filsystemet. Starta Terminal (Ctrl-Alt-T) och kör kommandot:

sudo fdisk -l

Detta kommando visar oss alla diskar och flashenheter som är monterade på systemet. Jag ska ge ett exempel med min persondator, och inte med en väns bärbara dator. Här är vad jag fick:

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 640,1 GB, 640135028736 byte
255 huvuden, 63 sektorer/spår, 77825 cylindrar, totalt 1250263728 sektorer



Diskidentifierare: 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 byte
255 huvuden, 63 sektorer/spår, 60801 cylindrar, totalt 976773168 sektorer
Enheter = sektorer på 1 * 512 = 512 byte
Sektorstorlek (logisk/fysisk): 512 byte / 512 byte
I/O-storlek (minsta/optimala): 512 byte / 512 byte
Diskidentifierare: 0xb9ff6f01

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

Partitionstabellposter är inte i diskordning

Disk /dev/sdc: 8115 MB, 8115978240 byte
250 huvuden, 62 sektorer/spår, 1022 cylindrar, totalt 15851520 sektorer
Enheter = sektorer på 1 * 512 = 512 byte
Sektorstorlek (logisk/fysisk): 512 byte / 512 byte
I/O-storlek (minsta/optimala): 512 byte / 512 byte
Diskidentifierare: 0xc3072e18

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

Som du kan se från kommandoutgången sudo fdisk -l, jag har 2 hårddiskar (sda) 640 GB och (sdb) 500 GB, samt en flash-enhet (sdc) 8 GB, från vilken jag faktiskt startade. Jag vet att mitt bassystem med Ubuntu 12.04 ligger på sda-disken, och partitionen med operativsystemet heter sda1.

Nu när vi vet vilken partition som behöver skannas kan vi faktiskt börja kontrollera den. I terminalen:

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

Om du ser ett fel måste du troligen avmontera denna partition:

sudo umount /dev/sda1

Kommandotangenter och parametrar fsck:

y- svara alltid ja på alla frågor (det finns ett alternativ: tangent p - börjar checka i helautomatiskt läge);

f- påtvingad kontroll av filsystemet (även om filsystemet är markerat som fullt fungerande)

c- letar efter dåliga block och markerar dem därefter

/dev/sda1- enhet eller partition som måste kontrolleras. Även om laget kan ha ett annat utseende. Till exempel:

sudo fsck -p /dev/sda1

I det här fallet har bara -p-omkopplaren lagts till. Du har precis läst om alla fsck-kommandotycklar och lägger till exakt de nycklar du behöver. För att ta reda på om programmets alla funktioner, skriv in i terminalen:

man fsck

Detta är vad terminalen producerade efter att ha kontrollerat:

ubuntu@ubuntu:~$ sudo fsck -y -f -c /dev/sda1
fsck från util-linux 2.20.1
e2fsck 1.42.5 (29 juli 2012)
Kontrollerar för dåliga blockeringar (skrivskyddat test): 0,00 % klar, 0:00 har förflutit. (0/0/0 fel
/dev/sda1: Uppdaterar dålig blockinode.
Pass 1: Kontrollera inoder, block och storlekar
Pass 2: Kontrollerar katalogstruktur
Pass 3: Kontrollerar kataloganslutningen
Godkänd 4: Kontrollera referensantalet
Godkänd 5: Kontrollera gruppsammanfattningsinformation

En defekt hårddisk är ett av de mest obehagliga fenomenen vid datordrift. Inte bara kan vi lätt förlora mycket viktig information och filer, utan att byta ut hårddisken tar en vägtull på budgeten. Låt oss lägga till detta slöseri med tid och nerver, som, som vi vet, inte återställs. För att inte låta problemet överraska oss och diagnostisera det i förväg är det värt att veta hur man kontrollerar hårddisken för fel i Ubuntu OS. Det finns gott om mjukvaruverktyg som tillhandahåller sådana tjänster.

Hur man testar i Ubuntu HDD för misstag.

Det är inte alls nödvändigt att ladda ner program för att utföra en diskkontroll i Ubuntu. Operativsystemet har redan ett verktyg som är designat för denna uppgift. Det kallas badblocks och styrs via terminalen.

Öppna en terminal och ange:

Detta kommando visar information om alla hårddiskar som används av systemet.

Efter detta går vi in:

sudo badblocks -sv /dev/sda

Kommandot används redan för att söka efter skadade sektorer. Istället för /dev/sda anger du namnet på din enhet. Omkopplarna -s och -v används för att visa förloppet för kontrollblocken (s) i rätt ordning och för att tillhandahålla en rapport om alla åtgärder (v).

Genom att trycka på Ctrl + C slutar vi kontrollera hårddisken.

Du kan också använda två andra kommandon för att övervaka filsystemet.

För att avmontera filsystem, stiga på:

Så här kontrollerar och korrigerar du fel:

sudo fsck -f -c /dev/sda

  • "-f" tvingar fram processen, det vill säga den kör den även om hårddisken är markerad som frisk;
  • "-c" hittar och markerar dåliga block;
  • "-y" är ett extra inmatningsargument som omedelbart svarar Ja på alla systemfrågor. Istället kan du ange "-p", det kontrolleras automatiskt.

Program

Ytterligare programvara gör också ett utmärkt jobb med denna funktion. Och ibland ännu bättre. Dessutom tycker vissa användare att det är lättare att arbeta med ett grafiskt gränssnitt.

GParted är bara för dem som inte gillar ett textgränssnitt. Verktyget utför ett stort antal uppgifter relaterade till driften av hårddisken på Ubuntu. Detta inkluderar att kontrollera disken för fel.

Först måste vi ladda ner och installera GParted. Ange följande kommando för att ladda ner från de officiella arkiven:

sudo apt-get installera gparted

  1. Öppna applikationen. Alla media visas omedelbart på huvudskärmen. Om någon av dem är markerad med ett utropstecken, är det redan något fel med det.
  2. Klicka på den disk du vill kontrollera.
  3. Klicka på knappen "Sektion" längst upp.
  4. Välj "Sök efter fel".

Programmet kommer att skanna disken. Beroende på dess volym kan processen ta längre eller mindre tid. Efter skanning kommer vi att meddelas om resultatet.

Detta är ett mer komplext verktyg som utför en mer seriös kontroll av hårddisken med olika parametrar. Som ett resultat är det också svårare att hantera. GUI tillhandahålls inte i Smartmontools.

Ladda ner programmet:

aptitude installera smartmontools

Låt oss titta på vilka enheter som är anslutna till vårt system. Du måste vara uppmärksam på rader som slutar med en bokstav, inte en siffra. Dessa rader innehåller information om diskarna.

ls -l /dev | grep -E 'sd|hd'

Ange kommandot för att mata ut detaljerad information om transportören. Det är värt att titta på ATA-parametern. Faktum är att när du byter ut en inbyggd disk är det bättre att installera en enhet med samma eller större ATA. På så sätt kan du maximera dess kapacitet. Och titta och kom ihåg SMART-parametrarna.

smartctl –info /dev/sde

Låt oss börja kontrollen. Om SMART stöds, lägg till "-s". Om det inte stöds eller redan är aktiverat kan detta argument tas bort.

smartctl -s på -a /dev/sde

Efter det, titta på informationen under LÄS SMART DATA. Resultatet kan ha två värden: PASSED eller FAILED. Om det senare dyker upp kan du börja göra säkerhetskopior och leta efter en ny hårddisk.

Programmets möjligheter slutar inte där. Men för en engångskontroll av hårddisken kommer detta att vara tillräckligt.

Säkerhetskopiering

Det här är redan ett sådant program som är helt rätt att använda på ett sjunkande fartyg. Om vi ​​är medvetna om att något är fel med vår disk och strävar efter att spara så många överlevande filer som möjligt, då kommer Safecopy till undsättning. Dess uppgift är just att kopiera data från skadade media. Dessutom extraherar det filer även från trasiga block.

Installera Safecopy:

sudo apt install safecopy

Vi överför filer från en katalog till en annan. Du kan välja vilken annan som helst. I det här fallet överför vi data från sda-enheten till hemmappen.

sudo safecopy /dev/sda /home/

Dåliga block

Vissa kanske har frågor: "vad är dessa trasiga block och var kom de ens ifrån på min hårddisk om jag aldrig har rört den?" Dåliga block, eller dåliga sektorer, är delar av hårddisken som inte längre är läsbara. Det var i alla fall så de märktes av filsystemet av objektiva skäl. Och troligtvis är det verkligen något fel på disken på dessa ställen. "Bads" finns både på gamla hårddiskar och på de mest moderna, eftersom de fungerar med nästan samma teknik.

Dåliga sektorer dyker upp av olika anledningar.

  • Inspelningen avbröts på grund av strömavbrott. All information som kommer in på hårddisken delas upp i form av ettor och nollor i dess olika delar. Att störa denna process innebär att kraftigt förvirra hårddisken.
  • Dålig kvalitets montering. Det finns inget att säga här. Med en billig kinesisk enhet kan allt flyga.

Nu vet du hur du skannar din hårddisk efter fel. Att kontrollera disken, både på Ubuntu och på andra system, är en ganska viktig operation som bör utföras minst en gång om året.

Om operativsystemet under uppstart rapporterar att det finns fel i filsystemet på en av partitionerna, bör du omedelbart kontrollera diskarna och korrigera filsystemfelen.

Varje användare med självrespekt bör inte glömma att regelbunden kontroll av hårddiskar för dåliga sektorer och kontroll av diskar för fel är ett exempel på sunt förnuft.

Viktig! Lansering och utförande FSCK på ett monterat filsystem kan orsaka datakorruption, såAnvänd detta material på egen risk. Författaren ansvarar inte för eventuell skada du kan orsaka.

För att skydda dig själv behöver du:

  • Växla till enanvändarläge och avmontera filsystemet
  • Starta datorn i återställningsläge med installations-CD:n

Så du måste kontrollera diskarna och fixa filsystemfel, låt oss komma igång.

1) Enanvändarläge

Ändra initieringsnivån och avmontera filsystemet:

# init 1
# umount /home

Sök efter anslutna partitioner:

# fsck /dev/sda1

2) Återställningsläge från installations-CD:n

Sätt i installations-CD:n i enheten och starta om systemet:

Vänta ett tag och efter uppstart från installations-CD:n, kör kommandot:

# linux rescue nomount

NOMOUNT-direktivet kommer att inaktivera montering, så att du säkert kan använda FSCK.

Efter detta, kör FSCK på partitionen med fel:

# fsck -yvf /dev/sda1

LVM (Logical Volume Manager)

Situationen med LVM (Logical Volume Manager) avsnitten är lite mer komplicerade. Till start FSCK För LVM partitioner måste först hittas PV (fysisk volym), VG (Volymgrupp), LV (Logical Extension) och aktivera dem, för att göra detta, kör följande kommandon i följd:

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

# fsck -yfv /dev/VolGroup00/LogVol00

Vid exekvering kommer FSCK att returnera resultatet i form av en kod, denna kod är ett unikt nummer som representerar summan av följande värden:

0 - Inga fel;
1 - Filsystemfel korrigerade;
2 - Systemet bör startas om;
4 - Filsystemfel lämnas okorrigerade;
8 - Driftsfel;
16 - Användnings- eller syntaxfel;
32 - Fsck avbröts av användarens begäran;
128 - Fel i delat bibliotek.

Vilken dator som helst är en komplex enhet som består av många komponenter och ingen är immun mot fel på någon av dem. I den här artikeln kommer vi att titta på hur man snabbt känner igen ett av de allvarliga problemen med informationslagringsenheter, vare sig det är en hårddisk eller en flashenhet, och hur en disk kontrolleras för dåliga sektorer i Linux.

Varje enhet består av många små block (sektorer) som lagrar information i form av nollor eller ettor (bitar). Om operativsystemet av någon anledning inte kan skriva lite information till en viss sektor kan det anses vara "trasigt".

En sektor kan skadas av olika anledningar:

  • Tillverkningsfel
  • Stäng av strömmen till datorn medan du spelar in information.
  • Fysiskt slitage på drevet.

Ett litet antal dåliga sektorer finns på nästan alla enheter. Men det är värt att uppmärksamma om deras antal ökar med tiden. Detta kan indikera den förestående fysiska döden för enheten och det är dags för dig att tänka på att byta ut den.

Låt oss titta på vilka Linux-verktyg vi kan använda för att kontrollera en disk för dåliga Linux-sektorer.

Kontrollerar disken för dåliga sektorer med hjälp av badblocks.

Badblocks är ett standardverktyg för Linux för att leta efter dåliga sektorer. Den är installerad som standard i nästan alla distributioner och kan användas för att kontrollera både en hårddisk och en extern enhet.

Låt oss först titta på vilka enheter som är anslutna till vårt system och vilka partitioner de har. För att göra detta behöver vi ett annat standard Linux-verktyg - fdisk.

Naturligtvis måste du köra kommandon med superanvändarrättigheter:

Parameter -l vi säger till fdisk att vi måste visa listan med partitioner och avsluta.

Nu när vi vet vilka partitioner vi har kan vi kontrollera dem för dåliga sektorer. För att göra detta kommer vi att använda badblocks-verktyget enligt följande:

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

För att kontrollera anger vi följande parametrar:

  • -v— Detaljerad information om testresultaten.
  • /dev/sda1- avsnittet som vi vill kontrollera för dåliga sektorer.
  • > badsectors.txt— mata ut resultatet av kommandot till filen badsectors.txt.

Om, som ett resultat, upptäcktes dåliga sektorer, måste vi ge instruktioner operativ system registrera inte information i dem i framtiden. För att göra detta behöver vi Linux-verktyg för att arbeta med filsystem:

  • e2fsck. Om vi ​​fixar en partition med Linux-filsystem (ext2,ext3,ext4).
  • fsck. Om vi ​​patchar ett annat filsystem än ext.

Ange följande kommandon:

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

Eller, om vårt filsystem inte är ext:

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

Parameter -l vi säger åt verktyget att använda listan över dåliga sektorer från filen badsectors.txt, som vi fick tidigare när vi kollade med badblocks-verktyget.

Kontrollerar en enhet för dåliga sektorer i Linux i smartmontools

Låt oss nu titta på ett mer modernt och pålitligt sätt att kontrollera en disk för dåliga linuxsektorer. Moderna ATA/SATA, SCSI/SAS, SSD-enheter har ett inbyggt självövervakningssystem S.M.A.R.T (självövervakning, analys och rapporteringsteknik, Självövervaknings-, analys- och rapporteringsteknik), som övervakar drivparametrar och hjälper till att fastställa försämringen av drivparametrar i tidiga skeden. För att arbeta med S.M.A.R.T i Linux finns ett smartmontools-verktyg.

Låt oss installera det först. Om din distribution är baserad på Debian\Ubuntu anger du:

$ sudo apt installera smartmontools

Om du har en distribution baserad på RHEL\CentOS anger du:

$sudo mums installera smartmontools


Topp