Установка debian на программный RAID (debootstrap, mdadm)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

pelmen
Сообщения: 1268
ОС: debian

Установка debian на программный RAID

Сообщение pelmen »

Необходимо установить систему (желательно debian) на сервер, в котором 2 жестких диска, таким образом, чтобы это все было на программном raid-зеркале.
Я вот сейчас пробую в virtualbox-e съэмулировать. подцепил 2 одинаковых виртуальных диска, загрузился с live-cd, сделал по 2 раздела на каждом типа linux raid, соединил mdadm в raid1 /dev/sda1+/dev/sdb1, и тоже в raid1 (под swap) /dev/sda2+/dev/sdb2
mkefs.ext3 /dev/md0
mount /dev/md0 /mnt
debootstrap --arch i386 lenny /mnt file:/media/cdrom (туда примонтирован сидюк с дебианом)
mount /proc /mnt/proc
mount /sys /mnt/sys
mount /dev /mnt/dev
chroot /mnt
source /etc/profile
apt-get install linux-image-2.6.26-2-686 mdadm grub
Вот дальше затык. Как сделать, чтоб grub установился на какой-либо из дисков, а корень подцеплял из /dev/md0, а не из /dev/sda1 ? Что писать в menu.lst ?
Может я вообще неправильно все делаю?
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Установка debian на программный RAID

Сообщение rm_ »

У меня lilo стоит на RAID1 (/boot), а корень в RAID5. В lilo.conf:

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

# Specifies the boot device.  This is where Lilo installs its boot
# block.  It can be either a partition, or the raw device, in which
# case it installs in the MBR, and will overwrite the current MBR.
#
boot=/dev/md1

# Specifies the device that should be mounted as root. (`/')
#
root=/dev/md0

А вообще, зачем-то взялись сами всё делать дебутстрапом, извольте расхлёбывать заморочки, почему было просто не воспользоваться загрузкой с установочного диска Debian? Там есть возможность поставиться на RAID прямо в процессе установки, создав массив в мастере разбивки дисков.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Установка debian на программный RAID

Сообщение pelmen »

При загрузке с debian-5.03 для дальнейшей установки, он мне выдал, что не видит жестких дисков.
Загрузился ради интереса с ubuntu-10.04 - он увидел 2 диска. Вот мне и посоветовали сделать с помощью mdadm raid, на него установить debian из-под ubuntu с помощью debootstrap
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Установка debian на программный RAID

Сообщение sash-kan »

pelmen писал(а): ↑
19.05.2010 12:56
При загрузке с debian-5.03 для дальнейшей установки, он мне выдал, что не видит жестких дисков.
Загрузился ради интереса с ubuntu-10.04 - он увидел 2 диска.
так в чём проблема? установите хоть что-нибудь, затем превратите это в то, что нужно. debian.testing → debian.stable, конечно, будет проще, чем ubuntu.* → debian.*.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Установка debian на программный RAID

Сообщение pelmen »

Проблема в том, что мне нужен debian, а не ubuntu.
Может быть мне проще кого-то попросить помочь и заплатить ему денег?
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Установка debian на программный RAID

Сообщение rm_ »

При загрузке с debian-5.03 для дальнейшей установки, он мне выдал, что не видит жестких дисков.

Попробуйте Debian Squeeze (Testing).
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Установка debian на программный RAID

Сообщение pelmen »

Кстати, обязательно ли отключать в биосе fake-raid, если я буду собирать mdadm-ом ? Или не обязательно? Они же все равно видны как /dev/sd{a,b,c,d}
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Установка debian на программный RAID

Сообщение sash-kan »

pelmen писал(а): ↑
19.05.2010 13:08
Проблема в том, что мне нужен debian, а не ubuntu.
так а я вам о чём? поставьте debian. только ядро вам, видимо, нужно поновее, по крайней мере на время установки. «из коробки» оно есть в инсталляторе debian testing.
а потом превращайте систему хоть в old-stable (который etch). но логичнее, конечно, в stable. который lenny.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Установка debian на программный RAID

Сообщение pelmen »

TEsting на сервер не хочется. У меня есть 5.04, какая вероятность, что оно заведется ?
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Установка debian на программный RAID

Сообщение Ленивая Бестолочь »

pelmen писал(а): ↑
19.05.2010 13:54
Кстати, обязательно ли отключать в биосе fake-raid, если я буду собирать mdadm-ом ?

если вы уверены, что вашему fake-raid не придёт в голову что-нибудь сделать с информацией, (чего mdadm не ожидает), то в общем то можно и не отключать.
но думаю вы и сами знаете ответ на этот вопрос ;-)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Установка debian на программный RAID

Сообщение pelmen »

Disk /dev/sda: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b1d5b

Device Boot Start End Blocks Id System
/dev/sda1 * 1 12158 97654784 83 Linux
/dev/sda2 12158 13202 8389257 82 Linux swap / Solaris
/dev/sda3 13203 182401 1359090967+ 83 Linux

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000aeeea

Device Boot Start End Blocks Id System
/dev/sdb1 1 39164 314584798+ fd Linux raid autodetect
/dev/sdb2 39165 182401 1150551202+ fd Linux raid autodetect

Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bc9a2

Device Boot Start End Blocks Id System
/dev/sdc1 1 39164 314584798+ fd Linux raid autodetect
/dev/sdc2 39165 182401 1150551202+ fd Linux raid autodetect

Disk /dev/sdd: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b3d8a

Device Boot Start End Blocks Id System
/dev/sdd1 1 39164 314584798+ fd Linux raid autodetect
/dev/sdd2 39165 182401 1150551202+ fd Linux raid autodetect





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

cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
#DEVICE partitions

# auto-create devices with Debian standard permissions
#CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
#HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
#MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Thu, 20 May 2010 01:22:55 +0400
# by mkconf $Id$




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

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>





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

root@fileserver:~# mdadm --zero-superblock /dev/sdb1
root@fileserver:~# mdadm --zero-superblock /dev/sdb2
mdadm: Unrecognised md component device - /dev/sdb2
root@fileserver:~# mdadm --zero-superblock /dev/sdc1
root@fileserver:~# mdadm --zero-superblock /dev/sdc2
mdadm: Unrecognised md component device - /dev/sdc2
root@fileserver:~# mdadm --zero-superblock /dev/sdd1
mdadm: Unrecognised md component device - /dev/sdd1
root@fileserver:~# mdadm --zero-superblock /dev/sdd2
mdadm: Unrecognised md component device - /dev/sdd2




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

root@fileserver:~# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=3 /dev/sdb2 /dev/sdc2 /dev/sdd2
mdadm: size set to 1150551104K
mdadm: ADD_NEW_DISK for /dev/sdb2 failed: Device or resource busy
root@fileserver:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>


md: could not bd_claim : /dev/sdb2



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

 tail -n 100 /var/log/messages

May 19 21:03:12 fileserver kernel: [ 2145.223408] md: export_rdev(sdc2)
May 19 21:03:38 fileserver kernel: [ 2171.078924] md: md1 still in use.
May 19 21:03:38 fileserver kernel: [ 2171.209019] md: bind<sdd2>
May 19 21:03:38 fileserver kernel: [ 2171.211455] md: bind<sdc2>
May 19 21:03:38 fileserver kernel: [ 2171.223194] md: array md1 already has disks!
May 19 21:03:39 fileserver kernel: [ 2171.243730] md: bind<sdb2>
May 19 21:03:39 fileserver kernel: [ 2171.248905] raid1: md1 is not clean -- starting background reconstruction
May 19 21:03:39 fileserver kernel: [ 2171.248909] raid1: raid set md1 active with 2 out of 3 mirrors
May 19 21:03:39 fileserver kernel: [ 2171.248934] md1: detected capacity change from 0 to 1178164330496
May 19 21:03:39 fileserver kernel: [ 2171.248989] RAID1 conf printout:
May 19 21:03:39 fileserver kernel: [ 2171.248993] --- wd:2 rd:3
May 19 21:03:39 fileserver kernel: [ 2171.248996] disk 0, wo:0, o:1, dev:sdb2
May 19 21:03:39 fileserver kernel: [ 2171.248999] disk 1, wo:0, o:1, dev:sdc2
May 19 21:03:39 fileserver kernel: [ 2171.249001] disk 2, wo:1, o:1, dev:sdd2
May 19 21:03:39 fileserver kernel: [ 2171.249213] md: recovery of RAID array md1
May 19 21:03:39 fileserver kernel: [ 2171.249217] md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
May 19 21:03:39 fileserver kernel: [ 2171.249219] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recov
ery.
May 19 21:03:39 fileserver kernel: [ 2171.249226] md: using 128k window, over a total of 1150551104 blocks.
May 19 21:03:39 fileserver kernel: [ 2171.250560] md1: unknown partition table
May 20 00:40:19 fileserver kernel: [15146.631910] md: md1: recovery done.
May 20 00:40:19 fileserver kernel: [15147.279275] RAID1 conf printout:
May 20 00:40:19 fileserver kernel: [15147.279278] --- wd:3 rd:3
May 20 00:40:19 fileserver kernel: [15147.279282] disk 0, wo:0, o:1, dev:sdb2
May 20 00:40:19 fileserver kernel: [15147.279284] disk 1, wo:0, o:1, dev:sdc2
May 20 00:40:19 fileserver kernel: [15147.279286] disk 2, wo:0, o:1, dev:sdd2
May 20 00:40:19 fileserver kernel: [15147.304387] md: resync of RAID array md1


Что это может быть за проблема такая?


Вот еще логи. Это я сделал mdadm --assemble /dev/md0. Он его собрал, но только из 2 дисков вместо 3.

May 20 01:05:18 fileserver kernel: [16642.748970] md: md0 still in use.
May 20 01:05:18 fileserver kernel: [16642.902153] md: bind<sdc1>
May 20 01:05:18 fileserver kernel: [16642.902490] md: md_import_device returned -16
May 20 01:05:18 fileserver kernel: [16642.903173] md: bind<sdb1>
May 20 01:05:18 fileserver kernel: [16642.906430] raid1: md0 is not clean -- starting background reconstruction
May 20 01:05:18 fileserver kernel: [16642.906434] raid1: raid set md0 active with 2 out of 3 mirrors
May 20 01:05:18 fileserver kernel: [16642.906459] md0: detected capacity change from 0 to 322134736896
May 20 01:05:18 fileserver kernel: [16642.906944] md: delaying resync of md0 until md1 has finished (they share one or more physical units)
May 20 01:05:18 fileserver kernel: [16642.907546] md: md_import_device returned -16
May 20 01:05:18 fileserver kernel: [16642.907635] md0:
May 20 01:05:18 fileserver kernel: [16642.907856] md: md_import_device returned -16
May 20 01:05:18 fileserver kernel: [16642.913029] unknown partition table
May 20 01:05:18 fileserver kernel: [16643.106543] md: bind<sdd1>

Спасибо сказали:
ShurShur
Сообщения: 6
ОС: Debian, Gentoo

Re: Установка debian на программный RAID

Сообщение ShurShur »

pelmen писал(а): ↑
19.05.2010 13:54
Кстати, обязательно ли отключать в биосе fake-raid, если я буду собирать mdadm-ом ? Или не обязательно? Они же все равно видны как /dev/sd{a,b,c,d}


Обязательно!

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

root@fileserver:~# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=3 /dev/sdb2 /dev/sdc2 /dev/sdd2
mdadm: size set to 1150551104K
mdadm: ADD_NEW_DISK for /dev/sdb2 failed: Device or resource busy
root@fileserver:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>


Почему /dev/sdb2 занят? Ты его не смонтировал случаем?

При assemble советую указать и все части рейда явным образом.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Установка debian на программный RAID

Сообщение pelmen »

В том-то и дело, что не занят. Я загрузился после установки стемы, увидел 4 харда, на одном система и своп, на трёх других создал по 2 раздела типа линукс райд, ПЕРЕЗАГРУЗИЛСЯ, и сразу же после загрузки выполняю mdadm --create ..., Вот он мне и говорит, что одно из устройств занято. После чего я начал искать, чем оно занято и увидел, что оно уже состоит в каком-то рейде (cat /proc/mdstat выдал какой-то md_d1), в котором только это устройство. Я его останавливаю, mdadm -S /dev/md_d1, mdadm --zero-superblock /dev/sdd1, снова делаю create, теперь уже sdc1 занят. Опять какой-то md_d1 создался. При этом /etc/mdadm/mdadm.conf пустой. Долго я так возился, пока не получилось с 25 попытки. Потом дождался синхронизации (5 или 6 часов) и пока что боюсь даже что-то думать. Может глюк? При этом я все делал через ssh, а когда подошел к понитору, увидел на нем ошибки:
md: could not db_claim: sdd1
md: could not db_claim: sdc1
и т.д. штук 8
Спасибо сказали:
ShurShur
Сообщения: 6
ОС: Debian, Gentoo

Re: Установка debian на программный RAID

Сообщение ShurShur »

А так?

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

mdadm --create --verbose --level=1 --raid-devices=3 /dev/md1 /dev/sdb2 /dev/sdc2 /dev/sdd2
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Установка debian на программный RAID

Сообщение pelmen »

Так я тоже делал. Разницы ноль.
Спасибо сказали:
Аватара пользователя
spec
Сообщения: 7

Re: Установка debian на программный RAID

Сообщение spec »

Ставил на днях Debian Lenny 5.0 на Fake Raid на чисете Intel-а:

1.Включил в BIOS поддержку RAID для SATA
2.При установке выбрал пунки меню "Help" - далее в консоли написал:

expert dmraid=true

После этого установщик увидел моё зеркало RAID1 и установка прошла успешно.

После установки снял один винт для других целей, В BIOS я исключил убранный винт из состава RAID.
На другой день принёс новый и решил проверить как себя поведёт система.
При заходе в меню RAID мне предложили добавить новый винт в RAID, на что я согласился.
Далее BIOS установил статус для RAID

Rebuild

и пошла загрузка, но потом загрузка отсановилась после надписи

Waiting for root system

после нескольких минут система вывалилась в консоль Busybox.

с помощью команды dmraid -r я посмотрел название моего тома, оно имело вид

isw_xxxxxxxxx

isw_ - это обозначение контроллера Intel (список всех можно посмотреть так: dmraid -l

Самое интересное что название моего тома было другое, чем до того как я снял второй винт.
После различных экспериментов выяснилось - что после удаления и добавления винтов в RAID - имя самого тома меняется!!!

Ладно, вычитал что fake raid подключется в Debian через /dev/mapper/.

Всяко разно пытался примонтировать эти разделы, но не даёт...

Посмотрел в папке /dev/ есть устройства типа dm-0 dm-1 dm-2 и т.д. - причём по аналогии с моими разделами на RAID.

Попробовал примонтировать: mount -t ext3 /dev/dm-1 /tmp и ура всё примонтировалось (там был у меня корень /)

Посмотрел как в /etc/fstab прописано имя моего тома и увидел что там старое имя. Я прописал новое.

Так же в GRUB v1 (после примонтирования соответствующего раздела) в menu.lst - там тоже старое имя тома прописано - заменил на новое.

После этого система стала загружаться нормально, но при загрузке BIOS показывал статус RAID - Rebuild

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

Читал в инете про Ubuntu, в команде dmraid есть ключ -R и он якобы делает rebuild тому.

Так представьте себе в Debian Lenny 5.0 в команде dmraid нет ключа -R.

Почесав репу, я вспомнил про Dovecot который в стабильной версии имел какой-то баг в тестинге баг исправили, я взял и поставил dmraid из тестинга:

/etc/apt/preferenses

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

Package: *
Pin: release a=stable
Pin-Priority: 1001
Package: *
Pin: release a=testing
Pin-Priority: 60
Package: *
Pin: release a=unstable
Pin-Priority: 50


/etc/apt/apt.conf

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

APT::Default-Release "stable";


PS:Не понял нужна эта запись или нет

/etc/apt/sources.lst

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

deb http://mirror.yandex.ru/debian/  stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free

deb http://mirror.yandex.ru/debian/  testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free


apt-get install dmraid/testing

После этого у dmraid появился ключ -R :drinks:
(ps: не помню делал перед этим я команду dmraid -tay или нет)

Командой dmraid -R isw_xxxxxxxxxx я запустил пересборку тома. В этот раз я не дождался конца пересборки (конец рабочего дня) и выключил компьютер. На другой день после загрузки пересборка продолжилась сама автоматически - система при этом работала и пересборка её никак не нагружала.

В итоге RAID пересобрался и в статусе при загрузки BIOS стоял Normal

Так как чипсет был Intel, перед всем вышенаписанным я провёл эксперимент:

-загрузился с Windows XP LiveCD, указал при загрузки дрова с дискеты для SATA RAID котроллера.

- скачал на флешку с рабочей машины из папки "Program Files" "Intel Matrix Storage Manager" запустил с LiveCD файл Shell.exe и о чудо - начался Rbuild моего тома - дождавшись конца том пересобрался и получил статус Normal :drinks:

В итоге я получил два способа востановления моего рейда.

Вот только остался вопрос: :rolleyes:

А можно был ло бы, в /etc/fstab и в menu.lst Grub-а прописать пути к разделам не через /dev/mapper/ , а через /dev/ dm-0 dm-1 dm-2 и т.д , чтобы в случае смены любых винтов в RAID смена имени тома не приводила к тому что система не могла загрузиться ?

В общем вот такие приключения...
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Установка debian на программный RAID

Сообщение rm_ »

Ставил на днях Debian Lenny 5.0 на Fake Raid на чисете Intel-а:

1.Включил в BIOS поддержку RAID для SATA

Это может быть оправдано только в случае, если на той же машине установлена ещё и винда, и RAID надо видеть из под обоих ОС.
В остальных случаях лучше использовать mdadm.
Спасибо сказали: