URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 11897
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Мониторинг и восстановление программного RAID в Linux"

Отправлено auto_tips , 28-Июл-05 10:23 
Управление программными RAID1-массивами в RHEL

Мониторинг состояния

Информация о всех RAID-массивах:
   # more /proc/mdstat
или
   # cat /proc/mdstat

Информация о конкретном дисковом разделе:
   # mdadm -E /dev/sd<a-b><1-10>
например:
   # mdadm -E /dev/sdb2


Восстановление функционирования

Восстановление функционирования (rebuild) разделов диска по одному после однократного "несмертельного" сбоя:
   # mdadm -a /dev/md<0-6> /dev/sd<a-b><1-10>
например:
   # mdadm -a /dev/md0 /dev/sdb1
Нужно быть аккуратным с номерами разделов
В случае ошибки, удалить компонент из RAID командой:
   # mdadm -r /dev/md0 /dev/sdb1
получается не всегда - устройство может быть занято.


Замена диска

1. Выключить компьютер и заменить диск

2. Включить компьютер  и определить имеющиеся на обоих дисках разделы:
   # fdisk /dev/sd<a-b> -l

3. С помощью fdisk создать на новом диске разделы, идентичные оригиналу
Необходимо пометить нужный раздел нового диска (sda1 или sdb1) как загрузочный до включения в зеркало.
Swap-разделы не подлежат зеркалированию в программном RAID

4. Выполнить Мониторинг состояния и Восстановление функционирования


Настройка оповещения

Мониторинг выполняется с помощью crond ежечасно.
В папку /etc/cron.haurly помещен файл mdRAIDmon, содержащий команду:
   # mdadm --monitor --scan -1 --mail=postmaster@domain.name.ru

Для проверки рассылки сообщения добавляется ключ --test:
   # mdadm --monitor --scan -1 --mail=postmaster@domain.name.ru --test

Помещая файл задания в папку, необходимо установить права доступа на выполнение
Если нужно чаще, самое простое, добавьте в /etc/crontab строку, используя нотацию с "/", например:
   */5 * * * * root run-parts /etc/cron.my5min

Конечно, можно попробовать и другие варианты планирования заданий с atd или batch.

Создайте папку /etc/cron.my5min и поместите туда файл mdRAIDmon
C имитацией отказа диска мне было проще - сервер SR1425BK1 - с корзиной HotSwap

URL:
Обсуждается: http://www.opennet.me/tips/info/881.shtml


Содержание

Сообщения в этом обсуждении
"Мониторинг и восстановление программного RAID в Linux"
Отправлено xz , 28-Июл-05 10:23 
пипец скока гимороя, непроще купить апаратный ?
они уже достаточно доступны

"Мониторинг и восстановление программного RAID в Linux"
Отправлено Andrey Mitrofanov , 28-Июл-05 11:32 
> скока гимороя, непроще купить апаратный ?
Действительно!? Проще.
Ведь "аппаратный", за который "уплОчено" не надо ни мониторить, ни восстанавливать, правда?

"Мониторинг и восстановление программного RAID в Linux"
Отправлено Аноним , 29-Июл-05 13:17 
нет мониторить надо, а "востанавливать" он умеет сам забрав из хот спаре винт, да если нету такова то всеравно всунул/высунул, все никаких проблем, про производительност ьвобще молчу.
и для того же мониторинга есть куча вменяемого софта, который может нормально оповестить о сбое, или вы с ноутом и инетом спите/гуялете/отдыхаете ?

"Мониторинг и восстановление программного RAID в Linux"
Отправлено LostSoul , 15-Сен-05 20:33 
А софтовый sparse вам религия поставить запрещает?

Любой аппаратный рейд до 500$ стоимостью явно проигрывает програмному в Linux.
И производительность нормальная.


"Мониторинг и восстановление программного RAID в Linux"
Отправлено Аноним , 01-Авг-05 13:18 
как поднять софтовый raid1 на загружаемый раздел?
sda1 к примеру, есть такой же sdb1.
я к тому что возможно ли это провести на "горячую" ?

"Мониторинг и восстановление программного RAID в Linux"
Отправлено kapa , 11-Мрт-06 00:46 
извините, а если mdadm был настроен на raid-5 с 4 дисками, при выключении одного он читать-то как-нибудь с 3ёх даст? у меня не даёт, но восстанавливает без проблем

"Мониторинг и восстановление программного RAID в Linux"
Отправлено Michael Shigorin , 23-Мрт-08 22:04 
>извините, а если mdadm был настроен на raid-5 с 4 дисками, при
>выключении одного он читать-то как-нибудь с 3ёх даст? у меня не
>даёт, но восстанавливает без проблем

У меня даёт.

PS
> Swap-разделы не подлежат зеркалированию в программном RAID

Это не так.  Если требуется снизить возможность сбоя -- ещё как подлежат (равно как и в аппаратном).  Другое дело, что если машинка под рукой и некритична -- проще разбросать свопы с одинаковым приоритетом по дискам, разделы с данными на которым собраны в зеркало (см. swapon(8), swapon(2) /pri).


"Мониторинг и восстановление программного RAID в Linux"
Отправлено inkv , 31-Авг-06 15:32 
Протестил я это дело на Ubuntu Server 6.0.xx
пашет. При инсталляции, поднял 1 и 5 раид.
вынул 1 хард - сам хот спару поднял и заребилдил
а вот обратно - все ручками надо делать.
Читать с 3-х - тоже дал!
Спасибо автору - статья помогла.
Итоги - скорость копирования из каталога в каталог 4Гб файла - 40 МБ/сек
винты - ИБМ, 10 000 шпиндель, 160 - шина. 36,7 гиг. Контроллер Tekram DC390 U3D.

"Мониторинг и восстановление программного RAID в Linux"
Отправлено Rygoravich , 08-Фев-08 15:41 
>Читать с 3-х - тоже дал!

А что в этом противоестественного? Винда с ее динамическими дисками справляется.


"Мониторинг и восстановление программного RAID в Linux"
Отправлено Юрий , 19-Ноя-08 17:12 
Юзали на веб-хостинге 3ware raid довольно недешевый - начал парить мозг (без матов как именно говорить не могу, поэтому подробности опускаю). и вот где гемор :-) везти его из Москвы можно месяц и то если повезет, а linux незахотел подниматься без рейда!!! если у вас веб-сервер который должен всегда пахать - юзайте софтварный рейд. Это стопудовая незавсисимость от железа. Не разу кстати не видел, чтобы рейд жрал хотя-бы один процент процессорного времени.

"Мониторинг и восстановление программного RAID в Linux"
Отправлено Michael Shigorin , 19-Ноя-08 19:31 
>Это стопудовая незавсисимость от железа.

Угу.

>Не разу кстати не видел, чтобы рейд жрал хотя-бы один процент процессорного времени.

Ну мне вот доводилось :)

От видения неприятного процента CPU за md*_raid*, страшных iowait и LA помогают:
- тесты _заранее_ под нагрузкой (bonnie/bonnie++ в помощь): может, лишнее место не стоит тормозов БД (или ещё чего активно пишущего) и лучше сделать 1/10, а не 5?
- для 5/6: stripe alignment (http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux)
- понимание, что такое seek, и разнос нагрузки по физическим шпинделям (и их пачкам)
- монтировать с noatime, если оно некритично
- xfs (ОБЯЗАТЕЛЬНО с UPS!)
- разумное поднятие readahead и stripe cache, подбор io scheduler -- например, для двух SATA RAID5 по четыре диска каждый:

for i in a b c d e f g h; do
        echo deadline > /sys/block/sd$i/queue/scheduler
        echo 1024 > /sys/block/sd$i/queue/read_ahead_kb
done

echo 2048 > /sys/block/md0/md/stripe_cache_size
echo 2048 > /sys/block/md4/md/stripe_cache_size

hdparm -a 1024 /dev/sd[a-h]
hdparm -a 4096 /dev/md[04]


"Мониторинг и восстановление программного RAID в Linux"
Отправлено Юрий , 20-Ноя-08 08:43 
Я далеко не гуру линукса.

Можно все тоже самое, только "на пальцах"? (Для простых смертных)


"Мониторинг и восстановление программного RAID в Linux"
Отправлено Michael Shigorin , 20-Ноя-08 19:39 
>Я далеко не гуру линукса.

Аналогично :-)

>Можно все тоже самое, только "на пальцах"? (Для простых смертных)

bonnie/bonnie++ -- это бенчмарки, обычно живут в одноименных пакетах в дистрибутиве.

noatime -- параметр монтирования ФС, при котором чтение данных не приводит к записи в метаданные (см. man mount, man fstab).

xfs -- файловая система, которая хорошо держит большую нагрузку.

последним пунктом можно не заморачиваться, но если есть где -- то лучше поискать по упоминаемым словам вроде md stripe cache и поэкспериментировать.


"Мониторинг и восстановление программного RAID в Linux"
Отправлено Michael Shigorin , 11-Май-10 01:14 
>поискать по упоминаемым словам вроде md stripe cache и поэкспериментировать.

Поскольку спросили -- вот скрипт со ссылками:

#!/bin/sh
# http://www.mail-archive.com/linux-raid@vger.kernel.org/...
# (thanks vsu@)
# https://mail.clusterfs.com/wikis/attachments/LustreManual.ht...
# `-> The "cfq" and "as" schedulers should never be used for server platform
for i in a b c d e f g h; do
        echo deadline > /sys/block/sd$i/queue/scheduler
        echo 1024 > /sys/block/sd$i/queue/read_ahead_kb
done

# http://scotgate.org/?p=107
echo 2048 > /sys/block/md0/md/stripe_cache_size
echo 2048 > /sys/block/md4/md/stripe_cache_size

#echo 3000 > /sys/block/md4/md/sync_speed_min
#echo 5000 > /sys/block/md4/md/sync_speed_max

hdparm -a 1024 /dev/sd[a-h]
hdparm -a 4096 /dev/md[04]