Сколько времени занимает fsck том?

9

У нас есть веб-сайт, который в настоящее время обслуживает 3-5 миллионов просмотров страниц. Наш сайт - это сайт для обмена файлами, и он содержит 250 000 файлов и несколько тысяч символических ссылок.

Жесткий диск представляет собой диск SATA 1500 ГБ.

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

Итак, теперь мы хотим запустить, fsckчтобы исправить проблему с диском.

  1. Будет ли fsckрешить эту проблему?
  2. Сколько времени fsckпотребуется для завершения (просто мы хотим рассчитать время простоя, которое у нас будет)?
Хизар Ансари
источник
Какую файловую систему вы используете? Это массив RAID или простой диск SATA?
Кайл Смит
простой SATA диск и файловая система ext3
хизар ансари
11
Почему вы используете производственный веб-сервер на одном диске? Серверы с одним диском не являются серверами - они тикают бомбы замедленного действия.
Эван Андерсон
3
Похоже, этот диск умирает. Немедленно перенесите свои данные (в настоящий массив RAID с аппаратным контроллером с батарейным питанием).
Джоэл Э Салас

Ответы:

8

Снижение скорости следует ожидать, так как количество одновременно используемых файлов увеличивается. Жесткие диски не любят, когда к ним обращаются параллельно: каждый раз, когда головке чтения / записи требуется переключать цилиндры, вы теряете несколько миллисекунд. Даже если два файла находятся в одном и том же цилиндре или даже на одной дорожке, вам все равно придется ждать поворота, чтобы перейти от одного к другому. Если вы измеряете производительность диска в мегабитах в секунду, ожидайте, что она будет уменьшаться в геометрической прогрессии при увеличении параллельного доступа.

fsck не поможет с этим: он только восстанавливает повреждение структуры каталогов, он не выполняет никакой оптимизации.

Идеальным решением было бы переключение на твердотельное хранилище, поскольку оно не имеет физических ограничений для вращающихся пластин. Но это, вероятно, слишком дорого.

Следующим лучшим вариантом будет использование RAID, оптимизированного для параллельного доступа. Имейте в виду, что RAID-массивы могут быть настроены для разных профилей производительности, поэтому вам потребуется некоторое время, чтобы изучить настройки любого конкретного RAID-оборудования и драйверов.

Вы можете уменьшить проблему, используя агрессивное кэширование файловой системы. Если в вашей системе достаточно оперативной памяти, Linux должен делать это довольно хорошо. Запустите программу, topчтобы увидеть, сколько свободной оперативной памяти есть. Но если наиболее часто используемые файлы не помещаются в ОЗУ (или любую ОЗУ, которую вы, вероятно, приобретете), это не поможет.

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

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

Я написал статью с некоторыми общими сведениями о производительности жесткого диска:

Советы по UNIX - Файловые системы

Сет Ноубл
источник
Я не вижу, чтобы его hdparmтест был связан с "параллельным доступом". Для меня это звучит больше, как будто у него неисправный диск. В прошлом это было быстрее, а сейчас - нет. Вероятно, потому что это перемещение секторов.
Эван Андерсон
Это, безусловно, возможно, хотя я думаю, что перемещение в таком масштабе приведет к ошибкам ввода-вывода. Исходя из очень медленной базовой скорости в 80 мегабит в секунду, я предполагал, что тест выполнялся на активной системе. Итак ... есть ли ошибки ввода-вывода в системном журнале, как hdparmвыполнялись тесты, и были ли результаты в «мегабитах» или «мегабайтах» в секунду?
Сет Ноубл
3

Я ожидал бы 5 часов для завершения fsck.

Вместо этого я хотел бы рассмотреть (что означает: тестирование, тестирование и тестирование) переход на reiserfs.

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

hdparm выполняет последовательное чтение. Ваш диск Файлового сервера должен искать много, как говорили другие парни.

Если вы получаете ошибки HD, они должны появиться в вашем / var / log / где-нибудь.

Почему бы вам не попробовать «smartctl -t short / dev / sda», а затем «smartctl -t long / dev / sda» ?? ... С большинством новых жестких дисков вы можете выполнить эту команду даже при использовании HD , Смарт даст вам некоторые результаты. Вы можете прочитать состояние своего жесткого диска, используя «smartctl --all / dev / sda» ..

Если вы отправляете hdparm на жесткий диск, на котором смонтирован параллельный доступ, это может быть ответом, почему ваши результаты намного ниже, чем раньше.

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

Хосе Таварес
источник