Walt Mankowski via plug on 23 Nov 2022 19:06:19 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Switching VM drive from SATA to virtio


On Tue, Nov 22, 2022 at 09:41:20PM -0500, Walt Mankowski via plug wrote:
> On Tue, Nov 22, 2022 at 09:20:38PM -0500, Rich Mingin (PLUG) via plug wrote:
> > On Tue, Nov 22, 2022 at 9:15 PM Walt Mankowski via plug
> > <plug@lists.phillylinux.org> wrote:
> > >
> > > Hi all,
> > >
> > > I've got a Win10 VM running under virt-manager/qemu on Ubuntu 22.10. I
> > > set it up during lockdown, and it's become my go-to way to access the
> > > work VPN when I'm working from home.
> > >
> > > It works about as well as a Win10 box can, with one exception -- it's
> > > very slow, especially when doing disk IO. This wasn't a huge problem
> > > when I was running it every day, but now that I'm only firing it up
> > > occasionally, there's a system update nearly every time, and they can
> > > take hours to install. It's gotten to the point where if I know I need
> > > to work from home, I'll start it up the prior evening so that it will
> > > be usable in the morning.
> > >
> > > I've got the VM booting off a 250 GB partition. (This is part of what
> > > I'm using my 3 TB RAID1 array for from my previous questions.) After
> > > doing some google searches, I think maybe a big reason for the
> > > slowness is that the drive is set as SATA, but performance would be a
> > > lot better if it were virtio.
> > >
> > > Does anyone know if it's possible to switch the drive from SATA to
> > > virtio without having to rebuild everything? I've found some links
> > > that suggest it is, but if so, the process seems fairly complicated.
> > > If anyone could point me towards some instructions that they trust,
> > > I'd appreciate it.
> > >
> > 
> > You can. It's not even particularly complicated. Create a new disk,
> > size doesn't matter. 16GB or whatever. Attach it to the VM via virtio.
> > Once that's done, boot the VM, install the virtio drivers via
> > https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
> > 
> > Once Windows has the virtio drivers loaded, reboot once or twice to
> > make sure it's solid, then change the main virtual disk's type to
> > virtio. It should boot fine. After another reboot or two to be sure
> > Windows is settled and happy, remove the temporary virtio disk. Done.
> 
> OK, that doesn't sound too bad. I'll give it a try over the long
> weekend.

I've done most of what you suggested. I attached a 16 GB disk image
via virtio. I installed the virtio drivers in windows from that
ISO. I've rebooted a few times and everything seems stable.

But I can't figure out how to switch the main virtual disk's type from
SATA to virtio. In the GUI it's listed as "SATA Disk 1" but there's no
obvious way to change it.

The config files all live under /etc/libvert. I found a file named
/etc/libvirt/qemu/win10.xml which contained the config for the
drive. Following the example for my 16GB drive, I made this change:

--- win10.xml.save      2022-11-23 21:06:50.092083902 -0500
+++ win10.xml   2022-11-23 21:35:53.740685051 -0500
@@ -49,7 +49,7 @@
     <disk type='file' device='disk'>
       <driver name='qemu' type='qcow2'/>
       <source file='/storage/libvert_pool/win10.qcow2'/>
-      <target dev='sda' bus='sata'/>
+      <target dev='vda' bus='virtio'/>
       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
     </disk>
     <disk type='file' device='cdrom'>

But it's still showing as SATA Drive 1 in the GUI. I've tried
rebooting a few times. It might be a tad faster, but maybe that's just
because I've rebooted so many times that everything is cached.

The only other thing I can think to do is to remove SATA Drive 1, then
try to re-add it using virtio. It seemed wise to ask here first before
I try that.

One other odd thing -- I was expecting to see the 16 GB image as a
letter drive in Windows, but it's not appearing there.

Walt
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug