[CentOS-virt] Selecting raw logical volumes during guest VM creation
jboyce at meridianenv.com
Wed Dec 7 19:43:32 EST 2011
I have stepped through the first guest OS installation (a testing VM) on my
new server and have a technical question that I hope someone might be able
to help me with. I have exhausted my google search ability and have not
been able to find the details I am looking for. In general the question I
am trying to answer is how to select and use multiple raw logical volumes
when creating a new VM, rather than just a single raw logical volume (if it
is possible). Here are the details...
I have setup my hardware with a single volume group (vg_mei) encompassing my
entire raid array. With this I set up my base OS (CentOS 6) for the purpose
of managing the hardware and the few VMs that will be created (using KVM).
Three LVs were created for the base OS (lv_hostroot, lv_hostswap, and
lv_hostvar) to contain the appropriate parts of the base OS file system. As
expected, /boot was located outside the volume group. In preparation for
installing my testing VM, I created two more LVs (lv_testroot and
lv_testvar) to contain the appropriate parts of the guest file system.
Following the RHEL6 Virtualization Guide (Section 25.1.4 for using LVM-based
Storage Pools) I successfully added all the logical volumes that had been
created into the host storage pool. So when I start the Virt-Manager GUI
and work through the five steps for creating a new VM (shown in Section 6.3
of the RHEL6 Virtualization Guide), Step #4 provides the option for creating
or using existing storage for the VM. When I select the option to use
"managed or other existing storage" then choose the browse button, I am
given a dialog box that displays all LVs that I have previously created. At
this point though I am only allowed to select a single LV to install the
guest OS. So I chose the lv_testroot logical volume and the installation
was able to be completed (there was a little manual intervention required
during the OS installation partitioning layout in order to prevent nesting
LVMs). But I am wondering if there is a way during Step #4 of the VM
creation to pass multiple LVs to the system so that during the OS
installation process you have all the LVs that you want for the partitioning
I assume that there is a way to add an LV to an existing VM after the guest
OS is installed, then move portions of the file system over to the added LV.
Following my example above, adding lv_testvar to the testing VM then move my
/var directory over and add an entry in fstab to mount it at boot time. I
am doing some google searching right now to try and verify the details on
how to do this.
I curious about the best way to do the VM setup since I will be creating a
new VM for my Samba file server, which will also include the users home
directories. So for the Samba VM I will create in advance LVs for /, /var,
/home, and /sambashare. Also is it possible to likewise add an LV for /swap
after the fact (or is it really needed anymore for something like a small
file server)? I want to use raw LVs from my host system in order to be able
to use the full capabilities of LVM for each of my guest VMs. I realize
that this may create a number of LVs to manage, but I don't expect to have
more than 4 VMs on this box and I have worked out a good naming scheme for
the LVs in order to keep track of everything.
Any technical help, or pointers to blogs or technical documents that I may
have missed, is greatly appreciated. Thanks.
More information about the CentOS-virt