Sponsored Content
Special Forums Hardware Filesystems, Disks and Memory Linux Storage system: looking for advices Post 302385275 by Loic Domaigne on Thursday 7th of January 2010 04:15:48 PM
Old 01-07-2010
Good Evening,

Quote:
Originally Posted by pludi
No, it's not possible with LVM alone. LVM is designed to simplify the management of multiple, different devices by grouping them together. Bonus is a slight speed improvement. If you loose one drive with LVM, the data on it is gone for good too, but it's easy to extend the size.
Since I am not very fluent in LVM, I set-up a virtual KVM/Qemu guest with Linux in order to play with LVM and investigate possible failures scenario. Enclosed the results of my experiments.

I have the following setup: a volume group containing the following physical volume /dev/vda6, /dev/vdb2 and /dev/vdb3. I have only one logical volume than spans the entire volume group. ext3 is used as filesystem.
Code:
+--------------------------------------------------+
|                    ext3                          |
+--------------------------------------------------+
+--------------------------------------------------+
|                    mylv                          | logical volume = 100%VG
+--------------------------------------------------+
+--------------------------------------------------+
|                    myvg                          | volume group = vda6, vdb2, vdb3 
+--------------------------------------------------+
+-------------+     +-------------+    +-----------+
| /dev/vda6   |     | /dev/vdb2   |    | /dev/vdb3 |
+-------------+     +------------+    +-----------+

It is possible to save the current volume group meta information using vgcfgbackup.
I failed /dev/vdb3, /dev/vdb2 and /dev/vda6 respectively (zeroed the partition using dd). For vdb2 and vdb3, I could restore the ext3 filesystem as follows:
- recreate the physical volume of the failed partition, giving the right uuid label.
- restore the volume group meta information using vgcfgrestore
- repairing the ext3 filesystem using fsck.
As expected, only the files from the failed partition were missing after the restore operation.

However, I failed to restore the file system if /dev/vda6 gets damaged. I used an alternate superblock for fsck (one located on vdb2 or vdb3), but no avail. I lost information about the data stored on vdb2 and vdb3 (they can be found in lost+found, but name is lost). I didn't managed so far to recover the file system if the first disk (i.e. where the primary superblock is) failed. I still need to investigate what's wrong.

What do you think about these recovery possibilities? No point however that RAID+LVM looks safer.

Quote:
Originally Posted by DukeNuke2
how about opensolaris with ZFS? there are many tutorials on ZFS and how to build a home NAS system...
That could be definitively worse a try. But I'll first investigate on the system where I am most knowledgeable about.
 
VGCFGRESTORE(8) 					      System Manager's Manual						   VGCFGRESTORE(8)

NAME
vgcfgrestore - restore volume group descriptor area SYNOPSIS
vgcfgrestore [-b|--backup_number VolumeGroupBackupNumber] [-d|--debug] [-f|--file VGConfPath] [-l[l]|--list [--list]] [-h|--help] [-i|--ignore_size] [-n|--name VolumeGroupName] [-o|--oldpath OldPhysicalVolumePath] [-t|--test] [-v|--verbose] [PhysicalVolumePath] DESCRIPTION
vgcfgrestore allows you to restore the volume group descriptor area from backup files in /etc/lvmconf or from VGConfPath to the given Phys- icalVolumePath. The default backup file is /etc/lvmconf/VolumeGroupName.conf. This command DOES NOT restore data contained in logical volume(s), only the LVM configuration metadata! OPTIONS -b, --backup_numberVolumeGroupBackupNumber Restore from the specified backup number. Use together with option -n which gives the name of the volume group. See examples below. -d, --debug Enables additional debugging output (if compiled with DEBUG). -f, --file VGConfPath Restore from the specified path. Useful for selection of specific backups in the backup history or for copies of VGDA backups. -i, --ignore_size Restore though the size of the physical volume doesn't match the one in the backup. -l, --list Display volume group information contained in the backup file. If given twice, the physical and logical volume information con- tained in the backup file is also shown. -h, --help Print a usage message on standard output and exit successfully. -n, --name VolumeGroupName Do a restore for this volume group name. -o, --oldpath OldPhysicalVolumePath If the path to the physical volume has changed between backup time and restore time, this option enables you to choose the corre- sponding physical volume path in the backup file. -t, --test Do a test run reading the volume group backup WITHOUT trying to restore it -v, --verbose Give verbose runtime information about vgcfgrestore's activities. --version Output the version number and exit successfully. Examples To display information like with "vgdisplay vg00" stored in the backup file /etc/lvmconf/vg00.conf: vgcfgrestore -n vg00 -l To restore the VGDA of vg00 from the alternative backup file /tmp/vg00-old to physical volume /dev/sdn1: vgcfgrestore -f /tmp/vg00-old -n vg00 /dev/sdn1 To restore the VGDA of vg00 from the alternative backup file /etc/lvmconf/vg00.conf.5.old to physical volume /dev/sda5 : vgcfgrestore -n vg00 -b 5 /dev/sda5 DIAGNOSTICS
vgcfgrestore returns an exit code of 0 for success and > 0 for error: 1 no physical volume on command line 2 invalid physical volume name 3 volume group is active 4 error doing restore to physical volume 5 backup is invalid for this volume group 6 volume group is inconsistent 7 physical volume doesn't belong to volume group backup 8 error reading physical volume 9 error getting size of physical volume 10 error writing VGDA to physical volume(s) 11 error removing special files of volume group 12 error setting volume group into lvmtab 13 error doing backup 95 driver/module not in kernel 96 invalid I/O protocol version 97 error locking logical volume manager 98 invalid lvmtab (run vgscan(8)) 99 invalid command line SEE ALSO
lvm(8), vgcfgbackup(8), vgcreate(8) AUTHOR
Heinz Mauelshagen <Linux-LVM@Sistina.com> Heinz Mauelshagen LVM TOOLS VGCFGRESTORE(8)
All times are GMT -4. The time now is 12:27 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy