A solução é atualizar o sistema. A Red Hat não entregou os drivers convidados virtuais até 5.3 .
Neste ponto você está com nove service packs atrás. Simplesmente manter o sistema atualizado resolveria o problema antes que ele acontecesse.
Estou tentando migrar VMs CentOS 5.2 existentes, baseadas em LVM, para usar o virtio. O sintoma é um kernel panic na inicialização quando o sistema não consegue encontrar nenhum grupo de volumes. Alguém sabe como fazer isso funcionar?
Eu criei uma instalação vm que não usava o LVM e era capaz de alternar para usar o virtio. Este é o lugar onde eu cheguei ao usar o LVM:
Etapas:
Na segunda etapa acima, atualizei o /boot/grub/device.map, /etc/modprobe.conf e executei novamente o 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
Eu descompactei a imagem initrd e os módulos virtio parecem estar lá:
[root@localhost initrd]# ls -1 /tmp/initrd/lib/ | grep virt
virtio_blk.ko
virtio.ko
virtio_pci.ko
virtio_ring.ko
Eu atualizei para o mkinitrd-5.1.19.6-80.el5_9 que usa o lvm dumpconfig para gerar o 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=" "
}
Eu verifiquei CONFIG_SYSFS_DEPRECATED, como esta pergunta , mas parece ser uma opção pós-2.6.18.
Alguém sabe o que ainda está faltando?
A solução é atualizar o sistema. A Red Hat não entregou os drivers convidados virtuais até 5.3 .
Neste ponto você está com nove service packs atrás. Simplesmente manter o sistema atualizado resolveria o problema antes que ele acontecesse.