mdadm

Перевод рабочей Linux Debian Squeeze на RAID1

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

1.Для начала устанавливаем необходимые утилиты

aptitude install initramfs-tools mdadm

2.Проверяем как разбит диск

# fdisk -l
 
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

mdadm. Добавление диска в raid массив

Если вдруг один винт в массиве сдох, в моем случае RAID 10

# cat /proc/mdstat 
Personalities : [raid10] 
md0 : active raid10 sda1[0] sdd1[3] sdb1[1]
      143369216 blocks super 1.2 512K chunks 2 near-copies [4/3] [UU_U]
 
unused devices: <none>

об этом говорит нехватка буквы тут [UU_U], ну и другие понятные вещи )

добавляем новый винт в массив:

mdadm /dev/md0 --add /dev/sdc1

после чего можно увидеть такое:

# cat /proc/mdstat 
Personalities : [raid10] 
md0 : active raid10 sdc1[2] sda1[0] sdd1[3] sdb1[1]

mdadm automatically create a degraded RAID5 array

When creating a RAID5 array, mdadm will automatically create a degraded array with an extra spare drive. This is because building the spare into a degraded array is in general faster than resyncing the parity on a non-degraded, but not clean, array. This feature can be overridden with the --force option.

восстановление soft raid5

Запустить неполный массив
mdadm --assemble --force /dev/md0 /dev/sdb /dev/sdd

Пересоздать
mdadm --create --verbose /dev/md0 --assume-clean --level=raid5
--raid-devices=3 --spare-devices=0 /dev/sda /dev/sdb /dev/sdc

Ребилд диска
mdadm /dev/md0 --fail /dev/sda && mdadm /dev/md0 --remove /dev/sda && mdadm
/dev/md0 --add /dev/sda

Поменять uuid
mdadm --assemble /dev/md0 -u новый_uuid -U uuid /dev/sda /dev/sdb /dev/sdc

-E информация из суперблока
--zero-superblock зачистить суперблок