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:
On Wed, Dec 21, 2011 at 05:23:33PM -0500, David Mansfield 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
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