Mailboxes storage location and quota

Linking should work, but when dealing with cloud servers you can also just mount your storage in the right place. For instance on Linode I did something like this:

Become root, so I don’t have to type sudo a million times:

sudo -s

Create a filesystem for an external volume made available by Linode - the device path would be different for other cloud providers.

mkfs.ext4 /dev/disk/by-id/scsi-0Linode_Volume_userdata

Mount the new storage in a temporary location:

mkdir /mnt/temp
mount /dev/disk/by-id/scsi-0Linode_Volume_userdata /mnt/temp

Copy data from current storage to the new. I should say that I did this when no services were running on the machine. If you do this to a fully operational system, you should make sure that all services that work with the data are temporarily stopped.

cd /home/user-data
cp -av * .* /mnt/temp

Fix the top-level permissions of the mounted volume.

chown user-data.user-data /mnt/temp

Now move the old user-data out of the way and mount the new one in its place:

umount /mnt/temp
cd /home
mv user-data user-data.old
mkdir user-data
mount /dev/disk/by-id/scsi-0Linode_Volume_userdata user-data

Add a line to /etc/fstab to auto-mount the volume on reboot:

/dev/disk/by-id/scsi-0Linode_Volume_userdata /home/user-data ext4 defaults,noatime 0 2

And that’s it - now I have all data on the external volume. Can’t hurt to double-check things - permissions, for instance - and then restart services or the whole system. This is quite a standard way of handling things on Unix - nothing specific to MIAB here!