HOWTO CDS on SoftRaid(Решено)

Установка системы на софт рейд первого уровня или просто зеркало.

1.Загружаемся с лайв сд и размечаем разделы с помощью сfdisk.
Тип разделов должен быть FD(Linux Raid AutoDetect)
Далее делаем зеркальное отображение разделов первого винта на второй

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         243     1951866   fd  Linux raid autodetect
/dev/sda2   *         244        2675    19535040   fd  Linux raid autodetect
/dev/sda3            2676        5107    19535040   fd  Linux raid autodetect
/dev/sda4            5108        7832    21888562+  fd  Linux raid autodetect

sfdisk -d /dev/sda | sfdisk /dev/sdb

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         243     1951866   fd  Linux raid autodetect
/dev/sdb2   *         244        2675    19535040   fd  Linux raid autodetect
/dev/sdb3            2676        5107    19535040   fd  Linux raid autodetect
/dev/sdb4            5108        7832    21888562+  fd  Linux raid autodetect

2.Создаём рейд массивы для нужных нам разделов

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4

Ждём пока соберется рейд
watch cat /proc/mdstat

Генерируем mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf

Запускаем dmraid
/etc/init.d/mdraid start

Форматируем разделы
mkreiserfs /dev/md4
mkswap /dev/md1

3.Устанавливаем систему
calculate -d /dev/md2 --set-hostname=‘CDS10.4.1’

4.Монтируем разделы и производим перенос конфигурационных файлов

mount /dev/md2 /mnt/floppy
mount /dev/md4 /mnt/gentoo
cp /etc/mdadm.conf /mnt/floppy/etc/mdadm.conf
cd /mnt/gentoo
mkdir share && mkdir home && cd share && mkdir linux
Редактируем fstab и mtab

/dev/md2        /               reiserfs        noatime                 0 2
/dev/md1       none             swap    sw                      0 0


proc            /proc           proc    defaults                0 0
shm             /dev/shm        tmpfs   nodev,nosuid,noexec     0 0

/dev/md4 /var/calculate auto acl,noatime 0 0
/var/calculate/home /home auto bind 0 0
/var/calculate/share /usr/calculate/share auto bind 0 0

rootfs / rootfs rw 0 0
/dev/md2 / reiserfs rw,noatime 0 0
proc /proc proc rw,relatime 0 0
rc-svcdir /lib/rc/init.d tmpfs rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
udev /dev tmpfs rw,nosuid,relatime,size=10240k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/md4 /var/calculate reiserfs rw,noatime,acl 0 0
/var/calculate/home /home none rw,bind 0 0
/var/calculate/share /usr/calculate/share none rw,bind 0 0
usbfs /proc/bus/usb usbfs rw,noexec,nosuid,devmode=0664,devgid=85 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,noexec,nosuid,nodev 0 0

5.Устанавливаем GRUB на оба жестких диска

grub --no-floppy
grub> find /boot/grub/stage1
(hd0,1)
(hd1,1)
grub> device (hd0) /dev/sda
grub> root (hd0,1)
grub> setup (hd0)
grub> device (hd0) /dev/sdb
grub> root (hd0,1)
grub> setup (hd0)

Редактируем grub.conf

timeout 5
default 0
fallback 1
splashimage=()/boot/grub/grub-calculate.xpm.gz

title Calculate Directory Server 10.4.1 i686
root ()
kernel /boot/vmlinuz root=/dev/md1 video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume elevator=deadline doscsi
initrd /boot/initrd

Преобразуем в

timeout 5
default 0
fallback 1
splashimage= hd0,1 /boot/grub/grub-calculate.xpm.gz

title Calculate Directory Server 10.4.1 i686
root []{.hd0,1}
kernel /boot/vmlinuz root=/dev/md1 video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume elevator=deadline domdadm md=2,/dev/sda2,/dev/sdb2 doscsi
initrd /boot/initrd

6.Перезагрузка

Хочу выразить огромную благодарность всем кто помогал мне в написании данного HOWTO отвечая на мои не всегда корректные вопросы.Жду ваших замечаний и комментариев

Решение проблемы с которой я столкнулся

Loading modules
:: Scanning for ata_piix…ata_piix loaded.
:: Scanning for raid1…md-mod,raid1 loaded.
:: Scanning for reiserfs…reiserfs loaded.

Active mdev
Detected real_root as a md device.Setting up the device node…
mdadm: /dev/md1 has been started with 2 drivers.
mdadm: /dev/md3 has been started with 2 drivers.
mdadm: /dev/md4 has been started with 2 drivers.

Determining root device …
Mounting root…
mount: mounting /dev/md1 on /newroot failed: Device or resource busy
!! Could not mount specified ROOT, try again
!! Could not find the root block device in

Насколько я понял во время установки Calculate сама определяет поддержку какого оборудование нужно добавить в initrd что очень благоприятно влияет на время загрузки.Из этого следует присутствие поддержки рейда в ядре установленной системы.Всё что нужно сделать это сказать ядру: собери root раздел domdadm md=2,/dev/sda2,/dev/sdb2

Скорее всего проблема в отсутствии поддержки в ядре, тут либо модуль подключать надо, либо пересобирать ядро.

Позволю себе оставить пару замечаний:

  • Смысл запихивать своп в зеркальный рейд? Это только повысит нагрузку на проц.
  • Для корректной загрузки с рейдового диска его необходимо создавать с опцией –metadata=0.90
  • Вместо прописывания md=2,/dev/sda2,/dev/sdb2 можно пересобрать initramfs что бы запихнуть туда mdadm.conf

ЗЫ: спасибо за подробный хавту;)

Сергей, Вы можете перенести статью в блог. На первой странице планеты справа вверху Вам доступна ссылка “Новая запись”. До конца выполните форматирование, чтобы красиво смотрелось.

С удовольствием, только приведу её в порядок.
Подскажите как правильно добавить mdadm.conf в initramfs? Так как во время поиска решения экспериментируя со всевозможными вариантами мне так и не удалось добавив mdadm в initramfs заставить систему загружаться.
Вы писали о том что рейд для /boot раздела нужно создавать с опцией –metadata=0.90, вы не могли бы немного по подробнее объяснить назначение данной опции, так как в данный момент всё работает и без неё.

На сколько я знаю metadata задает стиль расположения блоков данных в рейде и grub не видит этих дисков если данный параметр больше значения 0.90
Для добавления конфига в initramfs можно использовать cl-kernel

Друзья, не удаётся установить CDS 13.6 на рейд 1-ого уровня. Делаю все по инструкции.
Прописываю: cl-install -d /dev/md1 -l ru_RU --timezone EUROPE/MOSCOW
В конце установки пишет:

Не удалось сконфигурировать grub!!!

Не удалось установить систему.

CDS 12 встаёт без проблем. Что могло поменяться в самом grub’е?