Linux文件系统
文章目录
- Linux文件系统
- 0 背景
- 1 文件系统分类
- 1.1 ext
- 1.2 ext2
- 1.3 日志系统
- 1.3.1 ext3文件系统【2001年】
- 1.3.2 ext4文件系统【2008年】
- 1.3.3 Reiser文件系统
- 1.3.4 JFS文件系统JFS(Journaled File System,日志化文件系统)
- 1.3.5 XFS文件系统
- 1.4 写时复制文件系统
- 2 操作文件系统
- 2.1 创建分区
- 3 创建文件系统
- 4 文件系统的检查与修复
- 5 LVM(逻辑卷管理器,logical volume manager)
- 5.1 LVM 版本
- 5.2 使用LVM
- 5.2.1 改变分区类型为LVM(使用`fdisk`)
- 5.2.2 创建物理卷(使用`pvcreate`)
- 5.2.3 查看创建进度( `pvdisplay`,显示已创建的物理卷列表)
- 5.2.4 创建卷组(`vgcreate`)
- 5.2.5 查看新创建的卷组(`vgdisplay`)
- 5.2.6 创建逻辑卷(`lvcreate`)
- 5.2.7 创建文件系统
- 5.2.8 挂载文件系统
- 5.3 扩展LVM逻辑卷
- 5.3.1 常见问题以及解决
- 5.3.2 完整的卷组、逻辑卷扩容流程
- 5.3.2.1 对已分区磁盘进行LVM扩容
- 5.3.2.2 对未分区磁盘进行LVM扩容
0 背景
由于在使用linux系统时,经常会遇到磁盘空间不足的问题。于是学习了相关的内容(大部分概念内容总结自《Linux命令行与shell脚本编程大全》),并加上自己的实践得到了此文。
1 文件系统分类
基本的Linux 文件系统:
1.1 ext
ext扩展文件系统(extended filesystem)【最早的linux系统,类Unix文件系统】
特点:
- 1,使用虚拟目录来操作硬件设备,在物理设备上按定长的块来存储数据。
- 2,使用索引节点的系统来存放虚拟目录中所存储文件的信息 。
- 索引节点系统在每个物理设备中创建一个单独的表(称为索引节点表)来存储文件的信息。
- 3,Linux通过唯一的数值(称作索引节点号)来引用索引节点表中的每个索引节点,这个值是创建文件时由文件系统分配的。文件系统通过索引节点号而不是文件全名及路径来标识文件。
1.2 ext2
- 改进:
- 1,为文件添加了创建时间值、修改时间值和最后访问时间值来帮助系统管理员追踪文件的访问情况。
- 2,ext2文件系统还将允许的最大文件大小增加到了2 TB(在ext2的后期版本中增加到了32 TB),以容纳数据库服务器中常见的大文件。
- 3,改变了文件在数据块中存储的方式,使用过按组分配磁盘块来减轻碎片化(ext文件系统在文件写入到物理设备时,存储数据用的块很容易分散在整个设备中)
- 问题:
- 1,即使文件数据正常保存到了物理设备上,如果索引节点表记录没完成更新的话,ext2文件系统甚至都不知道那个文件存在!【容易在系统崩溃或断电时损坏】
1.3 日志系统
改进(增加了一层安全):
不再使用之前先将数据直接写入存储设备
再更新索引节点表的做法,而是先将文件的更改写入到临时文件(称作日志,journal),在数据成功写到存储设备和索引节点表之后,再删除对应的日志条目。如果系统在数据被写入存储设备之前崩溃或断电了,日志文件系统下次会读取日志文件并处理上次留下的未写入的数据。
文件系统日志方法:
- 数据模式:索引节点和文件都会被写入日志;丢失数据风险低,但性能差;
- 有序模式:只有索引节点数据会被写入日志,但只有数据成功写入后才删除;在性能和安全性之间取得了良好的折中;
- 回写模式:只有索引节点数据会被写入日志,但不控制文件数据何时写入,丢失数据风险高,但仍比不用日志好;
缺点:
数据模式日志方法虽然是最安全的数据保护方法,但是同时也是最慢的。所有写到存储设备上的数据都必须写两次:第一次写入日志,第二次写入真正的存储设备。
1.3.1 ext3文件系统【2001年】
给每个存储设备增加了一个日志文件,以将准备写入存储设备的数据先记入日志。(默认使用有序模式)
缺点:
- 1,ext3文件系统无法恢复误删的文件;
- 2,它没有任何内建的数据压缩功能(虽然有个需单独安装的补
丁支持这个功能); - 3,ext3文件系统也不支持加密文件。
1.3.2 ext4文件系统【2008年】
特点:
- 1,支持数据压缩和加密;
- 2,还引入了块预分配技术(block preallocation);
1.3.3 Reiser文件系统
特点:
- 只支持回写日志模式——只把索引节点表数据写到日志文件;
- 可以在线调整已有文件系统的大小;
- 尾部压缩(tailpacking)的技术,该技术能将一个文件的数据填进另一个文件的数据块中的空白空间。
1.3.4 JFS文件系统JFS(Journaled File System,日志化文件系统)
特点:
- 采用的有序日志法(只在日志中保存索引节点表数据,直到真正的文件
数据被写进存储设备时才删除它); - 用基于区段的文件分配,即为每个写入存储设备的文件分配一组块。(减少存储设备上的碎片)
1.3.5 XFS文件系统
特点:
- 采用回写模式的日志;
- 允许在线调整文件系统的大小(只能扩大不能缩小);
1.4 写时复制文件系统
特点:
- 写时复制(copy-on-write,COW):兼顾了安全性和性能。如果要修改数据,会使用克隆或可写快照。修改过的数据并不会直接覆盖当前数据,而是被放入文件系统中的另一个位置上。即便是数据修改已经完成,之前的旧数据也不会被重写。(回写模式日志,有性能,没有安全性;数据模式,有安全性,没有性能)
目前已存在的系统:
- ZFS文件系统(由Sun公司于2005年研发);
- Btrf文件系统(B树文件系统,Oracle公司2007年研发);
- 特点:稳定性、易用性以及能够动态调整已挂载文件系统的大小
2 操作文件系统
Linux系统中的物理磁盘的命名:
- 老式的IDE驱动器,Linux使用的是
/dev/hdx
。(其中x表示一个字母,例如,第一个驱动器是a,第二个驱动器是b,以此类推) - 较新的SATA驱动器和SCSI驱动器,Linux使用/dev/sdx。
2.1 创建分区
fdisk 命 令 描 述
a 设置活动分区标志
b 编辑BSD Unix系统用的磁盘标签
c 设置DOS兼容标志
d 删除分区
l 显示可用的分区类型
m 显示命令选项
n 添加一个新分区
o 创建DOS分区表
p 显示当前分区表
q 退出,不保存更改
s 为Sun Unix系统创建一个新磁盘标签
t 修改分区的系统ID
u 改变使用的存储单位
v 验证分区表
w 将分区表写入磁盘
x 高级功能
分区:
- 主分区(primary partition):可以被文件系统直接格式化;
- 扩展分区(extended partition)【出现原因:每个存储设
备上只能有4个分区,但是可以有多个扩展分区】:只能容纳逻辑分区;
- 形象化的理解:把原来的主分区里面再按照主分区类似的套路分成4个区域,取名为逻辑分区,这个分成4个逻辑分区的分区就叫扩展分区。这样就从4个主分区变成了3个主分区+1个扩展分区(包含4个逻辑分区)。
有些发行版和较旧的发行版在生成新分区之后,使用partprob
或hdparm
命令。
以下的命令用于磁盘分区(先查看可用):
- 1,列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息;
[root@hdp-jk-1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 79G 0 part
├─centos-root 253:0 0 176G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 100G 0 disk
└─centos-root 253:0 0 176G 0 lvm /
sdc 8:32 0 50G 0 disk
sr0 11:0 1 4.3G 0 rom
- 2,物理磁盘分区。
[root@hdp-jk-1 ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x1e10dfa0 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1e10dfa0
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-104857599,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1e10dfa0
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 20973567 10485760 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@hdp-jk-1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 79G 0 part
├─centos-root 253:0 0 176G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 100G 0 disk
└─centos-root 253:0 0 176G 0 lvm /
sdc 8:32 0 50G 0 disk
└─sdc1 8:33 0 10G 0 part
sr0 11:0 1 4.3G 0 rom
3 创建文件系统
必须用某种文件系统对分区其进行格式化,才能将数据存储到分区。
工 具 用 途
mkefs 创建一个ext文件系统
mke2fs 创建一个ext2文件系统
mkfs.ext3 创建一个ext3文件系统
mkfs.ext4 创建一个ext4文件系统
mkreiserfs 创建一个ReiserFS文件系统
jfs_mkfs 创建一个JFS文件系统
mkfs.xfs 创建一个XFS文件系统
mkfs.zfs 创建一个ZFS文件系统
mkfs.btrfs 创建一个Btrfs文件系统
产看文件系统是否可用可以使用type
命令,示例如下:
[root@hdp-jk-1 ~]# type mkfs.ext4
mkfs.ext4 是 /usr/sbin/mkfs.ext4
[root@hdp-jk-1 ~]# type mkfs.btfrs
-bash: type: mkfs.btfrs: 未找到
对于创建完分区的磁盘,需要使用系统文件格式化后,挂载到虚拟目录中才可以使用。
磁盘分区的系统文件格式化如下:
- 1,显示可用的分区类型;
[root@hdp-jk-1 ~]# fdisk -l
磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000f3298
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 167772159 82836480 8e Linux LVM
磁盘 /dev/mapper/centos-root:189.0 GB, 188965978112 字节,369074176 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x9cbe3df4
设备 Boot Start End Blocks Id System
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1e10dfa0
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 20973567 10485760 83 Linux
- 2,创建文件系统。
[root@hdp-jk-1 ~]# sudo mkfs.ext4 /dev/sdc1
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
80 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, 1605632
Allocating group tables: 完成
正在写入inode表: 完成
如果遇到如下问题(磁盘正在被使用):
[root@hdp-jk-1 ~]# sudo mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb1 is apparently in use by the system; will not make a 文件系统 here!
可以使用如下指令:
$ dmsetup status
$ dmsetup remove_all
- 3,挂载到虚拟目录下的某个挂载点(这样就可以将数据存储在新文件系统中了);
创建虚拟目录:
[root@hdp-jk-1 ~]# ls /mnt
my_partition
[root@hdp-jk-1 ~]# sudo mkdir /mnt/my_partition
[root@hdp-jk-1 ~]# ls -al /mnt/my_partition/
总用量 0
drwxr-xr-x 2 root root 6 12月 6 13:58 .
drwxr-xr-x. 3 root root 26 12月 6 13:58 ..
[root@hdp-jk-1 ~]# ls -dF /mnt/my_partition
/mnt/my_partition/
挂载(mount
命令的-t
选项指明了要挂载的文件系统类型):
[root@hdp-jk-1 ~]# sudo mount -t ext4 /dev/sdc1 /mnt/my_partition
结果:
[root@hdp-jk-1 ~]# ls -al /mnt/my_partition/
总用量 20
drwxr-xr-x 3 root root 4096 12月 6 16:42 .
drwxr-xr-x. 3 root root 26 12月 6 13:58 ..
drwx------ 2 root root 16384 12月 6 16:42 lost+found
- 4,启动磁盘自动挂载(关机后,挂载会自动卸载掉)
把blkid
中查到的最新信息(本例是/dev/sdc1
那行)添加到/etc/fstab
中。
[root@hdp-jk-1 my_partition]# blkid
/dev/mapper/centos-root: UUID="929ef6cf-1709-45a1-90ea-8a0b880e692d" TYPE="xfs"
/dev/sda2: UUID="3lPCuK-CZTy-VRkF-dZDG-mrCp-QQMs-FDV26o" TYPE="LVM2_member"
/dev/sda1: UUID="18cba5a5-dafc-4cb6-8360-3340a595abab" TYPE="xfs"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-swap: UUID="bb87d712-d8fd-46af-95b5-4cfe034a0aad" TYPE="swap"
/dev/sdb: PTTYPE="dos"
/dev/sdc1: UUID="58a6f589-5280-42e1-8fc9-ca59e00f8bc1" TYPE="ext4"
添加格式如下:
要挂载的对象 挂载的目录 系统类型 文件系统访问权限 开机后是否检测 出问题后是否转储
在本例中就是
内容1:
/dev/sdc1 /mnt/my_partition/ ext4 defaults 0 0
或
内容2:
UUID=58a6f589-5280-42e1-8fc9-ca59e00f8bc1 /mnt/my_partition/ ext4 defaults 0 0
推荐内容2
,因为一般服务器都有多个硬盘分区,在重启后,这些分区的逻辑位置加载时可能会发生变动,如果使用传统的设备名称(例如:/dev/sda)方式挂载磁盘,就可能因为磁盘顺序变化而造成混乱。
最后,把内容2
添加到/etc/fstab
中即可。
注意⚠️:使用lvm后,需要自己重新修改UUID以挂载的内容。
4 文件系统的检查与修复
fsck
命令能够检查和修复大部分类型的Linux文件系统(包括ext、ext2、ext3、ext4、ReiserFS、JFS和XFS)。【COW文件系统、ZFS文件系统可以考虑使用其他方法】
使用格式是:
fsck options filesystem
常用的命令行选项:
选 项 描 述
-a 如果检测到错误,自动修复文件系统
-A 检查/etc/fstab文件中列出的所有文件系统
-C 给支持进度条功能的文件系统显示一个进度条(只有ext2和ext3)
-N 不进行检查,只显示哪些检查会执行
-r 出现错误时提示
-R 使用-A选项时跳过根文件系统
-s 检查多个文件系统时,依次进行检查
-t 指定要检查的文件系统类型
-T 启动时不显示头部信息
-V 在检查时产生详细输出
-y 检测到错误时自动修复文件系统
⚠️:
- 1,只能在未挂载的文件系统上运行fsck命令。
- 2,因为根文件系统含有所有核心的Linux命令和日志文件,所以你无法在处于运行状态的系统上卸载它(只需用LiveCD启动系统)。
5 LVM(逻辑卷管理器,logical volume manager)
概念:
- 1,逻辑卷管理的世界里,硬盘称作物理卷(physical volume,PV);
- 2,多个物理卷集中在一起可以形成一个卷组(volume group,VG);
- 3,逻辑卷管理系统将卷组视为一个物理硬盘(但事实上卷组可能是由分布在多个物理硬盘上的多个物理分区组成的);
- 4,整个结构中的最后一层是逻辑卷(logical volume,LV),用于创建文件系统的分区环境。
逻辑卷结构图如下:
逻辑卷(lv)
↓
卷组(vg)
↓
物理卷(pv)
5.1 LVM 版本
- LVM1:最初的LVM包于1998年发布,只能用于Linux内核2.4版本。它仅提供了基本的逻
辑卷管理功能。
- 特点:
- 1,快照:只允许你创建只读快照(一旦创建了快照,就不能再写入东西了)。
- LVM2:LVM的更新版本,可用于Linux内核2.6版本。它在标准的LVM1功能外提供了额
外的功能
- 特点:
- 1,快照:创建在线逻辑卷的可读写快照(可读写的快照),对快速故障转移或涉及修改数据的程序非常有用。
- 2,条带化(striping):可跨多个物理硬盘创建逻辑卷,有助于提高硬盘的性能(可同时从多个硬盘读取数据)。
- LVM条带化不同于RAID条带化。不提供用来创建容错环境的校验信息。LVM条带化会增加文件因硬盘故障而丢失的概率。单个硬盘故障可能会造成多个逻辑卷无法访问。
- 3,镜像:一个实时更新的逻辑卷的完整副本。(LVM会为文件系统的每次写操作执行两次写入【一次写入到主逻辑卷,一次写入到镜像副本】)
5.2 使用LVM
常见的LVM指令如下:
命 令 功 能
vgchange 激活和禁用卷组
vgremove 删除卷组
vgextend 将物理卷加到卷组中
vgreduce 从卷组中删除物理卷
lvextend 增加逻辑卷的大小
lvreduce 减小逻辑卷的大小
5.2.1 改变分区类型为LVM(使用fdisk
)
[root@hdp-jk-1 ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1e10dfa0
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 20973567 10485760 83 Linux
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1e10dfa0
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 20973567 10485760 8e Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
5.2.2 创建物理卷(使用pvcreate
)
[root@hdp-jk-1 ~]# sudo pvcreate /dev/sdc1
WARNING: Device for PV yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq not found or rejected by a filter.
Couldn't find device with uuid yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq.
WARNING: Couldn't find all devices for LV centos/root while checking used and assumed devices.
WARNING: ext4 signature detected on /dev/sdc1 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sdc1.
Physical volume "/dev/sdc1" successfully created.
备注:pvcreate定义了用于物理卷的物理分区。它只是简单地将分区标记成Linux LVM系统中的分区而已。
如果出现了如下的问题:
[root@hdp-jk-1 ~]# sudo pvcreate /dev/sdc1
WARNING: Device for PV yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq not found or rejected by a filter.
Couldn't find device with uuid yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq.
WARNING: Couldn't find all devices for LV centos/root while checking used and assumed devices.
Can't open /dev/sdc1 exclusively. Mounted filesystem?
Can't open /dev/sdc1 exclusively. Mounted filesystem?
解决方法为(卸载磁盘):
[root@hdp-jk-1 ~]# df -hP
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 380M 3.5G 10% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 176G 31G 146G 18% /
/dev/sda1 1014M 192M 823M 19% /boot
tmpfs 781M 0 781M 0% /run/user/0
/dev/sdc1 9.8G 37M 9.2G 1% /mnt/my_partition
[root@hdp-jk-1 ~]# umount /mnt/my_partition
[root@hdp-jk-1 ~]# sudo pvcreate /dev/sdc1
WARNING: Device for PV yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq not found or rejected by a filter.
Couldn't find device with uuid yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq.
WARNING: Couldn't find all devices for LV centos/root while checking used and assumed devices.
WARNING: ext4 signature detected on /dev/sdc1 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sdc1.
Physical volume "/dev/sdc1" successfully created.
5.2.3 查看创建进度( pvdisplay
,显示已创建的物理卷列表)
[root@hdp-jk-1 ~]# sudo pvdisplay /dev/sdc
WARNING: Device for PV yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq not found or rejected by a filter.
Couldn't find device with uuid yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq.
WARNING: Couldn't find all devices for LV centos/root while checking used and assumed devices.
Failed to find physical volume "/dev/sdc".
[root@hdp-jk-1 ~]# sudo pvdisplay /dev/sdc1
WARNING: Device for PV yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq not found or rejected by a filter.
Couldn't find device with uuid yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq.
WARNING: Couldn't find all devices for LV centos/root while checking used and assumed devices.
"/dev/sdc1" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc1
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID j1YoWG-qh1S-mxU5-qD0r-Nk3L-3BpD-zdLYxL
解释:
- 1,显示出
/dev/sdc1
现在已经被标记为物理卷。 - 2,输出中的
VG Name
内容为空,因为物理卷还不属于某个卷组。
5.2.4 创建卷组(vgcreate
)
[root@hdp-jk-1 ~]# sudo vgcreate Vol1 /dev/sdc1
WARNING: Device for PV yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq not found or rejected by a filter.
Couldn't find device with uuid yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq.
WARNING: Couldn't find all devices for LV centos/root while checking used and assumed devices.
Volume group "Vol1" successfully created
5.2.5 查看新创建的卷组(vgdisplay
)
[root@hdp-jk-1 ~]# sudo vgdisplay Vol1
--- Volume group ---
VG Name Vol1
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size <10.00 GiB
PE Size 4.00 MiB
Total PE 2559
Alloc PE / Size 0 / 0
Free PE / Size 2559 / <10.00 GiB
VG UUID hkxYjY-7Ctb-1lsj-Pl1m-JZZw-J4cc-l54Ur0
5.2.6 创建逻辑卷(lvcreate
)
Linux系统使用逻辑卷来模拟物理分区,并在其中保存文件系统。Linux系统会像处理物理分区一样处理逻辑卷,允许你定义逻辑卷中的文件系统,然后将文件系统挂载到虚拟目录上。
lvcreate
命令选项:
-c --chunksize 指定快照逻辑卷的单位大小
-C --contiguous 设置或重置连续分配策略
-i --stripes 指定条带数
-I --stripesize 指定每个条带的大小
-l --extents 指定分配给新逻辑卷的逻辑区段数,或者要用的逻辑区段的百分比
-L --size 指定分配给新逻辑卷的硬盘大小
--minor 指定设备的次设备号
-m --mirrors 创建逻辑卷镜像
-M --persistent 让次设备号一直有效
-n --name 指定新逻辑卷的名称
-p --permission 为逻辑卷设置读/写权限
-r --readahead 设置预读扇区数
-R --regionsize 指定将镜像分成多大的区
-s snapshot 创建快照逻辑卷
-Z --zero 将新逻辑卷的前1 KB数据设置为零
创建逻辑卷:
[root@hdp-jk-1 ~]# sudo lvcreate -l 100%FREE -n lvtest Vol1
Logical volume "lvtest" created.
解释:
- 1,
-l
选项定义了要为逻辑卷指定多少可用的卷组空间。注意,你可以按照卷组空闲空间的百分比来指定这个值。本例中为新逻辑卷使用了所有的空闲空间(或者用-L
选项以字节、千字节(KB)、兆字节(MB)或吉字节(GB)为单位来指定实际的大小)。 - 2,
-n
选项允许你为逻辑卷指定一个名称(在本例中称作lvtest
)
查看创建的逻辑卷:
[root@hdp-jk-1 ~]# sudo lvdisplay Vol1
--- Logical volume ---
LV Path /dev/Vol1/lvtest
LV Name lvtest
VG Name Vol1
LV UUID VNpTWI-hdst-5qCf-lqs6-k1tJ-ci1C-j4kvsS
LV Write Access read/write
LV Creation host, time hdp-jk-1, 2021-12-07 18:01:16 +0800
LV Status available
# open 0
LV Size <10.00 GiB
Current LE 2559
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
5.2.7 创建文件系统
[root@hdp-jk-1 ~]# sudo mkfs.ext4 /dev/Vol1/lvtest
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2620416 blocks
131020 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
80 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, 1605632
Allocating group tables: 完成
正在写入inode表: 完成
5.2.8 挂载文件系统
[root@hdp-jk-1 my_partition]# sudo mount /dev/Vol1/lvtest /mnt/my_partition
查看结果:
[root@hdp-jk-1 ~]# df -hP
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 380M 3.5G 10% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 176G 31G 146G 18% /
/dev/sda1 1014M 192M 823M 19% /boot
tmpfs 781M 0 781M 0% /run/user/0
/dev/mapper/Vol1-lvtest 9.8G 37M 9.2G 1% /mnt/my_partition
5.3 扩展LVM逻辑卷
5.3.1 常见问题以及解决
如果遇到如下问题(对已分区的磁盘来进行卷组扩容,/dev/sdc
为为已分区的磁盘):
[root@hdp-jk-1 ~]# vgextend Vol1 /dev/sdc
WARNING: Device for PV yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq not found or rejected by a filter.
Couldn't find device with uuid yezndk-566H-IQpq-3cIf-c8mr-pZLR-RMizgq.
WARNING: Couldn't find all devices for LV centos/root while checking used and assumed devices.
Device /dev/sdc excluded by a filter.
解决方法为:
方法1:抹掉sdc盘的所有分区(不需要原始数据的情况下),然后把sdc整个分区添加到卷组中。
[root@hdp-jk-1 ~]# parted /dev/sdc
GNU Parted 3.1
使用 /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos
警告: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? yes
错误: Partition(s) 1 on /dev/sdc have been written, but we have been unable to inform the kernel of the change, probably because it/they are in
use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.
忽略/Ignore/放弃/Cancel? Ignore
Information: You may need to update /etc/fstab.
方法2:对sdc剩余的磁盘部分,重新新建物理卷,然后再添到卷组中。
- 一,首先,新创建磁盘分区(创建成功后,使用
fdisk -l
查看可用磁盘分区):
[root@hdp-jk-1 ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00025ff8
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):2
起始 扇区 (2048-104857599,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599):+20G
分区 2 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00025ff8
设备 Boot Start End Blocks Id System
/dev/sdc2 2048 41945087 20971520 83 Linux
命令(输入 m 获取帮助):t
已选择分区 2
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00025ff8
设备 Boot Start End Blocks Id System
/dev/sdc2 2048 41945087 20971520 8e Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
更新分区表,并查看系统是否接收新的分区表
[root@centos7 ~]# partprobe
[root@centos7 ~]# cat /proc/partitions
- 二,再创建物理卷、卷组、逻辑卷、创建文件系统、挂载磁盘:
[root@hdp-jk-1 ~]# sudo pvcreate /dev/sdc2
Physical volume "/dev/sdc2" successfully created.
[root@hdp-jk-1 ~]# vgcreate Vol1 /dev/sdc2
Volume group "Vol1" successfully created
[root@hdp-jk-1 ~]# sudo lvcreate -l 100%FREE -n lvtest Vol1
WARNING: ext4 signature detected on /dev/Vol1/lvtest at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/Vol1/lvtest.
Logical volume "lvtest" created.
[root@hdp-jk-1 ~]# mkfs.ext4 /dev/Vol1/lvtest
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5241856 blocks
262092 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2153775104
160 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, 1605632, 2654208,
4096000
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@hdp-jk-1 ~]# sudo mount /dev/Vol1/lvtest /mnt/my_partition
可能会遇到的问题:
- 1,如果遇到以下问题(重启计算机):
[root@hdp-jk-1 ~]# partprobe
Error: Partition(s) 1, 2 on /dev/sdc have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
- 2,如果遇到如下问题:
[root@hdp-jk-1 ~]# sudo pvcreate /dev/sdc2
Can't initialize physical volume "/dev/sdc2" of volume group "Vol1" without -ff
/dev/sdc2: physical volume not initialized.
解决(卸载磁盘,移除卷组、物理卷):
[root@hdp-jk-1 ~]# umount /dev/Vol1/lvtest
[root@hdp-jk-1 ~]# lvremove /dev/Vol1/lvtest
Do you really want to remove active logical volume Vol1/lvtest? [y/n]: y
Logical volume "lvtest" successfully removed
[root@hdp-jk-1 ~]# vgremove Vol1
Volume group "Vol1" successfully removed
5.3.2 完整的卷组、逻辑卷扩容流程
5.3.2.1 对已分区磁盘进行LVM扩容
以下操作为对已分区的磁盘,进行LVM扩容,但不会影响原始LVM中的信息。
[root@hdp-jk-1 my_partition]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00025ff8
设备 Boot Start End Blocks Id System
/dev/sdc2 2048 41945087 20971520 8e Linux LVM
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (1,3,4,默认 1):3
起始 扇区 (41945088-104857599,默认为 41945088):41945088
Last 扇区, +扇区 or +size{K,M,G} (41945088-104857599,默认为 104857599):+6G
分区 3 已设置为 Linux 类型,大小设为 6 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00025ff8
设备 Boot Start End Blocks Id System
/dev/sdc2 2048 41945087 20971520 8e Linux LVM
/dev/sdc3 41945088 54527999 6291456 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@hdp-jk-1 my_partition]# partprobe
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
# 创建物理卷
[root@hdp-jk-1 my_partition]# pvcreate /dev/sdc3
Physical volume "/dev/sdc3" successfully created.
# 扩展卷组
[root@hdp-jk-1 my_partition]# vgextend Vol1 /dev/sdc3
Volume group "Vol1" successfully extended
[root@hdp-jk-1 my_partition]# vgdisplay Vol1
--- Volume group ---
VG Name Vol1
System ID
Format lvm2
Metadata Areas 2
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 2
Act PV 2
VG Size 25.99 GiB
PE Size 4.00 MiB
Total PE 6654
Alloc PE / Size 5119 / <20.00 GiB
Free PE / Size 1535 / <6.00 GiB
VG UUID LHXdWU-MBbw-VW0D-xlx1-P6fd-PAyo-42iRHf
[root@hdp-jk-1 my_partition]# lvdisplay Vol1
--- Logical volume ---
LV Path /dev/Vol1/lvtest
LV Name lvtest
VG Name Vol1
LV UUID 3Kn8kY-Qi3u-PAoC-PbR6-SP7I-Y6Hw-s7xbj6
LV Write Access read/write
LV Creation host, time hdp-jk-1, 2021-12-08 14:04:11 +0800
LV Status available
# open 1
LV Size <20.00 GiB
Current LE 5119
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
# 扩展逻辑卷
[root@hdp-jk-1 my_partition]# lvextend -L +4G /dev/mapper/Vol1-lvtest
Size of logical volume Vol1/lvtest changed from <20.00 GiB (5119 extents) to <24.00 GiB (6143 extents).
Logical volume Vol1/lvtest successfully resized.
# 查看结果
[root@hdp-jk-1 my_partition]# lvdisplay Vol1
--- Logical volume ---
LV Path /dev/Vol1/lvtest
LV Name lvtest
VG Name Vol1
LV UUID 3Kn8kY-Qi3u-PAoC-PbR6-SP7I-Y6Hw-s7xbj6
LV Write Access read/write
LV Creation host, time hdp-jk-1, 2021-12-08 14:04:11 +0800
LV Status available
# open 1
LV Size <24.00 GiB
Current LE 6143
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
# 调整文件系统的大小以扩展逻辑卷内的空间(基于 ext3 和 ext4 的文件系统,使用resize2fs; xfs 文件系统使用xfs_growfs)
[root@hdp-jk-1 my_partition]# resize2fs /dev/Vol1/lvtest
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/Vol1/lvtest is mounted on /mnt/my_partition; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 3
The filesystem on /dev/Vol1/lvtest is now 6290432 blocks long.
5.3.2.2 对未分区磁盘进行LVM扩容
# 查看可用磁盘
[root@hdp-jk-1 ~]# fdisk -l
磁盘 /dev/sdd:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
# 创建物理分区
[root@hdp-jk-1 ~]# pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created.
# 扩展卷组
[root@hdp-jk-1 ~]# vgextend Vol1 /dev/sdd
Volume group "Vol1" successfully extended
# 查看卷组
[root@hdp-jk-1 ~]# vgdisplay Vol1
--- Volume group ---
VG Name Vol1
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size <85.99 GiB
PE Size 4.00 MiB
Total PE 22013
Alloc PE / Size 6143 / <24.00 GiB
Free PE / Size 15870 / 61.99 GiB
VG UUID LHXdWU-MBbw-VW0D-xlx1-P6fd-PAyo-42iRHf
# 扩展逻辑卷
[root@hdp-jk-1 ~]# lvextend -L +6G /dev/mapper/Vol1-lvtest
Size of logical volume Vol1/lvtest changed from <24.00 GiB (6143 extents) to <30.00 GiB (7679 extents).
Logical volume Vol1/lvtest successfully resized.
# 查看逻辑卷
[root@hdp-jk-1 ~]# lvdisplay Vol1
--- Logical volume ---
LV Path /dev/Vol1/lvtest
LV Name lvtest
VG Name Vol1
LV UUID 3Kn8kY-Qi3u-PAoC-PbR6-SP7I-Y6Hw-s7xbj6
LV Write Access read/write
LV Creation host, time hdp-jk-1, 2021-12-08 14:04:11 +0800
LV Status available
# open 0
LV Size <30.00 GiB
Current LE 7679
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
# 调整文件系统的大小以扩展逻辑卷内的空间(基于 ext3 和 ext4 的文件系统,使用resize2fs; xfs 文件系统使用xfs_growfs)
[root@hdp-jk-1 ~]# e2fsck -f /dev/Vol1/lvtest
e2fsck 1.42.9 (28-Dec-2013)
/dev/Vol1/lvtest: 正在修复日志
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
Free 块s count wrong (6147662, counted=6147660).
处理<y>? 是
Free inodes count wrong (1572853, counted=1572851).
处理<y>? 是
/dev/Vol1/lvtest: ***** 文件系统已修改 *****
/dev/Vol1/lvtest: 13/1572864 files (0.0% non-contiguous), 142772/6290432 blocks
[root@hdp-jk-1 ~]# resize2fs /dev/Vol1/lvtest
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/Vol1/lvtest to 7863296 (4k) blocks.
The filesystem on /dev/Vol1/lvtest is now 7863296 blocks long.
# 挂载磁盘
[root@hdp-jk-1 ~]# sudo mount /dev/Vol1/lvtest /mnt/my_partition
# 查看结果
[root@hdp-jk-1 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs tmpfs 7.8G 12M 7.8G 1% /run
tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 176G 31G 146G 18% /
/dev/sda1 xfs 1014M 192M 823M 19% /boot
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/mapper/Vol1-lvtest ext4 30G 44M 28G 1% /mnt/my_partition
# 自动挂载
[root@hdp-jk-1 ~]# blkid
/dev/sda1: UUID="18cba5a5-dafc-4cb6-8360-3340a595abab" TYPE="xfs"
/dev/sda2: UUID="3lPCuK-CZTy-VRkF-dZDG-mrCp-QQMs-FDV26o" TYPE="LVM2_member"
/dev/sdb: PTTYPE="dos"
/dev/sdc2: UUID="jqCKz4-eAyX-1T5t-z8NR-NE02-kKOO-6AIH0D" TYPE="LVM2_member"
/dev/sdc3: UUID="hgcKAn-8V87-gl12-tn84-CTSE-kcKr-uXpVvk" TYPE="LVM2_member"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sdd: UUID="7WNFwy-Y4bk-Jkdp-OtHL-hSJM-quj5-yZLesn" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="929ef6cf-1709-45a1-90ea-8a0b880e692d" TYPE="xfs"
/dev/mapper/centos-swap: UUID="bb87d712-d8fd-46af-95b5-4cfe034a0aad" TYPE="swap"
/dev/mapper/Vol1-lvtest: UUID="04d1fd86-287c-4e7b-8e7a-718210402d1b" TYPE="ext4"
[root@hdp-jk-1 ~]# vi /etc/fstab
# 添加以下这行
UUID=04d1fd86-287c-4e7b-8e7a-718210402d1b /mnt/my_partition/ ext4 defaults 0 0