Dreamcompute: Root volume too small

dreamcompute

#1

Hope you all are having a good day!

So I made a mistake and made boot volume for a Dreamcompute instance too small. I thought 3Gb would be enough. My files are only using about ~400mb, but the system has managed to consume the rest.

It’s a Ubuntu server (16.04) and the lack of space is so bad that I cannot even use apt to upgrade the system or install other packages. Brutal! I know that I will be adding on to the websites I have stored there and this is going to be problematic in a hurry.

But hey, I knew going into this that virtual drives aren’t that hard to expand, right? Wrong!

For whatever reason I can’t detach the volume from the instance (even while it’s shut down) to create a snapshot of my 3Gb volume and use the snapshot to create a new, bigger volume. I keep getting errors thrown at me.

Now I’m googling my way into rabbit hole of rsync/dd and worrying about fstab configs and system stability after using those methods. This whole experience seems pretty counter-intuitive - I can easily expand bootable virual volumes on my local machine (I.E. virtualbox). Is there a reliable baked in way to do this from the Dreamcompute web app?


#2

Google for these keywords and similar:

openstack resize root volume
openstack expand volume
openstack extend volume

Rather than expanding the instance size itself, consider adding a new volume to it. Then maybe symlink larger data directories over to that, like var/www.


#3

I was going to look into this, but DreamHost’s OpenStack site is uselessly slow currently.

Having said that, all the directions one will come up with when Googling those terms can’t be done from the target instance, can they?

This requires ‘cinder’ and ‘nova’, which aren’t installable from ‘apt’ on by Ubuntu VM.


#4

That area is seriously un(der)documented, of manipulating OpenStack itself from within an instance. I lack the time right now to provide any docs or links. But I have done the research and I have done some of this. I don’t recall but I might have done it from Cygwin, from my Windows PC outside of the environment. If it was from within the environment, a different instance with the tools needs to be used to modify other instances. I’ll check my notes, might be a few days.

I hate to say this but there are DH competitors who provide services similar to DC, and they have excellent documentation for their users about this kind of thing. I feel guilty using their docs for maintaining my DC instances, and a little upset with DH, but “it is what it is”. Look around for that.

The option I cited about adding a volume and then symlinking to it doesn’t require any OpenStack CLI magic. That might be your best/first approach.

Good luck.


#5

Here is something that worked for me:

  • Shutdown your VM
  • In the OpenStack Dashboard, go to 'Volumes" and create a snapshot of the too-small volume
  • Go to “Volume Snapshots” and create a new volume from your new snapshot
  • Set the size of this new volume to whatever you think is suitable (20 gigs is usually a safe size)
  • Attach that new volume to your VM
  • Boot the VM
  • Run: sudo e2label /dev/vda1 rootfs-old
  • Restart

At this point my root partition was magically bigger, which wasn’t what I was expecting. I would have thought that I needed to modify the partition table of /dev/vdb to get access to the additional space. Additionally, I suspect the VM is still booting off /dev/vda.

So that’s where I leave you. I think a slightly better solution would be to create a whole new VM from the larger volume, which you made from the snapshot. I believe that would be a cleaner solution.

I’m unsure why OpenStack won’t let you remove that volume. It could be that it knows it’s a boot/root volume, and with enough messing around in Linux and that second volume it would let you remove the original. Probably not worth it.

Good luck!


#6

Thank you all for the replies!! I’ll give these suggestions a try first thing tomorrow and flag whichever solved my issue best. Really appreciate all this input :smiley:


#7

This is what worked conveniently for me. I still can’t detach /dev/vda from the control panel. One thing I did differently is I used the options in the control panel to disable the bootable option from my original volume. Still trying to get my instance to let go of the original volume so I don’t have 3Gb of junk on my account. I may contact support if I can’t get it sorted.

Thanks!


#8

Update:

I used my larger volume to instantiate a new instance. Switched DNS/SSH IP addresses. Deleted the old instance once things looked good…

and I still can’t delete the old volume. Now in the OpenStack learning rabbit hole to see if I can do something from a cli that I can’t do from the Dreamcompute control panel.


#9

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.