pv/vg/lv的关系及linux 系统在线扩容磁盘空间

1. PV (Physical Volume - 物理卷)

  • 是什么: 物理存储设备(如硬盘 /dev/sda、分区 /dev/sda1、RAID 设备 /dev/md0 等)在 LVM 体系中的表示形式

  • 作用: 是 LVM 存储管理的最底层基石。PV 提供了原始的物理存储空间

  • 关键点:

    • 一个物理设备(硬盘/分区)必须先被初始化为 PV (pvcreate 命令),才能加入 LVM 系统。

    • PV 被划分成许多固定大小的单元,称为 PE (Physical Extent - 物理盘区)。PE 是 LVM 分配空间的最小单位(默认大小通常为 4MB,可在创建 VG 时指定)。

    • 命令操作: pvcreatepvdisplaypvspvremovepvmovepvresize

总结 PV: 物理存储设备本身在 LVM 中的化身。它是构成上层资源池的原材料。


2. VG (Volume Group - 卷组)

  • 是什么: 由一个或多个 PV 组合而成的一个大的、统一的存储资源池

  • 作用: 是 LVM 存储管理的中间层。VG 聚合了底层 PV 的存储空间,形成一个可供灵活分配的“存储池”。

  • 关键点:

    • 可以把不同大小、不同类型的物理设备(PV)加入同一个 VG,LVM 会统一管理它们提供的空间

    • VG 的总容量等于其包含的所有 PV 的容量之和(减去少量管理开销)。

    • 从 VG 中划分出的空间用于创建 LV。

    • VG 的空间分配也是以 PE 为基本单位进行的。

    • 命令操作: vgcreatevgdisplayvgsvgextend (添加 PV 扩容), vgreduce (移除 PV 缩容), vgremovevgrename

总结 VG: 存储资源的聚合池。它屏蔽了底层物理设备的差异,为上层的逻辑卷提供统一的、可伸缩的存储空间。


3. LV (Logical Volume - 逻辑卷)

  • 是什么: 从 VG 的存储池中划分出来的逻辑存储单元

  • 作用: 是 LVM 存储管理的最上层,是最终被操作系统识别、格式化并挂载使用的“分区”

  • 关键点:

    • LV 在用户看来就像是一个独立的块设备(例如 /dev/vgname/lvname 或 /dev/mapper/vgname-lvname)。

    • 可以像使用标准硬盘分区一样,对 LV 进行格式化mkfs)、挂载mount)、读写文件

    • LV 的大小可以动态调整 (lvextendlvreduce):

      • 扩容: 只要 VG 中有足够的空闲空间,可以随时在线扩展 LV 的大小(通常需要配合文件系统扩容命令如 resize2fs/xfs_growfs)。

      • 缩容: 需要先卸载文件系统并确保文件系统支持缩容,操作相对复杂且有风险。

    • 支持高级功能

      • 快照 (Snapshot): 创建 LV 在某个时间点的只读/可写副本,用于备份或测试。

      • 精简配置 (Thin Provisioning): 允许创建的总 LV 大小超过实际 VG 容量,按需分配物理空间。

      • 条带化 (Striping): 类似 RAID 0,将数据分散存储在多个 PV 上,提高 I/O 性能。

      • 镜像 (Mirroring): 类似 RAID 1,在多个 PV 上保存相同数据,提供冗余。

      • 缓存 (Caching): 使用 SSD 等快速设备为较慢的 LV 提供缓存加速。

    • 命令操作: lvcreatelvdisplaylvslvextendlvreducelvremovelvrenamelvresize

总结 LV: 面向用户和系统的最终可用“磁盘分区”。它从 VG 池中分配空间,并提供了传统分区无法比拟的灵活性和强大功能。

——————————————————————————————————

linux 系统在线扩容步骤分析:

  1. 先查看磁盘和逻辑卷信息文件系统类型和挂在点:fdisk -l    lsblk   df -hT
  2. 增加磁盘空间,增加原始盘空间或者新增硬盘
  3. Pvcreate  新磁盘空间名称
  4. Vgextend  需要扩容的vg名称  新新磁盘空间名称
  5. Lvextend -l 100%FREE  扩容空间名称
  6. 刷新文件系统,根据df -hT 判断文件系统类型,ext2/3/4使用  resize2fs 扩容空间名称,xfs文件系统使用  xfs_growfs  扩容空间名称

具体扩容过程

[root@venus ~]# lsblk         ----------先查看磁盘和逻辑卷信息文件系统类型和挂在点

NAME                        MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT

sda                           8:0    0      1T  0 disk

├─sda1                        8:1    0    500M  0 part /boot

└─sda2                        8:2    0 1023.5G  0 part

  ├─vg_venus-lv_root (dm-0) 253:0    0     50G  0 lvm  /

  ├─vg_venus-lv_swap (dm-1) 253:1    0   15.8G  0 lvm  [SWAP]

  └─vg_venus-lv_home (dm-2) 253:2    0  957.8G  0 lvm  /home

sr0                          11:0    1   1024M  0 rom

sdb                           8:16   0    200G  0 disk

[root@venus ~]# pvcreate /dev/sdb  --------增加磁盘空间,增加原始盘空间或者新增硬盘Pvcreate  新磁盘空间名称

  Physical volume "/dev/sdb" successfully created

[root@venus ~]# pvdisplay ----------查看pv

  --- Physical volume ---

  PV Name               /dev/sda2

  VG Name               vg_venus

  PV Size               1023.51 GiB / not usable 3.00 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              262018

  Free PE               0

  Allocated PE          262018

  PV UUID               I1wGWb-v2uM-0aDE-6eiq-AnOC-vedT-Woy62n

  "/dev/sdb" is a new physical volume of "200.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb

  VG Name

  PV Size               200.00 GiB

  Allocatable           NO

  PE Size               0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               GAOoIa-vD6p-3V7L-P5my-uzKl-ghse-KtqL2g

[root@venus ~]# vgextend vg_venus /dev/sdb          ----Vgextend  需要扩容的vg名称  新新磁盘空间名称

  Volume group "vg_venus" successfully extended

[root@venus ~]# vgdisplay   -----查看vg

  --- Volume group ---

  VG Name               vg_venus

  System ID

  Format                lvm2

  Metadata Areas        2

  Metadata Sequence No  5

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                3

  Open LV               3

  Max PV                0

  Cur PV                2

  Act PV                2

  VG Size               1.19 TiB

  PE Size               4.00 MiB

  Total PE              313217

  Alloc PE / Size       262018 / 1023.51 GiB

  Free  PE / Size       51199 / 200.00 GiB

  VG UUID               ji6Mcr-8mIh-drD7-DVH0-LSFA-ilUK-KRD6hV

[root@venus ~]# lvs           ----查看逻辑卷信息

  LV      VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv_home vg_venus -wi-ao---- 957.77g

  lv_root vg_venus -wi-ao----  50.00g

  lv_swap vg_venus -wi-ao----  15.74g

[root@venus ~]# lsblk            ----------查看磁盘和逻辑卷信息文件系统类型和挂在点

NAME                        MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT

sda                           8:0    0      1T  0 disk

├─sda1                        8:1    0    500M  0 part /boot

└─sda2                        8:2    0 1023.5G  0 part

  ├─vg_venus-lv_root (dm-0) 253:0    0     50G  0 lvm  /

  ├─vg_venus-lv_swap (dm-1) 253:1    0   15.8G  0 lvm  [SWAP]

  └─vg_venus-lv_home (dm-2) 253:2    0  957.8G  0 lvm  /home

sr0                          11:0    1   1024M  0 rom

sdb                           8:16   0    200G  0 disk

[root@venus ~]# lvextend -l +100%FREE /dev/mapper/vg_venus-lv_home    -----------Lvextend -l 100%FREE  扩容空间名称

  Size of logical volume vg_venus/lv_home changed from 957.77 GiB (245188 extents) to 1.13 TiB (296387 extents).

  Logical volume lv_home successfully resized.

[root@venus ~]# lvdisplay                -----查看lv

  --- Logical volume ---

  LV Path                /dev/vg_venus/lv_root

  LV Name                lv_root

  VG Name                vg_venus

  LV UUID                rRNtss-oO6P-ZilP-PVgh-TMuj-Mg9v-UTmVf2

  LV Write Access        read/write

  LV Creation host, time venus.tsoc.sa, 2020-07-28 15:57:55 +0800

  LV Status              available

  # open                 1

  LV Size                50.00 GiB

  Current LE             12800

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:0

  --- Logical volume ---

  LV Path                /dev/vg_venus/lv_home

  LV Name                lv_home

  VG Name                vg_venus

  LV UUID                g2agD7-ndP2-e9Bq-vLN1-rIzj-8JT3-jaXMpQ

  LV Write Access        read/write

  LV Creation host, time venus.tsoc.sa, 2020-07-28 15:57:56 +0800

  LV Status              available

  # open                 1

  LV Size                1.13 TiB

  Current LE             296387

  Segments               2

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:2

  --- Logical volume ---

  LV Path                /dev/vg_venus/lv_swap

  LV Name                lv_swap

  VG Name                vg_venus

  LV UUID                DdhN5R-Vssb-1DnX-Ihcx-FOJq-0Ocg-bYuY3x

  LV Write Access        read/write

  LV Creation host, time venus.tsoc.sa, 2020-07-28 15:57:59 +0800

  LV Status              available

  # open                 1

  LV Size                15.74 GiB

  Current LE             4030

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:1

[root@venus ~]# lvs

  LV      VG       Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv_home vg_venus -wi-ao----  1.13t

  lv_root vg_venus -wi-ao---- 50.00g

  lv_swap vg_venus -wi-ao---- 15.74g

[root@venus ~]# df -hT

Filesystem           Type   Size  Used Avail Use% Mounted on

/dev/mapper/vg_venus-lv_root

                     ext4    50G  8.5G   39G  19% /

tmpfs                tmpfs   32G  228K   32G   1% /dev/shm

/dev/sda1            ext4   477M   78M  375M  18% /boot

/dev/mapper/vg_venus-lv_home

                     ext4   943G  732G  164G  82% /home

/dev/mapper/vg_venus-lv_home

                     ext4   943G  732G  164G  82% /data

[root@venus ~]# resize2fs /dev/mapper/vg_venus-lv_home   -----------查看文件系统格式,根据df -hT 判断文件系统类型,ext2/3/4使用  resize2fs 扩容空间名称,xfs文件系统使用  xfs_growfs  扩容空间名称

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/mapper/vg_venus-lv_home is mounted on /home; on-line resizing required

old desc_blocks = 60, new_desc_blocks = 73

Performing an on-line resize of /dev/mapper/vg_venus-lv_home to 303500288 (4k) blocks.

The filesystem on /dev/mapper/vg_venus-lv_home is now 303500288 blocks long.

[root@venus ~]# df -hT

Filesystem           Type   Size  Used Avail Use% Mounted on

/dev/mapper/vg_venus-lv_root

                     ext4    50G  8.5G   39G  19% /

tmpfs                tmpfs   32G  228K   32G   1% /dev/shm

/dev/sda1            ext4   477M   78M  375M  18% /boot

/dev/mapper/vg_venus-lv_home

                     ext4   1.2T  732G  351G  68% /home

/dev/mapper/vg_venus-lv_home

                     ext4   1.2T  732G  351G  68% /data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值