Summary: | Races в районе активации lvm | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Andrey Rahmatullin <wrar> | ||||||||
Component: | make-initrd | Assignee: | Kirill A. Shutemov <kas> | ||||||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||||||
Severity: | major | ||||||||||
Priority: | P3 | CC: | glebfm, ldv, legion, placeholder, thresh, vsu | ||||||||
Version: | unstable | ||||||||||
Hardware: | all | ||||||||||
OS: | Linux | ||||||||||
Bug Depends on: | |||||||||||
Bug Blocks: | 23135 | ||||||||||
Attachments: |
|
Description
Andrey Rahmatullin
2010-03-04 22:07:46 MSK
Кирилл, тебе виднее что с этим делать. Такс. Всё это дело практически сломало загрузку с LVM root. Налицо race, из-за которого, по всей видимости, далеко не всегда создаётся/находится устройство, на котором корень. За десяток загрузок видно, что количество и содержимое сообщений меняются, и такое ощущение, что одни и те же файлы создаются двумя процессами. Created attachment 4290 [details]
Скриншот неудачной загрузки
Вот, например, один из вариантов. Обращаю внимание на повторные упоминания файлов и на страшный dm-name-
Created attachment 4291 [details]
Скриншот неудачной загрузки
А можешь попробовать с lvm2-2.02.61-alt2 из моего git. (В ответ на комментарий №5)
> А можешь попробовать с lvm2-2.02.61-alt2 из моего git.
Всмысле из сизифа? С ним и пробовал, после того как на alt1 не загрузилось.
Вот как поддержка lvm сделана в dracut: http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=tree;f=modules.d/90lvm;h=f5e54ba8dfd201d10957dea1c5aedbfa7b0e611a;hb=16add2aac7ed4526d39132b011300de3c4e17f41 Может наведёт на мысли. 2wrar@: можешь проверить то, что у меня в git + lvm2.git-2.02.61-alt3 + udev-150-alt4 ? Я изменил принцип обработки эвентов от udev. Теперь рейсов быть не должно, но нужно тщательно тестировать. У меня нет lvm. http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=shortlog;h=refs/heads/udev-events Просто виснет (точнее, перестаёт что-либо делать) в том месте, где раньше пыталось смонтировать корень. (В ответ на комментарий №10) > Просто виснет (точнее, перестаёт что-либо делать) в том месте, где раньше > пыталось смонтировать корень. Предётся поднимать рут lvm ... у вас случайно нет qemu-образа с такой конфигурацией ? Увы, нету. (В ответ на комментарий №12) > Увы, нету. Тогда ждём пока kas@ появится. Без стенда я допилить этот вид загрузки не смогу. Извиняйте, что пропал. Сегодня-завтра посмотрю. (В ответ на комментарий №14) > Извиняйте, что пропал. Сегодня-завтра посмотрю. Сделай мне образ плз. :) Created attachment 4317 [details]
Образ диска с lvm.
Образ диска с lvm. Вместо /sbin/init лежит ash, который даже не запускается, поскольку я забыл /dev/* подложить ;) Но это не важно. Главное добиться стабильного монтирования root'а.
Я запускал так:
qemu -enable-kvm -kernel /boot/vmlinuz-2.6.34-rc1 -hdd rootfs -append 'root=UUID=0518a50d-467e-447e-af94-de2f9225c4b5 init=/sbin/init vga=0xF07 rootdelay=10' -initrd myinitrd.img
Модифицируйте по своему усмотрению.
(В ответ на комментарий №16) > Created an attachment (id=4317) [details] > Образ диска с lvm. Спасибо. Уже нашёл ошибку. Сегодня вечером будет коммит с исправлением. Кстати, нужно будет подобные образы сделать для всех типичных и не очень конфигураций и положить в git. Что б легче тестировать было. (В ответ на комментарий №18) > Кстати, нужно будет подобные образы сделать для всех типичных и не очень > конфигураций и положить в git. Что б легче тестировать было. Согласен, но только такие, которые грузятся :) Запушил исправления в тот же бранч. 48c743dcaa8fe22347b249413d12a7442dd49757 ? Не вижу разницы. (В ответ на комментарий №21) > 48c743dcaa8fe22347b249413d12a7442dd49757 ? Не вижу разницы. Ничего не понял. C make-initrd, собранным из указанного коммита, поведение такое же, как в https://bugzilla.altlinux.org/show_bug.cgi?id=23077#c10 (В ответ на комментарий №23) > C make-initrd, собранным из указанного коммита, поведение такое же, как в У вас присутствует ли lvm в FEATURES если выполнить make-initrd guess-config ? Если нет, то пропишите его руками в /etc/initrd.mk. Инициализируются ли при загрузке диски ? У меня приложенный rootfs загрузился насколько это возможно. Я пользовался командой: qemu -enable-kvm -hdd /tmp/rootfs -kernel /tmp/vmlinuz -initrd /tmp/initrd.img -append 'root=UUID=0518a50d-467e-447e-af94-de2f9225c4b5 rootdelay=10' (В ответ на комментарий №24) > > C make-initrd, собранным из указанного коммита, поведение такое же, как в > У вас присутствует ли lvm в FEATURES если выполнить make-initrd guess-config ? > Если нет, то пропишите его руками в /etc/initrd.mk. Давно прописано. > Инициализируются ли при загрузке диски ? Да, если речь о "sda: sda1 sda2 sda3" и проч. (В ответ на комментарий №25)
> Да, если речь о "sda: sda1 sda2 sda3" и проч.
А как вы указываете root= ?
Для меня ситуация странная ... не может быть чтобы в эмуляторе работало, а у вас нет.
(В ответ на комментарий №26) > А как вы указываете root= ? root=UUID=9c8473ff-08fe-4f21-bf82-3a3657d83858 > Для меня ситуация странная ... не может быть чтобы в эмуляторе работало, а у > вас нет. Какой-нибудь аццки подробный дебаг загрузки initrd можно ведь включить? 2 wrar@: можешь посмотреть с фиксами из моего гита (бранч udev-events). у меня загружается. Вот, с a1afbbc1981d0b4ee7f615721cb8cdc474f1474e работает. (In reply to comment #29) > Вот, с a1afbbc1981d0b4ee7f615721cb8cdc474f1474e работает. tnx. Лёша, смержишь? |