Четверг
21.09.2017, 20:45
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории раздела
Разное [15]
Документация [18]
Авторские статьи [45]

Поиск

Свежие статьи
Динамическое деление скоро...
port knocking на mikrotik
Установка NGINX без прав R...
Как настроить время (NTP S...
Настраеваем CROND
Биллинг MikBill на UBUNTU
Даунгрейд PHP до версии 5....
Устанавливаем в Ubuntu 10....
Как настроить MySQL
Как настроить ZendOptimize...

Форма входа
Логин:
Пароль:

Главная » Статьи » Разное

Установка CentOS на программный RAID1

Установка CentOS на программный RAID1

Периодически на форумах возникают вопросы о том как при установке Linux создать зеркало из двух жестких дисков и, собственно, на него установить систему. Обычно на такие вопросы даются или краткие неполные ответы или отправляют читать документацию, которая впрочем, достаточно обширна и массивна. Поэтому здесь описан небольшой пошаговый HOW-TO по данному вопросу.

1. Установка системы и создание разделов

Итак, приступим.

Что мы имеем? Мы имеем компьютер с двумя одинаковыми жесткими дисками, на который требуется установить CentOS Linux 5.5.

Чего мы хотим добиться от Linux и этого компьютера?

  • На этапе установки ОС, средствами Linux объеденить два жестких диска в зеркальный массив RAID1;
  • Произвести установку "пингвина" на уже готовый раздел программного массива;
  • Сделать так чтобы в случае отказа одного из жестких дисков, массив позволял загрузить систему с оставшегося в массиве диска.
  • Поскольку последний попавшийся мне на глаза топик по этому вопросу был про CentOS, то ставить будем CentOS 5.5 (в текстовом режиме).

    Итак, грузимся с компакт-диска, поехали:

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

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

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

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

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

    Первое зеркало создаем, соответственно из разделов sda1 и sdb1, точку монтирования указываем /, файловая система ext3:

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

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

    Далее продолжайте установку, когда инсталлятор спросит Вас куда устанавливать загрузчик grub, то у Вас будет два варианта - /dev/sda1 или /dev/md1. По умолчанию будет выбран второй вариант, хотя это пока без разницы, продолжайте далее настройку как обычно..



    2. Первичная настройка

    Итак, Ваша система установилась и после первой загрузки Вы зашли в консоль под root и видите приглашение системы?

    Замечательно! Теперь Вы можете проверить состояние наших райдов:

    # cat /proc/mdstat
    Personalities: [raid1]
    md0 : active raid1 sdb2[1] sda2[0]
      1052160 blocks [2/2] [UU]
     
    md1 : active raid1 sdb1[1] sda1[0]
      7333568 blocks [2/2] [UU]
     
    unused devices: <none>

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

    # cat /boot/grub/grub.conf | grep -v '#'
    default=0
    timeout=5
    splashimage=(hd0,0)/boot/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.18-194.el5)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.18-194.el5 ro root=/dev/md1
    initrd /boot/initrd-2.6.18-194.el5.img
     

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

    # cat /boot/grub/grub.conf | grep -v '#'
    default=0
    timeout=5
    splashimage=(hd0,0)/boot/grub/splash.xpm.gz
    hiddenmenu
    fallback=1
    title CentOS (2.6.18-194.el5) hd0
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.18-194.el5 ro root=/dev/md1
    initrd /boot/initrd-2.6.18-194.el5.img
    title CentOS (2.6.18-194.el5) hd1
    root (hd1,0)
    kernel /boot/vmlinuz-2.6.18-194.el5 ro root=/dev/md1
    initrd /boot/initrd-2.6.18-194.el5.img
     

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

    Теперь у нас grub знает что в случае чего он может пытаться грузиться с обоих жестких дисков, однако сам загрузчик grub у нас установлен в данный момент только на первый диск (hd0). Поэтому мы должны установить загрузчик на оба жестких диска (жирным шрифтом отмечены сами команды, остальное вывод):

    # grub
    grub> root (hd0,0)
      Filesystem type is ext2fs, partition type 0xfd
    grub> setup (hd0)
      Checking if "/boot/grub/stage1" exists... yes
      Checking if "/boot/grub/stage2" exists... yes
      Checking if "/boot/grub/e2fs_stage1_5" exists... yes
      Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded.
    succeeded
      Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /boot/grub/grub.conf"...succeeded
    Done.

    grub> root (hd1,0)
      Filesystem type is ext2fs, partition type 0xfd
    grub> setup (hd1)
      Checking if "/boot/grub/stage1" exists... yes
      Checking if "/boot/grub/stage2" exists... yes
      Checking if "/boot/grub/e2fs_stage1_5" exists... yes
      Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 15 sectors are embedded.
    succeeded
      Running "install /boot/grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/boot/grub/stage2 /boot/grub/grub.conf"...succeeded
    Done.

    grub> quit

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

    # rpm -q mdadm; [ $? -ne 0 ] && yum install mdadm
    mdadm-2.6.9-3.el5
    # cat /etc/mdadm.conf

    # mdadm.conf written out by anaconda
    DEVICE partitions
    MAILADDR root
    ARRAY /dev/md1 level=raid1 num-devices=2 uuid=f4dd2513:b4fdec87:439604e2:8e576bfe
    ARRAY /dev/md0 level=raid1 num-devices=2 uuid=7c07db93:1e0033d7:08928ab1:563c4697

    Думаю с утилитой mdadm Вы сможете сами разобраться ;), впрочем, если Вы новичек в Linux, то советую с ней быть поосторожней.
    На этом пока все. Если желаете можете проверить как система загрузится при отключенном первом диске, но, опять же, если Вы новичек то я не советую Вам этого делать самостоятельно! А здесь этот процесс я описывать не буду, пока не буду - чуть позже опищу..

    3. Проверка

    Впрочем, если Вы таки взялись попробовать то помните: после того как Вы снова сервер выключите и подцепите диск обратно, то загрузив сервер обязательно посмотрите состояние массивов командой "cat /proc/mdstat"! Скорее всего массивы уже будут в состоянии синхронизации, это означает что данные с "уцелевшего" диска будут копироваться на вновь подцепленный диск.
    Если в массивах разделы только что подцепленного диска будут отсутствовать, то их можно передобавить в массив сделующим образом:

    # cat /proc/mdstat
    Personalities: [raid1]
    md0 : active raid1 sdb2[1] sda2[0]
      1052160 blocks [2/2] [UU]
     
    md1 : active raid1 sdb1[1]
      7333568 blocks [2/1] [U_]
     
    unused devices: <none>

    # mdadm --manage /dev/md1 --re-add /dev/sda1
    mdadm: re-added /dev/sda1
    # cat /proc/mdstat
    Personalities: [raid1]
    md0 : active raid1 sdb2[1] sda2[0]
      1052160 blocks [2/2] [UU]
     
    md1 : active raid1 sda1[2] sdb1[1]
      7333568 blocks [2/1] [_U]
    [=>...................] recovery = 6.6% (487424/7333568) finish=1.8min speed=60928K/sec
     
    unused devices: <none>



    Источник: http://sysadmins.me/topic/633/

    Спонсоры данной статьи


    Категория: Разное | Добавил: -=shurf=- (02.05.2011)
    Просмотров: 52140 | Комментарии: 48 | Теги: RAID-1, Soft RAID-1 | Рейтинг: 0.0/0

    Настройка Mikrotik
    Mikrotik. Поднимаем VPN туннел...
    Как управлять программным Raid...
    Мануал по настройке программно...
    Mikrotik - списки и группы адр...
    Установка NGINX без прав ROOT ...
    Mikrotik - QoS, Bandwidth cont...
    Adress Lists в Mikrotik: чем м...
    Средства Mangle для маркировки...
    Как настроить MySQL
    RouterOS на офисном шлюзе, час...

    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Профиль
    Привет: Гость

    Сообщения:

    Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или войдите!

    Реклама

    Наш опрос
    Чего добавить на сайте?
    Всего ответов: 84

    Нашел ошибку?
    Система Orphus

    Статистика

    Онлайн всего: 2
    Гостей: 1
    Пользователей: 1
    Kamorkaskn



    Бесплатный хостинг uCoz