侧边栏壁纸
博主头像
一叶舟的秘密花园 博主等级

行动起来,活在当下

  • 累计撰写 35 篇文章
  • 累计创建 14 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

文件系统逻辑扩容指导书(Centos7举例)

Administrator
2025-12-11 / 0 评论 / 1 点赞 / 47 阅读 / 0 字
温馨提示:
八月长江万里晴,千帆一道带风轻

LVM(Logical Volume Manager),即逻辑卷管理,是一种在Linux环境下用于管理磁盘分区的机制。它建立在硬盘和分区之上,提高了磁盘分区管理的灵活性。通过使用LVM,系统管理员可以更轻松地管理磁盘分区,例如将多个磁盘分区连接成一个整块的卷组(volume group),形成一个存储池。

一些LVM的关键术语包括:

  1. PV(Physical Volume,物理卷): 在逻辑卷管理系统的最底层,可以是整个物理硬盘或实际物理硬盘上的分区。它划分出一个特殊的区域,用于构建逻辑卷。

  2. VG(Volume Group,卷组): 由一个或多个物理卷组成,形成一个逻辑存储池。文件系统可以跨越这个卷组,使文件系统的大小不再受物理磁盘的限制。

  3. LV(Logical Volume,逻辑卷): 从卷组中划分出的逻辑分区,类似于传统的硬盘分区,但具有更大的灵活性。

LVM的工作原理是在每个物理卷的头部维护一个元数据,其中包含整个卷组的信息,包括卷组的布局配置、物理卷的位置等。这使得管理员能够在系统运行的状态下动态地扩展文件系统的大小,而无需关机。

lvm管理命令及基本格式

功能

pv

vg

lv

scan 查看

pvscan

vgscan

lvscan

create 建立

pvcreate

vgcreate

lvcreate

display 显示

pvdisplay

vgdisplay

lvdisplay

remove

pvremove

vgremove

lvremove

extend

vgextend

lvextend

reduce

vgreduce

lvreduce

使用命令及基本格式:

 ①pvcreate:创建物理卷   
 ​
 基本格式:pvcreate 设备名1 设备名2... (如果是分区格式必须是8e,磁盘无要求)
 ​
 ②vgcreate:创建卷组
 ​
 基本格式:vgcreate 卷组名 物理卷名1 物理卷2...
 ​
 ③lvcreate:创建逻辑卷
 ​
 基本格式:lvcreate -L 容量大小10G等.. -n 逻辑卷名 卷组名,从卷组取PE
 ​
 ④vgextend:扩展卷组
 ​
 基本格式:vgextend /要扩容的卷组 /dev/新建的物理卷
 ​
 ⑤lvextend:扩展逻辑卷
 ​
 基本格式:lvextend -L[扩展大小选项] +20G(扩展具体大小)或者写扩展后的总容量,不写代表把此逻辑卷组变为20G 逻辑卷组名  -r(表示添加完毕直接刷新显示) 注意+号。
 ​
 ⑥pvscan:查看物理卷信息     pvdisplay:查看详细的物理卷信息
 ​
  vgscan: 查看卷组信息      vgdisplay:查看卷组的具体信息
 ​
  lvscan:查看逻辑卷信息     lvdisplay:查看逻辑卷具体信息

lvm逻辑卷扩容步骤(以home文件系统举例):

1.添加硬盘设备

2. 检测新增硬盘

添加硬盘后,硬盘如果不会直接显示,可以选择重启来刷新硬盘,也可以通过手动刷新硬盘接口:

# 列出块设备信息
# 观察 sdd 是新增的硬盘
[root@u1abomwp01 ~]# lsblk
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0  100G  0 disk 
├─sda1                        8:1    0  500M  0 part /boot
└─sda2                        8:2    0 99.5G  0 part 
  ├─VolGroup-lv_root (dm-0) 253:0    0   50G  0 lvm  /
  ├─VolGroup-lv_swap (dm-1) 253:1    0  7.8G  0 lvm  [SWAP]
  └─VolGroup-lv_home (dm-3) 253:3    0 41.7G  0 lvm  /home
sdb                           8:16   0   50G  0 disk 
└─vg01-lvusers (dm-2)       253:2    0   70G  0 lvm  
sdc                           8:32   0   20G  0 disk 
└─vg01-lvusers (dm-2)       253:2    0   70G  0 lvm  
sr0                          11:0    1 1024M  0 rom  
sdd                           8:48   0  100G  0 disk 
# 硬盘如果不会直接显示,可以选择重启来刷新硬盘,也可以通过手动刷新硬盘接口
[root@u1abomwp01 ~]# cd /sys/class/scsi_host/
[root@u1abomwp01 scsi_host]# ls
host0  host10  host12  host14  host16  host18  host2   host21  host23  host25  host27  host29  host30  host32  host5  host7  host9
host1  host11  host13  host15  host17  host19  host20  host22  host24  host26  host28  host3   host31  host4   host6  host8
[root@u1abomwp01 scsi_host]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@u1abomwp01 scsi_host]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@u1abomwp01 scsi_host]# echo "- - -" > /sys/class/scsi_host/host2/scan
	...
#或者更简单的方法,刷新磁盘
[root@u1abomwp01 ~]# scsi-rescan -s
> 磁盘扩容后:比如在VMware等虚拟化环境中对Linux系统的磁盘进行了扩容,但系统没有自动识别新容量。使用scsi-rescan -s可以"通知内核重新刷新,获取正确的容量数据"

3.添加新的物理卷(Physical Volume,PV)

使用pvcreate命令来创建一个新的物理卷,例如,将新的物理卷添加到/dev/sdd上

# 将物理硬盘分区初始化为物理卷
[root@u1abomwp01 scsi_host]# pvcreate /dev/sdd 
  Physical volume "/dev/sdd" successfully created

# 输出物理卷信息报表,观察sdd已添加到物理卷
[root@u1abomwp01 scsi_host]# pvs
PV         VG       Fmt  Attr PSize   PFree  
/dev/sda2  VolGroup lvm2 a--   99.51g      0 
/dev/sdb   vg01     lvm2 a--   50.00g      0 
/dev/sdc   vg01     lvm2 a--   20.00g      0 
/dev/sdd            lvm2 a--  100.00g 100.00g

4.扩展卷组(Volume Group,VG)

# 观察/home目录挂载的是VolGroup目录
[root@u1abomwp01 scsi_host]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       50G   12G   35G  26% /
tmpfs                  16G  156K   16G   1% /dev/shm
/dev/sda1             485M   37M  423M   9% /boot
/dev/mapper/VolGroup-lv_home
                       42G  6.3G   33G  17% /home
# 输出物理卷信息报表
[root@u1abomwp01 scsi_host]# pvs
  PV         VG       Fmt  Attr PSize   PFree  
  /dev/sda2  VolGroup lvm2 a--   99.51g      0 
  /dev/sdb   vg01     lvm2 a--   50.00g      0 
  /dev/sdc   vg01     lvm2 a--   20.00g      0 
  /dev/sdd            lvm2 a--  100.00g 100.00g

# 向卷组中添加物理卷
[root@u1abomwp01 scsi_host]# vgextend VolGroup /dev/sdd 
  Volume group "VolGroup" successfully extended

# 确定是否添加至物理卷
[root@u1abomwp01 scsi_host]# pvs
  PV         VG       Fmt  Attr PSize   PFree  
  /dev/sda2  VolGroup lvm2 a--   99.51g      0 
  /dev/sdb   vg01     lvm2 a--   50.00g      0 
  /dev/sdc   vg01     lvm2 a--   20.00g      0 
  /dev/sdd   VolGroup lvm2 a--  100.00g 100.00g

5.扩展逻辑卷(Logical Volume,LV)

[root@u1abomwp01 scsi_host]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       50G   12G   35G  26% /
tmpfs                  16G  156K   16G   1% /dev/shm
/dev/sda1             485M   37M  423M   9% /boot
/dev/mapper/VolGroup-lv_home
                       42G  6.3G   33G  17% /home

使用lvextend命令来扩展您的逻辑卷。可以选择按照需要指定增加的大小,或者使用百分比。

[root@u1abomwp01 scsi_host]# lvextend -L +50G /dev/VolGroup/lv_home 
  Extending logical volume lv_home to 91.68 GiB
  Logical volume lv_home successfully resized

或者使用百分比扩展

[root@u1abomwp01 scsi_host]# lvextend -l +100%FREE /dev/VolGroup/lv_home 
  Extending logical volume lv_home to 141.68 GiB
  Logical volume lv_home successfully resized

6.文件系统调整

# 观察文件系统
[root@u1abomwp01 scsi_host]# df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
              ext4    51606140  12339344  36645356  26% /
tmpfs        tmpfs    16433848       156  16433692   1% /dev/shm
/dev/sda1     ext4      495844     37874    432370   9% /boot
/dev/mapper/VolGroup-lv_home
              ext4    43017424   6598624  34233584  17% /home

对于XFS文件系统

[root@u1aoappdq01 scsi_host]# xfs_growfs  /dev/VolGroup/lv_home
meta-data=/dev/mapper/vg02-lvmysqldata isize=512    agcount=30, agsize=1245184 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=36438016, 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 36438016 to 49545216

对于对于ext2/3/4文件系统

[root@u1abomwp01 scsi_host]# resize2fs /dev/VolGroup/lv_home 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_home is mounted on /home; on-line resizing required
old desc_blocks = 3, new_desc_blocks = 9
Performing an on-line resize of /dev/VolGroup/lv_home to 37139456 (4k) blocks.
The filesystem on /dev/VolGroup/lv_home is now 37139456 blocks long.

7.查看是否扩容成功

[root@u1abomwp01 scsi_host]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       50G   12G   35G  26% /
tmpfs                  16G  156K   16G   1% /dev/shm
/dev/sda1             485M   37M  423M   9% /boot
/dev/mapper/VolGroup-lv_home
                      140G  6.4G  127G   5% /home

1

评论区