Linux-lvm逻辑卷管理
LVM简介
LVM : Logical Volume Manager,中文名为逻辑卷管理,是一种方便的磁盘分区管理机制。与一般的磁盘分区管理区别在于,LVM可以方便在不停机的状况下,对各个分区调整大小。同时也可以通过将多个小物理磁盘整合成为一个大的逻辑分区,从而突破物理磁盘的大小限制,储存更大的数据块。
逻辑卷管理中有三个概念:物理卷,卷组,逻辑卷,物理扩展块。
物理卷(PV):包含LVM相关的管理参数的磁盘或者磁盘分区。
卷组(VG):由物理卷组成的合集。
逻辑卷(LV):从卷组中抽出空间组成的逻辑上的磁盘。
物理扩展块(PE):是逻辑卷中的最小储存单元,默认大小为4MB。
原理简介
LVM逻辑卷创建实现过程
流程图
代码实现
对sdc进行分区
具体分区步骤可查询
硬盘分区
需要注意的是分区完成后需要将该分区类型改为8e(LinuxLVM)
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
创建物理卷(pvcreate)
将sdb与sdc1划分为物理卷。命令格式:
pvcreate [磁盘或分区目录] [磁盘或分区目录]
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc1
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc1" successfully created.
创建卷组ts01(vgcreate)
将sdb与sdc1划分为卷组ts01。命令格式:
vgcreate 卷组名称 [物理卷] [物理卷]
[root@localhost ~]# vgcreate ts01 /dev/sdb /dev/sdc1
Volume group "ts01" successfully created
创建逻辑卷ls01
从卷组ts01中划分7G空间,创建为逻辑卷ls01。命令格式:
lvcreate -L [划分大小] -n [卷组名] [逻辑卷名]
[root@localhost ~]# lvcreate -L 7G -n lv01 ts01
Logical volume "lv01" created.
挂载格式化使用逻辑卷
创建data目录,并将逻辑卷lv01格式化为xfs文件系统,挂载在data目录下。
[root@localhost ~]# mkdir /data
[root@localhost ~]# mkfs.xfs /dev/ts01/lv01
meta-data=/dev/ts01/lv01 isize=512 agcount=4, agsize=458752 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1835008, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mount /dev/ts01/lv01 /data
查看挂载效果。
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 42G 3.7G 39G 9% /
devtmpfs 470M 0 470M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 8.6M 478M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 1014M 166M 849M 17% /boot
tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs 98M 32K 98M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/ts01-lv01 7.0G 33M 7.0G 1% /data
需要注意的是,这里是临时挂载,重启后挂载失效。需将挂载信息写入/etc/fstab进行自动挂载。
扩展逻辑卷
扩展逻辑卷,首先要保证卷组中剩余空间足够,如果不足,首先需要在卷组新加入物理卷才能对逻辑卷进行扩展。扩展逻辑卷命令格式:
lvextend -L +[扩展大小] [逻辑卷的绝对路径]
扩容后需要将挂载点进行刷新后,新增大小才会显现。命令格式:
xfs_growfs [挂载点]
[root@localhost ~]# lvextend -L +1G /dev/ts01/lv01
Size of logical volume ts01/lv01 changed from 7.00 GiB (1792 extents) to 8.00 GiB (2048 extents).
Logical volume ts01/lv01 successfully resized.
[root@localhost ~]# xfs_growfs /data
meta-data=/dev/mapper/ts01-lv01 isize=512 agcount=4, agsize=458752 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=1835008, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 1835008 to 2097152
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 42G 3.7G 39G 9% /
devtmpfs 470M 0 470M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 8.6M 478M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 1014M 166M 849M 17% /boot
tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs 98M 32K 98M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/ts01-lv01 8.0G 33M 8.0G 1% /data
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)