LVM vs RAID0 vs RAID “linear” – Combine 2 disks as one, data recovery

data-lossdisaster-recoverylvmraidxfs

given two 2TB USB external disks that have to be combined to one 4TB volume and formatted with one big Filesystem (XFS), I have a small question to ask.

Does LVM provide better Data recovery, should one disk be unplugged/damaged by being able to recover the data of the still working disk or is everything lost?

I would appreciate a solution where only the data of one disk is lost and I can recover the content of the other with the usual filesystem/lvm/raid tools. Is that possible with LVM or RAID "linear"? This is for storing unimportant files that can be retrieved from backup, but I want to save time 🙂

Thank you in advance

Best Answer

If you must run multiple disks in a non-redundant configuration, and you want to be able to recover something when any of the disks fails, then, at the very least, you need to ensure that your data is not striped over all devices. When using a striped layout, parts of most files will end up on all disks, which means that when you lose any disk, you've irrevokably lost parts of nearly every file, not to mention parts of the filesystem structures themselves. This means, as you seem to already surmise, that you need to use linear allocation, which essentially appends the constituent devices' extents together, and gives you some chance of recovering files that exist entirely on the surviving device(s) after a device failure.

I could be wrong, but for LVM2, I believe linear allocation is the default when striping is not requested. Regardless, to be certain of a linear/appended layout, you can force it thus by first lvcreate-ing a logical volume (LV) on the physical extents (PE's) of one disk, and then lvextend-ing the LV onto the PE's of the other disk.

If you want to try software RAID (mdadm), then I believe linear mode is the one to use. Do not use raid0, as it creates a striped layout, which, as I have argued, leads to almost total filesystem loss in the event of a device failure.

Finally, I should add that I don't recommend actually doing this and expecting to recover anything after a drive failure. If you're using LVM or mdadm to create a large scratch space out of smaller drives, then you'd better have your valuable data protected by other means (either backed up, or otherwise easily recreated).