摘要: 本文详细介绍了Linux Volume Manager (LVM) 的相关命令,包括磁盘分区、物理卷创建、卷组管理、逻辑卷创建与管理、文件系统挂载与自动挂载等步骤。LVM 是一种逻辑卷管理技术,允许用户在物理磁盘上创建、扩展、缩减和移动分区,而不必重新分区或重新格式化磁盘。通过LVM,可以更灵活地管理存储空间,提高存储利用率和灵活性。
参考链接:https://support.huaweicloud.com/bestpractice-evs/evs_02_0002.html
磁盘分区
新挂载硬盘或者扩充硬盘
parted相关命令
按照如下命令建立分区、文件系统格式、打上lvm标签
|
|
通过新增磁盘来创建物理卷
pvcreate /dev/vdd3
物理卷
- 查看磁盘
|
|
- 执行以下命令,将云硬盘创建为物理卷。
pvcreate 磁盘设备名1 磁盘设备名2 磁盘设备名3
参数说明如下:
磁盘设备名:此处需要填写磁盘的设备名称,如果需要批量创建,可以填写多个设备名称,中间以空格间隔。
命令示例:
pvcreate /dev/vdb /dev/vdc
|
|
- 执行如下命令,查看系统中物理卷的详细信息。
pvdisplay
|
|
卷组
创建卷组
- 执行以下命令,创建卷组。
vgcreate 卷组名 物理卷名称1 物理卷名称2 物理卷名称3…
参数说明如下:
卷组名:可自定义,此处以vgdata为例。
物理卷名称:此处需要填写待添加进卷组的所有物理卷名称,中间以空格隔开。
命令示例:
vgcreate vgdata /dev/vdb /dev/vdc
回显类似如下信息:
|
|
- 执行如下命令,查看系统中卷组的详细信息。
vgdisplay
卷组扩/缩容
-
查看磁盘,并如创建物理卷
fdisk -l | grep /dev/vd | grep -v vda
pvcreate 磁盘**设备名
-
添加新的物理卷
vgextend 卷组名称 物理卷名称
命令示例:
vgextend vgdata /dev/vdd
-
删除物理卷
vgreduce 卷组名称 物理卷名称
命令示例:
vgreduce vgdata /dev/vdd
逻辑卷
创建逻辑卷
- lvcreate** -L 逻辑卷大小 -n 逻辑卷名称 卷组名称
参数说明如下:
逻辑卷大小:该值应小于卷组剩余可用空间大小,单位可以选择“MB”或“GB”。
逻辑卷名称:可自定义,此处以lvdata1为例。
卷组名称:此处需要填写逻辑卷所在的卷组名称。
命令示例:
lvcreate -L 15GB -n lvdata1 vgdata
|
|
-
执行如下命令,查询系统中逻辑卷的详细信息。
lvdisplay
扩充逻辑卷
- 执行如下命令,扩展逻辑卷的容量。
lvextend -L +增加容量 逻辑卷路径
参数说明如下:
增加容量:该值应小于组卷剩余可用空间大小,单位可以选择“MB”或“GB”。
逻辑卷路径:此处需要填写待扩容的逻辑卷的路径。
命令示例: lvextend -L +4GB /dev/vgdata/lvdata1
回显类似如下信息:
|
|
此时只是扩展的逻辑卷的容量,在其之上的文件系统也要随之进行扩展才能使用。
-
执行如下命令,扩展文件系统的容量。
resize2fs 逻辑卷路径
命令示例: resize2fs /dev/vgdata/lvdata1
回显类似如下信息:
1 2resize2fs /dev/vgdata/lvdata1 resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/vgdata/lvdata1 is mounted on /Data1; on-line resizing required old_desc_blocks = 4, new_desc_blocks = 28 The filesystem on /dev/vgdata/lvdata1 is now 3657728 blocks long. -
执行如下命令,查看文件系统容量是否增加。
df -h 回显类似如下信息:
1 2 3 4 5 6 7 8 9 10df -h Filesystem Size Used Avail Use% Mounted on /dev/vda2 39G 1.5G 35G 5% / devtmpfs 487M 0 487M 0% /dev tmpfs 496M 0 496M 0% /dev/shm tmpfs 496M 6.7M 490M 2% /run tmpfs 496M 0 496M 0% /sys/fs/cgroup /dev/vda1 976M 131M 779M 15% /boot tmpfs 100M 0 100M 0% /run/user/0 /dev/mapper/vgdata-lvdata1 19G 44M 18G 1% /Data1可以看到,文件系统“/dev/mapper/vgdata-lvdata1”的容量相比之前增加了4GB。
逻辑卷缩容
不可在线操作,需要先umount 挂载
主要命令
- umount /Data1 # /data1为挂载路径
- e2fsck -f /dev/vgdata/lvdata1 # 进行磁盘检查
- resize2fs /dev/vgdata/lvdata1 1G # 调整文件系统
- lvreduce -L 1GB /dev/vgdata/lvdata # 通过lvduce命令进行缩
- mount /dev/vgdata/lvdata1 /Data1 # 重新挂载
|
|
挂载文件系统
- 执行如下命令,创建文件系统。
**mkfs.**文件格式 逻辑卷路径
命令示例:
mkfs.ext4 /dev/vgdata/lvdata1
回显类似如下信息:
|
|
手动挂载
具备文件系统后才可以挂载
- 创建挂载目录。 mkdir 挂载目录 命令示例: mkdir /Data1
- 执行如下命令,将文件系统挂载到目录下。 mount 逻辑卷路径 挂载目录 命令示例: mount /dev/vgdata/lvdata1 /Data1
- 执行如下命令,查询文件系统挂载信息。 mount | grep 挂载目录 命令示例: mount | grep /Data1
回显类似如下信息:
|
|
开机自动挂载
执行以下步骤,设置云服务器系统启动时自动挂载文件系统。
-
执行如下命令,查询文件系统的UUID。
blkid 文件系统路径
以查询“dev/mapper/vgdata-lvdata1”的UUID为例:
blkid /dev/mapper/vgdata-lvdata1
|
|
-
执行以下命令,打开“/etc/fstab”文件。
vi /etc/fstab
1 2 3 4 5 6 7 8 9 10 11vi /etc/fstab # # /etc/fstab # Created by anaconda on Tue Nov 7 14:28:26 2017 # # 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 # UUID=27f9be47-838b-4155-b20b-e4c5e013cdf3 / ext4 defaults 1 1 UUID=2b2000b1-f926-4b6b-ade8-695ee244a901 /boot ext4 defaults 1 2 -
按“i”进入编辑模式,将光标移至文件末尾,按“Enter”,添加如下内容。
|
|
内容说明如下:
第一列:UUID,此处填写1查询的UUID;
第二列:文件系统的挂载目录;
第三列:文件系统的文件格式,如文件格式“ext4”;
第四列:挂载选项,此处以“defaults”为例;
第五列:备份选项,设置为“1”时,系统自动对该文件系统进行备份;设置为“0”时,不进行备份。此处以“0”为例;
第六列:扫描选项,设置为“1”时,系统在启动时自动对该文件系统进行扫描;设置为“0”时,不进行扫描。此处以“0”为例。
-
按“Esc”,输入“:wq!”,并按“Enter”。保存设置并退出vi编辑器。
-
执行以下步骤,验证自动挂载功能
-
执行如下命令,卸载文件系统。
umount 逻辑卷路径
命令示例: umount /dev/vgdata/lvdata1
-
执行如下命令,将/etc/fstab文件所有内容重新加载。
mount -a
-
执行如下命令,查询文件系统挂载信息。
mount | grep 挂载目录
命令示例: mount | grep /Data1
回显类似如下信息,说明自动挂载功能生效:
-
|
|