Установка Calculate на RAID-массив.

Через mdadm собрал зеркальный рейд первого уровня. В системе видится как /dev/md127. Графический установщик почему-то видит диск как /dev/md1271. После чего форматироваться конечно не может, т.к. этого устройства нет в системе. При использовании консоли: cl-install -d /dev/md127 выдается ошибка Incorrect device ‘/dev/md127’
В чем может быть проблема и можно ли вообще установить Calculate на RAID-массив.

Установка Calculate Linux на RAID массив сейчас не поддерживается. Поддержка будет добавлена после перехода на GRUB2.

А какой примерный срок перехода на GRUB2?

Вот почитай, можно и так сделать.
http://www.calculate-linux.ru/blogs/ru/70/show
http://www.calculate-linux.ru/boards/6/topics/4838

Большое спасибо за ссылки. Примерно такие же действия и выполнял. Только проблема в том что cl-install не видит RAID устройство (похоже что более старая версия - calculate видела). Так что придется ждать GRUB2

Итак, прошел месяц… Вышел Calculate Linux 11.6, перешли на GRUB2, а ситуация с поддержкой soft-RAID и (или) LVM - по прежнему в Ж…, ой, извините, “в глубокой депрессии”…
И задекларированное “отцами-основателями” : “Calculate Linux является оптимизированным дистрибутивом, предназначенным для быстрого развёртывания в корпоративной среде” - начинает превращаться в издевательство над здравым смыслом. Не знаю, как у кого получается, а вот у меня финансово обосновать покупку аппаратного RAID-контроллера за 400-500 убитых енотов (все что дешевле по функционалу уступает софтовому решению) на серверок, где живет полтора-два десятка пользователей - не получалось “ну ни разу”, в то время, как soft-RAID (и LVM) спасают данную ситуацию “на раз”. Вот только “подсадив” несколько небольших структур пару лет назад на Calculate - каждое большое обновление проходишь как “Великий Потоп” - потому как у нас “выпиливают рюшечки и бантики”, а не основной костяк ОС корпоративной среды.
Да поймите, “Господа Родители”, десктопом класса Ubuntu проекту Calculate не стать - ну нет таких ресурсов - ни финансовых, ни людских. Обозначили на старте нишу, и удачно обозначили - корпоративная среда - так “вылепите” нормально для нее дистрибутив - загрузчик, ядро, скрипты (или web-морду) управления, единую авторизацию, перемещаемые профили пользователей, а не распыляйтесь, пытаясь охватить неохватное… А то - за два года моего использования Calculate - как не было вменяемого инсталлятора - так и нет, как не было вменяемой поддержки soft-RAID и LVM - так и нет, как не было единой точки авторизации LDAP - так и нет. Зато - смотрим в раздел документации - “Настройка Asterisk сервера”, “Настройка софтового модема”, “Настройка TV тюнера Avermedia AVerTV 305/307”, “Настройка сканера Epson Perfection 1670”… Это то, без чего не может жить корпоратив ?!! Странно, мне, почему-то казалось, что у меня корпоративный сервер без RAID&LVM мертворожденное дитя, а документацию на Asterisk я в состоянии найти и на оригинальном сайте, так-же как и ньюансы установки на Gentoo-based дистрибутивы …

Извините, что резко написал, но уж накипело за это время - направление обозначили правильное, а пошли черти-куда. Пока проект не умер - я бы лично остановился в “рюшечках” и начал доводить до ума костяк …

Итак, прошел месяц… Вышел Calculate Linux 11.6, перешли на GRUB2, а ситуация с поддержкой soft-RAID и (или) LVM - по прежнему в Ж…, ой, извините, “в глубокой депрессии”…

И да и нет. Без перехода на Grub2 поддержку soft-raid/lvm делать бессмысленно. Так что считайте что половина дела сделана.

Вы справедливо заметили, что последнее время сервер, в отличие от десктопа, почти не прогрессирует. В сентябре прошлого года был начат проект по разработке API для утилит Calculate. В начале этого года был переезд офиса. Это заняло много времени, особенно внедрение Asterisk. Затем мы расстались с ключевым разработчиком серверных утилит. В итоге проект так и не был доведен до конца.

Я не знаю как быстро мы найдем замену. Перед новым человеком снова стоит задача по реализации API. По сути это уже Calculate 3.0, т.к. позволит решить сразу множество проблем.

Во всем остальном я не разделяю Вашу точку зрения.

На днях на примере опишу как установить CLDG-11.6(мне с ней удобнее, но разницы почти никакой) на LVM на RAID5(на другие типы raid - разница будет почти никакая).
Если вам нивтерпеж, то пробуйте, разбирайтесь с mdadm проблем не будет, для lvm есть описание и решение проблемы .

Осталось две проблемы:

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

* Проблема с grub2. Команда

for d in /dev/sd[abc];do grub2-install --no-floppy $d; done

устанавливает в MBR этих дисков загрузчик со всеми необходимыми модулями, но почему-то этот загрузчит не цепляет меню, приходится делать

menuconfig /boot/grub/grub.cnf

ЕСЛИ ЕСТЬ МЫСЛИ по поводу решения - пишите

Михаил Гагауз wrote:

На днях на примере опишу как установить CLDG-11.6(мне с ней удобнее, но разницы почти никакой) на LVM на RAID5(на другие типы raid - разница будет почти никакая).
Если вам нивтерпеж, то пробуйте, разбирайтесь с mdadm проблем не будет, для lvm есть описание и решение проблемы .

Осталось две проблемы:
* Небольшой косяк с названиями LVM разделов, по сути можно считать, что решенный, но в двух словах не описать, поэтому распишу. Но если захотите - сами разберетесь, там не сложно.
* Проблема с grub2. Команда […] устанавливает в MBR этих дисков загрузчик со всеми необходимыми модулями, но почему-то этот загрузчит не цепляет меню, приходится делать […]
ЕСЛИ ЕСТЬ МЫСЛИ по поводу решения - пишите

Хм, у меня нет проблемм ни с тем ни с другим

to Alexander Tratsevskiy :
Я бы перефразировал так - “Без поддержки soft-raid/raid/lvm использовать CDS на боевых серверках и серверах - бессмысленно

to Михаил Гагауз :
Лично мне будет интересно только как Вам удалось заставить GRUB читать /etc/mdadm.conf, или у Вас каждый из них именует soft-raid “по своему” ? тогда это “глубокая депрессия”, если Вам захочется не просто поставить систему на soft-raid, а по “мурзилке линуксоида” разнести (допустим) /boot, /var, /usr и т.д. на разные /dev/mdXX …

Кроме того, могу заметить - разница между CDS 10.X и CDS 11.X - как уже несколько разных людей писали - что в 11.Х скрипты cl-install систему на soft-raid не ставят.
За ссылочку на багзиллу - спасибо, замечательная иллюстрация к моей мысли по поводу недоделанности CDS - кстати, (насколько заметил) - болячка с установкой на soft-raid у всей ветки 11.X …
Никто не спорит, молотком, зубилом и напильником - все поднимается и (почти) лечится - вот только зачем было выпускать релиз, к которому нужны такие “приложения” - ради отметки? Представляю админа, который начнет свое знакомство с CDS с релиза 11.6 - после скольки часов (минут) головняка дистриб будет отправлен в шредер с соответствующими выводами о его “пригодности к эксплуатации” ? И кто кому устроил антирекламу? Родители своему-же детищу :((

Юрий, приезжайте на Gentoo Summer Camp 2011 и я вручу Вам фирменный диск с Calculate Directory Server, с поддержкой установки на soft-raid и lvm.

2 Сергей Трубников

Хм, у меня нет проблемм ни с тем ни с другим

Похоже разобрался, очепятка и один маленький косяк.

2 Yuri Stepanov

как Вам удалось заставить GRUB читать /etc/mdadm.conf

А никого заставлять (ну кроме себя - учиться) ненадо, читайте мат.часть, к примеру man genkernel, гляньте в сторону genkernel.conf, или хотя-бы почитайте ссылку, там указано КАК это сделать.

на разные /dev/mdXX

Еще раз замечу - учите мат.часть, mdXX - это партиции mdadm, lvm создает dm*, с mdadm вообще - проблем нет никаких.

Кроме того, могу заметить - разница между CDS 10.X и CDS 11.X - как уже несколько разных людей писали - что в 11.Х скрипты cl-install систему на soft-raid не ставят.

Насколько мне известно, поддержка установки на RAID и LVM заявлена как TODO, а не как свершившийся факт. Вы из будущего? и как там, лифты в космос на углеродных нанотрубках уже построили?

… За ссылочку на багзиллу - спасибо, замечательная иллюстрация к моей мысли по поводу недоделанности CDS

Простите, вы это специально троллите, или это у ВАС так само получается. Мне просто интересно.

to Михаил Гагауз :

“Еще раз замечу - учите мат.часть, mdXX - это партиции mdadm, lvm создает dm*, с mdadm вообще - проблем нет никаких”
… а на название темы поста Вы уже и внимание не обращаете ? Тем более, я русскими (как мне казалось) буквами написал - “Никто не спорит, молотком, зубилом и напильником - все поднимается и (почти) лечится…”

“с mdadm вообще - проблем нет никаких”
… это Вы так думаете, или все-ж, уже хоть и после релиза “чистовика”, возьмете и попробуете - хоть на виртуалке ?

“Насколько мне известно, поддержка установки на RAID и LVM заявлена как TODO”
А насколько помнят мой руки с моей головой - на 10.Х установка CDS на soft-RAID работала безо всяких TODO и в настоящем (на момент актуальности релизов) времени… Все, что оставалось доделать - это заставить cl-install корректно ставить grub и правильно писать fstab… И - специально для Вас делаю примечание - это не тролинг, а грустная и злобная ирония - это нужно было очень-очень постараться, переписывая cl-install “доапгрейдиться” до того, что скрипту стало “не все-равно” куда он ставит систему - на /dev/sdaX - может, а на /dev/mdX - уже нет…

“Простите, вы это специально троллите”
Да, и специально для Вас, и всех возмущенных, алгоритмы установки и апгрейта системы на soft-RAID:

установка:

  • взять “вспомогательный” HDD
  • установить систему на “вспомогательный” HDD
  • прогрузиться с live-CD
  • собрать средствами mdadm нужный нам soft-RAID
  • мигрировать (клонировать) систему с “вспомогательного” HDD на наш soft-RAID
  • по любой “мурзилке” от GRUB2 выполнить установку и настройку загрузчика на soft-RAID
  • отредактировать fstab
  • перекомпиляция ядра не нужна, если готовы мириться с идиотской нумерацией mdXX “из каропки”

апгрейд с 10.Х:

  • стандартно (через emerge) выполнить обновление системы
  • не перегружаясь!, выполнить перекомпиляцию ядра - с учетом флагов 11.Х и наших пожеланий, т.к. установившееся ядро не работоспособно
  • отредактировать конфигурационные файлы GRUB, fstab, mdadm.conf

… а теперь позволю себе повториться : “является оптимизированным дистрибутивом, предназначенным для быстрого развёртывания в корпоративной среде”… Хм… То-ли что-то со мной, то-ли покажите мне здесь “оптимизацию” и “быстрое развертывание” :frowning:

to Alexander Tratsevskiy:
Спасибо за приглашение - вот только ехать к Вам далековато, но запишу себе в планы - хоть на следующий год постараться попасть… Такой диск - дорогого стоил-бы :slight_smile: Вот только гораздо приятнее было-бы видеть эти функции “в коропке”, благо на стадии релизов 10.X там оставалось “всего-ничего” …

Скрипт, который ставит систему на зеркало. Рейд-массив предварительно нужно собрать, для простоты с–assume-clean.

В скрипте есть нелогичности, использование с обязательным обдумыванием.

Суть скрипта (для тех кому лень читать исходник):

  1. посмотреть из каких устройств состоит массив
  2. разобрать рейд
  3. собрать рейд из одного винта, т.е. зеркало в состоянии degraded
  4. поставить систему через cl-install на высвободившийся винт/раздел
  5. скопировать систему на рейд
  6. добавить второй винт в массив
  7. перегенерить конфиг груба, для загрузки с рейда

Пункты 2 и 3 можно заменить на mdadm -f /dev/sda1; mdadm -r /dev/sda1. Но могут быть косяки с удалением диска из не синхронного рейда. А он такой часто бывает если только что собран.
В принципе то что тут делается, уже описал Юрий, но возможно скрипт кому-то поможет.

#!/bin/bash

echo  Первым параметром нужно передать md устройство , например  md0
 mddev=`cat /proc/mdstat | grep $1`
status=`echo $mddev| awk '{print $3}'`
  type=`echo $mddev| awk '{print $4}'`
  dev1=`echo $mddev| awk '{print substr ($5,1,4)}'`
  dev2=`echo $mddev| awk '{print substr ($6,1,4)}'`

 # Груб нормально станет только на миррор - raid1
if [ $type = "raid1" ]; then
    echo Raid1, ok
else
    echo Bad raid type! Груб нормально станет только на миррор - raid1
    exit 0
fi

echo $dev1
echo $dev2

echo Остановим и затрем рейд...

mdadm -S /dev/$1

mdadm --zero-superblock /dev/$dev1
mdadm --zero-superblock /dev/$dev2

echo "Создаем рейд - зеркало $1 с количеством устройств 2 но на одном винте $dev1 (один винт - missing)"
mdadm -C /dev/$1 --level=1 -n 2 /dev/$dev1 missing --metadata=0.9 -f

mkfs.reiserfs /dev/$1 -f

time cl-install -l ru_RU -d /dev/$dev2:/:reiserfs -f

mkdir -p /mnt/gentoo
mkdir -p /mnt/src

mount /dev/$1 /mnt/gentoo -t reiserfs
mount /dev/$dev2 /mnt/src -t reiserfs

time cp -a /mnt/src/* /mnt/gentoo/

umount /mnt/src
mdadm /dev/$1 -a /dev/$dev2

#exit 0
grub-mkdevicemap -m /mnt/gentoo/boot/grub/device.map

for i in `cat /proc/mdstat | grep md | awk {'print $1'}`

do echo -n "($i)    /dev/disk/by-id/md-uuid-" >> /mnt/gentoo/boot/grub/device.map
    mdadm -D /dev/$i | grep UUID | awk ' { print $3 } ' >> /mnt/gentoo/boot/grub/device.map
done

mount -o bind /dev /mnt/gentoo/dev
mount -o bind /sys /mnt/gentoo/sys
mount -o bind /proc /mnt/gentoo/proc

cat /etc/default/grub | sed 's/quiet"/quiet domdadm"/' > /mnt/gentoo/etc/default/grub

chroot /mnt/gentoo/ grub-mkconfig -o /boot/grub/grub.cfg

umount /mnt/gentoo/* > /dev/null
umount /mnt/gentoo/ > /dev/null

Этим скриптом система нормально стала на зеркало с дефолтной болванки cds-11.6 x86. Если возникнут вопросы по использованию, обращайтесь.

Итак, прошел месяц… Вышел Calculate Linux 11.6, перешли на GRUB2, а ситуация с поддержкой soft-RAID и (или) LVM - по прежнему в Ж…, ой, извините, “в глубокой депрессии”…

В Stage 20110801 добавлена поддержка установки на soft-RAID и []{.или} LVM, а также на LVM развернутый на soft-RAID. К списку поддерживаемых файловых систем добавлена Btrfs. Отдельно выносить /boot раздел при этом не требуется.

ну вот и говорится в анонсах к 11.9 о том, что “поддерживается установка на софтовый рейд”.
Наверно, нужно было дописать, что поддерживается только установка - так как загрузится такая установленная система не может. По крайней мере у меня это не получается.
http://www.calculate-linux.ru/issues/354#note-9

Груб при загрузки сообщает:

error: found two disks with the index 1 for RAID md0
error: superfluous RAID member (2 found).
error: file not found

ls в Rescue mode выдает

(md0) (md0,msdos1) (hd0) (hd0,msdos1) (hd1) (hd1,msdos1)

печально.

Какой командой ставили систему?

cl-install -w /dev/md0p2 --mbr /dev/sdb --mbr /dev/sdc --dhcp eth0 -d /dev/md0p1 такой

проверял ещё

cl-install -w /dev/md0p2 --mbr /dev/sdb /dev/sdc --dhcp eth0 -d /dev/md0p1
cl-install -w /dev/md0p2 --mbr /dev/md0 --dhcp eth0 -d /dev/md0p1
cl-install -w /dev/md0p2 --mbr /dev/sdb,/dev/sdc --dhcp eth0 -d /dev/md0p1
cl-install -w /dev/md0p2 --mbr /dev/sd[b,c] --dhcp eth0 -d /dev/md0p1

безрезультатно.

chroot в установленную систему и <<grub2-install /dev/sdb>> и <<grub2-install /dev/sdc>> - не помогает - система не может загрузиться.

Тип разделов в рейде fd.
Пробовал в chroot делать и в ней устанавливать руками каждый диск grub командой grub-install - все равно не загружается система

Установщик на данный момент может прописать только один mbr. Попробуйте указать только --mbr /dev/sdb, и не выполнять grub2-install, а загрузившись в систему выполнить grub2-install /dev/sdc.
Экспериментировал в виртуальной машине: сделал два диска, сделал на каждом по одному разделу (msdos), из этих разделов сделал raid1, в рейде сделал два раздела один для свопа, другой корневой. Установил систему командой:

cl-install -w /dev/md0p1 --mbr /dev/sda -d /dev/md0p2

Система загрузилась. Да кстати типы разделов я не указывал.

Как я понимаю у вас три диска из второго и третьего вы сделали raid. Что у вас находится на первом, возможно там какой-нибудь левый grub?!? Напишите какими командами вы создавали raid. Что у вас выводится перед установкой командой <<cl-install -p>>

Ошибка:

error: found two disks with the index 1 for RAID md0

Говорит, что найдено два диска с одинаковым индексом. Что-то не так с рейдом.

Если не удастся загрузиться без выполнения grub2-install. Попробуйте прописывать grub2-install не через chroot, а следующим образом.

grub2-install --boot-directory=<каталог_куда_вы_подключили_корневой раздел> /dev/sdb
grub2-install --boot-directory=<каталог_куда_вы_подключили_корневой раздел> /dev/sdc

Возможно grub стоит прописать и на /dev/sda.

sda - это флешка, с которой провожу установку. sdb - мастер на первом канале sata, sdc - слейв на втором канале сата.
остальное отпишу после проверки