virsh: la console VM non mostra alcuna output

Ho un VM che posso cominciare con virsh . Secondo virsh dumpxml VM1 , questa è la pty assegnata:

 <serial type='pty'> <source path='/dev/pts/6'/> <target port='0'/> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/6'> <source path='/dev/pts/6'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> 

Il VM è in esecuzione:

 # virsh list Id Name State ---------------------------------- 7 VM1 running 

All'interno della VM, questa è la configuration del grub:

 kernel /boot/vmlinuz-2.6.24-28-virtual root=UUID=7a1685b9-ecc8-4b70-932c-459a6faac07d ro quiet splash console=tty0 console=ttyS0,9600n8 

E questa è la row di command lanciata da virsh per avviare il VM:

 /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 256 -smp 1,sockets=1,cores=1,threads=1 -name VM1 -uuid 47ff6ec2-a748-4738-16b9-2ffe5780e456 -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/VM1.monitor,server,nowait -mon chardev=monitor,mode=readline -rtc base=utc -boot c -drive file=/var/VMs/VM1.qcow2,if=none,id=drive-ide0-0-0,boot=on,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:12:34:50,bus=pci.0,addr=0x3 -net tap,fd=64,vlan=0,name=hostnet0 -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -vnc 127.0.0.1:0 -k de -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 

Ma se mi connetti con virsh console VM1 , o faccio cat /dev/pts/6 , nulla viene mostrato nella console VM.

C'è qualcos'altro che devo considerare?

AGGIORNARE

Ho due VM, uno avviato direttamente con kvm , l'altro via virsh . Quella iniziata direttamente ha una consolle di lavoro. Ho verificato i file aperti in entrambi i casi:

 root@host1:~# lsof | grep 25093 | grep dev kvm 25093 root DEL REG 0,4 3758780 /dev/zero kvm 25093 root DEL REG 0,4 3758779 /dev/zero kvm 25093 root DEL REG 0,4 3758777 /dev/zero kvm 25093 root 0u CHR 136,3 0t0 6 /dev/pts/3 kvm 25093 root 1u CHR 136,3 0t0 6 /dev/pts/3 kvm 25093 root 2u CHR 136,3 0t0 6 /dev/pts/3 kvm 25093 root 3u CHR 10,232 0t0 8025 /dev/kvm kvm 25093 root 7u CHR 10,200 0t0 4983 /dev/net/tun root@host1:~# lsof | grep 8341 | grep dev kvm 8341 libvirt-qemu DEL REG 0,4 9743486 /dev/zero kvm 8341 libvirt-qemu DEL REG 0,4 9743485 /dev/zero kvm 8341 libvirt-qemu DEL REG 0,4 9743483 /dev/zero kvm 8341 libvirt-qemu 0r CHR 1,3 0t0 4640 /dev/null kvm 8341 libvirt-qemu 4u CHR 5,2 0t0 4897 /dev/ptmx kvm 8341 libvirt-qemu 5u CHR 10,232 0t0 8025 /dev/kvm kvm 8341 libvirt-qemu 64u CHR 10,200 0t0 4983 /dev/net/tun 

Come si può vedere, in uno dei VM (quello sbagliato), non ci sono descrittori di file 1 & 2 e il descrittore di file 0 viene reindirizzato a / dev / null. Questo è il problema che immagino.

La domanda è, come faccio a dire a virsh di non farlo?

  • Sheepdog contro iSCSI per KVM
  • Le performance dei dispositivi IDE e SCSI Hyper-V sono uguali?
  • Come funziona il snapshot di Virtual Machine?
  • Come sostenere il server virtuale di VirtualBox?
  • Come controllare il traffico VM su KVM
  • È ansible passare attraverso un'unità a nastro IDE a una macchina virtuale?
  • Convertire Windows 7 Virtual PC in Windows 8 Hyper-V
  • PCI passthrough di tabs grafiche su ESXi
  • 2 Solutions collect form web for “virsh: la console VM non mostra alcuna output”

     <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> 

    Questo è ciò che normalmente aggiungo alla definizione di VMs, usando virsh edit Quindi console=ttyS0 aggiunta nella linea del kernel di VM in grub.conf

    Mai fallito finora

    Esempio di utilizzo di Debian jessie come sistema operativo host e guest.

    1. creare un VM usando virt-install o virt-manager In each caso otternetworking istruzioni di console seriali aggiunte al file VM.xml

    2. nell'ospite VM eseguire quanto segue

       systemctl enable serial-getty@ttyS0.service systemctl start serial-getty@ttyS0.service 
    3. in guest VM in /etc/default/grub sostituire

       GRUB_CMDLINE_LINUX_DEFAULT="quiet" #GRUB_TERMINAL=console 

      di

       GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0" GRUB_TERMINAL="serial console" 
    4. nell'ospite VM eseguire quanto segue

       guest# update-grub 
    5. la console VM per eseguire VM può essere ottenuta da

       host# virsh console VM 

      o avviare il VM con la console allegata

       host# virsh start VM --console 

    fonti:

    • 0pointer.de systemd per gli amministratori, parte XVI
    • keypressure.com Test di libvirt su TLS
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.