How to attach a volume to VM (>2TB) on Linux?
In the example we connect to vm test-vol4gb as eouser using ssh.
First we can see that there is no additional volume attached.
[eouser@test-vol4gb ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 16G 0 disk └─vda1 253:1 0 16G 0 part /
If the volume does not exist yet, it must be created.
Go to Horizon, „volumes”, click „create volume”. Give it appropriate name, select size and disk type (either HDD-default or SSD).
Now, from the volume menu, select „manage attachments” and attach the volume to desired instance.
It becomes visible in it as a block device, like /dev/vdb
If the volume had not been used before (it has been freshly created), it must be first partitioned and formatted, e.g
[eouser@test-vol4gb ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 16G 0 disk └─vda1 253:1 0 16G 0 part / vdb 253:16 0 4G 0 disk check is gdisk is installed: [eouser@test-vol4gb ~]$ gdisk -bash: gdisk: command not found install gdisk (Centos): [eouser@test-vol4gb ~]$ sudo yum check-update [eouser@test-vol4gb ~]$ sudo yum install -y gdisk Loaded plugins: fastestmirror ... Installed: gdisk.x86_64 0:0.8.6-5.el7 Dependency Installed: libicu.x86_64 0:50.1.2-15.el7 Complete! [eouser@test-vol4gb ~]$ sudo gdisk /dev/vdb GPT fdisk (gdisk) version 0.8.6 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-8388574, default = 2048) or {+-}size{KMGTP}: Last sector (2048-8388574, default = 8388574) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/vdb. The operation has completed successfully. [eouser@test-vol4gb ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 16G 0 disk └─vda1 253:1 0 16G 0 part / vdb 253:16 0 4G 0 disk └─vdb1 253:17 0 4G 0 part [eouser@test-vol4gb ~]$ sudo mkfs.ext4 /dev/vdb1 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 262144 inodes, 1048315 blocks 52415 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1073741824 32 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
Edit /etc/fstab using your favourite editor (nano, vim)
[eouser@test-vol4gb ~]$ sudo vim /etc/fstab
and add the line:
/dev/vdb1 /my_volume ext4 defaults 0 1
Create the mounting point:
[eouser@test-vol4gb ~]$ sudo mkdir /my_volume
Now mount the volume in the system:
[eouser@test-vol4gb ~]$ sudo mount /my_volume [eouser@test-vol4gb ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 16G 2,5G 14G 16% / devtmpfs 906M 0 906M 0% /dev tmpfs 920M 0 920M 0% /dev/shm tmpfs 920M 8,4M 912M 1% /run tmpfs 920M 0 920M 0% /sys/fs/cgroup tmpfs 184M 0 184M 0% /run/user/1000 tmpfs 184M 0 184M 0% /run/user/0 /dev/vdb1 3,9G 16M 3,7G 1% /my_volume
On the next reboot the volume will be mounted automatically. Volumes may be attached to live system, without the need to reboot it.