Simen Timian Thoresen wrote:
nate wrote:
Simen Timian Thoresen wrote:
So - with the LV unmounted, I power my USB-device down, and then back up;
Hi Nate,
I believe your problem is you didn't deactivate the logical volume, and export the volume group before disconnecting.
Yes! Thank you - exporting and then importing again after replugging worked.
I'll have to read up on what actually happens here .-)
Still - say that the USB (or iSCSI) PV is not exported before being unplugged (cables tripped over, internet connection going down, etc) - how do I recover from an unplugged but not exported PV/VG? It seems that vg[im/ex]port only fiddle with the off-PV metadata. Is this correct?
I think I'm looking for a force-import that allows me to bring a VG with associated LVs up provided that the PVs are present - affectively a 'assemble' ala mdadm.
Hah! I got this one on my own.
After unplugging, I removed the /etc/lvm/archive/ /etc/lvm/backup and /dev/mapper/<device> entries, and then replugged;
[root@kasse ~]# pvscan PV /dev/iscsi_01 VG iscsistorage lvm2 [102.79 GB / 102.59 GB free] Total: 1 [102.79 GB] / in use: 1 [102.79 GB] / in no VG: 0 [0 ] (this I've seen before)
Thinking that I could import the VG, I found that it's impossible to imoport a non-exported VG;
[root@kasse ~]# vgimport -a Volume group "iscsistorage" is not exported
...but just setting it active worked; [root@kasse ~]# vgchange -a y iscsistorage 1 logical volume(s) in volume group "iscsistorage" now active [root@kasse ~]# lvdisplay /dev/mapper/iscsistorage-lv1: open failed: No such file or directory /dev/mapper/iscsistorage-lv1: open failed: No such file or directory --- Logical volume --- LV Name /dev/iscsistorage/lv1 VG Name iscsistorage LV UUID mKP1DG-Pc1q-vFzf-sR9v-RE3e-ChNV-T0dWq1 (...)
...and the LV is not mountable; [root@kasse ~]# mount /dev/iscsistorage/lv1 /mnt/ mount: special device /dev/iscsistorage/lv1 does not exist
To remove the missing /dev/mapper entries, I exported and then reimported the VG;
[root@kasse ~]# vgexport -a Volume group "iscsistorage" successfully exported [root@kasse ~]# vgimport -a Volume group "iscsistorage" successfully imported [root@kasse ~]# lvdisplay --- Logical volume --- LV Name /dev/iscsistorage/lv1 VG Name iscsistorage LV UUID mKP1DG-Pc1q-vFzf-sR9v-RE3e-ChNV-T0dWq1 (...) [root@kasse ~]# mount /dev/iscsistorage/lv1 /mnt/ [root@kasse ~]# ls /mnt/ lost+found (...)
Woila!
I think I saw someone doing something to /dev/mapper/control as well to skip the export-reimport steps.
I'll see if I can robustify this a little, but if this works, I'll be significantly closer to my main goal.
Thank you again for your help .-)
Yours, -S
Thank you for pointing me in the right way ;-)
-S
lvchange -a n <path to lvm> vgexport -a (don't worry it will only export groups that are ready to be exported)
Now you can safely power the device down(provided the VG was successfully exported, all logical volumes must be unmounted and deactivated before it will succeed).
when you power it back up run
pvscan vgimport -a lvchange -a y <path to lvm>
LVM is very useful for volumes that change device names, but you must use it properly otherwise bad things will happen as you saw.
If you want to have USB mount automatically it may be better to put a label on the file system, at least in Debian(don't have a CentOS system with a USB disk handy here) the volume is mounted as /media/<disk label> if there is a disk label. You can use the e2label command to label the device. I'd expect CentOS to likely behave similarly to debian in this respect.
nate
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos