LVM(Logical Volume Manager)以及分区管理
简述:
LVM 是一种灵活的磁盘管理方案,允许用户动态调整存储空间,提供了比传统分区更多的功能和优势。
本次讲座将介绍 LVM 的基本概念、优势以及如何在 Linux 系统上使用 LVM 进行磁盘管理。
1. 传统分区与 LVM 的对比:
传统分区:静态分配,难以调整大小,限制较多。
LVM:动态调整,更灵活,提供了更多的管理功能。
2. LVM 的基本概念:
物理卷(Physical Volume,PV):硬盘或分区被 LVM 管理时称为物理卷。
卷组(Volume Group,VG):由一个或多个物理卷组成,逻辑卷从卷组中分配空间。
逻辑卷(Logical Volume,LV):类似于传统分区,由卷组分配空间而成。
3. LVM 的优势:
动态调整:可以动态地调整逻辑卷的大小,无需重新分区。
快照:可以创建快照以备份数据或进行测试。
数据迁移:可以将数据从一个物理卷迁移到另一个物理卷上。
管理灵活性:更灵活地管理存储空间,提高效率。
4. 在 Linux 系统上使用 LVM:
创建物理卷(pvcreate):将硬盘或分区初始化为 LVM 物理卷。
创建卷组(vgcreate):将一个或多个物理卷组成卷组。
创建逻辑卷(lvcreate):从卷组中分配空间创建逻辑卷。
扩展逻辑卷(lvextend):动态扩展逻辑卷的大小。
缩小逻辑卷(lvreduce):缩小逻辑卷的大小。
5、扩展
fdisk 工具的命令菜单,用于在 Linux 系统上对磁盘进行分区操作。以下是一些常用的命令和操作:
m: 打印命令菜单,显示可用的命令操作列表。
a: 切换引导标志,用于设置分区是否可引导。
b: 编辑 BSD 磁盘标签。
c: 切换 DOS 兼容标志。
d: 删除一个分区。
g: 创建一个新的空 GPT 分区表。
l: 列出已知的分区类型。
n: 添加一个新分区。
o: 创建一个新的空 DOS 分区表。
p: 打印分区表,显示当前磁盘的分区情况。
q: 不保存更改退出。
s: 创建一个新的空 Sun 磁盘标签。
t: 更改分区的系统 ID。
u: 更改显示/输入单位。
v: 验证分区表。
w: 将表写入磁盘并退出,用于保存更改。
x: 提供额外功能,通常为专家级用户使用。
在使用 fdisk 工具对磁盘进行分区时分错了,想要删除错误的分区,可以这样操作
fdisk 工具,例如:fdisk /dev/sdX(这里的 /dev/sdX 是你要操作的磁盘,确保替换为实际的磁盘名)。
使用 p 命令打印当前磁盘的分区表,确认要删除的分区的编号。
使用 d 命令删除分区:
输入 d 后,系统会提示你选择要删除的分区编号。
输入要删除的分区编号,例如 3。
如果需要删除多个分区,可以重复执行 d 命令并输入相应的分区编号。
删除分区后,使用 w 命令保存更改并退出 fdisk 工具。
重启系统或者重新加载分区表,让系统重新识别磁盘的分区情况。
逻辑卷,物理卷,卷组删除命令
注意:首先,确保卷没有被挂载。如果已经挂载,需要先卸载卷。
逻辑卷
lvremove /dev/vg_name/lv_name
物理卷
pvremove /dev/sdX
卷组
vgremove vg_name
逻辑卷,物理卷,卷组扩容命令
扩展逻辑卷:
使用以下命令来扩展逻辑卷:
lvextend -L +2G /dev/vg_name/lv_name
使用以下命令来调整文件系统大小以反映逻辑卷的更改
resize2fs /dev/vg_name/lv_name
扩展物理卷:
使用以下命令来扩展物理卷:
pvresize /dev/sdX
扩展卷组:
使用以下命令来扩展卷组:
vgextend vg_name /dev/sdX
逻辑卷,物理卷,卷组缩容命令
缩小逻辑卷:
在缩小逻辑卷之前,确保逻辑卷中没有重要数据。如果有数据,请先备份。
首先,缩减文件系统以便与逻辑卷的大小相匹配。这个步骤取决于你使用的文件系统类型。
缩小逻辑卷的命令如下:
lvreduce -L -2G /dev/vg_name/lv_name
这将将逻辑卷 /dev/vg_name/lv_name 缩小 2GB。
缩小物理卷:
缩小物理卷的命令如下:
pvresize --setphysicalvolumesize 10G /dev/sdX
这将将物理卷 /dev/sdX 缩小到 10GB。
实操案例
内核重新读取分区并查看
partx /dev/sdb1
创建物理卷组
pvcreate /dev/sdb1 /dev/sdb2
扫描物理卷
pvscan
创建卷组
vgcreate myvg /dev/sdb[1-2]
重新创建为PE为16M的卷组
vgremove myvg 删除
vgcreate -s 16m myvg /dev/sdb[1-2] 指定大小
卷组中删除PV
pvmove /dev/sdb1
vgreduce myvg /dev/sdb1
添加物理卷
vgextend myvg /dev/vdb3
创建逻辑卷
lvcreate -L +5G -n mylv myvg
格式化并挂载
卷组扩容
lvextend -L +1G /dev/mapper/myvg-mylv
resize2fs /dev/mapper/myvg-mylv
将6G的扩容为11G的物理卷,但卷组大小为10G
vgextend myvg /dev/vdb1
lvextend -L +5G /dev/mapper/myvg-mylv
resize2fs /dev/mapper/myvg-mylv
缩容
umount /mnt/
lvreduce -L -3G /dev/mapper/myvg-mylv
mkfs.ext4 /dev/mapper/myvg-mylv
重新挂在
评论区