LINUX.ORG.RU
решено ФорумAdmin

[mdadm] RAID-5 -> RAID-1

 


0

0

Добрый день,

Есть software RAID-5 из 3-х дисков. Хочу переделать в RAID-1.

Примерный план представляю:
1) Удалить один диск из RAID-5.
2) Сделать этот диск RAID-1 (единственным).
3) Скопировать на этот диск информацию из RAID-5 (который еще работоспособен с 2-мя дисками).
4) Удалить массив RAID-5.
5) Освободившиеся диски подцепить к RAID-1.
6) Подождать, пока они «восстановятся».

Из всего этого я не понимаю только, как грамотно сделать #3. Ведь размер тома RAID-1 будет меньше. И абсолютные значения смещений данных в разделе тоже изменятся (не повредит ли это всяким загрузчикам и тд).

Текущая конфигурация такова:

anton@sup:~$ cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] [linear] [multipath]
md2 : active raid5 sdb3[1] sdc3[2] sda3[0]
2917660800 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : active raid1 sdb1[1] sdc1[2] sda1[0]
4200896 blocks [3/3] [UUU]

md1 : active raid1 sdb2[1] sdc2[2] sda2[0]
2104448 blocks [3/3] [UUU]

unused devices: <none>


anton@sup:~$ mount
/dev/md2 on / type ext3 (rw)
proc on /proc type proc (rw)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/dev/md1 on /boot type ext3 (rw)

★★

>И абсолютные значения смещений данных в разделе тоже изменятся (не повредит ли это всяким загрузчикам и тд).

Емнип, абсолютные смещения запоминал только lilo. В grub свои мини-дрова под нужные фс.

Насчет недостатка места — а как ты собирался делать RAID1 из трех (!) дисков, если инфа не умещается на наименьший из них? Это же бред. Размер RAID1 равен размеру наименьшего из входящих в него томов.

nnz ★★★★
()
Ответ на: комментарий от nnz

Инфа вообще 80 ГБ. А каждый диск по 1 ТБ.

cp -a точно сработает? А то гугление выдает рецепты в виде страшных скриптов с tar-ом.

Kpoxman ★★
() автор топика
Ответ на: комментарий от Kpoxman

>Инфа вообще 80 ГБ. А каждый диск по 1 ТБ.

А, ну тогда ok. Значит, я неправильно тебя понял.

cp -a точно сработает?


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

Ну и -x не забудь, чтобы /boot не копировать лишний раз и в рекурсию не впадать.

Еще рекомендую добавить -v, чтобы следить за ходом процесса.

Итого cp -vax / /mnt/new_raid

После завершения процесса не спеши сносить старый рейд, попробуй загрузиться с одного нового раздела (для этого в конфиге grub укажи root=бла-бла-бла). Потом уже фигарь на него суперблок и добавляй в рейд другие тома.

nnz ★★★★
()
Ответ на: комментарий от Kpoxman

У тебя ext3, тогда dump/restore и не надо думать о вирт. фс (/dev, /sys, /proc, ...)

cd /mnt/new_raid
dump -0 -f - /dev/md2 | resore -r -f -
sdio ★★★★★
()
Ответ на: комментарий от sdio

>не надо думать о вирт. фс (/dev, /sys, /proc, ...)

cp -x тоже этими делами не грузит :)

nnz ★★★★
()
Ответ на: комментарий от nnz

Спасибо всем еще раз.

Сделал так в grub:

set root=(md3)
search --no-floppy --fs-uuid --set ebf1cd73-4e64-49d2-b031-2bbf621083d5

где md3 - это нвоый raid-1 (U__),
и раньше вместо md3 был md2 - старый raid-5.

--fs-uuid тоже поменял.

Но! Почему-то все равно грузится старый raid-5 на /.

Kpoxman ★★
() автор топика
Ответ на: комментарий от nnz

Да, поправил grub.cfg, mtab, fstab, mdadm.conf И все равно при этом он как-то находил старый RAID-5 и грузился с него.

В конце концов я отчаялся и перелопатил все с нуля, поставив RAID-1.

Kpoxman ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.