У меня на CentOS 6 имеется домен с конфигурацией:
.........................................................
<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/vport0'/>
<target type='virtio' name='vport0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
<channel type='unix'>
<source mode='connect' path='/var/lib/libvirt/qemu/vport0'/>
<target type='virtio' name='vport0'/>
<address type='virtio-serial' controller='0' bus='0' port='2'/>
</channel>
.........................................................
После его запуска с включённым SELinux я наблюдаю следующую ошибку:
error: Failed to start domain proxy-agent0
error: unable to set security context 'system_u:object_r:svirt_image_t:s0:c269,c347' on '/var/lib/libvirt/qemu/vport0': No such file or directory
С выключенным SELinux проблема не наблюдается, домен запускается без ошибок.
Как решить проблему помимо отключения SELinux? Есть ли способ принудительно создать виртуальный порт сразу после прочтения пункта в конфигурации?
Подчеркну вот какой момент: при конфигурации с каналом только с source mode='bind' ошибок нет.
# ausearch -r -m VIRT_CONTROL -ts today
type=VIRT_CONTROL msg=audit(1482305847.172:2201): user pid=2430 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 msg='virt=kvm op=start reason=booted vm="proxy-agent0" uuid=62bb1bc5-4e17-f67b-22a4-c14a487547e8 vm-pid=-1 exe="/usr/sbin/libvirtd" hostname=? addr=? terminal=? res=failed'