参考资料:
LVM详解-骏马金龙-博客园
How to reduce the size of an LVM partition formatted with xfs filesystem on CentOS7?
骏马兄的博文会相对深入一点,并且他是基于ext系列文件系统来演示扩容与缩容,而我使用的是xfs文件系统。
基本概念
传统的磁盘分区,在分区完之后,分区的大小无法改变,无法动态增加或减小分区的大小。
为了解决这个问题,就诞生了LVM(Logical Volume Management)这种方法。
在Linux中的LVM实现是基于Linux内核的设备映射(device mapper,dm)框架来实现的,该框架同时也是软RAID以及LVM快照的基础。对应的软件名称也叫LVM(Logical Volume Manager)。
接下来介绍几个关于LVM的术语:
- PV:Physical Volume,物理卷。即我们所熟知的磁盘分区,与普通的分区的最大不同点在于,作为PV的磁盘分区的类型必须是ID为8e的Linux LVM分区。
- VG:Volume Group,卷组。由多个PV组合而成,类似于多个分区组合起来的“虚拟磁盘”(自称)。在创建VG的同时,也确定了该VG中的PE大小。
- PE:Physical Extent,可以理解为物理存储单元。类似于文件系统中的block、chunk或者簇的概念。一般来说,创建完VG确定了PE大小后,就无法再修改了。默认为4MB。
- LV:Logical Volume,逻辑卷。VG相当于虚拟磁盘,而LV则是基于虚拟磁盘所划分出的“虚拟分区”(自称),在创建LV的时候,可基于分区大小或者VG中的PE个数。LV创建好之后就像传统的分区那样可以格式化并使用了。
- LE:Logical Extent,可以理解为逻辑存储单元。本质上是等同于PE的概念,当PV加入VG后,就被划分成多个PE。从VG中划分LV的过程,就是一个划分PE的过程,LV创建好之后,PE就被称之为LE了。PV中的PE和LV中的LE的映射关系,可通过“pvdisplay -m”来查看。
LV的路径
LV创建完毕后,其块设备路径为/dev/dm-N(N为一个数字),有2个字符链接文件指向它。
/dev/mapper/VG_NAME-LV_NAME --> /dev/dm-N
/dev/VG_NAME/LV_NAME --> /dev/dm-N
图示
图片来自网络,侵权请联系。
实现
环境
CentOS 7.5
系统自带lvm2程序包
初步使用LVM
首先为虚拟机添加一块磁盘,大小为7GB。创建3个分区类型为LVM的分区,分别是3GB、2GB和1GB。
注意:磁盘的大小大于分区之和的大小,主要是担心可能因为换算等问题导致磁盘划分分区容量的时候出现不足的情况。
Device Boot Start End Blocks Id System /dev/sdb1 2048 6293503 3145728 8e Linux LVM /dev/sdb2 6293504 10487807 2097152 8e Linux LVM /dev/sdb3 10487808 12584959 1048576 8e Linux LVM
将/dev/sdb1和/dev/sdb2这两个LVM格式创建为PV。/dev/sdb3保留,放在后面做扩容。
[root@C7 ~]# pvcreate /dev/sdb{1,2} Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdb2" successfully created.
可通过pvs命令查看系统上已有PV的简要信息。
[root@C7 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <19.00g 0 /dev/sdb1 lvm2 --- 3.00g 3.00g /dev/sdb2 lvm2 --- 2.00g 2.00g
留意,/dev/sda2这个PV是CentOS 7系列系统默认安装时候的创建的。
可通过pvdisplay命令查看系统上已有PV的详细信息,默认显示所有,可以基于PV名称查看特定的PV。PV名称就是分区的路径名,例如“/dev/sdb1”这样。
[root@C7 ~]# pvdisplay /dev/sdb{1,2} "/dev/sdb2" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb2 VG Name # 由于我们还未将PV加入VG,因此该字段为空。 PV Size 2.00 GiB Allocatable NO # 未加入VG,不可分配。 PE Size 0 # PV中的PE的大小,是在加入VG之后决定的,并且在VG创建后该VG的PE大小就无法修改了。同理,未加入VG,因此PE为0。 Total PE 0 Free PE 0 Allocated PE 0 PV UUID OlFvnr-rarx-ebCa-pG3L-qJBe-V8d1-aYkXB2 "/dev/sdb1" is a new physical volume of "3.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 3.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID o7uiiy-kXEr-eZee-e0aP-cFKQ-dyjf-oQRvB9
创建好PV之后,我们就可以创建VG,并将刚创建的两个PV加入该VG。
[root@C7 ~]# vgcreate myvg /dev/sdb{1,2} Volume group "myvg" successfully created
查看VG的简要和详细信息。
[root@C7 ~]# vgs myvg VG #PV #LV #SN Attr VSize VFree myvg 2 0 0 wz--n- 4.99g 4.99g [root@C7 ~]# vgdisplay myvg --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 4.99 GiB PE Size 4.00 MiB # 默认的PE大小为4MB。 Total PE 1278 # VG中总PE的个数,在划分LV的时候,可基于PE个数。 Alloc PE / Size 0 / 0 Free PE / Size 1278 / 4.99 GiB VG UUID XKP0mV-zWAx-nscs-jXiT-jLxm-5MgE-aDU8fU
当PV加入VG之后,再次查看PV的信息。
[root@C7 ~]# pvs /dev/sdb{1,2} PV VG Fmt Attr PSize PFree /dev/sdb1 myvg lvm2 a-- <3.00g <3.00g # PV加入VG后,应该会在PV中创建了一些元数据(metadata),因此这里的size都加上了小于号。 /dev/sdb2 myvg lvm2 a-- <2.00g <2.00g [root@C7 ~]# pvdisplay /dev/sdb{1,2} --- Physical volume --- PV Name /dev/sdb1 VG Name myvg PV Size 3.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB # PV加入VG后就有了PE的概念。 Total PE 767 Free PE 767 Allocated PE 0 PV UUID o7uiiy-kXEr-eZee-e0aP-cFKQ-dyjf-oQRvB9 --- Physical volume --- PV Name /dev/sdb2 VG Name myvg PV Size 2.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 511 Free PE 511 Allocated PE 0 PV UUID OlFvnr-rarx-ebCa-pG3L-qJBe-V8d1-aYkXB2
将目前的VG的所有空间都创建为一个LV。
[root@C7 ~]# lvcreate -L 5GB -n mylv myvg Volume group "myvg" has insufficient free space (1278 extents): 1280 required.
基于size来创建LV失败,因为创建5GB的容量需要1280个PE(默认4MB),这个计算方式是1024进率。
但是我们在创建分区时创建的这5GB,可能是按照1000进率的。这就像市面上销售的硬盘或者U盘,几乎都是按照1000进率来表示一样。
在Linux的工具的使用中,当你使用5GB、5gb、5G和5g,它们可能有的表示1000进率,有的表示1024进率,这个就需要用户具体去查看每个工具的man手册了。
而且分区/文件系统一般都会保留一部分空间给元数据存放。因此一般情况下,容量差不多即可,不需要太过于纠结。
PS:网上也有说是“1024进制”,但是我觉得说“1024进率”可能更准确。
既然无法基于size来创建,那我们就基于VG中的PE个数来创建了,使用全部的PE去创建一个LV。
[root@C7 ~]# lvcreate -l 1278 -n mylv myvg Logical volume "mylv" created.
查看LV信息。注意:查看LV的信息的时候,lvs和lvdisplay的命令参数应该是LV的路径(/dev/mapper/myvg-mylv或者/dev/myvg/mylv)或者VG的名称,而不是LV名称。
[root@C7 ~]# lvs myvg LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv myvg -wi-a----- 4.99g [root@C7 ~]# lvdisplay myvg --- Logical volume --- LV Path /dev/myvg/mylv LV Name mylv VG Name myvg LV UUID 43nlG8-EGra-1jfQ-2K2n-3kxA-s5SW-aR1R3I LV Write Access read/write LV Creation host, time C7, 2019-04-10 17:25:26 +0800 LV Status available # open 0 LV Size 4.99 GiB Current LE 1278 # 原本在VG中的PE,在分配给LV之后,就换了个名字叫LE了。 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
LV创建完毕后,通过“pvdisplay -m”查看PV中的PE和LV中的LE之间的映射关系。
[root@C7 ~]# pvdisplay -m /dev/sdb{1,2} --- Physical volume --- PV Name /dev/sdb1 VG Name myvg PV Size 3.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 767 Free PE 0 Allocated PE 767 PV UUID o7uiiy-kXEr-eZee-e0aP-cFKQ-dyjf-oQRvB9 --- Physical Segments --- Physical extent 0 to 766: Logical volume /dev/myvg/mylv Logical extents 0 to 766 --- Physical volume --- PV Name /dev/sdb2 VG Name myvg PV Size 2.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 511 Free PE 0 Allocated PE 511 PV UUID OlFvnr-rarx-ebCa-pG3L-qJBe-V8d1-aYkXB2 --- Physical Segments --- Physical extent 0 to 510: Logical volume /dev/myvg/mylv Logical extents 767 to 1277
LVM设备路径查看。
[root@C7 ~]# ls -l /dev/mapper/myvg-mylv lrwxrwxrwx 1 root root 7 Apr 10 17:25 /dev/mapper/myvg-mylv -> ../dm-2 [root@C7 ~]# ls -l /dev/myvg/mylv lrwxrwxrwx 1 root root 7 Apr 10 17:25 /dev/myvg/mylv -> ../dm-2 [root@C7 ~]# ls -l /dev/dm-2 brw-rw---- 1 root disk 253, 2 Apr 10 17:25 /dev/dm-2 [root@C7 ~]# file /dev/dm-2 /dev/dm-2: block special
接下来,就可以将其格式化、挂载并使用、加入开机挂载了。
[root@C7 ~]# mkfs -t xfs /dev/myvg/mylv ... 省略 ... [root@C7 ~]# mount /dev/myvg/mylv /lvm_mount_point/ [root@C7 ~]# cat /etc/fstab ... /dev/mapper/myvg-mylv /lvm_mount_point xfs defaults 0 0
使用LVM扩容
扩容是LVM中最常见的用法,也是为了解决传统磁盘分区容量耗尽的问题。
扩容的原理是将VG中空闲的PE划分给LV,或者通过增加PV的方式增加VG中的空闲PE而后划分给LV。
将此前剩余的分区/dev/sdb3创建为PV并加入VG。
[root@C7 ~]# pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created. [root@C7 ~]# vgextend myvg /dev/sdb3 Volume group "myvg" successfully extended
查看VG新增出的PE个数。
[root@C7 ~]# vgdisplay myvg --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 3 Act PV 3 VG Size <5.99 GiB PE Size 4.00 MiB Total PE 1533 Alloc PE / Size 1278 / 4.99 GiB Free PE / Size 255 / 1020.00 MiB VG UUID XKP0mV-zWAx-nscs-jXiT-jLxm-5MgE-aDU8fU
将增加的PE全部扩展给此前创建的LV,即mylv。
[root@C7 ~]# lvextend -l +255 /dev/myvg/mylv Size of logical volume myvg/mylv changed from 4.99 GiB (1278 extents) to <5.99 GiB (1533 extents). Logical volume myvg/mylv successfully resized.
查看扩容后的LV。
[root@C7 ~]# lvdisplay /dev/myvg/mylv --- Logical volume --- LV Path /dev/myvg/mylv LV Name mylv VG Name myvg LV UUID 43nlG8-EGra-1jfQ-2K2n-3kxA-s5SW-aR1R3I LV Write Access read/write LV Creation host, time C7, 2019-04-10 17:25:26 +0800 LV Status available # open 1 LV Size <5.99 GiB Current LE 1533 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
虽然LV已经扩容成功,但其实文件系统并没有扩容,即便是重新挂载。
[root@C7 ~]# df -hT | grep "mylv" /dev/mapper/myvg-mylv xfs 5.0G 33M 5.0G 1% /lvm_mount_point
原因在于文件系统还未扩容,ext系列文件系统使用resize2fs命令,此处使用xfs文件系统,因此使用xfs_growfs。
[root@C7 ~]# xfs_growfs /dev/mapper/myvg-mylv ... 省略 ... [root@C7 ~]# df -hT | grep "mylv" /dev/mapper/myvg-mylv xfs 6.0G 33M 6.0G 1% /lvm_mount_point
扩容除了可以使用原磁盘的剩余空间,也可以使用新的磁盘。
后来我又创建了一块1GB的虚拟磁盘,整盘创建一个LVM分区,创建PV,加入VG,而后扩展LV,也是可以的。
[root@C7 ~]# pvcreate /dev/sdc1 [root@C7 ~]# vgextend myvg /dev/sdc1 [root@C7 ~]# lvextend -l +255 /dev/myvg/mylv [root@C7 ~]# xfs_growfs /dev/myvg/mylv [root@C7 ~]# df -hT ... /dev/mapper/myvg-mylv xfs 7.0G 33M 7.0G 1% /lvm_mount_point ...
使用LVM缩容
首先查看缩容前的LV的大小,方便之后对比。
[root@C7 ~]# lvdisplay /dev/myvg/mylv --- Logical volume --- LV Path /dev/myvg/mylv LV Name mylv VG Name myvg LV UUID 43nlG8-EGra-1jfQ-2K2n-3kxA-s5SW-aR1R3I LV Write Access read/write LV Creation host, time C7, 2019-04-10 17:25:26 +0800 LV Status available # open 1 LV Size 6.98 GiB Current LE 1788 Segments 4 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
确认承载于LV上的需要的文件的大小。在实验环境中只有一个521字节的文件(不足一个PE),因此只要缩容后的LV只要还有1个PE,那么文件就还是可用的。
[root@C7 ~]# ls -lh /lvm_mount_point/fstab -rw-r--r-- 1 root root 521 Apr 10 17:35 /lvm_mount_point/fstab
假设我们要缩容的容量刚好是/dev/sdb3和/dev/sdc1,查看其PV的PE数。
[root@C7 ~]# pvdisplay /dev/sd{b3,c1} | grep -iE "pv name|pe" PV Name /dev/sdb3 PE Size 4.00 MiB Total PE 255 Free PE 0 Allocated PE 255 PV Name /dev/sdc1 PE Size 4.00 MiB Total PE 255 Free PE 0 Allocated PE 255
缩容与扩容的过程正好是相反的,我们首先需要对文件系统进行缩容操作。
如果是ext系列的文件系统:
- 停止需要卸载的文件系统所提供的服务(例如nginx、MySQL等)。
- 使用umount命令卸载文件系统。
- 使用“e2fsck -f”强制检测文件系统。
- 使用resize2fs命令调整文件系统的容量。
- 使用lvreduce命令缩容LV的容量。其实到这里,LV的缩容就已经完成了,如果缩容的容量大于等于某个/某几个PV的话,可以考虑将PV从VG中释放出来。
- 使用pvdisplay命令查看PV中的PE是否完全为空闲状态。若否则使用pvmove命令将非空闲PE移出。
- 使用vgreduce命令将全空闲的PV移出VG,并使用pvremove命令删除其PV状态。
本文所使用的文件系统是XFS。
xfs文件系统不支持缩容(XFS文件系统的缺点),想实现类似缩容的功能,可以通过备份(xfsdump)和还原(xfsrestore)的方式。
备份XFS文件系统。需要用户输入2个label,填写test即可。
[root@C7 ~]# xfsdump -f /tmp/lvm_mount_point.xfsdump /lvm_mount_point xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control ============================= dump label dialog ============================== please enter label for this dump session (timeout in 300 sec) -> test session label entered: "test" --------------------------------- end dialog --------------------------------- xfsdump: level 0 dump of C7:/lvm_mount_point xfsdump: dump date: Wed Apr 17 14:19:47 2019 xfsdump: session id: e2cfa0fa-d73d-4e94-8f55-cb3f2c581c08 xfsdump: session label: "test" xfsdump: ino map phase 1: constructing initial dump list xfsdump: ino map phase 2: skipping (no pruning necessary) xfsdump: ino map phase 3: skipping (only one dump stream) xfsdump: ino map construction complete xfsdump: estimated dump size: 25216 bytes ============================= media label dialog ============================= please enter label for media in drive 0 (timeout in 300 sec) -> test media label entered: "test" --------------------------------- end dialog --------------------------------- xfsdump: creating dump session media file 0 (media 0, file 0) xfsdump: dumping ino map xfsdump: dumping directories xfsdump: dumping non-directory files xfsdump: ending media file xfsdump: media file size 22384 bytes xfsdump: dump size (non-dir files) : 1056 bytes xfsdump: dump complete: 58 seconds elapsed xfsdump: Dump Summary: xfsdump: stream 0 /tmp/lvm_mount_point.xfsdump OK (success) xfsdump: Dump Status: SUCCESS
在备份XFS文件系统的时候,必须保持挂载状态,如果先卸载再备份,会报错。
xfsdump: ERROR: /dev/{dm-2,mapper/myvg-mylv,myvg/mylv} does not identify a file system
如果备份的命令参数填写的是挂载点,并且在挂载点末尾加上了斜线的话,也会报这个错误,即“/lvm_mount_point/”会报错而“/lvm_mount_point”不会。
备份完成后,卸载文件系统。
[root@C7 ~]# umount /lvm_mount_point/
缩容LV。
[root@C7 ~]# lvreduce -l -510 /dev/myvg/mylv WARNING: Reducing active logical volume to 4.99 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce myvg/mylv? [y/n]: y Size of logical volume myvg/mylv changed from 6.98 GiB (1788 extents) to 4.99 GiB (1278 extents). Logical volume myvg/mylv successfully resized.
产生警告,意思就是说缩容可能会摧毁数据,由于缩容后的容量大于我们的数据容量,因此不会影响到我们的数据,这就是LVM缩容的优点。但是前提条件是文件系统有事先缩容,由于我们使用的是XFS文件系统,无法实现文件系统的缩容,所以其实这个操作,应该是破坏了数据了,后面也会看到。
缩容完毕后,再次查看LV大小。
[root@C7 ~]# lvdisplay /dev/myvg/mylv --- Logical volume --- LV Path /dev/myvg/mylv LV Name mylv VG Name myvg LV UUID 43nlG8-EGra-1jfQ-2K2n-3kxA-s5SW-aR1R3I LV Write Access read/write LV Creation host, time C7, 2019-04-10 17:25:26 +0800 LV Status available # open 0 LV Size 4.99 GiB Current LE 1278 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
由于我们缩容的容量刚好为2个PV的PE数,并且这2个PV是最后两个加入VG的。因此缩容的PE正好是我们想要移除的2个PV,大大降低了缩容的难度。
[root@C7 ~]# pvdisplay /dev/sd{b3,c1} --- Physical volume --- PV Name /dev/sdb3 VG Name myvg PV Size 1.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 255 Free PE 255 Allocated PE 0 PV UUID yazajZ-jt1o-rqLY-L0RB-ASzf-gBxT-smDm4j --- Physical volume --- PV Name /dev/sdc1 VG Name myvg PV Size 1023.00 MiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 255 Free PE 255 Allocated PE 0 PV UUID DURMQf-UVgh-Mjtz-MKqY-emaY-zWFl-QSWFKh
注意:PV中的PE是否处于空闲状态,看的是PE是否被划入LV中,而不是看PE是否存储了数据。
如果不是刚好的话,就需要用户使用pvmove命令将待移除的PV中的非空闲的PE移动到其他PV上去。
现在就可以将这2个不要的PV移出VG,并删除PV。
[root@C7 ~]# vgreduce myvg /dev/sdb3 /dev/sdc1 Removed "/dev/sdb3" from volume group "myvg" Removed "/dev/sdc1" from volume group "myvg" [root@C7 ~]# pvremove /dev/sdb3 /dev/sdc1 Labels on physical volume "/dev/sdb3" successfully wiped. Labels on physical volume "/dev/sdc1" successfully wiped. [root@C7 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <19.00g 0 /dev/sdb1 myvg lvm2 a-- <3.00g 0 /dev/sdb2 myvg lvm2 a-- <2.00g 0
既然LV已经缩容成功,那么就可以挂载使用了。
由于我们使用的是XFS文件系统,该文件系统无法缩容,因此在缩容LV的时候,该文件系统的元数据已经受到破坏。
[root@C7 ~]# mount /dev/myvg/mylv /lvm_mount_point/ mount: /dev/mapper/myvg-mylv: can't read superblock
不过上文也说了,我们是使用备份还原的机制来变相实现“缩容”。
我们只需要重新格式化LV为XFS文件系统,挂载并使用文件系统备份文件还原即可。
[root@C7 ~]# mkfs -t xfs /dev/myvg/mylv mkfs.xfs: /dev/myvg/mylv appears to contain an existing filesystem (xfs). mkfs.xfs: Use the -f option to force overwrite. [root@C7 ~]# mkfs -t xfs -f /dev/myvg/mylv ... 省略 ... [root@C7 ~]# mount /dev/myvg/mylv /lvm_mount_point/ [root@C7 ~]# xfsrestore -f /tmp/lvm_mount_point.xfsdump /lvm_mount_point/ xfsrestore: using file dump (drive_simple) strategy xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsrestore: searching media for dump xfsrestore: examining media file 0 xfsrestore: dump description: xfsrestore: hostname: C7 xfsrestore: mount point: /lvm_mount_point xfsrestore: volume: /dev/mapper/myvg-mylv xfsrestore: session time: Wed Apr 17 14:19:47 2019 xfsrestore: level: 0 xfsrestore: session label: "test" xfsrestore: media label: "test" xfsrestore: file system id: b7c9c46e-0d54-4ee3-a3e0-e1964799f47d xfsrestore: session id: e2cfa0fa-d73d-4e94-8f55-cb3f2c581c08 xfsrestore: media id: 57ba6b11-c688-486c-9a73-0e09a1ecd287 xfsrestore: using online session inventory xfsrestore: searching media for directory dump xfsrestore: reading directories xfsrestore: 1 directories and 1 entries processed xfsrestore: directory post-processing xfsrestore: restoring non-directory files xfsrestore: restore complete: 0 seconds elapsed xfsrestore: Restore Summary: xfsrestore: stream 0 /tmp/lvm_mount_point.xfsdump OK (success) xfsrestore: Restore Status: SUCCESS [root@C7 ~]# ls -l /lvm_mount_point/ total 4 -rw-r--r-- 1 root root 521 Apr 10 17:35 fstab [root@C7 ~]# cat /lvm_mount_point/fstab # # /etc/fstab # Created by anaconda on Thu Sep 27 15:49:45 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=9d2e5bb3-799f-4056-a6bd-6ff2d7f55254 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 /dev/mapper/myvg-mylv /lvm_mount_point xfs defaults 0 0