我曾经使用 KVM 进行虚拟化,现在又回到了它,但我遇到了一个问题。
当我使用 virt-install 安装客户机时,我曾经使用 -x“extra args”部分来设置安装和客户的控制台,但它不再起作用。
这是我使用的命令:
virt-install -n server01 -r 512 --os-variant=virtio26 -c /isos/c5u5.iso --nographics --noautoconsole -f /storage/vm/server01 -s 5 bus=virtio -w bridge:br0 -x "console=ttyS0 ks=http://www.domain.com/c5u5.cfg"
正如您所看到的,我将控制台设置为 ttyS0,但是当我使用以下命令连接到控制台时:
virsh console server01
它要么无法连接,要么出现:错误:无法获取本地主机名
这是 xml 的转储,但也没有提到 ttyS0。
<domain type='qemu' id='5'>
<name>server01</name>
<uuid>5991cf85-db6c-2b87-b76d-07a0caae77b9</uuid>
<memory>524288</memory>
<currentMemory>524288</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='x86_64' machine='rhel5.4.0'>hvm</type>
<boot dev='cdrom'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>destroy</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' cache='none'/>
<source file='/storage/vm/server01'/>
<target dev='hda' bus='ide'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/isos/c5u5.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
</disk>
<interface type='bridge'>
<mac address='54:52:00:61:ea:78'/>
<source bridge='br0'/>
<target dev='vnet0'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/2'/>
<target port='0'/>
</serial>
<console type='pty' tty='/dev/pts/2'>
<source path='/dev/pts/2'/>
<target port='0'/>
</console>
</devices>
</domain>
有人可以解释一下这个问题吗?我完全被难住了。
答案1
检查串行控制台是否在客户机内初始化。Ubuntu 似乎已将其从其服务器发行版中删除(默认情况下),因此永远不会出现 ttyS0(即使有一个)。
答案2
libvirtd 是否正在运行。如果没有,virsh 也无法连接。
检查 /var/log/libvirt 中的日志以寻找其他线索。