У меня уже целый цикл получился по этим проблемам с Xen. На самом деле ничего удивительного, так как в данный момент времени моя работа довольно сильно связана с виртуальными машинами Xen, поэтому собираю всю информацию которую могу найти. В частности эти статьи это мои кривые переводы одной англоязычной вики.
Гостевой домен Xen domainU во время загрузки выдает ошибку “Xen Guest OS Fails to Boot with Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(0,0)”
Самая распространенная причина этой проблемы заключается в том, что гостевая операционная система требует RAM Disk как часть инициализации загрузочного процесса, но он не определен в конфигурационном файле Xen гостевого домена.
Типичный конфиг Xen, после которого возникает данная проблема выглядит так:
kernel = "/boot/vmlinuz-2.6.18-53.1.14.el5xen"memory = 512
name = "centos.5-1"vif = [ '' ] dhcp = "dhcp" disk = ['tap:aio:/home/nas/xen/byhand/centos.img,xvda1,w', 'tap:aio:/home/nas/xen/byhand/centos.swap,xvda2,w'] root = "/dev/xvda1 ro"
В данном конфиге пропущена ключевая директива “ramdisk = “.
Имеются различные способы решения это проблемы. Одним из вариантов является использование RAM Disk хост системы (в данном случае подразумевается совместимость между хост-системой и гостевой системой). Он расположен в директории /boot на хост-системе. Важно использовать версию рамдиска, которая соответствует версии ядра указанном в конфиге гостевой системы Xen. Версию текущего ядра можно узнать с помощью команды uname:
uname -r2.6.18-53.1.14.elxen
Для того чтобы найти ядро и файл рамдиска связанный с ним, выполните эту команду:
ls /boot/*$(uname -r)*/boot/config-2.6.18-53.1.14.el5xen /boot/System.map-2.6.18-53.1.14.el5xen /boot/initrd-2.6.18-53.1.14.el5xen.img /boot/vmlinuz-2.6.18-53.1.14.el5xen /boot/symvers-2.6.18-53.1.14.el5xen.gz
В примеру выше вы можете увидеть что файл ядра называется vmlinuz-2.6.18-53.1.14.el5xen, и соответствующий RAM Disk initrd-2.6.18-53.1.14.el5xen.img. Теперь измените соответствующим образом конфигурационный файл:
kernel = "/boot/vmlinuz-2.6.18-53.1.14.el5xen"ramdisk = "/boot/initrd-2.6.18-53.1.14.el5xen.img" memory = 512 name = "centos.5-1" vif = [ '' ] dhcp = "dhcp"disk = ['tap:aio:/home/nas/xen/byhand/centos.img,xvda1,w', 'tap:aio:/home/nas/xen/byhand/centos.swap,xvda2,w'] root = "/dev/xvda1 ro"
К сожалению, использование данного рамдиска может иногда привести к проблемам, связанным с конфликтом SCSI драйверов. Поэтому лучшым вариантом будет создание нового файла RAM Disk, который не будет содержать модули SCSI и потом указать его в конфиге Xen:
mkinitrd --omit-scsi-modules --with=xennet --with=xenblk --preload=xenblk initrd-$(uname -r).img $(uname -r)
Постовой
Очень понравился один рецепт салата с данного сайта. Рекомендую к просмотру, лучше на сытый желудок :)
С помощью технологии Water Jet резка керамогранита стала очень простой, а создаваемые изделия – настоящими шедеврами.