20.16.15. 客户机虚拟机接口
字符设备将自身作为以下类型之一向虚拟客户机呈现:
要设置并行端口,请使用管理工具对域 XML 进行以下更改
图 20.60. 客户机虚拟机接口 Parallel 端口
... <devices> <parallel type='pty'> <source path='/dev/pts/2'/> <target port='0'/> </parallel> </devices> ...
<目标>
可以有一个 port
属性,用于指定端口号。端口从 0 开始。通常有 0、1 或 2 个并行端口。
要设置串行端口,请使用管理工具对域 XML 进行以下更改:
图 20.61. 客户机虚拟机接口串口
... <devices> <serial type='pty'> <source path='/dev/pts/3'/> <target port='0'/> </serial> </devices> ...
<目标>
可以有一个 port
属性,用于指定端口号。端口从 0 开始。通常有 0、1 或 2 串行端口。还有一个可选的 type
属性,它的值有两个选择,一个是 a isa-serial
,另一个是 usb-serial
。如果缺少 type
,则将默认使用 isa-serial
。对于 usb-serial,带有 type='usb'
的可选子元素 <地址>
可将设备绑定到特定的控制器,如上面所述。
<console>
元素用于表示交互式控制台。根据所使用的客户机虚拟机类型,控制台可能是半虚拟化设备,或者根据以下规则,这些控制台可能是串行设备的克隆:
- 如果没有设置
targetType
属性,则默认设备类型
取决于虚拟机监控程序的规则。当重新查询到 libvirt 中的 XML 时,将添加默认类型。对于完全虚拟化的 guest 虚拟机,默认设备类型通常是串行端口。
- 如果
targetType
属性是serial
的,如果不存在<serial>
元素,则 console 元素将复制到<serial>
元素中。如果<serial>
元素已存在,则 console 元素将被忽略。 - 如果
targetType
属性不是串行
的,它将被正常处理。 - 只有第一个
<控制台>
元素可以使用serial
的targetType
。辅助控制台必须全部为泛虚拟化。 - 在 s390 中,控制台元素可以使用 sclp 或 sclplm(在线模式)的 targetType。SCLP 是 s390 的原生控制台类型。SCLP 控制台没有关联控制器。
在以下示例中,guest 虚拟机中会公开一个 virtio 控制台设备,作为 /dev/hvc[0-7](详情请参阅 http://fedoraproject.org/wiki/Features/VirtioSerial):
图 20.62. 客户机虚拟机接口 - 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> ...
如果控制台以串行端口显示,则
<目标>
元素具有与串行端口相同的属性。通常只有一个控制台。