windows icon indicating copy to clipboard operation
windows copied to clipboard

KVM_CAP_IOEVENTFD_ANY_LENGTH ISSUE

Open Lynnhs1n opened this issue 1 year ago • 12 comments

image I try install this on synology dsm7.1 docker and it pop up this error message can somebody tell me how to resolve it? thanks alot

Lynnhs1n avatar Feb 23 '24 11:02 Lynnhs1n

First time I see that message. The KVM_CAP_IOEVENTFD_ANY_LENGTH support was added in Linux kernel 4.4, it is possible that Synology uses a bit older kernel than that.

My suggestion would be to either update DSM to version 7.2, and see if it makes any difference. If not, you can always use the the "Virtual Machine Manager" package from Synology instead of this container to run Windows.

This container is more aimed at people who have no other software to run a VM, but on a Synology you have excellent software to do that so you dont really need this container.

kroese avatar Feb 23 '24 11:02 kroese

Linux Nath8NAS 3.10.108 #42962 SMP Mon May 29 14:36:28 this is my NAS kernel version

Lynnhs1n avatar Feb 23 '24 12:02 Lynnhs1n

my NAS model is DS1515+, not support DSM7.2. using "Virtual Machine Manager" package will cause performance loss. so i prefer using docker

Lynnhs1n avatar Feb 23 '24 12:02 Lynnhs1n

Seems like it has kernel 3.10 and you need 4.4 or higher.

Also, Virtual Machine Manager uses QEMU to launch the VM, and this container also uses QEMU, so the performance will be identical with both methods.

kroese avatar Feb 23 '24 12:02 kroese

ok thanks

Lynnhs1n avatar Feb 23 '24 12:02 Lynnhs1n

the docker container I created was automatically downloaded a Windows11 iso file. that will cause the usage of my precious storage space. if i delete this docker container will this iso file be removed?

Lynnhs1n avatar Feb 23 '24 12:02 Lynnhs1n

It depends on the settings.. if it was a Docker volume it will be automaticly removed, if you put a bind mount to a path in the compose file, you can remove that directory manually.

kroese avatar Feb 23 '24 12:02 kroese

thanks for helping me

Lynnhs1n avatar Feb 23 '24 18:02 Lynnhs1n

This container is more aimed at people who have no other software to run a VM, but on a Synology you have excellent software to do that so you dont really need this container.

On a related note, I just have to ask. Is there a way to get Synology's VMM to use local hard disk pass through. Really that is the only reason I'm trying to get this container to work on my Synology. This container's documentation said that hard drive pass through was possible with docker. I know I can't do the same in VMM, but is it possible for me to hand modify files or something to get that to work with VMM on Synology?

MikePrime21 avatar Feb 24 '24 02:02 MikePrime21

@MikePrime21 I have very little experience with VMM, so I do not know if that is possible (or how to do it). I created another project that is basicly a clone of VMM ( https://github.com/vdsm/virtual-dsm ) so I always use that one myself instead of VMM.

Also, you can only passthrough devices that are unused by the host. So I dont see how that could work on a Synology, because the drives are already in use by DSM for a volume. Maybe if you could give a little bit more information about your rationale behind wanting to passthrough a device, since there might be other solutions.

kroese avatar Feb 24 '24 03:02 kroese

I have an old 12 drive synology that can only be upgraded to DSM 7.1. I've converted it into a live backup server. I prefer to have my backup server not use raid. Right now I'm using a Synology app called PetaSpace that runs glusterfs to make all 12 drives look like a single volume. The problem is that its slow and error prone. I tried using mergerfs, but it blows up because its missing the acls causing all the Synology apps to blow up.

At this point I'm even willing to give up on the Synology OS and all its apps to make this work, so I was looking for ways to just run a virtual machine and pass in the uninitialized drives to it and run a real OS like windows or linux to get what I need. That's when I stumbled upon this project. If I could use windows I would, but it looks like that may not be possible. But knowing docker can pass through devices I guess I can try creating an unraid or OMV container. If that doesn't work I'll just sell the synology on ebay and go back to using a standard pc for my backup nas. Its a shame, I love the synology hardware, I just hate the constraints they put on their software.

MikePrime21 avatar Feb 24 '24 04:02 MikePrime21

Thats kind of funny, because I "hate" their hardware (old generation CPU's, noisy fans, etc) but I love their software.

In any case, for QEMU the process of passing a device vs using a disk image is completely identical. Instead of using the filename in the commandline parameters, you just use the device name.

So what you could do is just launch a VM in VMM. Then log into SSH and start a tool like htop to see the current running processes. This will show you the exact commandline of the QEMU process that VMM created. Then you can copy this whole command and only modify the name of the image file to the name of the device you want to use. Then close VMM and execute the modified QEMU command manually. I never tested this, but I cannot think of any reason why this should not work.

kroese avatar Feb 24 '24 04:02 kroese