Используя безголовый сервер Ubuntu 14.04, я использую гостевую систему Windows 7 в Qemu, на которую я прохожу через графический процессор (для производительности). Я пишу приложение, часть которого будет работать в Linux, а часть будет работать в гостевой системе Windows, и мне нужна связь между ними. Исследование этого привело меня к убеждению, что лучшим вариантом будет использование драйверов Virtio-serial, чтобы я мог просто общаться между ними, как если бы они имели последовательное соединение; это звучит невероятно, но я не могу понять, как заставить это работать. Я нашел несколько ресурсов, в которых подробно описаны необходимые параметры командной строки Qemu, например, здесь, но мне не удалось найти какие-либо ресурсы о том, как инициировать связь со стороны гостя . Кажется, что большинство людей, занимающихся подобными вещами, делают это с гостевыми ОС Linux, что, я уверен, значительно упрощает ситуацию.
Сетевое взаимодействие не может быть вариантом, так как мы, скорее всего, будем также передавать сетевой адаптер в гостевую ОС (опять же, производительность для гостевой ОС критична). Даже если это не так, это кажется излишне тяжелым вариантом для простого взаимодействия между приложениями.
Я также рассмотрел создание общего ресурса SMB и хранение там базы данных, к которой можно подключиться с нескольких хостов, а затем запуск mysql на хосте и госте. Но это также кажется далеко не идеальным ... У кого-нибудь есть опыт с этим, или, может быть, очевидное предложение, которое я пропускаю?
Редактировать:
Я хотел включить мой скрипт оболочки qemu:
sudo qemu-system-x86_64 -enable-kvm -M q35 -m 3072 -cpu host -smp 4
-bios /usr/share/qemu/bios.bin -vga none -nographic -serial mon:stdio
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1
-device vfio-pci,host=00:01.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on
-device vfio-pci,host=00:01.1,bus=root.1,addr=00.1
-device virtio-scsi-pci,id=scsi
-drive file=/utils/WES7.img,id=disk,format=raw,if=none -device ide-hd,drive=disk
-drive file=/home/mvsuser/virtio-win-0.1-100.iso,id=virtiocd,if=none -device ide-cd,bus=ide.1,drive=virtiocd
-usb -usbdevice host:046d:C52B
-net bridge -net nic,model=virtio
-chardev socket,path=/tmp/port0,server,nowait,id=port0-char
-device virtio-serial
-device virtserialport,id=port1,name=vioserial,chardev=port0-char