Если долго мучиться, что-нибудь получится! В данной статье будут рекомендации по оптимизации работы виртуалок с Windows 2016. Этого нет в официальных источниках. А если оставить дефолтные настройки, можно схлопотать нехилые лаги при нагрузке. Основной упор делается на паравиртуализацию виртуалок. В случае lvm-thin можно еще включить Discard в самом LVM.
- Gues OS: Type - Windows; Version - 10/2016
- Memory: Use fixed size memory (если выбрать динамическую, будут фризы)
- CPU: Enable NUMA - yes; Type - host (NUMA - чутка добавляет производительности, как и host)
- Bus/Device: VirtIO SCSI (sinngle)
- Cache: Write back
- Discard - YES
- Storage: local-lvm (or local-zfs, or RAW disk)
- IO Thread - YES
- Network model: VirtIO (paravirtualized)
Фанатам голого QEMU+KVM посвящается
[Unit]
Description=Windows 7 Professional amd64
Wants=network.target
After=network.target
[Service]
ExecStartPre=/sbin/setcap cap_net_admin+ep /usr/lib/qemu/qemu-bridge-helper
ExecStart=/usr/bin/kvm -nodefaults \
-vga std \
-rtc base=localtime \
-cpu host -smp cores=2,threads=1 -m 2048 \
-vnc 127.0.0.1:3 \
-boot c \
-monitor unix:/var/lib/kvm/monitors/win7-amd64.sock,server,nowait \
-usbdevice tablet \
-balloon virtio \
-netdev bridge,id=hn0,br=br0 \
-device virtio-net-pci,netdev=hn0,id=nic0,mac=DE:AD:BE:EF:A9:6E \
-drive file=/var/lib/kvm/images/virtio-win.iso,media=cdrom \
-drive file=/var/lib/kvm/images/win7-amd64.qcow2,if=none,id=drive0 \
-object iothread,id=iothread0 \
-device virtio-scsi-pci,iothread=iothread0,id=scsi0 \
-device scsi-hd,bus=scsi0.0,drive=drive0
ExecStop=-/bin/sh -c "echo system_powerdown | socat - UNIX-CONNECT:/var/lib/kvm/monitors/win7-amd64.sock > /dev/null 2>&1"
KillMode=none
PermissionsStartOnly=true
TimeoutStopSec=3600
Restart=on-failure
User=kvm
[Install]
WantedBy=multi-user.target
Комментариев нет:
Отправить комментарий