记录一次给linux服务器增加硬盘空间的过程

发布时间:2024-09-09 16:25:39 浏览数:26

记录扩容前的容量

[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加到我现在的硬盘空间里 创建分区后,需要同步分区和创建物理卷。命令分别是partprobepvcreate /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