How to mount new logical volume (adding to fstab and mtab)?

I created a new LV for the first time using this command:

lvcreate -L 20G -n iew-vm-lv /dev/ubuntu-vg #create the new LV

When I try running mount /dev/ubuntu-vg/iew-vm-lv, I get the following error:

mount: can't find /dev/ubuntu-vg/iew-vm-lv in /etc/fstab or /etc/mtab

How do I add the new LV to those files? Am I supposed to manually edit them?

The current contents of the files are:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root--lv /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=93d4132c-7593-4a9d-901e-30d79db3082d /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--vg-home--lv /home           ext4    defaults        0       2
/dev/mapper/ubuntu--vg-swap--lv none            swap    sw              0       0

And:

/dev/mapper/ubuntu--vg-root--lv / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
sysfs /sys sysfs rw,noexec,nosuid,nodev 0 0
none /sys/fs/cgroup tmpfs rw 0 0
none /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /sys/kernel/security securityfs rw 0 0
udev /dev devtmpfs rw,mode=0755 0 0
devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
tmpfs /run tmpfs rw,noexec,nosuid,size=10%,mode=0755 0 0
none /run/lock tmpfs rw,noexec,nosuid,nodev,size=5242880 0 0
none /run/shm tmpfs rw,nosuid,nodev 0 0
none /run/user tmpfs rw,noexec,nosuid,nodev,size=104857600,mode=0755 0 0
none /sys/fs/pstore pstore rw 0 0
/dev/sda1 /boot ext2 rw 0 0
systemd /sys/fs/cgroup/systemd cgroup rw,noexec,nosuid,nodev,none,name=systemd 0 0
/dev/mapper/ubuntu--vg-home--lv /home ext4 rw 0 0

Solution 1:

Yes, you may edit /etc/fstab. /etc/mtab is the same format but a temporary file for what's mounted, leave it alone.

First, make a file system on it. Your system already has ext4 (there are other choices):

mkfs.ext4 /dev/ubuntu-vg/iew-vm-lv

Then find its unique UUID identifier, the line has the name you gave the LV:

blkid

Edit /etc/fstab and add a line similar to this. Your UUID and mount point will be different.

UUID=fcde9bb7-4311-41e2-986a-647a672ebf83       /mnt/example    ext4    defaults        0       2

Make this mount point directory and mount it:

mkdir /mnt/example
mount /mnt/example

Edit: a comment was concerned about LVM snapshots, which make a copy of the block device including its UUID. On the first time taking a snapshot, change its UUID:

tune2fs -U random

If using XFS file system, a -U option provides similar functionality, but with a different keyword:

xfs_admin -U generate

Either way, use the new UUID as the snapshot's mount entry.

UUID=b6c7724e-1c58-4960-8830-bfdeb34a9f4f           /mnt/example-snap    ext4    defaults        0       2

Every time the snapshot is taken, set this snapshot UUID.

tune2fs -U b6c7724e-1c58-4960-8830-bfdeb34a9f4f

You can use several ways to refer to block devices, including for LVM /dev/vg/lv and /dev/mapper/vg-lv. I default to UUID for the same reason the RHEL Storage Administration Guide does. It finds a given file system on any block device it may reside: partitions, LVM volumes, full drives.

Solution 2:

Yes, you are supposed to manually edit the fstab file.

  • Create a mount point (directory) for the new file system. Say, /new
  • Format your new file system. For ext4 the command would be

mkfs.ext4 /dev/ubuntu-vg/iew-vm-lv

  • add the following line in /etc/fstab file

/dev/ubuntu-vg/iew-vm-lv /new ext4 defaults 0 0

Now you can mount it.