Adding a storage block to my server

Operating system: Ubuntu
OS version: 18.04

I have a linode server with 160GB storage. I need more space on this server so I added a volume of 20GB. Next I mounted it and set it up in the directory /mnt/st1/.

Now Webmin dashboard is showing that I have 175GB (previously 155GB) but I wonder if Webmin and Virtualmin can actually use it? Is there a guide for adding storage to Webmin installation using multiple volumes?

My server space is occupied by websites with their files and databases.

One way to check would be to set up a dummy virtual server on it and see if the default virtualmin page loads up or not. If yes, then you are using it.

It depends - unless you move some data in that directory where your mount is, and also modify some settings you obviously will not be using that space. Maybe the best/simplest idea would be to move backups or other stuff if you got any; the second one to move the logs/mount in their directory; and the third one to move the databases and mount in your default DB directory?

Also maybe you have some huge website with many files and you could move and mount only those? Be more flexible with your mount location sort of speak.

So I’ll eventually completely fill my main drive and get write errors while webmin will be saying I have 20GB free space. Right?

I want to go the 3rd option you mention. I want to move certain virtualservers to this mount. I tried Server Configuration > Change Domain Name > Change the home directory to mount but got an error: Failed to change domain name : Parent of new home directory does not exist

Some looking around and I believe I’ll have to change Virtualmin defaults but I’m not sure I want to go that route as I do want to keep most virtualservers in /home/.

Please point me in the right direction.

Okay so after some further investigation, came up on this thread. I changed the mount point to /home/st1. Then I was able to move a virtualserver over.

Thanks @Joe for that comment.

Now this was a simple static website. Before I move a more complex website with dbs and what not, any gotchas that I should be aware of?

I was talking about mounting directly on /home, rather than a subdirectory of home, but if you just need one domain to be on that other device and don’t need disk quotas to work, that’s fine (I don’t even know if disk quotas work on EBS, I haven’t done anything interesting with it).

But, yeah. It’s all just storage. It doesn’t matter how your /home is laid out across storage devices, Virtualmin only cares about it if you’re using quotas. So, if you’re using quotas, you need one device for all of it (ideally databases, too, though that has some caveats of its own), but it you aren’t, then you don’t need to care.

Oh, I also updated your link to point to the same topic in the new forum. archive.virtualmin.com sticks around forever by necessity, but I’d rather search engines start finding this forum instead of the old one.

1 Like

I read about that but I’m wondering if I have any control over which servers are placed in that volume? I need that control more than disk quotas.

I don’t think I understand. Why divide it up at all? Just get a big enough volume and let Amazon worry about where things go. That’s the point of cloud computing. Just use what you need and let the technology do the thing.

What I am saying is put all of home on a new EBS volume that is the right size for what you need to do and mount it on /home. Anything else is just micromanaging resources for no benefit that I can think of.

I’m using Linode, not AWS

Linode provides an automatic backup of the server which does not include the storage block. So in my screenshot above, the Disk is included but the Volume is not. I was thinking of using rsync or something to manually backup the volume to their object storage.

If I mix them up, I’m not sure what will go into that backup and what needs to be backed up by rsync. I’ll test if I can discontinue their backup service and backup the entire server using rsync. Wonder what will happen when I restore that…

As @Joe suggested - maybe you over complicate things; what I would do:

  • Virtualmin doesn’t care much about your underlying storage, provider etc;
  • copy your data from a directory that is giving you grief, a beefy one with files, back it up, in fact as good/many locations as you can;
  • stop relevant services, depending on you chosen directory;
  • for starters mount (as a test) your device in that directory you chose, it should be empty now (if no data on the new device);
  • copy over the data you backed up - this will in fact end up on the new device;
  • start services and see if everything fine;
  • if OK, unmount - now you have in your directory the “old” data - delete it;
  • mount back in that directory the device with your data.

You should have some extra space as the data is out of your main partition and onto a new, bigger one. So this is how you have no need to change anything in Virtualmin.

Or if you backup locally simply point the backups to the new path, in Virtualmin this time, and delete them form the old location.

I think the simplest and cleanest solution is to mount to a subdir in /home/ and move virtualservers that need too much space in there. Most websites need less than 100MB while just a few goes over 10GB. I really need my Linode backups as its a perfect state of the server than can be restored when (not if) I screw something up, and I have :stuck_out_tongue:.

It is not, and I keep telling you what the simplest and cleanest solution is. The simplest solution is to mount your new storage on /home.

Virtualmin does not make it easy to divide your homes into /home and /home/some-subdir. And it shouldn’t. That’s not a sensible thing to do.

1 Like

I agree with @Joe - you should not do this if you do not know what are you doing… however you can proxy disk out - its safe and doable. keep /home at /home… if you need to mount disk just for backups there is a safe way to do it… but moving /home for even single domain is ill advised…

You don’t understand. Anything that goes in the new volume doesn’t get backed up by Linode. I need to specify to my backup utility (rsync or whatever) to create daily backups of X, Y, Z folders and ship them off to backup drive. So I need to know what’s going in that volume and it should remain consistent.

Also, if half of the files of an account are in main disk and other half in the new volume, restoring it from the backup would be a nightmare.

So how do I do my backups in this configuration?

I did that above and everything seems fine. And it was easy enough to do. Can you explain any future problems that you are able to see and I’m not?

I’m not moving /home itself.

@Vipul.K its okay, we all don’t see beyond decisions we make, that’s why we do not understand. - perhaps you ask question wrongly or you have been wrong to describe it… but i think everyone did reply to you correctly

I added a Linode block and created /home and /home2 and I have split the virtual servers so they fit. Probably one will fill up and I will have to adjust but that’s way less expensive than adding a larger Linode. Couple years running this way with no issues.

I’ve created a directory inside home and moved the large virtualservers there. So far no issues. I’ve used restic to backup this directory to object storage since linode backup doesn’t cover it.

1 Like

What happens when your home fills up? You have to add a block and move things to the block to free up space on home? Is there an easier way on Linode?

I use AWS to back up nightly, cheap. offsite. I’ve had to recover a few things over the years so worth it.

Linode has some restrictions. You buy a size of Linode for a price but you can add blocks of storage. However, you cannot change the original Linode size without changing your subscription price. I added a block. Linode cannot backup the block that’s why I use AWS. Also, a block cannot run in full virtualization mode so that is why I create /home2 on the block and run some of the Virtualmin servers on /home2. I do not believe you can simply increase the storage. It doesn’t work that way for a Linode. I’ve been through this with a lot of support so if you know how, Linode people would love to hear.
Here are the Linode Block guide excerpts for reference:

  • Our Backup Service does not cover Block Storage Volumes. You must manage your own backups if you wish to backup data stored on your Volumes.
  • A Linode must be running in Paravirtualization mode in order to work with our Block Storage service. Block Storage currently does not support Full-virtualization.

Is this for me?