You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After installing QEMU Windows 10 virtual machine on the OCF block device and restarting, the internal applications of Windows do not run properly
#1601
Open
sunhuan0919 opened this issue
Dec 17, 2024
· 0 comments
The goal is to use OCF to accelerate virtual machine system disks.
Install QEMU windows10 virtual machine on the OCF block device, and it can start normally for the first time after installation. Then shut down the virtual machine, flush the ocf cache, reboot from the OCF block device. The Windows virtual machine can restart normally, but internal applications (such as explorer.exe, ctfmon. exe, etc.) will report errors such as "xx memory referenced by xx instruction cannot be read/written", as shown in the screenshot below.
Expected Behavior
The applications in the Windows virtual machine run normally without any errors.
Actual Behavior
There may also be other phenomena, such as the Windows desktop constantly flashing or a black screen.
Steps to Reproduce
1.Prepare a ceph cluster, create a rbd pool and a rbd image, map the rbd image to a block device using "rbd map" command
# Refer to the Ceph documentation to prepare the Ceph clusterand create a rbd pool and a rbd image
# Map the rbd image to a block device using "rbd map"
rbd map testpool/testimage
# Then we'll have a block device /dev/rbd0, create its by-id path
ln -s /dev/rbd0 /dev/disk/by-id/rbd0
2.Create a OCF block device, SATA SSD as cache and above rbd0 as core
Following the Windows10 installation setup guide, the virtual machine can be started and used normally without any errors
4.Shutdown the virtual machine and flush cache
kill -15 {qemupid}
casadm -F -i 1
5.Using the same OCF block device as the boot disk, restart the virtual machine
It can be launched to the Windows desktop, but there will be above application running errors.
Possible Fix
It seems that the program binary data read by the Windows virtual machine from the OCF block device is incorrect, which is why errors such as incorrect instruction access to incorrect addresses occur.
I am a beginner, so I am not entirely sure if it is an OCF issue. But I have conducted a lot of comparative tests, and currently it seems most likely an OCF issue.
Some comparative tests have been conducted:
Try changing various parameters of OCF, such as cache mode, cache line size, turn off sequential-cutoff, etc.: the same issue
Attempt to replace multiple versions of QEMU, virtio-win driver, or OCF: the same issue
Attempt to boot from SPDK ocf bdev: the same issue
Boot virtual machine directly from /dev/rbd0,instead of /dev/cas1-1: it works fine
Attempt to switch to a Linux virtual machine: it works fine
Attempt to change the caching scheme to bcache: it works fine
Description
The goal is to use OCF to accelerate virtual machine system disks.
Install QEMU windows10 virtual machine on the OCF block device, and it can start normally for the first time after installation. Then shut down the virtual machine, flush the ocf cache, reboot from the OCF block device. The Windows virtual machine can restart normally, but internal applications (such as explorer.exe, ctfmon. exe, etc.) will report errors such as "xx memory referenced by xx instruction cannot be read/written", as shown in the screenshot below.
Expected Behavior
The applications in the Windows virtual machine run normally without any errors.
Actual Behavior
There may also be other phenomena, such as the Windows desktop constantly flashing or a black screen.
Steps to Reproduce
1.Prepare a ceph cluster, create a rbd pool and a rbd image, map the rbd image to a block device using "rbd map" command
2.Create a OCF block device, SATA SSD as cache and above rbd0 as core
3.Install Windows10 virtual machine on OCF block device (requires installing virtio win driver)
Following the Windows10 installation setup guide, the virtual machine can be started and used normally without any errors
4.Shutdown the virtual machine and flush cache
5.Using the same OCF block device as the boot disk, restart the virtual machine
It can be launched to the Windows desktop, but there will be above application running errors.
Possible Fix
It seems that the program binary data read by the Windows virtual machine from the OCF block device is incorrect, which is why errors such as incorrect instruction access to incorrect addresses occur.
I am a beginner, so I am not entirely sure if it is an OCF issue. But I have conducted a lot of comparative tests, and currently it seems most likely an OCF issue.
Some comparative tests have been conducted:
Logs
Can provide any necessary related logs.
Configuration files
Can provide any necessary related conf files.
Your Environment
OpenCAS
Ceph
QEMU
virtio-win driver
The text was updated successfully, but these errors were encountered: