Скільки часу займає fsck об'єм?


9

Ми працюємо на веб-сайті, який наразі пропонує 3-5 мільйонів переглядів сторінок. Наш сайт - це обмін файлами, тому він містить 250 000 файлів і кілька тисяч символічних посилань.

Жорсткий диск - SATA диск об'ємом 1500 Гб.

Використовуючи, hdparmми дізналися, що швидкість нашого жорсткого диска була знижена до 15-20 Мб / с, що було 80 Мб / с.

Тому тепер ми хочемо запустити, fsckщоб вирішити проблему з диском.

  1. Чи fsckвирішить це питання?
  2. Скільки часу буде fsckпотрібно для завершення (просто ми хочемо обчислити час простою, який ми збираємося)?

Яку файлову систему ви використовуєте? Це масив RAID чи простий диск SATA?
Кайл Сміт

простий диск і файлова система SATA ext3
khizar ansari

11
Чому ви працюєте на виробництві веб-сервера на одному диску? Сервери з одинарними дисками не є серверами - вони тикають бомби часу.
Еван Андерсон

3
Здається, що диск вмирає. Негайно перенесіть свої дані (у справжній масив RAID за допомогою апаратного контролера від акумулятора).
Джоель Е Салас

Відповіді:


8

Зниження швидкості слід очікувати, оскільки кількість файлів, до яких можна отримати доступ, одночасно збільшується. На жорсткі диски не подобається, щоб до них можна було паралельно звертатися: кожного разу, коли головці читання / запису потрібно перемикати циліндри, ви втрачаєте кілька мілісекунд. Навіть якщо два файли знаходяться в одному і тому ж циліндрі або навіть одній і тій же доріжці, можливо, вам доведеться почекати обертання, щоб перейти від одного до іншого. Якщо ви вимірюєте продуктивність приводу в мегабітах за секунду, очікуйте, що це знизиться експоненціально, оскільки паралельний доступ зростатиме.

fsck не допоможе в цьому: він лише відновлює пошкодження структури каталогів, не проводить жодної оптимізації.

Ідеальним рішенням було б перехід на твердотільне зберігання, оскільки це не має жодного фізичного обмеження прядильних блюд. Але це, мабуть, невиправдано.

Наступним найкращим буде використання RAID, оптимізованого для паралельного доступу. Майте на увазі, що RAID можуть бути налаштовані для багатьох різних профілів продуктивності, тому вам знадобиться трохи часу, щоб вивчити налаштування будь-якого обладнання RAID та драйверів.

Ви можете зменшити проблему за допомогою агресивного кешування файлової системи. Якщо у вашій системі є достатня кількість оперативної пам’яті, Linux повинен робити це вже досить добре. Запустіть програму, як topпобачити, скільки вільної оперативної пам’яті є. Але якщо найбільш часто використовувані файли не вміщуються в оперативній пам'яті (або будь-якій оперативній пам'яті, яку ви, швидше за все, придбаєте), це не допоможе.

Недосвідченою проблемою було б розділити ваші файли на декілька різних фізичних жорстких дисків (а не лише різних розділів на одному диску). Це насправді не довгострокове масштабоване рішення, і це в кінцевому рахунку обійдеться вам більше, ніж пристойний RAID. Але це може бути швидким виправленням, якщо у вас лежать накопичувачі.

Для будь-якого рішення, що включає жорсткі диски, переконайтеся, що вони мають високу швидкість обертання та низьку затримку пошуку.

Я написав статтю з деякою загальною інформацією про продуктивність жорсткого диска тут:

Поради UNIX - Файлові системи


Я не бачу, щоб його hdparmорієнтир мав багато спільного з "паралельним доступом". Мені це звучить більше, ніби він має несправний диск. Це було швидше в минулому, а зараз - ні. Можливо, тому, що це переселення секторів.
Еван Андерсон

Це, безумовно, є можливим, хоча я думаю, що переміщення за цією шкалою призведе до деяких помилок вводу / виводу. Виходячи з дуже повільної базової лінії 80 мегабіт в секунду, я припускав, що тест проводився на активній системі. Отже ... чи є помилки вводу / виводу в системному журналі, як проводилися hdparmтести та чи були результати в "мегабітах" чи "мегабайтах" за секунду?
Сет Благородний

3

Я б очікував 5 годин на завершення роботи fsck.

Я б замість цього вважав (що означає: тестування, тестування та тестування) міграцією до рейзерфів.


2
  1. Ні (fsck може виправити пошкоджені метадані файлової системи, не зламаний диск, не є інструментом дефрагментації).
  2. Залежить від файлової системи. З ext3, біль, довго, я б зарезервував кілька годин. Більш сучасні файлові системи, такі як ext4 або xfs, можуть бути на порядок швидшими.

1

hdparm робить послідовне читання. Ваш диск файлового сервера повинен багато шукати, як казали інші хлопці.

Якщо ви отримуєте помилки HD, вони повинні з’являтися у вашому / var / log / десь.

Чому б вам не спробувати "smartctl -t short / dev / sda", а потім "smartctl -t long / dev / sda" ?? ... З більшістю нового жорсткого диска ви можете видавати цю команду навіть при використанні HD . Розумний дасть вам певні результати. Ви можете прочитати стан свого жорсткого диска, використовуючи "smartctl --all / dev / sda" ..

Якщо ви надсилаєте hdparm на жорсткий диск, встановлений з одночасним доступом, це може бути відповіддю, чому ваші результати набагато менше, ніж раніше.

Я повинен перемістити ваші дані якнайшвидше з налаштуваннями RAID.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.