[PLUGIN DEPRECATED] VM Manager (2015.02.24)


dmacias

Recommended Posts

dmacias,

 

Can you explain 9P sharing?  Is this the bit that allows Linux VMs direct access to the host file system?

 

iQNRkxO.png

 

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

Link to comment
  • Replies 566
  • Created
  • Last Reply

Top Posters In This Topic

dmacias,

 

Can you explain 9P sharing?  Is this the bit that allows Linux VMs direct access to the host file system?

 

iQNRkxO.png

 

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.

Link to comment

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!  :)

Link to comment

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.

 

Link to comment

 

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?

Link to comment

 

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

Link to comment

 

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

 

Link to comment

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

Link to comment

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.

Link to comment

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.

 

Link to comment

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?

Link to comment

 

 

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.

Link to comment

 

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

Link to comment

 

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.

 

Link to comment

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

Link to comment

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.

Link to comment

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!

Link to comment

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

Link to comment

 

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. 

Link to comment
  • trurl unpinned this topic

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.