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