johnodon Posted November 12, 2014 Share Posted November 12, 2014 dmacias, Can you explain 9P sharing? Is this the bit that allows Linux VMs direct access to the host file system? What is the purpose of the "Mount tag"? Is this the name of the share as sen on the guest? Where is it on the guest? /mnt? /media? /? John Yes exactly. It allows you to passthrough your unRAID files directly. This was one thing that sold me on kvm over xen. No more problems with mounting network shares and other problems associated with that in xen. I planned to add a way to create more than one 9p share but for now there is just one. But you can edit the xml and make more. Basically the unRAID share: is the path of the share in unRAID you want to passthrough. e.g. /mnt/users/tv. And the mount tag can be a single name or whatever you want (like /mnt/users/tv) but inside the vm you'll have to use that tag to mount the share in fstab. So I would suggest just using a single name like shares. Then in your vm you would create the folder you wanted to mount to (I create the same as the path in unRAID) and then add this to the end of /etc/fstab shares /mnt 9p trans=virtio,version=9p2000.L,noauto,nobootwait,rw 0 0 So for me I passed though /mnt with a mount tag of shares and then in my apps vm I mount shares tag to the same location /mnt. So if I browse to /mnt in my vm I see the same directory structure I would in unRAID. I then created symlinks to my tv shares (ln /mnt/users/tv_shows /tv) and to my movies shares (ln /mnt/users/movies /movies), music etc.. for use in sickrage, couchpotato, headphones. Hope I explained that clearly. Edit: Once added to fstab you can restart or I would do mount /mnt to test cause your vm can hang if you mess up the fstab and you reboot. OK...I'm a big dummy! Since I am working with an existing XML, I can't use the "Create" tool to enable 9p sharing. What code needs to be added to enable 9p? I created a new (test) VM and enabled 9p and I see this: <filesystem type='mount' accessmode='passthrough'> <source dir='/mnt'/> <target dir='unraid'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </filesystem> Is that all I need to add to my existing XML? (and of course the fstab entry). FYI...here is my current XML: <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>HTPCFAMRM</name> <uuid>c43b7542-b40b-495f-90ab-aaa4eec68e8a</uuid> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>2</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> </cputune> <os> <type arch='x86_64' machine='pc-q35-2.1'>hvm</type> <boot dev='hd'/> <bootmenu enable='no'/> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='2' threads='1'/> </cpu> <clock offset='localtime'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none' io='native'/> <source file='/mnt/cache/VMs/HTPCFAMRM.qcow2'/> <target dev='vdc' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/Images/xbmcbuntu-13.0~gotham_amd64.iso'/> <target dev='hdb' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x2'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='pci' index='0' model='pcie-root'/> <controller type='pci' index='1' model='dmi-to-pci-bridge'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/> </controller> <controller type='pci' index='2' model='pci-bridge'> <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/> </controller> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='52:94:00:d0:c0:dc'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/> </interface> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x20a0'/> <product id='0x0001'/> </source> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/> </memballoon> </devices> <seclabel type='none' model='none'/> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=83:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=83:00.1,bus=pcie.0'/> </qemu:commandline> </domain> John Quote Link to comment
dmacias Posted November 12, 2014 Author Share Posted November 12, 2014 dmacias, Can you explain 9P sharing? Is this the bit that allows Linux VMs direct access to the host file system? What is the purpose of the "Mount tag"? Is this the name of the share as sen on the guest? Where is it on the guest? /mnt? /media? /? John Yes exactly. It allows you to passthrough your unRAID files directly. This was one thing that sold me on kvm over xen. No more problems with mounting network shares and other problems associated with that in xen. I planned to add a way to create more than one 9p share but for now there is just one. But you can edit the xml and make more. Basically the unRAID share: is the path of the share in unRAID you want to passthrough. e.g. /mnt/users/tv. And the mount tag can be a single name or whatever you want (like /mnt/users/tv) but inside the vm you'll have to use that tag to mount the share in fstab. So I would suggest just using a single name like shares. Then in your vm you would create the folder you wanted to mount to (I create the same as the path in unRAID) and then add this to the end of /etc/fstab shares /mnt 9p trans=virtio,version=9p2000.L,noauto,nobootwait,rw 0 0 So for me I passed though /mnt with a mount tag of shares and then in my apps vm I mount shares tag to the same location /mnt. So if I browse to /mnt in my vm I see the same directory structure I would in unRAID. I then created symlinks to my tv shares (ln /mnt/users/tv_shows /tv) and to my movies shares (ln /mnt/users/movies /movies), music etc.. for use in sickrage, couchpotato, headphones. Hope I explained that clearly. Edit: Once added to fstab you can restart or I would do mount /mnt to test cause your vm can hang if you mess up the fstab and you reboot. OK...I'm a big dummy! Since I am working with an existing XML, I can't use the "Create" tool to enable 9p sharing. What code needs to be added to enable 9p? I created a new (test) VM and enabled 9p and I see this: <filesystem type='mount' accessmode='passthrough'> <source dir='/mnt'/> <target dir='unraid'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </filesystem> Is that all I need to add to my existing XML? (and of course the fstab entry). FYI...here is my current XML: <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>HTPCFAMRM</name> <uuid>c43b7542-b40b-495f-90ab-aaa4eec68e8a</uuid> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>2</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> </cputune> <os> <type arch='x86_64' machine='pc-q35-2.1'>hvm</type> <boot dev='hd'/> <bootmenu enable='no'/> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='2' threads='1'/> </cpu> <clock offset='localtime'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none' io='native'/> <source file='/mnt/cache/VMs/HTPCFAMRM.qcow2'/> <target dev='vdc' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/Images/xbmcbuntu-13.0~gotham_amd64.iso'/> <target dev='hdb' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x2'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='pci' index='0' model='pcie-root'/> <controller type='pci' index='1' model='dmi-to-pci-bridge'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/> </controller> <controller type='pci' index='2' model='pci-bridge'> <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/> </controller> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='52:94:00:d0:c0:dc'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/> </interface> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x20a0'/> <product id='0x0001'/> </source> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/> </memballoon> </devices> <seclabel type='none' model='none'/> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=83:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=83:00.1,bus=pcie.0'/> </qemu:commandline> </domain> John I think minus the address line. Let libvirt create that. You can do as many as you need too. Quote Link to comment
johnodon Posted November 12, 2014 Share Posted November 12, 2014 OK... I added the following to my VM: <filesystem type='mount' accessmode='passthrough'> <source dir='/mnt'/> <target dir='unraid'/> </filesystem> Here is my fstab: # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/vda1 during installation UUID=7fae00e5-f843-44ff-b9bd-c3910fc7b98f / ext4 errors=remount-ro 0 1 # swap was on /dev/vda5 during installation UUID=fc14b9fe-717a-4b18-8ae3-c6d8e3310571 none swap sw 0 0 unraid /mnt 9p trans=virtio,version=9p2000.L,noauto,nobootwait,rw 0 0 I rebooted the VM and and went to System --> File Manager --> Add Source --> Root filesystem --> mnt and it was empty. I SSH'd in and did a sudo mount /mnt And I can now see my shares. Any idea why the fstab entry didn't work? At least I know 9p is working anyway! Quote Link to comment
dmacias Posted November 12, 2014 Author Share Posted November 12, 2014 Ah doh, cause I use noauto because sometimes it will hang when mounting from fstab or cause errors. I then added "mount /mnt" to /etc/rc.local and if your gonna use couchpotato, sickbeard etc I changed their corresponding S scripts in /etc/rc#.d to S99 and rc.local to S98. So the share is mounted before the apps. Also even though the noboot wait is in fstab it doesn't always work and the vm would hang waiting on the share to be ready. Quote Link to comment
Manticore Posted November 13, 2014 Share Posted November 13, 2014 I too am using xbmcubuntu. I'm currently able to see my drives under Zeroconf Browser, Tower (SAMBA) I added 9p to my xml <filesystem type='mount' accessmode='passthrough'> <source dir='/mnt'/> <target dir='unraid'/> <alias name='fs0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/> </filesystem> When I try to mount the /mnt I get the following root@Tower:~# mount /mnt mount: wrong fs type, bad option, bad superblock on unraid, missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program) In some cases useful info is found in syslog - try dmesg | tail or so The /mnt is empty under Root filesystem. This is my fstab: root@Tower:/etc# vi fstab reading fstab /dev/disk/by-label/UNRAID /boot vfat auto,rw,exec,noatime,nodiratime,umask=0,shortname=mixed 0 0 unraid /mnt 9p trans=virtio,version=9p2000.L,noauto,nobootwait,rw 0 0 Is there anything you can see that would stop 9p working correctly? Quote Link to comment
dmacias Posted November 13, 2014 Author Share Posted November 13, 2014 I too am using xbmcubuntu. I'm currently able to see my drives under Zeroconf Browser, Tower (SAMBA) I added 9p to my xml <filesystem type='mount' accessmode='passthrough'> <source dir='/mnt'/> <target dir='unraid'/> <alias name='fs0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/> </filesystem> When I try to mount the /mnt I get the following root@Tower:~# mount /mnt mount: wrong fs type, bad option, bad superblock on unraid, missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program) In some cases useful info is found in syslog - try dmesg | tail or so The /mnt is empty under Root filesystem. This is my fstab: root@Tower:/etc# vi fstab reading fstab /dev/disk/by-label/UNRAID /boot vfat auto,rw,exec,noatime,nodiratime,umask=0,shortname=mixed 0 0 unraid /mnt 9p trans=virtio,version=9p2000.L,noauto,nobootwait,rw 0 0 Is there anything you can see that would stop 9p working correctly? When you added to your xml did you add the alias and address line? If so remove them and let libvirt create them. Try "sudo modprobe 9p" from the command line in xbmcbuntu to see if 9p is enabled in the kernel. Edit: it might be modprobe 9pnet and/or 9pnet_virtio Quote Link to comment
Manticore Posted November 13, 2014 Share Posted November 13, 2014 When you added to your xml did you add the alias and address line? If so remove them and let libvirt create them. Try "sudo modprobe 9p" from the command line in xbmcbuntu to see if 9p is enabled in the kernel. Edit: it might be modprobe 9pnet and/or 9pnet_virtio I did not add the alias and address line. They were created after I ran the VM. I tried sudo modprobe 9p, modprobe 9pnet and 9pnet_virtio but I kept getting the same response, which is nothing. It just goes to the next line. unraid /mnt 9p trans=virtio,version=9p2000.L,noauto,nobootwait,rw 0 0 My fstab in Ubuntu is read only, so I cannot add this. Is is for my Ubuntu fstab or my Unraid fstab. Sorry for the stupid questions. Ive been up all night messing with KVM and ive gone a bit daft Quote Link to comment
dmacias Posted November 13, 2014 Author Share Posted November 13, 2014 It's for your ubuntu fstab. The modprobe response is good no errors. You can edit fstab with sudo nano /etc/fstab or from desktop right click on etc and open as root. You'll also need to add "mount /mnt" to /etc/rc.local Quote Link to comment
archedraft Posted November 13, 2014 Share Posted November 13, 2014 Here is my step by step cheat sheet for mounting 9P shares: http://lime-technology.com/forum/index.php?topic=34686.msg322473#msg322473 Quote Link to comment
saarg Posted November 16, 2014 Share Posted November 16, 2014 I cannot seem to get the autostart to work when booting unraid. I at first thought it was something I did with the configuration files, but it's the same problem after replacing the modified configuration files with the unraid ones. Autostart works if I go to Settings --> Virtman and stop and start libvirt. Since Autostart works when stopping/starting libvirt manually there shouldn't be any problems with permissions? logfile.txt Quote Link to comment
dmacias Posted November 16, 2014 Author Share Posted November 16, 2014 I cannot seem to get the autostart to work when booting unraid. I at first thought it was something I did with the configuration files, but it's the same problem after replacing the modified configuration files with the unraid ones. Autostart works if I go to Settings --> Virtman and stop and start libvirt. Since Autostart works when stopping/starting libvirt manually there shouldn't be any problems with permissions? Only thing I did see was "warning: mounting unchecked fs, running e2fsck is recommended". Your virtMan.img may be corrupt. I did reformat the filesystem of virtMan.img on it in a later version to include journaling. You could backup your xml files from /etc/libvirt/qemu, then umount /etc/libvirt and remove /boot/config/virtMan/virtMan.img (back it up too) and reinstall the plugin. and add your xml's back. Quote Link to comment
dmacias Posted November 16, 2014 Author Share Posted November 16, 2014 I'll try that Also are your vm's on your cache or non array drive? Shouldn't matter for cache but if non array gets mounted on or after array starts then the vm's can't start since their images aren't available. Quote Link to comment
johnodon Posted November 16, 2014 Share Posted November 16, 2014 Does virtmanager have the ability to stagger VM autostarts? If so, is that something you can incorporate in the plugin? John Quote Link to comment
saarg Posted November 16, 2014 Share Posted November 16, 2014 I'll try that Also are your vm's on your cache or non array drive? Shouldn't matter for cache but if non array gets mounted on or after array starts then the vm's can't start since their images aren't available. It did not work to do as you suggested. The vm's are on my cache drive. As said before, the vm's start if I restart libvirt, so it seems to me that there is something in the boot process that prevents the vm's to start. I was thinking that it might have been that I was using passthrough in my vm's (pci and usb), but just tried to set a test vm I had to autostart with the same result. The other vm's had their autostart disabled during the test. Quote Link to comment
dmacias Posted November 16, 2014 Author Share Posted November 16, 2014 Does virtmanager have the ability to stagger VM autostarts? If so, is that something you can incorporate in the plugin? John No it doesn't. It just starts whatever vm is symlinked in /etc/libvirt/qemu. What you could do is create a script that runs when libvirt starts and starts the vm's in order. Or better make each vm check for the other vm before starting the needed services. If I can think of a better solution I'll let you know. What vm's you running that are dependent? Quote Link to comment
dmacias Posted November 16, 2014 Author Share Posted November 16, 2014 I'll try that Also are your vm's on your cache or non array drive? Shouldn't matter for cache but if non array gets mounted on or after array starts then the vm's can't start since their images aren't available. It did not work to do as you suggested. The vm's are on my cache drive. As said before, the vm's start if I restart libvirt, so it seems to me that there is something in the boot process that prevents the vm's to start. I was thinking that it might have been that I was using passthrough in my vm's (pci and usb), but just tried to set a test vm I had to autostart with the same result. The other vm's had their autostart disabled during the test. It could be the virtman image is not getting mounted before libvirt is started. Maybe you could post a new log and virtMan.img if you want or pm it to me. Could you check /etc/libvirt/qemu and see if symlinks are created/deleted when you toggle autostart. Somehow there could be actual files there instead. Quote Link to comment
archedraft Posted November 17, 2014 Share Posted November 17, 2014 Does virtmanager have the ability to stagger VM autostarts? If so, is that something you can incorporate in the plugin? John No it doesn't. It just starts whatever vm is symlinked in /etc/libvirt/qemu. What you could do is create a script that runs when libvirt starts and starts the vm's in order. Or better make each vm check for the other vm before starting the needed services. If I can think of a better solution I'll let you know. What vm's you running that are dependent? One of these days I might get around to turning my pfSense box into a VM and then it would be nice to have that start before my other two VM's Quote Link to comment
dmacias Posted November 17, 2014 Author Share Posted November 17, 2014 Does virtmanager have the ability to stagger VM autostarts? If so, is that something you can incorporate in the plugin? John No it doesn't. It just starts whatever vm is symlinked in /etc/libvirt/qemu. What you could do is create a script that runs when libvirt starts and starts the vm's in order. Or better make each vm check for the other vm before starting the needed services. If I can think of a better solution I'll let you know. What vm's you running that are dependent? One of these days I might get around to turning my pfSense box into a VM and then it would be nice to have that start before my other two VM's After thinking about it, I think I would be better to have the vm applications themselves check for the existence of networks, databases and any other dependencies before starting or starting certain services. Rather than have the hypervisor do that. There's too many variables between different setups and vm's. Also the fact that a vm is running is no indication that the application is running or the database has started. Quote Link to comment
saarg Posted November 17, 2014 Share Posted November 17, 2014 It could be the virtman image is not getting mounted before libvirt is started. Maybe you could post a new log and virtMan.img if you want or pm it to me. Could you check /etc/libvirt/qemu and see if symlinks are created/deleted when you toggle autostart. Somehow there could be actual files there instead. Here is my virtman.img and the syslog. From the syslog it looks like virtman.img is mounted long before (20 seconds) libvirt starts. The symlinks are created when I toggle autostart. I was thinking to disable autostart of libvirt in the settings of virtman and starting libvirt from the go file, but have to wait until some scheduled recordings are finished. Does disabling libvirt in the settings page stop the mounting of virtman.img also? Edit: Another thing I noticed is that autostarting vm's and using vfio-bind is not that easy. Looking at the syslog binding the pci device to vfio is done almost two minutes after libvirt gets started. I was hpoing that this was my problem, but since I tried with a vm that did not use autostart, that was not the case. syslog.txt virtMan.zip Quote Link to comment
saarg Posted November 17, 2014 Share Posted November 17, 2014 I might have found a bug. If you enable autostart on a vm, then edit the domain xml (just hitting save without doing anything), the autostart gets removed. Is this by design or a bug? Quote Link to comment
dmacias Posted November 17, 2014 Author Share Posted November 17, 2014 I might have found a bug. If you enable autostart on a vm, then edit the domain xml (just hitting save without doing anything), the autostart gets removed. Is this by design or a bug? I don't know that there is a way around that. I'll have to look but when a domain is edited and saved it is undefined then redefined. So libvirt would remove the autostart when it's undefined. I have a look at those files when I get home. Yes virtMan.img is always installed. Quote Link to comment
reluctantflux Posted November 18, 2014 Share Posted November 18, 2014 I found a bug. If your file extension is in caps, VMman won't see it. I.E. Win81.ISO would show in the storage pool, but was not an option in the drop down for the "Create" tab. I changed it to Win81.iso and was then able to select it. Secondly, would it be possible in the Create VM section to select disks not mounted in the array? I did this to give my gaming VM direct access to a spare SSD I had. It would need to read the /dev/disk/by-id/ and add the following code to the xml file: <disk type='block' device='disk'> <source dev='/dev/disk/by-id/ata-Corsair_CSSD-F120GB2_1109650632000461003B' /> <target dev='hdc' bus='virtio' /> </disk> The following may also need to be added in order to install from an iso to the hard drive: <os> <boot dev='cdrom'/> <bootmenu enable='yes' timeout='3000'/>' </os> If not, no biggie. I know how to do it manually. Thanks for the great plugin! Quote Link to comment
JustinChase Posted November 18, 2014 Share Posted November 18, 2014 Secondly, would it be possible in the Create VM section to select disks not mounted in the array? I did this to give my gaming VM direct access to a spare SSD I had. It would need to read the /dev/disk/by-id/ and add the following code to the xml file: <disk type='block' device='disk'> <source dev='/dev/disk/by-id/ata-Corsair_CSSD-F120GB2_1109650632000461003B' /> <target dev='hdc' bus='virtio' /> </disk> Would this let me run a VM from an SSD outside the array without mounting it using SNAP? I installed SNAP, and that seems to be working fine, but if I can eliminate another plugin, and do it directly, that might be a better option. If so, do i need to do anything other than add this code to my XML? is anything done in the go file, for example? thanks Quote Link to comment
reluctantflux Posted November 18, 2014 Share Posted November 18, 2014 Would this let me run a VM from an SSD outside the array without mounting it using SNAP? I installed SNAP, and that seems to be working fine, but if I can eliminate another plugin, and do it directly, that might be a better option. If so, do i need to do anything other than add this code to my XML? is anything done in the go file, for example? thanks Yes, but it gives block level access to the SSD, so there's no qcow2 file or anything. So when I installed Windows 8.1, it created the NTFS file system on the actual SSD, instead of within an image file. I found this to have excellent performance just from my initial messing around (no tests run yet). The "source" should be pointed to your individual drive at /dev/disk/by-id folder instead of a /dev/sdx or whatever, because the sdx might change upon reboots. You'll also want to add to the <os> </os> section: <os> <boot dev='cdrom'/> <bootmenu enable='yes' timeout='3000'/>' </os> This seems necessary in order to be able to boot from an iso to do the initial install. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.