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.
I feel like there’s a lot of information missing here. VLANs operate at OSI layer 2, and Immich connects to its ML server via IP in layer 3. It could talk to a remote server in Ecuador over the Internet, so the layer 2 configuration is irrelevant.
What you have is an issue of routing IP packets between subnets. You just need to set up a rule on your router to allow the Immich server on the Internet-facing IP subnet to connect to the correct port(s) for the ML server on the private subnet. Or maybe use the router’s port-forwarding feature. Lacking further information about the setup, I have to be vague here. In any case, it’s conceptually the same as punching a hole in the firewall to let IP packets from an Immich server in Ecuador get to the ML server on your private subnet, except that the server is not in Ecuador.