mmПериодчески на форумах возникают вопросы о том как при установке Linux создать зеркало из двух жестких дисков и, собственно, на него установить систему. Обычно на такие вопросы даются или краткие неполные ответы или отправляют читать документацию, которая впрочем, достаточно обширна и массивна. Поэтому здесь описан небольшой пошаговый HOW-TO по данному вопросу.
1. Установка системы и создание разделов
mmИтак, приступим.
mmЧто мы имеем? Мы имеем компьютер с двумя одинаковыми жесткими дисками, на который требуется установить CentOS Linux 5.5.
mmЧего мы хотим добиться от Linux и этого компьютера?
- На этапе установки ОС, средствами Linux объеденить два жестких диска в зеркальный массив RAID1;
- Произвести установку "пингвина" на уже готовый раздел программного массива;
- Сделать так чтобы в случае отказа одного из жестких дисков, массив позволял загрузить систему с оставшегося в массиве диска.
mmПоскольку последний попавшийся мне на глаза топик по этому вопросу был про CentOS, то ставить будем CentOS 5.5 (в текстовом режиме).
mmИтак, грузимся с компакт-диска, поехали:

mmНа первых шагах установки параметры выбирайте по своему усмотрению, до тех пор пока не дойдете до экрана "Partitioning type":

mmУбедитесь что внизу, в вопросе "Which drive(s) do you want to use...?" отмечены оба жестких диска, если нет, то соответственно их нужно отметить. Дальше выбираем вариант "Create custom layout" и жмем "OK", видим два пустых диска:

mmВот отсюда и начнется интересное. Жмем "NEW" и создаем раздел под систему, тип раздела указываем "software RAID", размер раздела можете указать по своему усмотрению (я решил все разместить на / и сделать его загрузочным, соответственно, размер раздела у меня равен размеру жесткого диска за вычетом 1Гб под swap):

mmСледом за основным разделом, в оставшемся 1Гб свободного пространства создаем еще один раздел такого же типа:

mmТеперь мы имеем разделы на первом жестком диске, далее по аналогии создайте точно такие же разделы на втором винчестере (важно чтобы совпадали размеры разделов и чтоб тип у них был "software RAID"). После того как на втором диске разделы будут созданы, можно нажимать кнопку "RAID" и приступать к созданию зеркал.
mmПервое зеркало создаем, соответственно из разделов sda1 и sdb1, точку монтирования указываем /, файловая система ext3:

mmВторое зеркало создаем соответственно из sda2 и sdb2, без точки монтирования и в файловой системе указываем что это будет swap:

mmВ итоге должно получиться следующее:

mmДалее продолжайте установку, когда инсталлятор спросит Вас куда устанавливать загрузчик grub, то у Вас будет два варианта - /dev/sda1 или /dev/md1. По умолчанию будет выбран второй вариант, хотя это пока без разницы, продолжайте далее настройку как обычно..
2. Первичная настройка
mmИтак, Ваша система установилась и после первой загрузки Вы зашли в консоль под root и видите приглашение системы?
mmЗамечательно! Теперь Вы можете проверить состояние наших райдов:

mmЗдесь мы видим что с обоими райдами у нас все в порядке. Теперь давайте посмотрим что у нас в настройках grub.conf:

mmВ этом конфиге мы видим что системе указано выполнять загрузку с /dev/md1 (если при установке Вы указывали устанавливать загрузчик на /dev/sdaX, то соответственно конфиг будет другой), т.е. при старте система попытается загрузиться с зеркального массива. Однако, строка "root (hd0,0)" означает что из зеркала будет взят первый диск и загрузка будет произведена именно с него. Разумеется, нас это совершенно не устраивает, т.к. если первый жесткий диск выйдет из строя, система не загрузится.. Поэтому открываем в текстовом редакторе (кому как нравится, а я юзаю mc->F4, ( yum install mc)), файл grub.conf и приводим к следующему виду:

mmКак Вы уже наверное догадались, вторым пунктом добавлена настройка, указывающая загружать систему с того же зеркала /dev/md1, но уже со второго диска ("root (hd1,0)"). Так вот, если вдруг, не дай бог конечно, первый диск выйдет из строя, то как раз на этот случай вставлена опция "fallback=1" - в случае неудачной загрузки пункта #0 (hd0) система предпримет попытку загрузиться со следующего пункта #1 (hd1).
mmТеперь у нас grub знает что в случае чего он может пытаться грузиться с обоих жестких дисков, однако сам загрузчик grub у нас установлен в данный момент только на первый диск (hd0). Поэтому мы должны установить загрузчик на оба жестких диска (жирным шрифтом отмечены сами команды, остальное вывод):

mmТеперь проверим установлен ли пакет mdadm, и если да (у меня он установился вместе с базовой системой), то посмотрим mdadm.conf:

mmДумаю с утилитой mdadm Вы сможете сами разобраться ;), впрочем, если Вы новичек в Linux, то советую с ней быть поосторожней.
На этом пока все. Если желаете проверить как система загрузится при отключенном первом диске, но, опять же, если Вы новичек то я не советую Вам этого делать самостоятельно! А здесь этот процесс я описывать не буду, пока не буду - чуть позже опишу..
3. Проверка
mmВпрочем, если Вы таки взялись попробовать то помните: после того как Вы снова сервер выключите и подцепите диск обратно, то загрузив сервер обязательно посмотрите состояние массивов командой "cat /proc/mdstat"! Скорее всего массивы уже будут в состоянии синхронизации, это означает что данные с "уцелевшего" диска будут копироваться на вновь подцепленный диск.
mmЕсли в массивах разделы только что подцепленного диска будут отсутствовать, то их можно передобавить в массив сделующим образом:

4. Ссылки
mdadm-Википедия (рус.)
Программный RAID в Linux (рус.)
wiki man mdadm (англ.)
Настройка программного RAID1 на работающей системе (включая конфигурацию GRUB) (рус.) (Автор: Falko Timme, Перевод: Андрей Синицын aka boombick)
5. Заключение
mmСпасибо всем кто прочитал эту статью, а в особенности тем, кому она оказалась полезной. Судя по всему, это не окончательная версия статьи, т.к. слишком многие моменты я не стал описывать. По мере возможности обещаю вносить дополнения и уточнения. Если у Вас возникли какие то вопросы, замечания или предложения - пишите.
mmУдачи!
Данная статья в HTML:
mmВариант в HTML онлайн
mmСкачать в архиве tar.gz
Все права на данную публикацию принадлежат владельцам сайтов coreit.ru и SysAdmins.Me © 2010
mm
Сообщение отредактировал йогурт: 13 Октябрь 2010 - 01:25

Помощь
















