1. Установка системы и создание разделов
mmИтак, приступим.
mmЧто мы имеем? Мы имеем компьютер с двумя одинаковыми жесткими дисками, на который требуется установить CentOS Linux 5.5.
mmЧего мы хотим добиться от Linux и этого компьютера?
- На этапе установки ОС, средствами Linux объеденить два жестких диска в зеркальный массив RAID1;
- Произвести установку "пингвина" на уже готовый раздел программного массива;
- Сделать так чтобы в случае отказа одного из жестких дисков, массив позволял загрузить систему с оставшегося в массиве диска.
mmПоскольку последний попавшийся мне на глаза топик по этому вопросу был про CentOS, то ставить будем CentOS 5.5 (в текстовом режиме).
mmИтак, грузимся с компакт-диска, поехали:
Уменьшено на 70% (720 x 400) - Нажмите для увеличения
mmНа первых шагах установки параметры выбирайте по своему усмотрению, до тех пор пока не дойдете до экрана "Partitioning type":
Уменьшено на 70% (720 x 400) - Нажмите для увеличения
mmУбедитесь что внизу, в вопросе "Which drive(s) do you want to use...?" отмечены оба жестких диска, если нет, то соответственно их нужно отметить. Дальше выбираем вариант "Create custom layout" и жмем "OK", видим два пустых диска:
Уменьшено на 70% (720 x 400) - Нажмите для увеличения
mmВот отсюда и начнется интересное. Жмем "NEW" и создаем раздел под систему, тип раздела указываем "software RAID", размер раздела можете указать по своему усмотрению (я решил все разместить на / и сделать его загрузочным, соответственно, размер раздела у меня равен размеру жесткого диска за вычетом 1Гб под swap):
Уменьшено на 70% (720 x 400) - Нажмите для увеличения
mmСледом за основным разделом, в оставшемся 1Гб свободного пространства создаем еще один раздел такого же типа:
Уменьшено на 70% (720 x 400) - Нажмите для увеличения
mmТеперь мы имеем разделы на первом жестком диске, далее по аналогии создайте точно такие же разделы на втором винчестере (важно чтобы совпадали размеры разделов и чтоб тип у них был "software RAID"). После того как на втором диске разделы будут созданы, можно нажимать кнопку "RAID" и приступать к созданию зеркал.
mmПервое зеркало создаем, соответственно из разделов sda1 и sdb1, точку монтирования указываем /, файловая система ext3:
Уменьшено на 70% (720 x 400) - Нажмите для увеличения
mmВторое зеркало создаем соответственно из sda2 и sdb2, без точки монтирования и в файловой системе указываем что это будет swap:
Уменьшено на 70% (720 x 400) - Нажмите для увеличения
mmВ итоге должно получиться следующее:
Уменьшено на 70% (720 x 400) - Нажмите для увеличения
mmДалее продолжайте установку, когда инсталлятор спросит Вас куда устанавливать загрузчик grub, то у Вас будет два варианта - /dev/sda1 или /dev/md1. По умолчанию будет выбран второй вариант, хотя это пока без разницы, продолжайте далее настройку как обычно..
2. Первичная настройка
mmИтак, Ваша система установилась и после первой загрузки Вы зашли в консоль под root и видите приглашение системы?
mmЗамечательно! Теперь Вы можете проверить состояние наших райдов:
Уменьшено на 70% (720 x 190) - Нажмите для увеличения
mmЗдесь мы видим что с обоими райдами у нас все в порядке. Теперь давайте посмотрим что у нас в настройках grub.conf:
Уменьшено на 70% (720 x 208) - Нажмите для увеличения
mmВ этом конфиге мы видим что системе указано выполнять загрузку с /dev/md1 (если при установке Вы указывали устанавливать загрузчик на /dev/sdaX, то соответственно конфиг будет другой), т.е. при старте система попытается загрузиться с зеркального массива. Однако, строка "root (hd0,0)" означает что из зеркала будет взят первый диск и загрузка будет произведена именно с него. Разумеется, нас это совершенно не устраивает, т.к. если первый жесткий диск выйдет из строя, система не загрузится.. Поэтому открываем в текстовом редакторе (кому как нравится, а я юзаю mc->F4, ( yum install mc)), файл grub.conf и приводим к следующему виду:
Уменьшено на 70% (720 x 298) - Нажмите для увеличения
mmКак Вы уже наверное догадались, вторым пунктом добавлена настройка, указывающая загружать систему с того же зеркала /dev/md1, но уже со второго диска ("root (hd1,0)"). Так вот, если вдруг, не дай бог конечно, первый диск выйдет из строя, то как раз на этот случай вставлена опция "fallback=1" - в случае неудачной загрузки пункта #0 (hd0) система предпримет попытку загрузиться со следующего пункта #1 (hd1).
mmТеперь у нас grub знает что в случае чего он может пытаться грузиться с обоих жестких дисков, однако сам загрузчик grub у нас установлен в данный момент только на первый диск (hd0). Поэтому мы должны установить загрузчик на оба жестких диска (жирным шрифтом отмечены сами команды, остальное вывод):
Уменьшено на 70% (720 x 396) - Нажмите для увеличения
mmТеперь проверим установлен ли пакет mdadm, и если да (у меня он установился вместе с базовой системой), то посмотрим mdadm.conf:
Уменьшено на 70% (720 x 156) - Нажмите для увеличения
mmДумаю с утилитой mdadm Вы сможете сами разобраться ;), впрочем, если Вы новичек в Linux, то советую с ней быть поосторожней.
На этом пока все. Если желаете проверить как система загрузится при отключенном первом диске, но, опять же, если Вы новичек то я не советую Вам этого делать самостоятельно! А здесь этот процесс я описывать не буду, пока не буду - чуть позже опишу..
3. Проверка
mmВпрочем, если Вы таки взялись попробовать то помните: после того как Вы снова сервер выключите и подцепите диск обратно, то загрузив сервер обязательно посмотрите состояние массивов командой "cat /proc/mdstat"! Скорее всего массивы уже будут в состоянии синхронизации, это означает что данные с "уцелевшего" диска будут копироваться на вновь подцепленный диск.
mmЕсли в массивах разделы только что подцепленного диска будут отсутствовать, то их можно передобавить в массив сделующим образом:
Уменьшено на 70% (720 x 418) - Нажмите для увеличения