====== mdadm ======
[[http://xgu.ru/wiki/mdadm]]\\
[[https://ru.wikibooks.org/wiki/Mdadm]]\\
[[https://raid.wiki.kernel.org/index.php/Growing]] {{it:debian:mdadm:growing_linux_raid_wiki.mht|mht}} - изменение параметров md\\
[[it:debian:mdadm:superblock|ПроСуберблок]]
__**Создать raid**__
//1. raid
$ mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1
//если диска нет, то вместо его имени пишем missing
//2. конфиг
$ mdadm --detail --scan > /etc/mdadm.conf
//You need to update initramfs so it contains your mdadm.conf settings during boot.
$ sudo update-initramfs -u
----
__**Удалить raid**__
//1. Остановить.
$ mdadm -S /dev/md0
//2.Очистить суперблоки RAID на разделах, из которых собран массив.
$ mdadm --zero-superblock /dev/sd[a-e]1
----
__**Добавить новый диск в raid**__
$ mdadm /dev/md0 --add /dev/hde1
----
__**Изменить размер массива**__
$ mdadm --grow /dev/md0 --size=max
$ mdadm --grow /dev/md0 --size=5G
----
__**Удалить диск из массива**__
$ mdadm /dev/md0 --fail /dev/sdc1
$ mdadm /dev/md0 --remove /dev/sdc1
$ mdadm --zero-superblock /dev/sdc1
#для нескольких дисков
$ mdadm --zero-superblock /dev/sd[a-e]1
----
__**Изменить количество дисков в рейде**__
$ mdadm --grow /dev/md0 --raid-devices=n --force, где n - кол-во дисков
----
__**Переименовать рейд**__
# остановить рейд
mdadm -S /dev/md127
# меняем название и подключаем массив с уже новым именем:
mdadm --assemble /dev/md1 --name=md1 --update=name /dev/sda1 /dev/sdb1
----
__**Изменить скорость синхронизации**__
$ echo 50000 > /proc/sys/dev/raid/speed_limit_min
$ echo 300000 > /proc/sys/dev/raid/speed_limit_max
----
__**Запустить / Остановить проверку CentOS можно так**__
$ echo "check" > /sys/block/md0/md/sync_action
$ echo "idle" > /sys/block/md0/md/sync_action
$ echo "frozen" > /sys/block/md0/md/sync_action
>check - запуск проверки
>idle - остановка, однако возможен перезапуск.
>frozen - остановка и блокировка перезапуска. В этом режиме, проверка продолжиться с того же места при следующей перезагрузке.
**Если нужно перезапустить при следующем запуске, с начала, то делаем так**
$ echo none > /sys/block/md0/md/resync_start
$ echo idle > /sys/block/md0/md/sync_action
----
__**Посмотреть нашлись ли какие-то ошибки в процессе проверки программного RAID-массива по команде check или repair**__
$ cat /sys/block/md0/md/mismatch_cnt