记录扩容前的容量
[root@bogon ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 732M 69M 663M 10% /run
/dev/mapper/almalinux_bogon-root 28G 25G 3.3G 89% /
/dev/sda1 960M 305M 656M 32% /boot
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/c67219235ece6b001270e0ba18fb12b71d5ef29f56ad1657b52898d5ecda0ae1/merged
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/7ba5418e86a4693d32bdf915267ed46974e001c4bfc18dafbd751b78c10dcb3d/merged
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/373f622dbfa34e162df44f008fbe58b5ca28decee24ff264aeb8adbb50de8895/merged
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/ffd138dc98766c50935667425e2e21b76828c286b067f5e8bd12fd0855cb7e99/merged
tmpfs 366M 36K 366M 1% /run/user/0
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/e8ca2431071bfa0b466ad08bde3d15022eafb93c157b5d38f2a5642cf4de7c19/merged
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/55451c06e7d124264e12f2044dacdef993771c7d07f88fc70c12b20a8eb80281/merged
[root@bogon ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 32G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 31G 0 part
├─almalinux_bogon-root 253:0 0 27.8G 0 lvm /
└─almalinux_bogon-swap 253:1 0 3.2G 0 lvm [SWAP]
sr0 11:0 1 10.1G 0 rom
可以看到,我的服务器磁盘是32G的,一共可用空间为28G,还剩下3.3G可以使用
给服务器增加硬盘空间
我是通过pve给服务器增加的,很简单,通过后台增加了
查看增加后的大小
[root@bogon ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 732M 69M 663M 10% /run
/dev/mapper/almalinux_bogon-root 28G 25G 3.3G 89% /
/dev/sda1 960M 305M 656M 32% /boot
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/c67219235ece6b001270e0ba18fb12b71d5ef29f56ad1657b52898d5ecda0ae1/merged
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/7ba5418e86a4693d32bdf915267ed46974e001c4bfc18dafbd751b78c10dcb3d/merged
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/373f622dbfa34e162df44f008fbe58b5ca28decee24ff264aeb8adbb50de8895/merged
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/ffd138dc98766c50935667425e2e21b76828c286b067f5e8bd12fd0855cb7e99/merged
tmpfs 366M 36K 366M 1% /run/user/0
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/e8ca2431071bfa0b466ad08bde3d15022eafb93c157b5d38f2a5642cf4de7c19/merged
overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/55451c06e7d124264e12f2044dacdef993771c7d07f88fc70c12b20a8eb80281/merged
[root@bogon ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 240G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 31G 0 part
├─almalinux_bogon-root 253:0 0 27.8G 0 lvm /
└─almalinux_bogon-swap 253:1 0 3.2G 0 lvm [SWAP]
sr0 11:0 1 10.1G 0 rom
[root@bogon ~]# fdisk -l
Disk /dev/sda: 240 GiB, 257698037760 bytes, 503316480 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1df92986
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 67108863 65009664 31G 8e Linux LVM
Disk /dev/mapper/almalinux_bogon-root: 27.79 GiB, 29842472960 bytes, 58286080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/almalinux_bogon-swap: 3.2 GiB, 3439329280 bytes, 6717440 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
我增加了208G之后,可以看到sda的这个硬盘变成了240G。但是df -h
看到的可用空间还是没有变化,仍然是3.3G
开始扩容
通过lsblk
看到我的磁盘名是 /dev/sda,对该磁盘剩余空间进行创建分区,并改为linux lvm。最后保存,全部操作步骤如下
[root@bogon ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
Command (m for help): n
Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): 3
First sector (67108864-503316479, default 67108864):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (67108864-503316479, default 503316479):
Created a new partition 3 of type 'Linux' and of size 208 GiB.
Command (m for help): t
Partition number (1-3, default 3):
Hex code or alias (type L to list all): L
00 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
01 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
02 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
03 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT-
04 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
05 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
06 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
07 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
08 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
09 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
0a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
0b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
0c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Linux extended
0e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
0f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT
10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto
1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep
1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT
Aliases:
linux - 83
swap - 82
extended - 05
uefi - EF
raid - FD
lvm - 8E
linuxex - 85
Hex code or alias (type L to list all): 8e
Changed type of partition 'Linux' to 'Linux LVM'.
Command (m for help): w
The partition table has been altered.
Syncing disks.
查看现在的分区
[root@bogon ~]# fdisk -l
Disk /dev/sda: 240 GiB, 257698037760 bytes, 503316480 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1df92986
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 67108863 65009664 31G 8e Linux LVM
/dev/sda3 67108864 503316479 436207616 208G 8e Linux LVM
Disk /dev/mapper/almalinux_bogon-root: 27.79 GiB, 29842472960 bytes, 58286080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/almalinux_bogon-swap: 3.2 GiB, 3439329280 bytes, 6717440 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
可以看到我多了一个/dev/sda3的分区,空间是208G,剩下的目标就是把这208G加到我现在的硬盘空间里
创建分区后,需要同步分区和创建物理卷。命令分别是partprobe
和pvcreate /dev/sda3
[root@bogon ~]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
[root@bogon ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.
使用partprobe命令同步分区的时候,提示我/dev/sro是只读状态打开,没法再使用读写状态打开。/dev/sro是光驱,由于我不需要对光驱进行操作,所以忽略即可。
查看物理卷和卷组
[root@bogon ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name almalinux_bogon
PV Size <31.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 7935
Free PE 0
Allocated PE 7935
PV UUID IvsatX-kddA-DN9A-Rr8l-B6bw-7O7w-NwCUgw
"/dev/sda3" is a new physical volume of "208.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sda3
VG Name
PV Size 208.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID bba5Uh-eDiu-G4Fd-cM9e-2QZr-wl02-dcxiCc
[root@bogon ~]# vgdisplay
--- Volume group ---
VG Name almalinux_bogon
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 <31.00 GiB
PE Size 4.00 MiB
Total PE 7935
Alloc PE / Size 7935 / <31.00 GiB
Free PE / Size 0 / 0
VG UUID 9ZB2OX-wj6p-xcyq-LffN-9Ftu-ztW9-KoqO3c
可以看到我有两个物理卷,原来的/dev/sda2
有卷组,新建的那个/dev/sda3
没有卷组,卷组名是almalinux_bogon
将创建的物理卷,加入到卷组中。命令vgextend 卷组名 物理卷
,
其中卷组名是上一步获取的值,物理卷是新创建的物理卷。
对于我来说,命令就是 vgextend almalinux_bogon /dev/sda3
[root@bogon ~]# vgextend almalinux_bogon /dev/sda3
Volume group "almalinux_bogon" successfully extended
将加入卷组的容量扩容到文件系统上,首先选择自己要挂载的扩展的文件系统
使用 df-Th
命令查看,可以看到
[root@bogon ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs tmpfs 732M 69M 663M 10% /run
/dev/mapper/almalinux_bogon-root xfs 28G 25G 3.3G 89% /
/dev/sda1 xfs 960M 305M 656M 32% /boot
overlay overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/c67219235ece6b001270e0ba18fb12b71d5ef29f56ad1657b52898d5ecda0ae1/merged
overlay overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/7ba5418e86a4693d32bdf915267ed46974e001c4bfc18dafbd751b78c10dcb3d/merged
overlay overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/373f622dbfa34e162df44f008fbe58b5ca28decee24ff264aeb8adbb50de8895/merged
overlay overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/ffd138dc98766c50935667425e2e21b76828c286b067f5e8bd12fd0855cb7e99/merged
tmpfs tmpfs 366M 36K 366M 1% /run/user/0
overlay overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/e8ca2431071bfa0b466ad08bde3d15022eafb93c157b5d38f2a5642cf4de7c19/merged
overlay overlay 28G 25G 3.3G 89% /var/lib/docker/overlay2/55451c06e7d124264e12f2044dacdef993771c7d07f88fc70c12b20a8eb80281/merged
可以看到我挂在了根目录的文件系统是 /dev/mapper/almalinux_bogon-root
,系统格式为xfs
。
所以要执行的命令是
lvextend -l +100%FREE /dev/mapper/almalinux_bogon-root
执行命令之后
[root@bogon ~]# lvextend -l +100%FREE /dev/mapper/almalinux_bogon-root
Size of logical volume almalinux_bogon/root changed from 27.79 GiB (7115 extents) to <235.79 GiB (60362 extents).
Logical volume almalinux_bogon/root successfully resized.
最后要刷新文件系统的存储容量
文件类型是ext4的使用:resize2fs /dev/mapper/almalinux_bogon-root
文件类型是xfs的使用:xfs_growfs /dev/mapper/almalinux_bogon-root
我的是xfs,所以使用xfs_growfs /dev/mapper/almalinux_bogon-root
命令
[root@bogon ~]# xfs_growfs /dev/mapper/almalinux_bogon-root
meta-data=/dev/mapper/almalinux_bogon-root isize=512 agcount=4, agsize=1821440 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=7285760, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 7285760 to 61810688
[root@bogon ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs tmpfs 732M 69M 663M 10% /run
/dev/mapper/almalinux_bogon-root xfs 236G 26G 210G 12% /
/dev/sda1 xfs 960M 305M 656M 32% /boot
overlay overlay 236G 26G 210G 12% /var/lib/docker/overlay2/c67219235ece6b001270e0ba18fb12b71d5ef29f56ad1657b52898d5ecda0ae1/merged
overlay overlay 236G 26G 210G 12% /var/lib/docker/overlay2/7ba5418e86a4693d32bdf915267ed46974e001c4bfc18dafbd751b78c10dcb3d/merged
overlay overlay 236G 26G 210G 12% /var/lib/docker/overlay2/373f622dbfa34e162df44f008fbe58b5ca28decee24ff264aeb8adbb50de8895/merged
overlay overlay 236G 26G 210G 12% /var/lib/docker/overlay2/ffd138dc98766c50935667425e2e21b76828c286b067f5e8bd12fd0855cb7e99/merged
tmpfs tmpfs 366M 36K 366M 1% /run/user/0
overlay overlay 236G 26G 210G 12% /var/lib/docker/overlay2/e8ca2431071bfa0b466ad08bde3d15022eafb93c157b5d38f2a5642cf4de7c19/merged
overlay overlay 236G 26G 210G 12% /var/lib/docker/overlay2/55451c06e7d124264e12f2044dacdef993771c7d07f88fc70c12b20a8eb80281/merged
可以看到我的磁盘空间总空间变成了236G,可用容量变成了210G了。扩容成功
参考地址:https://vip.kingdee.com/article/363708333012281088?productLineId=2&lang=zh-CN#1