Проблемма с корнем на MDADM+LVM2

все делал по ману: http://www.gentoo.org/doc/en/gentoo-x86+raid+lvm2-quickinstall.xml

в ядре включил:

Multi-device support (RAID and LVM)  --->
[*] Multiple devices driver support (RAID and LVM)
  <*>   RAID support
  < >     Linear (append) mode (NEW)
  <*>     RAID-0 (striping) mode
  <*>     RAID-1 (mirroring) mode
  < >     RAID-10 (mirrored striping) mode (EXPERIMENTAL) (NEW)
  < >     RAID-4/RAID-5 mode (NEW)
  < >     RAID-6 mode (NEW)
  < >     Multipath I/O support (NEW)
  < >     Faulty test module for MD (NEW)
  <*>   Device mapper support
  < >     Crypt target support (NEW)
  < >     Snapshot target (EXPERIMENTAL) (NEW)
  < >     Mirror target (EXPERIMENTAL) (NEW)
  < >     Zero target (EXPERIMENTAL) (NEW)
  < >     Multipath target (EXPERIMENTAL) (NEW)
  < >     Bad Block Relocation Device Target (EXPERIMENTAL) (NEW)

собираю
genkernel --lvm --mdadm --bootloader=grub --menuconfig all

/etc/lvm/lvm.conf


devices {
        dir="/dev"
        scan="/dev"
        filter="a|/dev/md.*|"
}

initramfs поднимает модули, потом вижу:

mdadm: /dev/md2 has been started with 2 drives
mdadm: /dev/md3 has been started with 2 drives

(пока все правильно)

>>Scanning for Volume Groups
Reading all physical volumes. This may take a while...
No volume groups found
No volume groups found

вот тут грабли

Когда гружусь с liveusb, поднимаю md2,md3 руками, делаю: vgscan - не видит нифига
когда делаю

pvscan
vgscan
vgchange -ay

- все видно. на сколько я понял pvscan не сунется в initrd, только vgscan и vgchange (они то и не видят физических томов на mdX почему то). могу засунуть pvscan руками, но енто грабли. хочу решить по человечески. кто в курсе?

да, и еще. когда init не находит корня, захожу в shell
руками делаю vgscan - получаю есесьно

>>Scanning for Volume Groups
Reading all physical volumes. This may take a while...
No volume groups found

А в загрузчике прописан

А в загрузчике прописан параметр dolvm?

да. иначе подымать тома

да. иначе подымать тома вообще не стало бы.

Старая версия LVM

Пользуюсь Calculate Linux Desktop 10.4. Решил перенести систему на шифрованный раздел с LVM и столкнулся с похожей проблемой. Похоже проблема в том, что lvm, помещаемый в initrd версии 2.02.28 от 2007г, иначе как объяснить, что если извлечь из initrd lvm

mkdir ~/initramfs
cd ~/initramfs
gzip -cd /boot/initramfs-genkernel-x86-2.6.32.11-calculate| cpio -imd --quiet

и запустить сканирование с его помощью то получим

./bin/lvm version
  LVM version:     2.02.28 (2007-08-24)
  Library version: 1.02.22 (2007-08-21)
  Driver version:  4.15.0

./bin/lvm vgscan
  Reading all physical volumes.  This may take a while...
  No volume groups found

Тоже самое, но запуская установленный в системе LVM

/sbin/lvm version
  LVM version:     2.02.56(1) (2009-11-24)
  Library version: 1.02.40 (2009-11-24)
  Driver version:  4.15.0
/sbin/lvm vgscan
Reading all physical volumes.  This may take a while...
  Found volume group "vgubu" using metadata type lvm2

Initrd создавал с помощью genkernel приблизительно так:

genkernel --lvm --luks initramfs

ключевое здесь --lvm. Ядро не пересобил, т.к. оно меня устраиваль (нужные мне модули присутствовали). В man genkernel сказано, что при использовании --lvm добавляется поддержка LVM из статически скомпилированного бинарника, если последний существует в системе, или компилируется статический бинарник, если такой в системе не существует. К сожалению genkernel ищет файл с именем lvm, а статически скомпилированный имеет имя lvm.static, что приводит к компиляции последнего из исходников. Genkernel использует кеш /var/cache/genkerel/src/ где и находятся нужные файлы. Возможные пути решения:
1. В /etc/genkernel.conf указать нужную версию LVM (у меня это не заработало, компиляция завершалась с ошибкой)
2. Создать ссылку с именем lvm на lvm.static в /sbin, предварительно переименовав оригинальный lvm
3. Заархивировать файл /sbin/lvm.static и поместить архив в /var/cache/genkernel под именем LVM2.2.02.28-x86.tar.bz2 (смотрите /etc/genkerel.conf чтобы точно определить имя файла) и запустить genkernel ещё раз (это должно сработать, т.к. genkernel кеширует результат компиляции, и не производит её повторно, если в кеше есть нужные файлы, главное указать правильное имя)

cd /
tar cjf /var/cache/genkernel/LVM2.2.02.28-x86.tar.bz2 sbin/lvm.static

После этого я смог загрузиться с зашифрованного раздела с LVM.
Удачи!!!

P.S. Это всего лишь подсказка, в каком можно действовать направлении и не является точной инструкцией решения проблемы в конкретном случае.

BINGO! Самое оно! :) Все

BINGO! Самое оно! :) Все заработало.... Спасибо огромное. 2 дня убил в поисках...
Так в чем собственно отличие между 2.02.28 и 2.02.56?
И еще... Надо бы разобраться в том, чтобы 2.02.56 тоже с исходников собиралось..

Покажи параметры ядра. Лично

Покажи параметры ядра. Лично у меня:
kernel /boot/kernel-genkernel-x86-2.6.32-gentoo-r7 dolvm real_root=/dev/mapper/raid-root lvmraid=/dev/md2

проблемма была в версии lvm2.

проблемма была в версии lvm2. читай выше. я решил уже все.

http://gentoo.ru/node/17508 —

http://gentoo.ru/node/17508 — оно?
Все равно покажи опции ядра. интересно :)

dolvm, domdadm - фсьо :)

dolvm, domdadm - фсьо :)

title=Gentoo Linux

title=Gentoo Linux (2.6.30-tuxonice-r6)
root (hd0,0)
kernel /boot/kernel-genkernel-x86_64-2.6.30-tuxonice-r6 root=/dev/ram0 real_root=/dev/vg1/root dolvm domdadm
initrd /boot/initramfs-genkernel-x86_64-2.6.30-tuxonice-r6

если уж быть предельно точным

а у меня просто с domdadm не

а у меня просто с domdadm не работает, приходится добавлять обязательно lvmraid=/dev/md2, ЧЯДНТ?

cheerfulboy

cheerfulboy написал(а):
http://gentoo.ru/node/17508 — оно?
Все равно покажи опции ядра. интересно :)

корень проблеммы тот же. солушын тот же, только проблемма другая.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".