Main > Hetzner | Hosting | Linux > Очень медленное восстановление raid

Очень медленное восстановление raid

14.01.2013 0 comments » Views: 3,460

Hdd zoom

Сегодня взял в аренду очередной сервак у Hetzner-а, с тремя винтами по 1.5 Тб. После автоустановки образа Debian-a, я увидел, что из винтов сделан Raid5. Это меня устроило, и я продолжил настройку сервера. Однако при попытке разбить большой файл на несколько меньших с помощью команды split, я заметил, что скорость работы с винтами очень маленькая..

Тогда я решил проверить все ли с ними впорядке. Прежде всего я установил smartmontools:

и проверил S.M.A.R.T. информацию каждого винта, на предмет сбоев:

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

После этого я решил проверить сам raid массив:

Тут я увидел, что идет восстановление (синхронизация), и до его завершения осталось около недели:

Разумеется, я сразу подумал, что мне достался какой-то убитый винт. Особенно смотря на скорость копирования инфы - меньше 1МБ/сек, это при том, что мои домашние SATA винты легко дают 100+МБ/сек:

Скорость копирования образа

Скорость копирования образа

Можно конечно, принять в учет, что сервер в этот момент, уже обслуживал много людей, однако все равно 1 МБ/сек это чертовски мало. Как всегда во время проблем, я полез в гугл за информацией, и нашел такой пост: HowTo: Speed Up Linux Software Raid Building And Re-syncing (http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html)

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

Согласно посту, для того чтобы "тюнингануть" скорость, надо записать значение в КБ/с, вот сюда: /proc/sys/dev/raid/speed_limit_min

Дабы удостовериться в необходимости этой процедуры, я вначале посмотрел существует ли такой файл у меня и что в нем за значение:

На экране мне показали 1000. Значит, это именно то, про что и писали. Пробуем увеличить до 50 МБ/с ( или 50000 КБ/с ):

После этого я вновь посмотрел на скорость восстановления:

Теперь она поднялась до 45988 КБ/с, и время завершения сократилось с 7 дней, до 2 часов. Вот так тюнинг 🙂

После этого, я добавил так же, эти параметры в файл: /etc/sysctl.conf

и добавляем, или если уже присутствует, меняем значения:

Значения вступят в силу после перезагрузки, а в случае необходимости задействовать их прямо сейчас, нужно дополнительно выполнить:

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

P.S. Для тех, у кого на этом проблемы не исчезли, вот полезная ссылка, по которой в доступной форме и на русском написано, как определить "плохой" диск и поменять его: Узнаем какой диск из софтварного райда надо менять (http://unix-forum.ru/topic774.html)

Author: | Rating: 4/5 | Tags: , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>