Hello,

I am going to upgrade my server, taking advantage of the fact that I am going to be able to put more hard disks, I wanted to take advantage of this to give a little more security (against loss) to my data.

Currently I have 2 hard drives in ext4 with information, and wanted to buy a third (same capacity all three) and place them in raid5, so that in the future, I can put more hard drives and increase the capacity.

Due to economic issues, right now I can only buy what would be the third disk, so it is impossible for me to back up the data I currently have.

The data itself is not valuable, in case any file gets corrupted, I could download it again, however there are enough teras (20) to make downloading everything a madness.

In principle I thought to put on this server (PC) a dietpi, a trimmed debian and maybe with mdadm make the raid. I have seen tutorials on how to do it (this for example https://ruan.dev/blog/2022/06/29/create-a-raid5-array-with-mdadm-on-linux ).

The question is, is there any way without having to format the hard drives with data?

Thank you and sorry for any mistakes I may make, English is not my mother language.

EDIT:

Thanks for yours answers!! I have several paths to investigate.

  • @SwingingTheLamp@midwest.social
    link
    fedilink
    English
    131 year ago

    This is madness, but since this is a hobby project and not a production server, there is a way:

    • Shrink the filesystems on the existing disks to free up as much space as possible, and shrink their partitions.
    • Add a new partition to each of the three disks, and make a RAID5 volume from those partitions.
    • Move as many files as possible to the new RAID5 volume to free up space in the old filesystems.
    • Shrink the old filesystems/partitions again.
    • Expand each RAID component partition one at a time by removing it from the array, resizing it into the empty space, and re-adding it to the array, giving plenty of time for the array to rebuild.
    • Move files, shrink the old partitions, and expand the new array partitions as many times as needed until all the files are moved.

    This could take several days to accomplish, because of the RAID5 rebuild times. The less free space, the more iterations and the longer it will take.