Re: backing up LVM volumes
Chris Davies wrote:
Bernard <firstname.lastname@example.org> wrote:
On my previous systems, I used to create overall backups of partitions,
using 'SystemRescueCD'. This is no longer possible ever since 2007 that
I have a RAID1 mirroring system on my Debian.
You used to boot from SystemRescueCD and backup the partitions
corresponding to the (unmounted) filesystems block by block? Or you
mounted them and backed up the (mounted) filesystems?
I've never dared backing up mounted partitions, for fearing of mishaps
You can continue to do either of these that even though you've got RAID1
and LVM. Start up RAID1 and LVM, and then back up the logical partitions
(or filesystems) that result. Ignore the physical ones.
SystemRescueCD does not backup LVM volumes, or, if it does, that must
be a very new feature, and I have not found any doc on this.
TBH I'm not aware of any backup feature within SystemRescueCD, but there
are many useful tools there. I've successfully fixed up software RAID1
configurations, and it must work with LVM because most of my systems'
filesystems are based on RAID1/LVM combinations and it works for me.
SystemRescueCD only worked as an external boot system. Amongst the tools
it proposes, is 'partimage', which creates images of partitions and
compresses them. When I stated that 'SystemRescueCD' did not backup LVM
volumes, I meant that 'partimage' lacked this capability. As far as I
know, recent versions cannot do any better.
I tried 'dd' again. It seems more promising, since it does backup
everything. files are huge (about same size as the original partition,
including empty space), but, in the end, it barely takes more than one
hour for each of my 64 GB partitions. (By the way, I kind of recall
having stated somewhere that my partitions were 200 GB in size, but I
was wrong. I have two internal hard drives of 80 GB each). My
partitions are :
So, what should I do so as to backup my system ? I once tried 'dd', but
I think I remember it took forever [...]
Without the bs argument you would have been reading the disk 512bytes
at a time. Try bs=1000k for better throughput.
/dev/sda1 and /dev/sdb1 => assembled onto a RAID 1 array as /dev/md0
(boot partition) (about half of a GB)
/dev/sda2 and /dev/sdb2 => assembled onto a RAID 1 array as /dev/md1 and
also as /dev/mapper/vg00-root (about 64 GB each)
/dev/sda3 => fat32 partition, with MSWIN XP installed on it (10 GB)
I don't really know whether I would have been able to use the resulting
file to successfully restore the partitions if needed.
How do you know any of your backups work? Test them!
Sure ! Not so easy though ! To carry such test, you ought to have
enough space available, unless you carry mini tests on small partitions.
This time, I think I have what I need. I purchased yet another external
HD, with a capacity of 500 GB, and, after I had erased whatever it
contained for use under MSWIN, I created four partitions using 'cfdisk',
all Linux. Then I formated them to ext2 using 'mkfs -t ext2..' (mkfs -t
ext2 /dev/sdc1, mkfs -t ext2 /dev/sdc2, .. ,mkfs -t ext2 /dev/sdc4)
Next, I launched 'dd' as follows :
/mnt/sdc4/# dd if=/dev/sda1 of=sda1_04_10.img
Don't know if this was the best way to do, in any case I did just that.
It only took a few minutes, since that partition is only half of a GB
long. Then I attempted to restore the saved partition onto another
partition of my external HD:
/mnt/sdc4/# dd if=sda1_04_10.img of=/dev/sdc2
This being done, and after unmounting/re-mounting the devices, I found
that /dev/sdc2 was indeed a copy of /dev/sda1...
I must say that my original /dev/sda1 was my 'boot' partition. As such,
the RAID/mdadm programs did not create a LVM system ; it kept using the
Once this was achieved, I carried on with another partition (sda2). This
one was about 64 GB in size.
/mnt/sdc4/# dd if=/dev/sda2 of=sda2_04_10.img
Next morning (but I figured that the process only took a little more
than one hour), I attempted to restore said partition into /dev/sdc4
/mnt/sdc4/# dd if=sda2_04_10.img of=/dev/sdc1
the result of restoring the partition sda2 onto the sdc1 partition of my
external disk, was not the same as that obtained in restoring sda1 onto
sdc2. I can't read, or even mount sdc1 :
root@new-host:/home/bd# mount /dev/sdc1 /mnt/exthd
mount: unknown filesystem type 'lvm2pv'
So, my hard disk partition sda2 has been restored from its image, onto a
lvm2pv logical partition.
Now, my question is : what can I do with this partition so as to
restore something useful ? In case something crashes on my desktop, I
imagine that, after replacing one or both hard disks, I would just have
to partition and then use 'dd' to restore both sda1 (as ext3 RAID array)
and sda2 (as LVM RAID array) and that the rest would follow
automatically upon reboot ? Do you confirm this ?
But, as a matter of testing, what can I do ? Using 'mdadm', can I
re-create a RAID array /dev/md1 or/and /dev/mapper/vg00-root ?
How shall I do that, supposing that I have obtained two similar
partitions (sda2 and sdb2 imaged and restored on two partitions of my
external HD ? I attempted to manage with the 'mdadm' man pages, but
this is not very obvious to me