[linux-lvm] Problem with UUID, vgscan, vgcfgrestore

Diederick van Dijk diedvdyk at jedi.van-dijk.net
Tue Apr 3 05:34:50 UTC 2001


On Monday 02 April 2001 23:00, you wrote:
> Diederick van Dijk writes:
> > I've a LVM of 8 physical volumes that I've created with LVM 0.9.1 beta 2.
> > I've the know problem that vgscan reports that it can't find my VG.
> > So I upgraded to LVM 0.9.1 beta 6 (tools and kernel) and runned on each
> > physical disk a vgcfgrestore. Unfortunately I didn't solve the problem.
> > Attached is the output of the commands vgdisplay -v and a pvdata -U for
> > each physical disk. Debug logs a very huge so I won't attach them.
>
> OK, I have figured out why vgcfgrestore doesn't work properly with broken
> UUIDs.  It is because vgcfgrestore only restores the backup VGDA data to
> each disk separately.  This means it is not possible to have consistent
> UUIDs generated for all PVs in a VG when vgcfgrestore is run.
>
> You can try the following (experimental) procedure to fix the UUIDs:
>
> Check each PV with "pvdata -PP /dev/hdX" to ensure it has a valid
> UUID assigned.  Also get the PV numbers (starting with 1) for each of
> the PVs.  Finally, check the pv_uuidlist_on_disk.base for each PV.
> It will normally be 6144, but it does not have to be.
>
> for each PV (in PV# order)
>     dd if=/dev/hdX bs=1 skip=44 count=128 >> /tmp/uuids
>
> This should create a file /tmp/uuids which has all of the PV UUIDs in it.
> Make sure there are as many UUIDs in the file ("od -a /tmp/uuids" is good)
> as you have PVs (8 in your case).
>
> Now, we want to write the UUID list back to the PVs so vgscan is happy:
>
> for each PV (in any order)
>     dd if=/tmp/uuids of=/dev/hdX bs=1 seek=<pv_uuidlist_on_disk.base for
> hdX>

Unfortunately this doesn't work. I get on of=/dev/hda2 an invalid argument. 
Can you write to a partition with dd ? Or has it to be a disk such as 
/dev/hda ?

>
> example:
>     dd if=/tmp/uuids of=/dev/hda2 bs=1 seek=6144
>
> Now vgscan should be able to detect all of the disks and work properly.
>
> Cheers, Andreas




More information about the linux-lvm mailing list