23.17.14. 客户端虚拟机接口
字符设备作为以下类型之一显示在客户机虚拟机中。
要设置串行端口,请使用管理工具对域 XML 进行以下更改:
图 23.71. 客户端虚拟机接口串行端口
... <devices> <serial type='pty'> <source path='/dev/pts/3'/> <target port='0'/> </serial> </devices> ...
<目标>
可以有一个 port
属性,用于指定端口号。端口从 0 开始编号。通常有 0、1 或 2 个串行端口。还有一个可选的 type
属性,其值有两个选择,即 isa-serial
或 usb-serial
。如果缺少 类型
,则默认为 isa-serial
。对于 usb-serial
,带有 type='usb'
的可选子元素 <地址>
可将设备绑定到特定控制器(如上所述)。
<console>
元素用于表示交互式控制台。根据正在使用的客户机虚拟机类型,控制台可能是半虚拟设备,或者可能是串行设备的克隆,具体取决于以下规则:
- 如果没有设置
targetType
属性,则默认设备类型
将根据虚拟机监控程序的规则进行。当将 XML 重新查询到 libvirt 时,将添加默认类型。对于完全虚拟化的虚拟机,默认设备类型通常是串行端口。
- 如果
targetType
属性是serial
,如果没有<serial>
元素,则 console 元素将复制到<serial>
元素。如果<serial>
元素已经存在,则 console 元素将被忽略。 - 如果
targetType
属性不是serial
,它将被正常对待。 - 只有第一个
<console>
元素才能使用serial
的targetType
。辅助控制台必须全部是半虚拟化的。 - 在 s390 中,console 元素可以使用
sclp
或sclplm
的targetType
(line mode)。SCLP 是 s390 的原生控制台类型。没有与 SCLP 控制台关联的控制器。
在以下示例中,在客户机虚拟机上以
/dev/hvc[0-7]
(更多信息,请参阅 Fedora 项目的 virtio-serial 页面)中公开 virtio控制台设备:
图 23.72. 客户机虚拟机接口 - virtio 控制台设备
... <devices> <console type='pty'> <source path='/dev/pts/4'/> <target port='0'/> </console> <!-- KVM virtio console --> <console type='pty'> <source path='/dev/pts/5'/> <target type='virtio' port='0'/> </console> </devices> ... ... <devices> <!-- KVM s390 sclp console --> <console type='pty'> <source path='/dev/pts/1'/> <target type='sclp' port='0'/> </console> </devices> ...
如果控制台呈现为串行端口,则
<target>
元素具有与串行端口相同的属性。通常只有一个控制台。