LINUX.ORG.RU
ФорумAdmin

Software RAID1 выпадение одного из дисков

 , ,


0

2

Решил попробовать собрать софтварный рейд1 в centOS.

Все проделываю в вирталбоксе.

Создаю два одинаковых харда(sda,sdb),на sda поставил систему(только корень на весь диск,по мануалу оставил в конце пару мегабайт).

Ребутнулся в rescue mode с install-cd.Там создал рейд(/dev/md_d0) на весь диск sda(получился корень с именем /dev/md_d0p1).Добавил в него sdb.

Поправил /etc/grub.conf(изменил root= на имя рейда и удалил некоторые опции),поправил /etc/fstab.

Ребутнулся,система грузится и работает.

Выключаю,в конфиге виртуальной машины удаляю один любой диск,включаем.

Система начинает загружатся и сначала виснет на строке: md bind(sda),а потом kernel panic,что /dev/md_d0p1 не найден.

Как быть в такой ситуации?

P.S. хардварный рейд не советовать.

версия centos?
В centos6 наткнулся на эти же грабли - решилось редактированием menu.lst , т.е. заменил root=/dev/mdX на root=LABEL=MDROOT , а также установил эту метку MDROOT на соотв. файловую систему (rootfs). Думаю, что установка UUID в конфиге grub также сработала бы.

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

update-grub не делал,попробую.

в /etc/mdadm.conf записал конфигурацию.

Спасибо за мануал,попробую на живой системе повторить.

Funny_sailor ()
Ответ на: комментарий от Bers666

Попробовал прописать UUID:

[root@localhost ~]# blkid
/dev/sda: UUID="67af51f5-439c-fed2-bfe7-8010bc810f04" TYPE="linux_raid_member"
/dev/sdb: UUID="67af51f5-439c-fed2-bfe7-8010bc810f04" TYPE="linux_raid_member"
/dev/md_d0p1: UUID="1a5cd022-9bb6-40a5-b77c-a8adca1f4567" TYPE="ext4"

/etc/grub.conf
 kernel /boot/vmlinuz-2.6.32-358.el6.i686 ro root=UUID=1a5cd022-9bb6-40a5-b77c-a8adca1f4567 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb

Все равно при удалении одного из дисков останавливается загрузка на строке:

md: bind(sda)

Funny_sailor ()

Если пометить один из дисков как failed:

mdadm --manage /dev/md_d0 --failure /dev/sdb
А потом удалить из конфига,то ОС загужается нормально.

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

Ты вписал не тот UUID (это UUID девайса, а надо UUID файловой системы. Пофикси UUID или используй LABEL). Также сделай mkinitrd при наличии заполненного (ARRAY..) /etc/mdadm.conf и попробуй опять убрать диск.

update-grub и bootdegraded=true это для ubuntu.

P.S. такой же девайс как и в grub.conf, должен быть в fstab. Я предпочитаю LABEL.

Bers666 ★★★★★ ()
Последнее исправление: Bers666 (всего исправлений: 1)
Ответ на: комментарий от Bers666

так /dev/md_d0p1 это и есть раздел:

# mount
/dev/md_d0p1 on / type ext4 (rw)
Я и с LABEL пробовал:
kernel /boot/vmlinuz-2.6.32-358.el6.i686 ro root=LABEL=raidroot rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb

/dev/md_d0p1: UUID="1a5cd022-9bb6-40a5-b77c-a8adca1f4567" TYPE="ext4" LABEL="raidroot"

mkinitrd сделал.Вот /etc/mdadm.conf

[root@localhost ~]# cat /etc/mdadm.conf
ARRAY /dev/md_d0 metadata=0.90 UUID=67af51f5:439cfed2:bfe78010:bc810f04

Вот ошибка при загрузке

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

Попробуйте объединить в raid не диски целиком, а разделы (sda1 и sdb1).

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

а где ошибка? ошибка это типа kernel panic. кстати centos6 предлагает загрузиться с помощью добавления параметра ядра rdshell? у меня предлагал.
Короче, у меня был баг - не мог drakut собрать raid1, хотя при загрузке в rdshell и сборке руками (mdadm -S / mdadm -A) дальнейшие загрузки работали отлично (рейд собирался в деградированном режиме).

Bers666 ★★★★★ ()

1) На этапе установки создаешь на каждом диске по разделу software raid размером в весь диск.
2) Создаешь устройство raid1 из этих двух дисков.
3) Указываешь mountpoint / на /dev/md0 (grub2 это воспринимает вполне нормально, но загрузчик пропишет только в MBR sda).
4) Сразу после установки жмешь «c» в загрузочном меню grub2 и выполняешь там:

root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
5) Грузишься в систему, мониторишь /proc/mdstat на предмет resync 100%.

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