使用系统为麒麟v10server版,此系统与centos7系统相似,所以磁盘分区后默认类型为ext4
首先准备一块要扩容进去的磁盘,如下图
上图可以看出sdb未进行分区,下面开始分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.35.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x6ce3597c 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):p
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6ce3597c
命令(输入 m 获取帮助):n --arm架构麒麟操作系统不会显示下面的分区类型按回车就行
分区类型
p 主分区 (0 primary, 0 extended, 4 free)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认 1):
第一个扇区 (2048-41943039, 默认 2048):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039):
创建了一个新分区 1,类型为“Linux”,大小为 20 GiB。
命令(输入 m 获取帮助):t --更改分区类型
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e --这里选择8e,arm架构麒麟系统应选择31,改分区为LVM
已将分区“Linux”的类型更改为“Linux LVM”。
命令(输入 m 获取帮助):p --打印分区信息
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6ce3597c
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 41943039 41940992 20G 8e Linux LVM
命令(输入 m 获取帮助):w --保存此次操作的分区信息
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]#
lsblk查看一下分区信息,下图可以看到已经分好了
下面开始创建卷信息,先使用pvcreate /dev/sdb1创建pv信息,然后pvdisplay查看pv信息,如下pvdisplay信息看一看到已经创建好了一个pv信息pvname为/dev/sdb1
[root@localhost ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name klas
PV Size <49.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 12543
Free PE 0
Allocated PE 12543
PV UUID zzrkIn-YtjT-Y8ap-dKst-6oYv-i2fG-cwpZ6p
"/dev/sdb1" is a new physical volume of "<20.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size <20.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID tp5olI-fSZa-3Rf5-GU8X-aQ7m-lhH6-eQJ1Kc
[root@localhost ~]#
然后使用vgdisplay查看一下当前vg中的vgname,如下vgname为klas
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name klas
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <49.00 GiB
PE Size 4.00 MiB
Total PE 12543
Alloc PE / Size 12543 / <49.00 GiB
Free PE / Size 0 / 0
VG UUID YwjTFJ-zKcN-JeZ6-v0CT-cYnN-OExX-WJb995
[root@localhost ~]#
使用vgextend klas /dev/sdc1将上面创建的pv加入到vg中,然后使用vgdisplay查看vg信息,可以看到curpv和actpv的值变成了2。添加已完成
[root@localhost ~]# vgextend klas /dev/sdb1
Volume group "klas" successfully extended
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name klas
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 68.99 GiB
PE Size 4.00 MiB
Total PE 17662
Alloc PE / Size 12543 / <49.00 GiB
Free PE / Size 5119 / <20.00 GiB
VG UUID YwjTFJ-zKcN-JeZ6-v0CT-cYnN-OExX-WJb995
lvdisplay查看一下当前系统中的逻辑卷分区
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/klas/swap
LV Name swap
VG Name klas
LV UUID wxzigY-iaFl-aHwc-muqf-BtSI-wQLn-svruiU
LV Write Access read/write
LV Creation host, time localhost, 2023-03-20 03:59:49 +0800
LV Status available
# open 2
LV Size 2.04 GiB
Current LE 523
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/klas/root
LV Name root
VG Name klas
LV UUID tEN42t-KvUg-6St8-6KSX-6O7d-RHn2-d8bkbE
LV Write Access read/write
LV Creation host, time localhost, 2023-03-20 03:59:50 +0800
LV Status available
# open 1
LV Size 46.95 GiB
Current LE 12020
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
如上信息可以确定我们要扩容的是/dev/klas/root分区
先试用df -Th查看一下根目录的信息,如下可以确定根目录的挂载路径为/dev/mapper/klas-root,然后使用lvextend命令对根目录的挂载目录进行扩容
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 959M 0 959M 0% /dev
tmpfs tmpfs 981M 12K 981M 1% /dev/shm
tmpfs tmpfs 981M 9.2M 972M 1% /run
tmpfs tmpfs 981M 0 981M 0% /sys/fs/cgroup
/dev/mapper/klas-root xfs 47G 9.3G 38G 20% /
tmpfs tmpfs 981M 28K 981M 1% /tmp
/dev/sda1 xfs 1014M 208M 807M 21% /boot
tmpfs tmpfs 197M 0 197M 0% /run/user/992
tmpfs tmpfs 197M 0 197M 0% /run/user/0
[root@localhost ~]# lvextend -L +19G /dev/mapper/klas-root
Size of logical volume klas/root changed from 46.95 GiB (12020 extents) to 65.95 GiB (16884 extents).
Logical volume klas/root successfully resized.
lvdisplay已经扩容成功,但是现在根目录空间还没有更新,还需要更新根目录权限
使用xfs_growfs / 命令来更新根目录空间
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 959M 0 959M 0% /dev
tmpfs 981M 12K 981M 1% /dev/shm
tmpfs 981M 9.2M 972M 1% /run
tmpfs 981M 0 981M 0% /sys/fs/cgroup
/dev/mapper/klas-root 47G 9.3G 38G 20% /
tmpfs 981M 28K 981M 1% /tmp
/dev/sda1 1014M 208M 807M 21% /boot
tmpfs 197M 0 197M 0% /run/user/992
tmpfs 197M 0 197M 0% /run/user/0
[root@localhost ~]# xfs_growfs /
meta-data=/dev/mapper/klas-root isize=512 agcount=4, agsize=3077120 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=12308480, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=6010, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 12308480 to 17289216
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 959M 0 959M 0% /dev
tmpfs 981M 12K 981M 1% /dev/shm
tmpfs 981M 9.2M 972M 1% /run
tmpfs 981M 0 981M 0% /sys/fs/cgroup
/dev/mapper/klas-root 66G 9.4G 57G 15% /
tmpfs 981M 28K 981M 1% /tmp
/dev/sda1 1014M 208M 807M 21% /boot
tmpfs 197M 0 197M 0% /run/user/992
tmpfs 197M 0 197M 0% /run/user/0
[root@localhost ~]#