Linux-lvm逻辑卷管理

LVM简介

LVM : Logical Volume Manager,中文名为逻辑卷管理,是一种方便的磁盘分区管理机制。与一般的磁盘分区管理区别在于,LVM可以方便在不停机的状况下,对各个分区调整大小。同时也可以通过将多个小物理磁盘整合成为一个大的逻辑分区,从而突破物理磁盘的大小限制,储存更大的数据块。
逻辑卷管理中有三个概念:物理卷,卷组,逻辑卷,物理扩展块。
物理卷(PV):包含LVM相关的管理参数的磁盘或者磁盘分区。
卷组(VG):由物理卷组成的合集。
逻辑卷(LV):从卷组中抽出空间组成的逻辑上的磁盘。
物理扩展块(PE):是逻辑卷中的最小储存单元,默认大小为4MB。

原理简介

LVM逻辑卷创建实现过程

流程图

image

代码实现

对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

posted @   残-云  阅读(158)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示