[SOLVED] - VM Mover - Storing VM off cache drive


Go to solution Solved by JonathanM,

Recommended Posts

I recently noticed after running diagnostics at the command line, that my libvirt log file is reporting bunch of missing iso, img, and dev/disk/ (physical disks).  I intentionally moved some VM images off the cache pool to save on room.  (I move them back to the cache pool when I want to use that particular VM.

 

It appears to me that when you browse to the VM tab, this executes some type of search or query to see if all the iso's, images, and dev devices are in their rightfully place, which may also explain why in my case it takes a little bit of time for the VM page to load, (it is not finding what it is looking for).

 

here are 2 lines from the libvirt.txt file (see attached full log)

 

2022-06-08 14:55:32.602+0000: 14124: error : virQEMUFileOpenAs:11519 : Failed to open file '/dev/disk/by-id/ata-MKNSSDRE500GB_MK17052310036411A': No such file or directory
2022-06-08 14:55:35.245+0000: 14125: error : virFileIsSharedFixFUSE:3337 : unable to canonicalize /mnt/user/domains/sagerrecoveryuae/vdisk1.img: No such file or directory

 

This may not be possible, but I will through it out there any way.  Why not do the search for the files when you go to start or edit one particular vm instead of search for all the images and isos when you browse to the VM tab.   (I typically do not have the disk drives section  view for each vm expanded)  (I like the compact view and expand the view as needed)

 

I may be a "one off case" for this, meaning everyone else has room to spare on their cache pool, and they do not need to get rid of or move less frequently used items off the cache pool.

 

There may also be a better way to handle this particular situation.

 

I am guessing there is no "VM Mover app".  (an app that would invoke moving a VM to the cache pool along with all the iso, images, xml, nvram, and any other items for the VM), then once you are done with the VM you invoke a move to return it to the desired share on the array.

 

I am guessing this could be done with "user scripts".  I will need to learn some more about user scripts before I can pound out anything like that in script format, and I am surely not ready to make an app for this.

 

In the meantime I am remapping the isos or images to a share on the array that I have set up for this, but this does not eliminate the errors I get in the libvirt log for missing physical drives.  I have some VMs that are currently physical drives and only get connected and mounted to the server when I want to spin up that vm.  I need to convert the physical disks to images.  

 

Just wondering if anybody else is moving VM images off their cache pool (but leaving their VM settings and in place) and moving it back when needed.  For now I am remapping the images stored on the array, to see if this speeds up load time for my VM tab.

 

Maybe this will help someone else out.

libvirt.txt

Edited by Albin
Link to comment
  • Solution
26 minutes ago, Albin said:

 

Just wondering if anybody else is moving VM images off their cache pool (but leaving their VM settings and in place) and moving it back when needed. 

I do, and as long as you leave them in the same place in the user share, they will run from either location without moving if you want. I use this to keep seldom used or low demand VM's from taking up precious SSD space and writes.

 

/mnt/disk1/domains/VM1/vdisk1.img can be moved to /mnt/cache/domains/VM1/vdisk1.img and it stays available at /mnt/user/domains/VM1/vdisk1.img

 

You must set the domains share to be cache no or only so the mover won't interfere. If you set cache no, then new VM's saved to /mnt/user/domains will be created on /mnt/disk1/domains, or whichever array disk is a valid location based on the other share settings. If you set cache only, new VM's will be created on /mnt/cache/domains

 

You can freely move them to array or cache locations in the domains folders and they will appear in /mnt/user/domains

 

If you don't understand how or why this works, don't experiment until you do understand, as there is a risk of irretrievable data loss if you mix /mnt/user and /mnt/diskX /mnt/cache paths in file moves, as the same file appears in both paths but the OS doesn't know it's the same file and can overwrite it with itself, resulting in a zero byte file.

 

If you stay out of /mnt/user completely for file moves you are safe.

  • Like 1
Link to comment

Perfectly explained.  I really appreciate it.  I was over thinking this.  Now I need to get the dev devices converted over to images so the VM tab loads faster, and I can get rid of all those error showing in the libvirt log.

 

Thanks again.

Link to comment
  • Albin changed the title to [SOLVED] - VM Mover - Storing VM off cache drive

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.