Michael Tautschnig a écrit :
Ok, this will need some more experimental work I'm afraid. Could you try to do
some manual steps and report back before we actually build this into
setup-storage?
On that particular host, I'd like to know how
parted -s /dev/sda mklabel msdos
parted -s /dev/sda mkpart primary ext3 512B 536871423B
parted -s /dev/sda mkpart primary 536871424B 80026361855B
parted -s /dev/sda set 1 boot on
mkfs.ext3 /dev/sda1
parted -s /dev/sda set 2 lvm on
vgchange -a y vg0
behaves in comparison to
vgchange -a n vg0
parted -s /dev/sda mklabel msdos
parted -s /dev/sda mkpart primary ext3 512B 536871423B
parted -s /dev/sda mkpart primary 536871424B 80026361855B
parted -s /dev/sda set 1 boot on
mkfs.ext3 /dev/sda1
parted -s /dev/sda set 2 lvm on
vgchange -a y vg0
Apart from the extra output line, I can see no difference : in both
cases, the LVM volumes are back and active after the last vgchange.
Here's the full output of the second command list.
[...]
Could you maybe do an explicit vgchange -a y vg0 beforehand? Somehow it should
be possible to reprocduce the error that parted reports when doing, e.g., the
second mkpart. That error was
Error: Error informing the kernel about modifications to partition /dev/sda2 --
Device or resource busy.
in http://paste.debian.net/67978/.
I had started lvm before running the commands, but it's not enough to
reproduce the problem. I have also tried to run them after having
stopped the installation, didn't work either.
I finally inserted the vgchange line in Commands.pm, it seems to have
been run as expected, and the result is still an error that happens later.
The result is at http://paste.debian.net/68689/, and my (quite sloppy
:-) ) patch is below:
--- Commands.pm.~1~ 2010-04-13 13:32:32.000000000 +0200
+++ Commands.pm 2010-04-13 15:20:11.000000000 +0200
@@ -806,6 +806,7 @@
or die "Can't change disklabel, partitions are to be preserved\n";
# write the disklabel to drop the previous partition table
+ &FAI::push_command( "vgchange -a n vg0", "vg_created_vg0",
"vg_disabled_vg0" );
&FAI::push_command( "parted -s $disk mklabel $label", "exist_$disk",
"cleared1_$disk" );
--
Nicolas