我有好几次经历 Windows VM 突然开始运行极其缓慢,似乎主要与存储 IO 慢有关。在不同版本中看到过这个,但在这个特殊情况下是 Win10 LTSC 1809
无论我使用什么存储配置(qcow2/raw 映像、块设备、VirtioSCSI 或 VirtioIO),都会发生这种情况。
如果我使用相同的 VM-XML 和 VM 磁盘存储重新安装 Windows,则 VM 运行良好,因此它只能与 Windows 本身的某些配置相关。
在事件查看器中找不到任何错误。
我有好几次经历 Windows VM 突然开始运行极其缓慢,似乎主要与存储 IO 慢有关。在不同版本中看到过这个,但在这个特殊情况下是 Win10 LTSC 1809
无论我使用什么存储配置(qcow2/raw 映像、块设备、VirtioSCSI 或 VirtioIO),都会发生这种情况。
如果我使用相同的 VM-XML 和 VM 磁盘存储重新安装 Windows,则 VM 运行良好,因此它只能与 Windows 本身的某些配置相关。
在事件查看器中找不到任何错误。
似乎每次我创建一个带有virt-install
新存储池的虚拟机时都会创建。
但我根本不使用存储池!
我查看了 virt-install 手册,但可以找到防止这种情况发生的方法。还一直在寻找 libvirt/qemu 配置文件中的任何设置以以任何方式禁用存储池,但在那里也找不到任何东西。
如果我运行,virsh pool-capabilities
我确实会得到一个带有一些“支持”属性的 XML 输出,将其设置为“否”可能会很有趣,但我再次找不到任何地方来编辑这些设置。
任何帮助,将不胜感激。
我主要通过直接编辑 VM XML 文件来编辑/创建/管理 VM,并且只使用本地存储(qcow2 文件和逻辑设备)。我也只使用 virsh(无 gui)从控制台管理虚拟机。我看不出使用存储池有什么好处。
编辑:我的 virt-install cmd:
virt-install \
--virt-type kvm \
--name SRV01 \
--metadata description="SRV2019" \
--vcpus 2 \
--memory 2048 \
--boot uefi \
--cpu host \
--os-variant win2k19 \
--features acpi=on \
--disk device=disk,path="/mnt/data-r1/vm/w2k16-01/Disk1.qcow2",format=qcow2,bus=virtio,cache=none,boot_order=1 \
--disk device=cdrom,path="/mnt/data-r1/vm/iso/WinSrv2016.iso",boot_order=2,bus=scsi,boot_order=6 \
--disk device=cdrom,path="/mnt/data-r1/vm/iso/virtio-win-0.1.190.iso",bus=sata \
--controller type=virtio-serial \
--controller type=scsi,model=virtio-scsi \
--network bridge=brLAN,model=virtio \
--graphics vnc,password=pass,port=5900,keymap=local,listen=0.0.0.0 \
--noautoconsole \
--video vga \
--memballoon none \
--noreboot
使用位于 mdadm RAID5 阵列上的来宾文件,我无法获得接近可用性能的任何东西。我相信我优化了阵列和文件系统的所有参数以获得最佳 R5 性能:
主机上的阵列性能非常好(105MB 使用无缓存,470MB 使用缓存)。它由 4 个 HDD 组成,相对较慢。
KVM/QEMU 是否不能很好地与 RAID5 mdadm 阵列一起使用?
这似乎是一个延迟问题(类似于我在带有本地驱动器的 ESXi 上看到的)。
延迟近 17 秒,平均写入性能为 1-10MB
来自 virt XML 的示例:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/R5_DATA/data2.raw'/>
<target dev='sdd' bus='scsi'/>
<address type='drive' controller='0' bus='0' target='0' unit='3'/>
</disk>
<controller type='scsi' index='0' model='virtio-scsi'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</controller>
我可以在用户/邮箱上启用和删除 AutoMapping,但是如何使用 powershell 查询它?我已经在 中查找了属性Get-MailboxPermission
,Get-Mailbox
或者Get-AzureADUser
找不到。谷歌也没有运气。
它似乎在 的属性msExchDelegateListLink
中找到Get-ADUser
。但我认为Get-ADuser
Azure/O365 是否已弃用,所以我不想使用该 cmdlet 创建脚本。