
On 12/22/2011 12:44 PM, Daniel P. Berrange wrote:
On Thu, Dec 22, 2011 at 09:20:01AM -0500, David Mansfield wrote:
On 12/21/2011 05:41 PM, Daniel P. Berrange wrote:
Hi All.
I have a dell system with a H700 raid. Within the hardware RAID config I've created a "virtual disk" which I have assigned to one of my guests. On the host the device is "/dev/sdb", on the guest it's "/dev/vdb".
This works fine.
Within the guest, we have created lvm PV on /dev/vdb (using the whole disk - no partitions) and created a volume group. The guest's hostname is "argo" and the vg is called "vg_argo_bkup".
When I reboot the host, it does a vgscan and finds the volume group and activates it in the _host_, which I need to prevent (I think??).
I have successfully done this by filtering "/dev/sdb" in /etc/lvm/lvm.conf (which does NOT work as advertised BTW), but referencing the extremely volatile SCSI "sd*" names seems a terrible way to do this. If I fiddle around in the HW raid config, the /dev/sd? may change.
I plan on creating about 10 more VM's spread over a number of machines over the next weeks with a very similar setup, and the admin overhead seems like it'll be onerous and error-prone.
I'd love to be able to filter the volume groups by VG name instead of pv device node. The host's hostname is "narnia" and I'd love to say, 'vgscan --include-regex "vg_narnia.*"' or something similar, if you get my drift.
Does anyone have a best practice for this? I'm sure iSCSI enthusiasts must have the exact same issue all the time. The recommended approach is not to assign the entire disk to the guest. Partition the host disk, to contain 1 single partition consuming all space, then assign the partition to the guest. Worst case is you loose a few KB of space due to partition alignment, but
On Wed, Dec 21, 2011 at 05:23:33PM -0500, David Mansfield wrote: this is a small price to pay to avoid the LVM problems you describe all to well. I don't really understand. The host still scans the partitions, right? And the partition "dev" names change dynamically if the whole-disk changes it's "dev" name. Won't I still have to list specific volatile names in the /etc/lvm/lvm.conf on the host?
The host will see '/dev/sda' and '/dev/sda1', you'll assign ' /dev/sda1' to the guest, and it will appear as /dev/vda. In the guest you'll create '/dev/vda1' and format it as the PV. So while the host will see /dev/sda1, it won't see the nested partition table, and thus won't see the PV
Ahhh. Brilliant. Thanks. Now the only problem is getting the underlying stripe alignment right ;-) David