Проверка на Linux диск. Проверка дали дискът работи правилно в Ubuntu. Badblocks конзолна програма

Ако по време на зареждане операционната система съобщи за наличието на грешки във файловата система на един от дяловете, тогава трябва незабавно да проверите дисковете и да коригирате грешките на файловата система.

Всеки уважаващ себе си потребител не трябва да забравя, че периодичната проверка на твърдите дискове за лоши сектори и проверката на дисковете за грешки е пример за здрав разум.

Важно!Стартиране и изпълнение FSCKна монтирана файлова система може да причини повреда на данните, т.еизползвайте този материал на свой собствен риск. Авторът не носи отговорност за щети, които може да причините.

За да се защитите, трябва:

  • Превключете в режим на един потребител и демонтирайте файловата система
  • Стартирайте компютъра в режим на възстановяване, като използвате инсталационния компактдиск

Така че, трябва да проверите дисковете и да коригирате грешките на файловата система, нека да започнем.

1) Режим на един потребител

Променете нивото на init и демонтирайте файловата система:

# init 1
# umount / начало

Търсене на свързани дялове:

# fsck / dev / sda1

2) Режим на възстановяване от инсталационен компактдиск

Поставете инсталационния компактдиск в устройството и рестартирайте системата:

Изчакайте известно време и след като стартирате от инсталационния компактдиск, изпълнете командата:

# спасителен номер на Linux

Директивата NOMOUNT ще забрани монтирането, така че можете безопасно да използвате FSCK.

След това стартирайте FSCK за секцията с грешки:

# fsck -yvf / dev / sda1

LVM (Мениджър на логически обем)

Ситуацията с LVM (Мениджър на логически обем)разделите са малко по-сложни. За начало FSCKза LVMпърво трябва да намерите секции PV (физически обем), VG (Група на тома), LV (логическо разширение)и ги активирайте, за да направите това, изпълнете следните команди последователно:

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

# fsck -yfv / dev / VolGroup00 / LogVol00

При изпълнение, FSCK ще върне резултата под формата на код, този код е уникално число, представляващо сумата от следните стойности:

0 - Няма грешки;
1 - Коригирани грешки във файловата система;
2 - Системата трябва да се рестартира;
4 - Грешки във файловата система, оставени некоригирани;
8 - Оперативна грешка;
16 - Грешка в употребата или синтаксиса;
32 - Fsck анулиран по заявка на потребителя;
128 - Грешка в споделената библиотека.

Компютърът е устройство, което разчита на взаимодействието на много компоненти. Те могат да причинят неизправности с течение на времето. Една от най-честите причини за неизправност на машината са лошите сектори на диска, така че трябва да се тества периодично. Linux предоставя всички възможности за това.

Какво представляват счупените блокове и защо се появяват

Блок (сектор) е малка клетка на диск, която съхранява информация под формата на битове (0 и 1). Когато системата не успее да запише следващия бит в клетка, те говорят за битов сектор. Може да има няколко причини за появата на такива блокове:

  • производствени дефекти;
  • изключване, докато записвате информация;
  • физическо износване на диска.

Първоначално почти всички медии имат нарушения. С течение на времето техният брой може да се увеличи, което показва предстояща повреда на устройството. Има няколко начина за тестване на диск за грешки в Linux.

Проверка на Linux диск

Няколко операционни системи работят на ядрото на Linux, включително Ubuntu и Debian. Процедурата за проверка на диска е универсална и подходяща за всеки един от тях. Струва си да помислите за времето за тестване на носителя, когато дисковата система е под голямо натоварване, скоростта на работа с носителя (запис / четене) е намаляла значително или тези процедури дори причиняват грешки.

Мнозина са запознати с програмата за Windows - Victoria HDD. Разработчиците се погрижиха да напишат неговите колеги за Linux.

Лошите блокове

Badblocks е дискова програма, която се предлага с Ubuntu и други Linux дистрибуции по подразбиране. Програмата ви позволява да тествате както твърди дискове, така и външни устройства.

Важно! Всички терминални команди в тази статия започват с параметъра sudo, тъй като те изискват права на суперпотребител за изпълнение.

Преди да тествате диск в Linux, трябва да проверите кои устройства са свързани към системата с помощта на помощната програма fdisk-l. Той също така ще покаже наличните секции в тях.

Сега можете да преминете към директно тестване за лоши сектори. Работата с Badblocks е организирана по следния начин:

badblocks -v / dev / sdk1> bsector.txt

Записът използва следните команди и операнди:

  • -v - извежда подробен отчет за извършената проверка;
  • / dev / sdk 1- участъкът, който се проверява;
  • bsector.txt - запис на резултати в текстов файл.

Ако откриете лоши блокове, докато проверявате диска, трябва да стартирате помощната програма fsck или e2fsck, в зависимост от използваната файлова система. Те ще ограничат писането на информация до неработещи сектори. За файлови системи ext2, ext3 или ext4 изпълнете следната команда:

fsck -l bsector.txt / dev / sdk1

В противен случай:

fsck -l bsector.txt / dev / sdk1

Параметърът -l казва на програмата, че лошите блокове са изброени във файла bsector.txt и те трябва да бъдат изключени.

Gparted

Помощната програма проверява файловата система на Linux, без да прибягва до текстов интерфейс.

Инструментът първоначално не е включен в дистрибуциите на операционната система, така че трябва да го инсталирате, като изпълните командата:

apt-get инсталирате gparted

Наличните устройства се показват в главния прозорец на приложението. Фактът, че е време за тестване на носителя, става ясно от удивителния знак до името му. Проверката започва с щракване върху елемента "Проверка за грешки" в подменюто "Раздел", разположено в горния панел. Желаният диск е предварително избран. Когато сканирането приключи, помощната програма ще покаже резултата.

Проверката на твърдия диск и други устройства за съхранение с приложението GParted е достъпна за потребители на Ubuntu, FreeBSD, Centos, Debian и други и други дистрибуции, работещи на ядрото на Linux.

Smartmontools

Инструментът ви позволява да тествате файловата система с по-голяма надеждност. Съвременните твърди дискове имат вграден модул за самоконтрол на S. M. A. R. T., който анализира данните за устройството и помага да се определи неизправността в началния етап. Smartmontools е проектиран да работи с този модул.

Инсталацията се стартира през терминала:

  • apt install smartmontools - за Ubuntu / Debian;
  • yum инсталирайте smartmontools за CentOS.

За да видите информация за състоянието на твърдия диск, въведете реда:

smartctl –H / dev / sdk1

Проверката на грешки отнема различно време в зависимост от размера на диска. В края програмата ще покаже резултата за наличието на лоши сектори или тяхното отсъствие.

Помощната програма има други опции: -a, --all, -x, --xall. За повече информация се обажда помощ:

Безопасно копие

Когато има нужда да тествате твърд диск в Linux, трябва да сте готови за всеки резултат.

Приложението Safecopy копира данни от повредено устройство на работещо. Източникът може да бъде както твърди дискове, така и сменяеми носители. Този инструмент игнорира I/O грешки, четене, лоши блокове и продължава да работи непрекъснато. Скоростта на изпълнение е възможно най-бързата, която компютърът предоставя.

Коментирайте! Помощната програма не е предназначена за възстановяване на изтрити файлове. Тя изважда информацията, съхранявана в разбитите сектори.

За да инсталирате Safecopy на Linux, въведете реда в терминала:

Сканирането започва с командата:

safecopy / dev / sdk1 / начало / файлове /

Тук първият път е повредения диск, вторият е директорията, където ще бъдат записани файловете.

Програмата е в състояние да създаде образ на файловата система на нестабилно устройство за съхранение.

Какво да направите, ако се открие грешка в системната програма на Ubuntu

Инсталирането на нов софтуер или промяната на системните настройки може да доведе до съобщението „Открита е грешка в системната програма“. Мнозина го пренебрегват, тъй като не засяга общата работа.

Проблемът обикновено се среща от потребителите на Ubuntu версия 16.04. В този случай не е необходимо да тествате твърдия диск, тъй като проблемът е по-вероятно да е софтуерна повреда. Съобщението уведомява за неочаквано прекратяване на програмата и предлага да изпратите отчет до разработчиците. Ако сте съгласни, ще се отвори прозорец на браузъра, където трябва да попълните формуляр от 4 стъпки. Тази опция създава затруднения и не гарантира, че грешката ще изчезне.

Вторият метод ще помогне да се избегне появата на съобщението само ако то е извикано от същата програма. За да направите това, при следващото известие трябва да поставите отметка в опцията „Не показвай повече за тази програма“.

Третият метод е да деактивирате помощната програма Appport, която отговаря за събирането на информация и изпращането на отчети в Linux. Този подход напълно ще премахне изскачащите прозорци с грешки. Възможно е да деактивирате само показването на известия, оставяйки услугата за събиране в работно състояние. За да направите това, трябва да направите:

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

Данните ще продължат да се събират в папката / var / crash. Те трябва да се почистват периодично, за да не запълват дисково пространство:

За да деактивирате напълно услугите на Appport, в терминала се въвежда запис:

gksu gedit / etc / default / apport

В текста, който се показва, стойността на полето за разрешаване се променя от 1 на 0. По-късно, за да активирате отново услугата, се връщат настройките по подразбиране.

Заключение

За да предотвратите загуба на файлове, се препоръчва периодично да тествате твърдия диск и сменяемия носител. Linux предлага няколко подхода за решаване на проблема. Можете да избирате от списък с помощни програми, които идентифицират лоши сектори и прехвърлят информация към нормално функциониращо устройство.

Дали Линус Торвалдс, създавайки своето дете, Linux ще се използва във вградени системи, не само в евтини домашни рутери, но и в такива сериозни телекомуникационни решения като AVAYA PBX?

Наскоро се наложи възстановяване на автоматичната телефонна централа AVAYA на един голям клиент. Това е Avaya G650 Media Gateway (шаси) със сървър Avaya S8400 (процесор). Където системният диск е 2 GB CompactFlash. Което условно може да се счита за SSD устройство с IDE интерфейс.
И каква беше изненадата ми, когато свързах CF устройството през четец на карти и видях познатата структура на файловата система на Linux. Това, разбира се, опрости процедурата за проверка на производителността на CF задвижването.

Как да проверите файловата система на Linux диск за грешки

Операционната система MicroSoft DOS (о, да, помня версия 5.0, която се побираше на една дискета!) имаше команда за проверка на CHKDSK. И в Linux има нещо подобно.
За да проверите Linux диск за грешки във файловата система, трябва да разберете имената на файловите системи, които да проверите:

# df -h Използван размер на файловата система Avail Use% Монтиран на / dev / sda 20G 4.0G 15G 21% / / dev / sdd1 1G 455M 555M 46% / media / Np% blsl3648B4Jjeiedgyy / dev / s20 M 986 10.13-23dd няма 246M 0 246M 0% / dev / shm

За тестваното устройство CF това е / dev / sdd1и / dev / sdd6
След това трябва да демонтирате тестваните файлови системи:

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

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

Параметър автоматично ще отговори на всички въпроси да, което по правило повечето потребители правят.

Резултати от проверката на файловата система на Lunux FSCK

В моя случай имаше грешки в една от секциите, които помощната програма коригира. След това CF устройството беше върнато на мястото си и Avaya PBX беше възстановена.

И аз трябваше да се сблъскам с този проблем. Единственият ми приятел, който има Ubuntuна стар лаптоп на ASUS и който просто не иска да си включва мозъка поне понякога, се обърна към мен с такъв проблем. На лаптопа му е инсталиран нов Ubuntu 12.10 и много често системата просто не иска да се стартира, изхвърляйки го в черен екран или замръзвайки на лилав фон. Но наскоро започна да се появява такова съобщение, нещо като „Операционната система не може да се стартира. Изберете необходимия клавиш за по-нататъшни действия ... "И след това има описание на това, което трябва да натиснете. Не помня точно кои клавиши предлага системата за натискане, но смисълът е, че за автоматично коригиране на грешки, натиснете такъв и такъв клавиш, за ръчно отстраняване на грешки, друг и за игнориране на това съобщение се предлага да натиснете третия бутон . Автоматичното коригиране на грешки не доведе до нищо, а зареждането на операционната система не стигна до логичното си заключение. Затова реших да пробвам известния отбор fsck.

Първо, трябва да стартирате или от стартиращ Ubuntu USB флаш (Lubuntu, Xubuntu, Kubuntu и др.), или от Ubuntu Live CD. Сега трябва да разберем кой конкретен дял с Ubuntu трябва да сканираме, за да поправим файловата система. Стартирайте терминала (Ctrl-Alt-T) и изпълнете командата:

sudo fdisk -l

Тази команда ще ни покаже всички дискове, флаш устройства, които са монтирани в системата. Ще използвам личния си компютър като пример, а не лаптопа на приятел. Ето какво ми се случи:

[защитен с имейл]: ~ $ sudo fdisk -l

Диск / dev / sda: 640,1 GB, 640135028736 байта
255 глави, 63 сектора / писта, 77825 цилиндъра, общо 1250263728 сектора



Идентификатор на диска: 0x0009d6f7


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

Диск / dev / sdb: 500,1 GB, 500107862016 байта
255 глави, 63 сектора / писта, 60801 цилиндъра, общо 976773168 сектора
Единици = сектори от 1 * 512 = 512 байта
Размер на сектора (логически / физически): 512 байта / 512 байта
I / O размер (минимален / оптимален): 512 байта / 512 байта
Идентификатор на диска: 0xb9ff6f01

Зареждане на устройството Начало Край Блокове Id System
/ dev / sdb1 * 16065 100197404 50090670 83 Linux
/ dev / sdb2 105322201 976771071 435724435+ 5 Разширено
/ 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

Записите в таблицата на дяловете не са в дисков ред

Диск / dev / sdc: 8115 MB, 8115978240 байта
250 глави, 62 сектора / писта, 1022 цилиндъра, общо 15851520 сектора
Единици = сектори от 1 * 512 = 512 байта
Размер на сектора (логически / физически): 512 байта / 512 байта
I / O размер (минимален / оптимален): 512 байта / 512 байта
Идентификатор на диска: 0xc3072e18

Зареждане на устройството Начало Край Блокове Id System
/ dev / sdc1 * 32 15847625 7923797 b W95 FAT32

Както можете да видите от изхода на командата sudo fdisk -l, имам 2 хард диска (sda) 640 GB и (sdb) 500 GB, както и флашка (sdc) 8 GB, от която всъщност заредих. Знам, че моята базирана на Ubuntu 12.04 система е на sda устройство и дялът на операционната система съответно се нарича sda1.

Сега, когато знаем секцията, която трябва да бъде сканирана, всъщност можем да започнем да я проверяваме. В терминала:

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

ако видите грешка, най-вероятно ще трябва да демонтирате този раздел:

sudo umount / dev / sda1

Командни клавиши и параметри fsck:

г- винаги отговаряйте с "да" на всички въпроси (има алтернатива: клавиш p - стартира проверката в напълно автоматичен режим);

е- принудителна проверка на файловата система (дори ако файловата система е маркирана като напълно функционална)

° С- търси лоши блокове и след това ги маркира съответно

/ dev / sda1- устройството или секцията, която трябва да бъде проверена. Въпреки че екипът може да има различен вид. Например:

sudo fsck -p / dev / sda1

В този случай е добавен само ключът -p. Просто четете за всички опции за командата fsck и добавяте точно опциите, от които се нуждаете. За да разберете за всички функции на програмата, въведете в терминала:

човек fsck

Ето какво издаде терминалът след проверка:

[защитен с имейл]: ~ $ sudo fsck -y -f -c / dev / sda1
fsck от util-linux 2.20.1
e2fsck 1.42.5 (29 юли 2012 г.)
Проверка за лоши блокове (тест само за четене): 0,00% готово, 0:00 изтекло. (0/0/0 грешка
/ dev / sda1: Актуализиране на лош блок inode.
Преминаване 1: Проверка на inodes, блокове и размери
Pass 2: Проверка на структурата на директорията
Pass 3: Проверка на свързаността на директорията
Pass 4: Проверка на броя на референтните данни
Pass 5: Проверка на обобщената информация за групата

Всеки компютър е сложно устройство, което се състои от много компоненти и никой не е имунизиран от повреди на някой от тях. В тази статия ще разгледаме как своевременно да разпознаем един от сериозните проблеми с устройствата за съхранение, било то твърд диск или флаш устройство, как дискът се проверява за лоши сектори на Linux.

Всяко устройство за съхранение се състои от много малки блокове (сектори), които съхраняват информация под формата на нули или единици (битове). Ако по някаква причина операционната система не може да запише малко информация в определен сектор, тогава той може да се счита за "счупен".

Секторът може да бъде повреден поради различни причини:

  • Производствени дефекти
  • Изключете компютъра, докато записвате информация.
  • Физическо износване на устройството.

Малък брой лоши сектори се намират на почти всяко устройство. Но си струва да се обърне внимание, ако броят им се увеличава с течение на времето. Това може да означава неизбежна физическа смърт на устройството и е време да помислите за смяната му.

Нека да разгледаме с какви помощни програми в Linux можем да проверим диска за лоши сектори на Linux.

Проверка на устройството за лоши сектори с помощта на badblocks.

Badblocks е стандартна помощна програма за Linux за проверка за лоши сектори. Той е инсталиран по подразбиране в почти всеки дистрибуторски комплект и с негова помощ можете да проверите както твърдия диск, така и външния диск.

Първо, нека видим какви устройства са свързани към нашата система и какви дялове имат. За да направим това, се нуждаем от друга стандартна помощна програма за Linux - fdisk.

Естествено, трябва да изпълнявате команди с права на суперпотребител:

Параметърът казваме на fdisk да покаже списъка с дялове и да излезе.

Сега, когато знаем какви дялове имаме, можем да ги проверим за лоши сектори. За да направим това, ще използваме помощната програма badblocks, както следва:

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

За проверка посочваме следните параметри:

  • -v- подробно показване на информация за резултатите от проверката.
  • / dev / sda1- секцията, която искаме да проверим за лоши сектори.
  • > badsectors.txt- извеждаме резултата от командата във файла badsectors.txt.

Ако в резултат на това бъдат открити лоши сектори, тогава трябва да инструктираме операционната система да не записва информация в тях в бъдеще. За да направим това, се нуждаем от помощни програми на Linux за работа с файлови системи:

  • e2fsck.Ако поправим дял с Linux файлови системи (ext2, ext3, ext4).
  • fsck.Ако поправим файлова система, различна от ext.

Въвеждаме следните команди:

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

Или, ако нашата файлова система не е ext:

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

Параметърът казваме на помощната програма да използва списъка с лоши сектори от файла badsectors.txt, който получихме по-рано при проверка с помощната програма badblocks.

Проверка на устройство за лоши сектори в Linux в smartmontools

Сега нека разгледаме по-модерен и надежден начин за проверка на диск за лоши сектори на Linux. Съвременните ATA / SATA, SCSI / SAS, SSD устройства имат вградена система за самоконтрол S.M.A.R.T (технология за самонаблюдение, анализ и отчитане, технология за самоконтрол, анализ и докладване), който следи параметрите на задвижването и помага да се определи влошаването на производителността на задвижването в ранните етапи. За да работите със S.M.A.R.T в Linux, има помощна програма smartmontools.

Нека първо го инсталираме. Ако вашата дистрибуция е базирана на Debian \ Ubuntu, въведете:

$ sudo apt инсталирайте smartmontools

Ако имате дистрибуторски комплект, базиран на RHEL \ CentOS, въведете:

$ sudo yum инсталирайте smartmontools