Создание программного RAID1 массива

Есть и такой ОС.

Модератор: weec

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Саша
мл. сержант
Сообщения: 126
Зарегистрирован: 2008-06-08 20:10:46
Контактная информация:

Создание программного RAID1 массива

Непрочитанное сообщение Саша » 2009-10-05 10:32:22

Здравствуйте у меня стоит сервак с 1 жёстким seagute 80 GB на exim почтовом сервере.Думаю это опасно и рискованно, чтобы уберечь себя собираюсь заккупить ещё один подобный жёсткий и хочу сделать ужё на установленной системе натроить раид 1 массив - тобишь зеркалку, уважаемые форумчане= ) кто может подсказать как это сделать или може т статью подкинет. система fedora core

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35418
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Создание программного RAID1 массива

Непрочитанное сообщение Alex Keda » 2009-10-05 11:24:47

купите нормальный хардвернй контроллер.
так, пожелание =)))
Убей их всех! Бог потом рассортирует...

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: Создание программного RAID1 массива

Непрочитанное сообщение Alex_hha » 2009-10-06 19:28:28

mdadm тебе в руки. Там все просто

Аватара пользователя
Саша
мл. сержант
Сообщения: 126
Зарегистрирован: 2008-06-08 20:10:46
Контактная информация:

Re: Создание программного RAID1 массива

Непрочитанное сообщение Саша » 2009-10-23 9:17:33

ВОт нашёл статью по настройке программного RAID 1 на установленной системе с присоединённы втормы жёстким схожим с первым.только возник небольшой вопрос:

Код: Выделить всё

[root@srv2 ~]# cat /etc/redhat-release
CentOS release 5 (Final)
[root@srv2 ~]# uname -r
2.6.18-53.el5

Просмотрим таблицу разделов:

[root@srv2 ~]# fdisk -l

Диск /dev/hda: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт

Устр-во Загр Начало Конец Блоки Id Система
/dev/hda1 * 1 9663 77618016 83 Linux
/dev/hda2 9664 9728 522112+ 82 Linux своп / Solaris

Диск /dev/hdb: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт

Устр-во Загр Начало Конец Блоки Id Система 


По полученным данным видно, что установлены два идентичных жестких диска объемом 80 Гб. На первом диске создано 2 раздела: корневая файловая система и SWAP-раздел. Второй жесткий диск абсолютно пуст. Диски определены системой как hda и hdb.

Первым делом нам необходимо создать таблицу разделов на втором диске, идентичной первому.

[root@srv2 ~]# sfdisk -d /dev/hda | sfdisk /dev/hdb

Опция -d делает дамп таблицы разделов.


Если Вы получите сообщение об ошибке используйте опцию --force.

Посмотрим теперь, что представляют диски, установленные в системе:

[root@srv2 ~]# fdisk -l

Диск /dev/hda: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт

Устр-во Загр Начало Конец Блоки Id Система
/dev/hda1 * 1 9663 77618016 83 Linux
/dev/hda2 9664 9728 522112+ 82 Linux своп / Solaris

Диск /dev/hdb: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт

Устр-во Загр Начало Конец Блоки Id Система
/dev/hdb1 * 1 9663 77618016 83 Linux
/dev/hdb2 9664 9728 522112+ 82 Linux своп / Solaris


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

Теперь изменим тип таблицы разделов на втором диске на Linux raid autodetect:

[root@srv1 ~]# fdisk /dev/hdb


На запрос введем t. Пункт t - это изменение id системы раздела.
Выбираем номер раздела (напомню в нашем случае их 2).
Вводим шестнадцатеричный id код. Т.к. нам нужно Linux raid autodetect, то выбираем fd.


То же самое повторяем и для второго раздела:


Теперь записываем таблицу разделов на диск и выходим, выбрав опцию w.


Теперь загоним разделы нашего второго диска в массивы. Статус RAID намеренно выбран degraded.

[root@srv1 ~]# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdb1

Если все успешно, то получаем сообщение:

mdadm: array /dev/md0 started.


При попытке повторить то же самое для второго раздела:

[root@srv2 ~]# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdb2

Получаем сообщение об ошибке:

mdadm: error opening /dev/md1: No such file or directory

Мы воспользуемся опцией --auto:

[root@srv2 ~]# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdb2 --auto=yes

И получим сообщение, что операция прошла успешно:

mdadm: array /dev/md1 started.


Теперь выполним команду cat /proc/mdstat и убедимся, что наш деградировавший рейд работает:

[root@srv2 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdb2[1]
522048 blocks [2/1] [_U]

md0 : active raid1 hdb1[1]
77617920 blocks [2/1] [_U]

unused devices: 
[root@srv2 ~]#

По статусу _U видим, что с первым диском у нас проблемы, что естественно, ведь его в массиве нет, а вот со вторым все ОК.


Теперь создадим файловые системы в наших массивах: ext3 в первом массиве и swap по втором:

[root@srv2 ~]# mkfs.ext3 /dev/md0
[root@srv2 ~]# mkswap /dev/md1


Теперь создадим директорию для монтирования первого массива и смонтируем его туда:

[root@srv2 ~]# mkdir /mnt/md0
[root@srv2 ~]# mount /dev/md0 /mnt/md0/


Создаем файл конфигурации mdadm - /etc/mdadm.conf:

[root@srv2 ~]# nano -w /etc/mdadm.conf


И вносим в него такую строку: DEVICE partitions


Теперь заносим информацию о RAID массивах в файл конфигурации mdadm:

[root@srv2 ~]# mdadm --detail --scan >> /etc/mdadm.conf


Теперь правим файл /etc/fstab:

[root@srv2 ~]# nano -w /etc/fstab


И приводим в соответствие с подчеркнутыми значениями:


Теперь необходимо отредактировать конфигурационный файл загрузчика GRUB:

[root@srv2 ~]# nano -w /boot/grub/grub.conf


Делаем две копии конфигурации текущего раздела.
Значения которые подлежат изменению подчеркнуты красным.


Создаем новый образ initrd командой:

[root@srv2 ~]# mkinitrd /boot/initrd-`uname -r`-raid1.img `uname -r`


Теперь переносим данные нашей системы на массив:

[root@srv1 ~]# cp -dpRx / /mnt/md0/


Теперь настроим загрузчик на второй диск, введя команду grub:

[root@srv2 ~]# grub


Работать будем с меню GRUB:

grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit


Теперь перезагружаемся и выбираем для загрузки второй ядро:



Теперь изменим тип таблицы разделов на перовом диске на Linux raid autodetect:

[root@raid1 ~]# fdisk /dev/hda


На запрос введем t. Пункт t - это изменение id системы раздела.
Выбираем номер раздела (напомню в нашем случае их 2).
Вводим шестнадцатеричный id код. Т.к. нам нужно Linux raid autodetect, то выбираем fd.


То же самое повторяем и для второго раздела:


Теперь записываем таблицу разделов на диск и выходим, выбрав опцию w.


Теперь добавляем первый раздел на первом диске в наш первый массив (извините за тавтологию):

[root@raid1 ~]# mdadm --add /dev/md0 /dev/hda1


И второй:

[root@raid1 ~]# mdadm --add /dev/md1 /dev/hda2


Сейчас начался ребилдинг массива. Процесс достаточно длительный и зависит от емкости диска. За процессом можно наблюдать:

[root@raid1 ~]# watch cat /proc/mdstat


Теперь выполним команду cat /proc/mdstat и убедимся, что наш первый диск добавлен в массив:


Следующим шагом нам необходимо изменить файл конфигурации mdadm:

[root@raid1 ~]# nano -w /etc/mdadm.conf


Нам необходимо либо удалить, либо закомментировать строки с параметрами дисков:


Сохраняем изменения и выходим.

Теперь соберем новые данные о массивах:

[root@raid1 ~]# mdadm --detail --scan >> /etc/mdadm.conf


И пересоберем образ ядра. Обратите внимание на опцию -f, она позволит перезаписать существующие данные.

[root@raid1 ~]# mkinitrd -f /boot/initrd-`uname -r`-raid1.img `uname -r`

Всё делал по этапно всё ок пока не наткнулся на проблему..Если лень её просматривать то скажите пожалуйста при работе в Grub как мне узнать какой у меня по счёту второй жёсткий hd1 или hd2 и.т.п т.к при следущих оперций у меня вылезает ошибка:

grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)

до этого всё ок но послетого как ввожу
grub> setup (hd1)
вылезает ошибка:


Filesystem type is xfs, partition type 0x83
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no
Error 15: File not found

ругается как будто не может найти конфиг файлы но они там есть я проверял, поэтомук думаю что неправильно указываю второй жёсткий в grub меню (((