Sooner or later we all run out of space. Today I am going to demo how to add a new
storage to Linux VM. First we will look at how to do this on local VM with virtualbox and vagrant,
then in AWS.
1. Adding a new volume locally.
2. Splitting disk into partitions
3. Spinning AWS EC2 instance and adding a new volume manually.
4. Attaching new volume with AWS CLI.
So let’s assume you have vagrant and virtualbox installed, let’s spin up a new VM:
vagrant init ubuntu/trusty64 && vagrant up && vagrant ssh
You can pick up newer version of Ubuntu of course, Xenial or Zesty, or any other Linux distro even, I have ubuntu/trusty64 vagrant box already downloaded, so I will be using that one.
First let’s check what we have already got there with ‘list block devices’ command:
vagrant@sensuclient:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk `-sda1 8:1 0 40G 0 part / vagrant@sensuclient:~$
Now let’s exit VM and stop it:
vagrant halt ==> sensuclient: Attempting graceful shutdown of VM...
Then we need to go to virtualbox and add new disk as shown below:
Once it is done, we can start VM and check devices again:
vagrant up && vagrant ssh vagrant@sensuclient:~$ sudo lsblk -f NAME FSTYPE LABEL MOUNTPOINT sda `-sda1 ext4 cloudimg-rootfs / sdb
As you can see new disk, ‘sdb’ has been added to the list.
Next we need to crate a filesystem: