mdadm, UUID, Gentoo, Ubuntu и все-все-все
Напакостил я конкретно...
Есть RAID5 из 4-х 400-гиговых винтов, был собран под Gentoo полтора года назад с пол-пинка (хоть это и был первый опыт), отлично проработал.
По рабочим потребностям нужно было этот массив перенести на Ubuntu, тут-то всё и началось.
Ubuntu не видит разделов на 2-х винтах из 4-х. Прозрел, вернул винт с генту, рейд работает. Загрузил убунту - не работает. Полез копать, вот что получилось:
запускаем "mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1 /dev/scd1 /dev/sde1", получаем
mdadm: looking for devices for /dev/md0 mdadm: cannot open device /dev/sdb1: No such file or directory mdadm: /dev/sdb1 has no superblock - assembly aborted
не понял юмора... запускаю fdisk -l:
Disk /dev/sda: 400.0 GB, 400088457216 bytes 255 heads, 63 sectors/track, 48641 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sda1 1 48641 390708801 fd Linux raid autodetect Disk /dev/sdb: 400.0 GB, 400088457216 bytes 255 heads, 63 sectors/track, 48641 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdb1 1 48641 390708801 fd Linux raid autodetect Disk /dev/sdc: 400.0 GB, 400088457216 bytes 255 heads, 63 sectors/track, 48641 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdc1 1 48641 390708801 fd Linux raid autodetect Disk /dev/sdd: 400.0 GB, 400088457216 bytes 255 heads, 63 sectors/track, 48641 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xb4150c31 Device Boot Start End Blocks Id System /dev/sdd1 1 48641 390708801 fd Linux raid autodetect
всё на месте!
проверим, что думает на сей счёт mdadm: mdadm --examine /dev/sda1:
/dev/sda1: Magic : a92b4efc Version : 00.90.00 UUID : f845899e:40bc078f:aa7fb7ac:da25494b Creation Time : Wed Aug 29 17:02:05 2007 Raid Level : raid5 Used Dev Size : 390708736 (372.61 GiB 400.09 GB) Array Size : 1172126208 (1117.83 GiB 1200.26 GB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 0 Update Time : Mon Jun 9 15:26:21 2008 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Checksum : d472d27 - correct Events : 0.259976 Layout : left-symmetric Chunk Size : 64K Number Major Minor RaidDevice State this 0 8 1 0 active sync /dev/sda1 0 0 8 1 0 active sync /dev/sda1 1 1 8 17 1 active sync 2 2 8 33 2 active sync 3 3 8 49 3 active sync /dev/sdd1
твайумать... соответственно, mdadm --examine /dev/sdb1 выдаёт:
mdadm: cannot open /dev/sdb1: No such file or directory
может я чего не понимаю? dmesg | grep -i sdb:
[ 38.496194] sd 1:0:0:0: [sdb] 781422768 512-byte hardware sectors (400088 MB) [ 38.496202] sd 1:0:0:0: [sdb] Write Protect is off [ 38.496204] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00 [ 38.496215] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 38.496240] sd 1:0:0:0: [sdb] 781422768 512-byte hardware sectors (400088 MB) [ 38.496247] sd 1:0:0:0: [sdb] Write Protect is off [ 38.496249] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00 [ 38.496260] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 38.496263] sdb: sdb1 [ 38.505509] sd 1:0:0:0: [sdb] Attached SCSI disk
всё есть, всё на месте! но разделы не видны ни одной программе, кроме fdisk 0_o
mdadm --assemble --scan, mdadm --assemble --scan -f, вдумчивое чтение mdadm.conf, переписывание таблицы разделов в fdisk с помощью опции w ничего не дали.
Спустя неделю "догадался" запустить mdadm --assemble --scan -v:
mdadm: looking for devices for further assembly mdadm: no recogniseable superblock on /dev/disk/by-id/md-uuid-fb8f5b47:1055b846:60bf95cb:a84fa631 mdadm: /dev/sdd1 is not built for host m0rtal-desktop. mdadm: no recogniseable superblock on /dev/sdd mdadm: cannot open device /dev/sdc1: Device or resource busy mdadm: cannot open device /dev/sdc: Device or resource busy mdadm: cannot open device /dev/sdb1: Device or resource busy mdadm: cannot open device /dev/sdb: Device or resource busy mdadm: /dev/sda1 is not built for host m0rtal-desktop. mdadm: no recogniseable superblock on /dev/sda
аха, думаю, убунта требует, чтобы массив был собран для отдельно взятой машины. Что ж проще - запускаем mdadm --assemble --scan --auto-update-homehost и получаем...
mdadm: SET_ARRAY_INFO failed for /dev/md/0: Device or resource busy
твайумать!
кстати, почему md/0 а не md0 я так и не понял, тем более что UUID великолепно переписался... но только на двух дисках!
И теперь, естественно, массив не виден уже и в Gentoo! И обратный запуск mdadm --assemble --scan --auto-update-homehost уже в генке ничего не меняет!
Люди, спасайте! У меня уже башка пухнет :(
- Для комментирования войдите или зарегистрируйтесь
apt-get install
apt-get install portage
emerge @true-gentoo
emerge -C @false-distro
P.S. Вам теперь как я понимаю, данные восстанавливать надо - вот и выложите всевозможные логи, для Gentoo только. С Убунтой вам тут врядли помогут,
ну и зачем это
ну и зачем это было переносить под *бунту?
почему незя юзать gentoo тем более что в ней все работает =)
ЗЫ настройка убунту на другом форуме =) этот сайт все же не ubuntu.ru называется а gentoo.ru
___________________________________________
Gentoo GNU/Linux 2.6.26 GCC 4.3.1
Working on Gentoo for iPAQ hx4700 :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
Кто такой sdd и
Кто такой sdd и что он здесь делает?
_______________________
From Siberia with Love!
Нужно еще инфо
Включен ли рейд в ядро убунту?
включено ли автоопределение разделов в ядро убунту?
не примонтировались ли этиразделы куда-либо? почему ругается что ресурс занят? А есть ли ресурсы вообще?
$ ls -l /dev/sd*
$ cat /proc/mdstat
$ cat /proc/mounts - на всякий
Рейд какого уровня был? кошерное (ваниальное) ядро по дефолту только рейд левел 1 и 0 кажись поддерживает. другие уровни отдельной опцией включаются.
отвечайте на эти вопросы, и будем думать дальше
sudo mdadm --assemble --force
sudo mdadm --assemble --force /dev/md0 /dev/sd[abefg]1
Соответственно если уже существует /dev/md0, то поменайте на свободный md1 например, "/dev/sd[abefg]1" это строку тоже поменяйте на те разделы что у вас.
взято от сюда
opennet.ru/base/sys/raid5_sync.txt.html