8 основних команд для усунення проблем з жорстким диском у Linux
10:51, 15.04.2026
Завдяки нашому величезному досвіду в управлінні серверами, ми повністю розуміємо, наскільки важливо виявити і вирішити деякі проблеми з жорстким диском на ранніх стадіях. Якщо ви негайно відреагуєте на деякі проблеми з жорстким диском, система Linux буде функціонувати більш плавно.
Проблеми можуть виникати через деякі обмеження в компонентах. Наприклад, повільна робота жорстких дисків може призвести до значних проблем у роботі всієї системи, зокрема, вплинути на роботу баз даних та програм.
Тому ми вирішили поділитися основними командами, які можуть допомогти у вирішенні проблем з жорстким диском.
Виявлення вузьких місць жорсткого диска
Вузькі місця на жорсткому диску можна виявити, коли він не працює з очікуваною швидкістю, що відповідає вимогам системи. Такі проблеми можуть призвести до затримок і уповільнення часу відгуку, а в деяких ситуаціях навіть до аварійного завершення роботи системи.
Ось кілька факторів, які можуть призвести до виникнення проблем:
- Фрагментація диска. Фрагментація файлів може призвести до зниження продуктивності та деяких проблем з використанням диска.
- Перевантаження диска. У ситуаціях, коли запитів надходить занадто багато, система може не впоратися з усіма з них одразу.
- Помилки. Ще одна проблема, яка може призвести до серйозних наслідків - це фізичні проблеми з жорсткими дисками (наприклад, биті сектори).
- Обмеження апаратного забезпечення. Диски малої ємності або просто застарілі можуть не впоратися з щоденним навантаженням.
Методи виявлення проблем з диском у Linux
Щоб знайти і вирішити ці проблеми, користувачі Linux можуть спробувати декілька команд, які ми обговоримо нижче.
Використання iostat для статистики вводу/виводу
Першою важливою командою, яку слід використовувати для усунення несправностей, є iostat. Цей інструмент допомагає виявити проблему, надаючи статистичні дані про використання вводу/виводу і процесора. Ось як користуватися цією командою:
iostat -x 1Після використання ви побачите висновок з великою кількістю метрик, на які слід звернути особливу увагу:
- await: ця інформація вказує на час, необхідний для завершення запиту на ввід/вивід. Зазвичай він відображається в мілісекундах, і якщо значення високі - це свідчить про повільнішу продуктивність.
- %util: ці дані вказують на завантаженість дисків під час обробки запитів. Якщо значення 80 відсотків або вище, це означає, що проблема в диску.
- svctm: ця інформація вказує на час обслуговування запитів на введення/виведення. Чим він вищий, тим більше часу потрібно для відповіді.
Моніторинг в реальному часі за допомогою iotop
Моніторинг вводу/виводу в реальному часі потрібен для виявлення активності/процесу, який споживає занадто багато пропускної здатності, процес виглядає наступним чином:
sudo iotop
На виході цієї команди буде показано процеси та статистичну інформацію про їх запис/зчитування. Дані, на які вам слід звернути увагу, є наступними:
- IO Priority: виявивши цю статистику, ви можете визначити, які процеси використовують забагато ресурсів, а також встановити необхідний пріоритет за допомогою ionice.
- Write/Read: тут ви можете знайти ті процеси, які мають вищі значення запису/читання.
Перевірка використання диска за допомогою команди df
Ще однією корисною командою для перевірки використання диска у змонтованих файлових системах є df. У сценаріях, коли диск майже заповнений, ви можете отримати значне сповільнення роботи.
df -h
Коли ви отримаєте вивід, перевірте інформацію про домашній та кореневий (/) каталоги. Вони не повинні бути переповнені. Якщо дисковий простір використовується більш ніж на 85%, ви можете помітити деякі уповільнення.
Комплексний аналіз ресурсів за допомогою dstat
dstat - ще одна корисна команда, яка використовується для перевірки системних ресурсів. Моніторинг комплексних ресурсів у режимі реального часу може бути надзвичайно корисним.
dstat -dnyОсь важливі параметри, на які варто звернути увагу:
- await: ця метрика показує час, необхідний для завершення операцій вводу/виводу.
- write/read: перевірте піки активності в цьому виді діяльності.
Аналіз активності системи за допомогою sar
Для аналізу системи в історичній перспективі є один чудовий варіант. Команда sar може допомогти зі збором і збереженням інформації протягом тривалого періоду часу.
sar -d 1 5
У виведенні слід звернути увагу на такі параметри:
- kB_wrtn/s і kB_read/s: якщо цифри дуже високі, це може свідчити про проблему.
- tps: ця метрика вказує на кількість транзакцій за секунду, і якщо вона має високе значення, на цей факт також варто звернути увагу.
Використання smartctl для моніторингу стану диска
Ця команда корисна для визначення фізичних проблем з диском. Наприклад, проблеми з компонентами або битими секторами.
sudo apt install smartmontools
sudo smartctl -a /dev/sda
Параметри, на які слід звернути увагу, наступні:
- Seek_Error_Rate: у разі фізичного пошкодження значення цього параметра може бути суттєво високим.
- Reallocated_Sector_Ct: високе значення у цій категорії може свідчити про наявність проблем з диском.
Перелік блокових пристроїв за допомогою lsblk
За допомогою цієї команди ви отримаєте доступ до списку усіх блокових пристроїв, що дасть вам змогу отримати чіткіше уявлення про ваші запам'ятовуючі пристрої.
lsblk -o NAME,SIZE,ROTA,TYPE,MOUNTPOINT
Тут слід перевірити, чи не перевантажені розділи/жорсткі диски завданнями.
Відстеження активності віртуальної пам'яті та дисків за допомогою vmstat
vmstat чудово підходить для відображення використання пам'яті та операцій вводу/виводу.
vmstat 1
У виведенні зверніть увагу на наступні параметри:
- bo: вказує кількість блоків, записаних на диск.
- si and so: у випадку високих значень, ви можете зрозуміти, що система підкачує дані. Це може статися через використання диска або недостатню кількість оперативної пам'яті.
- bi: тут вказується кількість блоків зчитування.
Висновки
Для діагностики основних проблем, які можуть виникнути з жорстким диском, ви можете скористатися основними командами системи Linux. Моніторинг системи слід проводити регулярно, навіть якщо немає ніяких проблем або помітних проблем, просто для оптимізації продуктивності.