Cвято простота про жорсткі диски, або знайомимося ближче зі своїм вінчестером - geek s notes universe
Будьте дуже уважні і обережні, працюючи з утилітами для настройки, діагностики і розмітки жорстких дисків. Особисті дані - це найдорожче, що є на вашому комп'ютері.
Мета статті: розповісти трохи про засоби збору інформації та діагностики жорстких дисків в Linux за допомогою консольних інструментів.
Для початку, я так само рекомендував би вам ознайомиться, хоча б коротко, з пристроєм жорсткого диска. На щастя все вже давно описано в всезнаючої wikipedia.
1.Чому fdisk все ще торт.
Висновок буде страшний:
Як видно, в моїй системі прісутстсвует один жорсткий диск з маркетингової ємністю в 320 Гб. Чому маркетингова? Та тому що з метою збільшення продажів, маркетологи виробників вирішили, що 1 комерційний кілобайт равент 1000 байтам, а не 1024, як у всього іншого людства. В результаті купуючи новенький хард з великим написом на ціннику в 1 терабайт ми так і не побачимо на ньому заявленої ємності, тому що будь-яка операційна система якраз вміє рахувати тільки з правильним розмірів кілабайта.
В результаті фактична ємність мого диска дорівнює:
А якщо ми сюди зменшивши ще й ту частину, яка зазвичай резервується в linux під root, то залишиться і того менше.
І точно, ось що нам виведе ще одна команда, пропущена поки через grep (ми ще повернемося до цієї програми трохи пізніше):
На підставі висновку fdisk можна сказати:
У мене один жорсткий диск, на ньому знаходиться один розширений розділ розділ (/ dev / sda3), всередині якого знаходиться три логічних: власне / dev / sda5 - кореневий розділ, / dev / sda6 - розділ підкачки, / dev / sda7 - є місцем , яке монтується під домашні каталоги користувачів. Нічого особливо дивного в даному способі розмітки немає, хіба що раніше у мене ще стояла MeGoo (з нею ноутбук йшов в комплекті), але я від неї відмовився, і перерозподілив простір під Gentoo, що не замарачіваясь особливо з розміткою диска заново. Саме тому тут у додатковий розділ немає прапора boot, хоча система вантажиться відмінно.
Давайте тепер подивимося, як можна дізнатися точки монтування розділів жорсткого диска на поточний момент.
Найпростіше, що спадає на думку, це використання утиліти df (тут я нахабно брешу, бо першим на думку спадає / etc / fstab):
Нас цікавить знову ж два рядки, який починаються з / dev / root і c / dev / sda7, адже за ними вже можна судити, що і куди монтується. Крім цього ми можемо бачити, наскільки забиті жорсткі диски "якісним і потрібним" контентом. Додамо сюди висновок ще двох команд:
Для тих, хто в танку, перша виводить вміст файлу / etc / fstab, про який напевно не чув тільки той, хто запустив LiveCD Ubuntu і вперше в житті побачив Linux. Друга команда показує, які файлові системи прімонтірование зараз і по ній теж можна дізнатися невеликої мінімум, правда інформація ця не постійна, і змінюється при додаванні або видалення пристроїв в реальному часі. Тепер ми можемо більш-менш чітко скласти уявлення про дискову підсистему комп'ютера, особливо якщо нам довелося побачити цю тачку вперше, на запрошення гарненькою - потрібне підкреслити;)
Ну і що б напевно до кінця отримати загальну картину про розділи жорстких дисків, визначимо тип використовуваних на них файлових систем за допомогою утиліти file:
Як видно з висновку, на обох розділах у мене використовується ext4. Так само ми отримали UUID - унікальний ідентифікатор розділу, який потім можна прописати в fstsb, щоб не виникало ніяких проблем при жанглірованіі декількома жорсткими дисками в системному блоці, але це тема для окремої статті.
Ну і так, на останок, ось ще один спосіб отримати трохи інформації про розділах на жорсткому диску:
Ви можете набрати "help" або "?", Що б ознайомиться зі списком команд, ну а я вже досвідчений, відразу тисну "p", що б отримати ще одну порцію інформації:
Зауважте, що на відміну від fdisk, тут вже точно показаний тип файлової системи на жорсткому диску.
У підсумку, тепер ми знаємо:
а) які жорсткі диски видно в системі
б) яким чином вони розбиті на розділи
в) обсяг вільного простору на відформатованої частини
г) обсяг вільного простору (нахабно брешу, бо конкретно, скільки oсталось нерозміченого простору я, по-моєму, можу подивитися тільки через cfdisk, який я чомусь не дуже люблю) на зарезервірованой частини і розмір самих жорстких дисків.
д) тип файлової системи, UUID розділу
е) точки монтування та стан (примонтовано чи ні) на поточний момент, а також інші опції для монтування.
Висновок повинен бути значною онучею, але нам зараз мабуть цікаві такі розділи (я там маленькі позначки робив, сподіваюся не заплутаєтеся):
Трохи нижче йде ряд найбільш важливих атрибутів:
Навіть не можу пояснити чому, але після перших кількох сотень перевірених жорстких дисків я, вже глянувши на SMART, і відчувши, як хард працює (звук, вібрація, запуск, швидкість читання, що оточує його аура) міг цілком стерпно відразу визначати, здохне воно скоро , чи ні, і на підставі цього або вже міг приймати рішення про покупку, або засмучувати клієнта ще до того, як закінчиться повна діагностика. Як показує практика =), щодо жорстких дисків ми помилялися дуже рідко, так як таке чуття з'являлося згодом у всіх моїх колег, і ми продаючи б / у вінчестер, завжди були впевнені, що в 95% випадках воно переживе і гарантійний термін, і сам комп'ютер клієнта. Проте їдемо далі.
3. У Вас є "Беди"? Не біда.
Збійні сектора, або bad-блоки з часом з'являються на всіх жорстких дісках.Что ж таке bad-блок? Особисто я особливо про це ніколи не замислювався (вікіпедія в допомогу). Існує багато причин, за якими вони можуть з'явиться:
а) просто упустите жорсткий диск на підлогу або забийте їм цвях, що б на поверхні магнітних дисків з'явилися фізичні ушкодження.
б) в результаті перебоїв з харчуванням жорсткого диска, наприклад несподівано відключилася електрика.
в) за віком годиться, бо ніщо не вічне в нашому тлінному світі.
г) в результаті попадання пилу всередину жорсткого диска. Навіть найменша мікрочастинка здатна значно травмувати поверхню жорсткого диска.
д) відмови в роботі обладнання комп'ютера або помилки в програмному забезпеченні.
е) змінилася погода на Марсі або в сусідній галактики спалахнула наднова;) і ще 100500 причин.
Як правило, не просто поява, а ще й збільшення кількості збійних секторів - вірна ознака швидкої смерті накопичувача (у мене в такому випадку говорили, що жорсткий диск "посипався"), однак не варто панікувати, якщо в поле Reallocated_Sector_Ct раптом оновився лічильник. Можливо не все так погано. Для пошуку збійних секторів використовується невелика утиліта: badblocks
Перевірка займе досить тривалий період часу в залежності від обсягу девайса, тому я примусово обірвав роботу програми.
Для того, що б виправити знайдені збійні сектора, необхідно мати можливість скористатися спільно з badblocks ще й e2fsck, або просто fsck. Тільки спочатку краще скопіювати всі дані на живий диск, а потім отмонтировать пацієнта і приступити до видалення апендициту. Ось як радить робити це народ:
Перша команда записує список виявлених бід-блоків в файл, а друга виробляє їх remap, тобто позначає ці сектори як збійні, і більше ніколи не буде до них звертатись. Єдино, що я не зрозумів, а якщо на жорсткому диску взагалі немає розділів? Badblocks то відпрацює, а ось fsck ще жодного разу не застосовував на гвинтах, де немає розділів. Тоді мені що, цей розділ доведеться створити? А швидше за просто вказати розмір сектора для badblocks і для fsck. Може хто підкаже, я в правильну стороя мислю? За подобробностямі знову ж необхідно звернеться до ман-сторінкам але мені ліниво зараз =)
До речі, ніхто не дасть вам ніяких гарантій, хоча найчастіше від косячную блоків все ж вдається позбутися. Бувало, що після лікування збійного сектора Windows раптом припиняла сваліватся в синій екран =) (тихо, стояти-бояться, не варто перевіряти за допомогою fsck Windows-розділи, я особисто робив це через MHDD). Відносно Linux у мене не дуже серйозна статистика, так як тачки на пінгвіна у нас траплялися вкрай рідко.
Попередження! Ні в якому разі не запускайте badblocks з ключем -w, якщо на жорсткому диску є потрібна Вам інформація. В такому випадку необхідно скопіювати всю потрібну на інший носій, і тільки після цього виконати команду. Тепер Ваш жорсткий диск невинно чистий і не прікаян, німб йому протріть =)
На крайній випадок ви можете просто обрізати хвіст жорсткого диска за допомогою утиліти hdparm і використовувати носій в якості тестового або тимчасового сховища для файлів, які не шкода втратити. Давайте розглянемо, як це можна зробити трохи детальніше.
4. заткніть жорсткий диск разом з hdparm.
Утиліта hdparm задоволена відома штука в рядах бувалих лінуксойдов. Пов'язано це з тим, що раніше при встановленні жорстких дисків в linux систему, за допомогою цієї утиліти можна було розігнати жорсткий по максимуму, тоді як дефолтні настройки розробників дистрибутивів з метою захисту (нема де вони там захищали?) Виставляли досить повільні режими роботи. З тих пір багато чого змінилося, і зараз будь-який убунтовод насолоджується максимальною продуктивністю вінчестера відразу після установки системи, тому і hdparm не став такий цікавий. Проте, утиліта актуальна і на поточний момент. За допомогою її ми зможемо наприклад протестувати жорсткий диск.
справить вимірювання швидкості читання з диска, і виведе про це інформацію:
Як видно, швидкість не найбільша, але цілком адекватна для ноутбучного гвинта. Та й ноутбук у мене один із самих бюджетних моделей, тому на понад швидкості розраховувати не доводиться. Я підозрюю, що режим роботи диска варто найшвидший. Давайте перевіримо моє припущення.
Тут нам буде цікава рядок UDMA mode, тому що саме там стоїть зірочка перед udma6. Це найшвидший з режимів, як ми і думали. Режими PIO і DMA вже морально застаріли і на сучасних комп'ютерах вони вже не використовуються, хіба що якщо чогось глючить. Якщо замість ключа "-i" Ви поставітет "-I", то висновок буде куди більш інформативний.
Так само за допомогою hdparm можна поміняти значення Acusting Managment. Ця установка дозволяє управляти шумом при роботі жорсткого диска. Як правило її застосовують, якщо Ваш жорсткий диск досить шумно працює (виття, тріщання). Виконайте наступну команду, щоб макскімально знизити рівень шуму вашого жорсткого диска:
# 036; sudo hdparm -M 128 / dev / sda
Для того, що б закріпити результат, необхідна в конфігураційному файлі / etc / hdparm / conf створити такі рядки:
Значення 128 максимально знижує рівень шуму, який виходить від жорсткого диска. Для того, що б збільшити бистрадействіе диска на максимум, встановіть значення після ключа "-М" на 256 (це максимально можливе значення)
Ну і наостанок, так би мовити, обрізаємо хвіст жорсткого диска. Тобто змінимо значення HPA (Host Protected Area) або по іншому зменшити область видимих секторів для операційної системи. А для тих, хто зовсім в танку, ми просто візьмемо так, і оттяпнім шматочок. Навіщо це треба? Наприклад, якщо в кінці жорсткого диска є область з великою кількістю bad-блоків, то можна штучно зменшити його обсяг, що б потім особливо не переживати, при розбивці жорсткого диска на розділи, що диск захопить не добрий області. Або ось ще одні момент: деякі навіть досить сучасні BIOS не здатні нормально визначати розділи більш 2Тб, а прошивок нових де не вийшло, отже ми можемо тимчасово зменшити обсяг жорсткого диска, і він хоча б буде працювати. А ще, часто, в таких "закритих" областях виробники комп'ютерів ховають копію встановленої системи, що б потім можна було легко відновиться до заводських налаштувань. (Ви не повірити, це все в man hdparm написано, якщо що =).
Подивимося, що у нас з HPA насправді:
З "HPA is disabled" слід, що у мене воно відключено. Так само ми бачимо загальна кількість секторів (як правило, вони по 512 байт), а значить обсяг жорсткого диска буде приблизно в два рази менше, що власне підтверджується на практиці, так як він дорівнює 320 Гб. Отже, що б відрубати 30-40 гигов, мені буде потрібно ввести значення, на 6000000-8000000 менше. Для цього введемо під рутом таку команду:
Взагалі, якщо ви хочете краще протестувати стан жорсткого диска, то рекомендую спробувати вам можливість скористатися двома найвідомішими на сьогодні утилітами для діагностики і тестування жорсткого диска: MHDD і Victoria (обидві точно мають безкоштовні версії). Через них же рекомендую робити і remap збійних секторів, бо перевірено багаторазово на особистому досвіді. Не знаю, чи продовжують розробляти їх далі, але виразно вони пропонують досить зручний псевдографічний інтерфейс, правда я зустрічав їх тільки під DOS, або MS Windows, проте в мережі повно всякі Riscue CD, на яких стоїть FreeDOS з ними на пару. У цих ваших інтернетах по ним і правда повно інформації, але я рекомендую почати з офіційної документації, в який ви так само можете познайомитися з деякими матеріли по самим жорстким дискам.
PS Дуже буде цікаво почитати ту частину, яка відноситься до файлових систем. Тому у кого є бажання, пропоную продовжити даний пост по роботі з файловими системами в linux, наприклад тонку настроках, оптимізацію, якщо є у кого можливість поділиться особистим досвідом.