LINUX.ORG.RU
ФорумAdmin

RAID1 вместе с RAID0 на двух дисках не работает


0

2

Приветствую! Устанавливая ubuntu 12.04.2 server, создал файловую систему на двух физических дисках следующим образом
...................../dev/sda........./dev/sdb ......... Type
/dev/md1 ..... /boot................/boot ............ Raid-1 (mirroring)
..................... swap................ swap ......... Normal partitions
/dev/md3 ....... /................ ...... / ............... Raid-1 (mirroring)
/dev/md4 ....... /home ............ /home ......... Raid-0 (striped)!!!!!
как вот в этой статье, только без LVM http://www.gentoo.org/doc/en/gentoo-x86 raid lvm2-quickinstall.xml
Система встала и работает, как и ожидалось.
НО как только я отключил один диск система не захотела грузится.
В режиме восстановления система догрузилась до (initramfs) и вот последние строчки

mdadm: started array /dev/dm/O
[ 31.451342] md/raidO:ad2: too few disks (1 of 2) — aborting!
[ 31.453244] md0: unknown partition table
[ 31.453822] md: pers—>run() failed …
mdadm: failed to start array /dev/md/2: Invalid argument
[ 31.455835] md/raidl:mdl: active with 1 out of 2 mirrors
[ 31.456541] mdl: detected capacity change from 0 to 2937813248
mdadm: started array /dev/md/l
mdadm: CREATE user root not found
mdadm: CREATE group disk not found
[ 31.485008] md1: unknown partition table
Could not start the RAID in degraded mode.
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
— Check rootdelayr (did the system wait long enough?)
— Check rootr (did the system wait for the right device?)
- Missing modules (cat /proc/moduies; Is /dev)
ALERT! /dev/disk/by—uuid/565f76ce—26f7—4a96—SfbS—1f5d97b14024 does not exist.
Dropping to a shell!
BusyBox vl.1B.5 (Ubuntu 1:1.18.5—lubuntu4.1) built—in shell (ash)
Enter ’help’ for a list of built—in commands.

(initramfs) _

А если установить gentoo по руководству http://www.gentoo.org/doc/en/gentoo-x86 raid lvm2-quickinstall.xml без lvm с компиляцией ядра без genkernel, то отлючая диски по очереди все замечательно грузится!!!!

Если в ubuntu убрать raid0 /dev/md4 /home, то все работает при отключении поочереди дисков

Но gentoo не всегда удобно, какое решение и что включить в ubuntu, чтобы все заработало??????
НО главное, чтобы не нужно было бы править ядро!!! Чтобы можно было безболезненно его обновлять.

RAID1 вместе с RAID0 на двух дисках

/0

exception13 ★★★★★ ()
Ответ на: комментарий от exception13

/0

Если это не facepalm, то - а прочитать хотя бы дальше заголовка? :)

YAR ★★★★★ ()

Покажи вывод команды lsblk.

AnDoR ★★★★★ ()
Ответ на: комментарий от AnDoR

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 190M 0 part
│ └─md0 9:0 0 189,8M 0 raid1 /boot
├─sda2 8:2 0 477M 0 part [SWAP]
├─sda3 8:3 0 2,8G 0 part
│ └─md1 9:1 0 2,8G 0 raid1 /
└─sda4 8:4 0 3,7G 0 part
└─md2 9:2 0 7,5G 0 raid0 /home
sdb 8:16 0 8G 0 disk
├─sdb1 8:17 0 190M 0 part
│ └─md0 9:0 0 189,8M 0 raid1 /boot
├─sdb2 8:18 0 477M 0 part [SWAP]
├─sdb3 8:19 0 2,8G 0 part
│ └─md1 9:1 0 2,8G 0 raid1 /
└─sdb4 8:20 0 3,7G 0 part
└─md2 9:2 0 7,5G 0 raid0 /home
sr0 11:0 1 1024M 0 rom

haruri ()

главное, чтобы не нужно было бы править ядро!!! Чтобы можно было безболезненно его обновлять.

Ядро править не надо, надо тюнить initrd

Pinkbyte ★★★★★ ()

В текст, который выводится из initrd фотографировали или там нет ошибок? Вот, допустим

mdadm: started array /dev/dm/O

там действительно буква «O», а не цифра 0 в конце?

mky ★★★★★ ()
Ответ на: комментарий от mky

фотографировал там 0

вот последние строчки dmesg при загрузки в режиме восстановления

[ 0.637181] ata5.00: ATAPI: VBOX CD-ROM, 1.0, max UDMA/133
[ 0.638015] ata5.00: configured for UDMA/33
[ 0.796155] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 0.796666] ata1.00: ATA-6: VBOX HARDDISK, 1.0, max UDMA/133
[ 0.797079] ata1.00: 16777216 sectors, multi 128: LBA48 NCQ (depth 31/32)
[ 0.797604] ata1.00: configured for UDMA/133
[ 0.798079] scsi 0:0:0:0: Direct-Access ATA VBOX HARDDISK 1.0 PQ: 0 ANSI: 5
[ 0.798904] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 0.799388] sd 0:0:0:0: [sda] 16777216 512-byte logical blocks: (8.58 GB/8.00 GiB)
[ 0.800152] sd 0:0:0:0: [sda] Write Protect is off
[ 0.800538] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 0.800551] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 0.812521] sda: sda1 sda2 sda3 sda4
[ 0.813089] sd 0:0:0:0: [sda] Attached SCSI disk
[ 1.049055] Freeing initrd memory: 15608k freed
[ 1.049063] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 1.049070] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 1.049370] mousedev: PS/2 mouse device common for all mice
[ 1.050072] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
[ 1.050157] rtc0: alarms up to one day, 114 bytes nvram
[ 1.050220] device-mapper: uevent: version 1.0.3
[ 1.050420] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
[ 1.050429] cpuidle: using governor ladder
[ 1.050430] cpuidle: using governor menu
[ 1.050431] EFI Variables Facility v0.08 2004-May-17
[ 1.050824] ashmem: initialized
[ 1.050992] TCP: cubic registered
[ 1.051063] NET: Registered protocol family 10
[ 1.051235] NET: Registered protocol family 17
[ 1.051246] Key type dns_resolver registered
[ 1.051316] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2
[ 1.051588] PM: Hibernation image not present or could not be loaded.
[ 1.051602] registered taskstats version 1
[ 1.065204] Key type trusted registered
[ 1.068467] Key type encrypted registered
[ 1.071797] Magic number: 5:304:222
[ 1.072951] rtc_cmos rtc_cmos: setting system clock to 2013-03-16 09:13:10 UTC (1363425190)
[ 1.073951] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[ 1.074382] EDD information not available.
[ 1.124505] ata2: SATA link down (SStatus 0 SControl 300)
[ 1.356409] usb 1-1: new full-speed USB device number 2 using ohci_hcd
[ 1.448521] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 1.450666] ata3.00: ATA-6: VBOX HARDDISK, 1.0, max UDMA/133
[ 1.453667] ata3.00: 2097152 sectors, multi 128: LBA48 NCQ (depth 31/32)
[ 1.456171] ata3.00: configured for UDMA/133
[ 1.458648] scsi 2:0:0:0: Direct-Access ATA VBOX HARDDISK 1.0 PQ: 0 ANSI: 5
[ 1.462041] sd 2:0:0:0: [sdb] 2097152 512-byte logical blocks: (1.07 GB/1.00 GiB)
[ 1.462188] sd 2:0:0:0: Attached scsi generic sg1 type 0
[ 1.467235] sd 2:0:0:0: [sdb] Write Protect is off
[ 1.469063] sd 2:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 1.469158] sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.481757] sdb: sdb1
[ 1.484179] sd 2:0:0:0: [sdb] Attached SCSI disk
[ 1.487285] scsi 4:0:0:0: CD-ROM VBOX CD-ROM 1.0 PQ: 0 ANSI: 5
[ 1.493331] sr0: scsi3-mmc drive: 32x/32x xa/form2 tray
[ 1.494911] cdrom: Uniform CD-ROM driver Revision: 3.20
[ 1.498489] sr 4:0:0:0: Attached scsi CD-ROM sr0
[ 1.499067] sr 4:0:0:0: Attached scsi generic sg2 type 5
[ 1.507707] Freeing unused kernel memory: 948k freed
[ 1.510025] Write protecting the kernel read-only data: 12288k
[ 1.527309] Freeing unused kernel memory: 1352k freed
[ 1.537332] Freeing unused kernel memory: 1048k freed
<30>[ 1.568151] udevd[104]: starting version 175
[ 1.586723] md: linear personality registered for level -1
[ 1.595775] md: multipath personality registered for level -4
[ 1.600878] md: raid0 personality registered for level 0
[ 1.605416] md: raid1 personality registered for level 1
[ 1.610337] async_tx: api initialized (async)
[ 1.612768] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[ 1.613386] e1000: Copyright (c) 1999-2006 Intel Corporation.
[ 1.614156] e1000 0000:00:03.0: setting latency timer to 64
[ 1.614900] usb 1-1: New USB device found, idVendor=80ee, idProduct=0021
[ 1.615431] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[ 1.615979] usb 1-1: Product: USB Tablet
[ 1.616526] usb 1-1: Manufacturer: VirtualBox
[ 1.676138] raid6: sse2x1 2599 MB/s
[ 1.679443] usbcore: registered new interface driver usbhid
[ 1.679942] usbhid: USB HID core driver
[ 1.686935] input: VirtualBox USB Tablet as /devices/pci0000:00/0000:00:06.0/usb1/1-1/1-1:1.0/input/input3
[ 1.689983] hid-generic 0003:80EE:0021.0001: input,hidraw0: USB HID v1.10 Mouse [VirtualBox USB Tablet] on usb-0000:00:06.0-1/input0
[ 1.744056] raid6: sse2x2 3016 MB/s
[ 1.796626] md: bind<sda1>
[ 1.802184] md: bind<sda4>
[ 1.810739] md: bind<sda3>
[ 1.812079] raid6: sse2x4 3167 MB/s
[ 1.812873] raid6: using algorithm sse2x4 (3167 MB/s)
[ 1.813706] raid6: using intx1 recovery algorithm
[ 1.816777] xor: automatically using best checksumming function:
[ 1.856109] generic_sse: 403.000 MB/sec
[ 1.859283] md: raid6 personality registered for level 6
[ 1.860187] md: raid5 personality registered for level 5
[ 1.861042] md: raid4 personality registered for level 4
[ 1.871799] md: raid10 personality registered for level 10
[ 2.126479] e1000 0000:00:03.0: eth0: (PCI:33MHz:32-bit) 08:00:27:7c:89:67
[ 2.127014] e1000 0000:00:03.0: eth0: Intel(R) PRO/1000 Network Connection
[ 31.921609] bio: create slab <bio-1> at 1
[ 31.922271] md/raid0:md2: too few disks (1 of 2) - aborting!
[ 31.922957] md: pers->run() failed ...
[ 31.925889] md/raid1:md0: active with 1 out of 2 mirrors
[ 31.926323] md0: detected capacity change from 0 to 199032832
[ 31.929210] md/raid1:md1: active with 1 out of 2 mirrors
[ 31.929690] md1: detected capacity change from 0 to 2997813248
[ 31.945988] md0: unknown partition table
[ 31.946028] md1: unknown partition table
[ 105.170600] EXT3-fs (sdb1): error: couldn't mount because of unsupported optional features (240)
[ 105.197712] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)

haruri ()
Ответ на: фотографировал там 0 от haruri

Предупреждайте, что фотографируете :-)

В стартовом сообщении у вас система в режиме восстановления не загрузилась, а теперь загрузалась? Или я что-то путаю?

А вот это самый ″/dev/disk/by—uuid/565f76ce—26f7—4a96—SfbS—1f5d97b14024″ из-за отсутствия которого система в стартовом посте не загружалась, это кто?

ЕМНИП, когда initrd выходит в шелл «Dropping to a shell!», там можно попробовать ввести ″exit″ и загрузка должна продолжится.

mky ★★★★★ ()

режиме восстановления загружалась.

Если режиме восстановления в (initramfs) набрать, exit, то система загрузилась
/dev/disk/by—uuid/565f76ce—26f7—4a96—SfbS—1f5d97b14024 - это распознавание текста неправильное, простите - это устройство md1

и вот вывод существующих устройств
root@ubuntuS64:/# blkid
/dev/sda1: UUID=«6c0a935a-1a30-df1c-c2e9-b9f399453e16» UUID_SUB=«70acd34d-b79c-94f9-a815-4f8c40e608b4» LABEL=«ubuntuS64:0» TYPE=«linux_raid_member»
/dev/sda2: UUID=«8581b360-b4df-4065-bf43-a778d472058c» TYPE=«swap»
/dev/sda3: UUID=«36ee3fd3-3c33-3567-9e14-fe6479cf166c» UUID_SUB=«d6fe75dd-396b-a99b-2464-301c16261431» LABEL=«ubuntuS64:1» TYPE=«linux_raid_member»
/dev/sda4: UUID=«8f81276c-c11d-b2f7-2f70-2a97fc0ea88e» UUID_SUB=«e48bd58b-8225-8d44-e947-db3d6a9c218c» LABEL=«ubuntuS64:2» TYPE=«linux_raid_member»
/dev/md1: UUID=«569f76ce-26f7-4a96-9fb8-1f5d97b14024» TYPE=«ext4»
/dev/md0: UUID=«5ae9fc1f-f85d-46c3-ab29-25879d4bd587» TYPE=«ext2»
Так что нужно для нормального полета, без команды exit?

haruri ()
Ответ на: режиме восстановления загружалась. от haruri

Re: режиме восстановления загружалась.

Я не очень хорошо знаю ubuntu, но насколько я понял, это у них специально сделана проверка на состояние дисков raid-массивов в initrd и блокирование дальнейшей автоматической загрузки если один из дисков не рабочий.

Вроде как раньше была опция ″bootdegraded=yes″, которую нужно было указывать ядру (загрузчику ядра) и всё грузилось. Но, судя по этому: https://bugs.launchpad.net/ubuntu/ source/mdadm/ bug/1077650 эта опция давно сломана. Вот здесь вот дают совет как исправить initramfs-tools https://bugs.launchpad.net/ubuntu/ source/mdadm/ bug/1062159 и собрать новый образ initramfs. Если пойдёте этим путём не забудьте скопировать старый образ initramfs, чтобы в случае чего было с чем грузится.

mky ★★★★★ ()

Если даже удастся изменить initramfs и создать новый, то

при обновлении системы, его придется опять формировать?
тогда лучше остаться на gentoo, где, все равно, делаешь все руками?

haruri ()

Gentoo или ubuntu решать вам, может gentoo и лучше, так как в ubuntu тяжелее плыть против системы.

Initramfs создаётся каждый раз при обновлении ядра, если поправить руками initramfs-tools, то пока initramfs-tools не обновится, будет создаваться нужный вам initramfs. В принципе, обновление initramfs-tools можно заблокировать, но я не знаю, обновление каких пакетов будет из-за этого заблокировано по зависимостям.

mky ★★★★★ ()
Ответ на: комментарий от mky

Возможно что эти проблемы связаны с metadata?

raid в gentoo --metadata=0.9
,а raid в ubuntu --metadata=1.2
?

haruri ()

Re: Возможно что эти проблемы связаны с metadata?

Проблема в initramfs (initrd). В нём специально сделана проверка, что в raid'е есть все диски, чтобы о выходе диска из строя все знали. А то вдруг кто ночью из сервера половину дисков украдёт, а никто и не заметит :-))

У меня негде проверить, но получается, что даже если у вас будет только RAID-1 (без RAID-0), то ubuntu сама всё равно не загрузится на одном диске. Будет ждать ввода ″exit″ в аварийном busybox shell.

Версия метаданных 0.9 позволяет отказатся от сборки RAID средствами initramfs (переложить это на RAID-autodetect в ядре). Но я не знаю, в стандартных ядрах ubutu включена ли эта опциия и если «ДА», то можно ли сделать штатными средствами, чтобы initramfs не проверял RAID.

Метаданные 1.2 означают, что RAID собирается только initramfs, но это не означает, что обязательно нужны все диски, просто в ubuntu есть такая проверка.

mky ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.