Я пытаюсь перенести существующие виртуальные машины CentOS 5.2 на базе IDE и LVM на использование virtio. Симптомом является паника ядра при загрузке, когда система не может найти никакие группы томов. Кто-нибудь знает, как заставить это работать?
Я создал установку vm, в которой не использовался LVM, и смог переключить ее на использование virtio. Вот куда я попал при использовании LVM:
Шаги:
На втором шаге выше я обновил /boot/grub/device.map, /etc/modprobe.conf и повторно запустил mkinitrd.
/boot/grub/device.map:
# this device map was generated by anaconda
(hd0) /dev/vda
/etc/modprobe.conf:
alias eth0 virtio_net
alias scsi_hostadapter virtio_blk
alias snd-card-0 snd-hda-intel
options snd-card-0 index=0
options snd-hda-intel index=0
remove snd-hda-intel { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-hda-intel
/boot/grub/grub.conf:
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-371.6.1.el5.centos.plus)
root (hd0,0)
kernel /vmlinuz-2.6.18-371.6.1.el5.centos.plus ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-371.6.1.el5.centos.plus.img
Я распаковал образ initrd, и там оказались модули virtio:
[root@localhost initrd]# ls -1 /tmp/initrd/lib/ | grep virt
virtio_blk.ko
virtio.ko
virtio_pci.ko
virtio_ring.ko
Я обновился до mkinitrd-5.1.19.6-80.el5_9, который использует lvm dumpconfig для создания lvm.conf:
[root@localhost initrd]# cat /tmp/initrd/etc/lvm/lvm.conf
devices {
dir="/dev"
scan="/dev"
preferred_names=[]
filter="a/.*/"
cache_dir="/etc/lvm/cache"
cache_file_prefix=""
write_cache_state=1
sysfs_scan=1
md_component_detection=1
ignore_suspended_devices=0
}
activation {
missing_stripe_filler="/dev/ioerror"
reserved_stack=256
reserved_memory=8192
process_priority=-18
mirror_region_size=512
readahead="auto"
mirror_log_fault_policy="allocate"
mirror_device_fault_policy="remove"
}
global {
umask=63
test=0
units="h"
activation=1
proc="/proc"
locking_type=1
fallback_to_clustered_locking=1
fallback_to_local_locking=1
locking_dir="/var/lock/lvm"
}
shell {
history_size=100
}
backup {
backup=1
backup_dir="/etc/lvm/backup"
archive=1
archive_dir="/etc/lvm/archive"
retain_min=10
retain_days=30
}
log {
verbose=0
syslog=1
overwrite=0
level=0
indent=1
command_names=0
prefix=" "
}
Я проверил CONFIG_SYSFS_DEPRECATED как в этот вопрос, но, похоже, это вариант после версии 2.6.18.
Кто-нибудь знает, чего еще не хватает?
Решение - обновить систему. Red Hat не поставляла гостевые драйверы virtio до 5.3.
На данный момент вы девять сервисные пакеты позади. Простое обновление системы могло бы решить проблему еще до того, как она случилась.