首页 > 技术文章 > lvm磁盘扩容

wenghaojie 2021-09-06 14:55 原文

一.增加新硬盘

增加新的磁盘和 原有硬盘做了分区基本一致。

# 我们增加了一块硬盘,/dev/vdc
# 创建分区

[root@djx ~]# fdisk /dev/vdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xd9ed71fb.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-1824522239, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-1824522239, default 1824522239): 
Using default value 1824522239
Partition 1 of type Linux and of size 870 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
# 将磁盘加入到 VG卷组。
[root@djx ~]# vgextend vg0  /dev/vdc1
  Physical volume "/dev/vdc1" successfully created.
  Volume group "sdr_vg" successfully extended
# 扩容逻辑卷  /dev/vg0/data,-l 指定的是PE数量 -L +800GB
[root@djx ~]# lvextend +100%FREE /dev/vg0/data
  Size of logical volume vg0/data changed from <1024.00 GiB (262143 extents) to <1.85 TiB (484862 extents).
  Logical volume sdr_vg/lv_data successfully resized.
# 修改文件系统的大小,xfs 文件系统使用xfs_growfs。 
[root@djx ~]# xfs_growfs  /dev/vg0/data
meta-data=/dev/mapper/vg0-data isize=512    agcount=4, agsize=67108608 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=268434432, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=131071, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 268434432 to 496498688
# 查看磁盘是否扩容了。
[root@djx ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/vda1                    40G  5.6G   32G  15% /
devtmpfs                     16G     0   16G   0% /dev
tmpfs                        16G   12K   16G   1% /dev/shm
tmpfs                        16G  540K   16G   1% /run
tmpfs                        16G     0   16G   0% /sys/fs/cgroup
/dev/mapper/vg0-data  1.9T  965G  929G  51% /home
tmpfs                       3.2G     0  3.2G   0% /run/user/1007

二.扩充原有硬盘

1.原有硬盘做了分区

假设原有的磁盘为 /dev/xdc ,已有分区 /dev/xdc1,我们对磁盘 /dev/xdc 扩容了

fdisk  /dev/xdc   # 依次输入 n  --》 p --> 默认 --》 默认 --》 w   这样就将新加的磁盘空间到一个新的分区/dev/xdc2,
# 我们将该分区加入到卷组。

vgextend  卷组的名称  /dev/xdc2

vgdisplay  # 查看卷组的空闲空间。

# 将扩容的空间添加到逻辑卷
lvextend -l +2558 /dev/vg_test/lv_test  # -l 指定的是PE数,我们可以使用 -L 来指定实际容量。 lvextend -L +9.99G /dev/vg_test/lv_test

# 修改文件系统的大小
## ext* 使用的命令

resize2fs  /dev/vg_test/lv_test
## xfs 使用的命令
xfs_growfs /dev/vg_test/lv_test

2.原有硬盘未做分区

磁盘扩容,扩容好了,我们可以在服务端进行使用 fidisk -l 查看,我们可以发现磁盘已经变大了。但是我们的物理卷没有变化。

# pv 物理卷扩容后重新识别大小。
pvresize  /dev/xdb
pvdisplay # 在 Free PE 就可以查看到我们的新增加的空间大小

# 将扩容的空间添加到逻辑卷

lvextend -l +2558 /dev/vg_test/lv_test  # -l 指定的是PE数,我们可以使用 -L 来指定实际容量。 lvextend -L +9.99G /dev/vg_test/lv_test

# 修改文件系统的大小
## ext* 使用的命令

resize2fs  /dev/vg_test/lv_test
## xfs 使用的命令
xfs_growfs /dev/vg_test/lv_test

推荐阅读