本文最后更新于 2024-02-29,文章内容可能已经过时。

  1. 在VMware中将虚拟机关机后,设置,点击扩展,填写自己需要的容量即可。

  2. 保存开机后输入df -h命令实际上并没有什么变化,仍需要执行以下操作:

  3. 执行命令:fdisk /dev/sda 根据图中的操作步骤n->p->3->默认->默认->w:提示以下命令,说明操作执行成功。

    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
  4. 执行命令:fdisk -l 此时sda3是我们刚增加的磁盘,sda2的id是83,需要改成8e,将system类型改成Linux LVM

  5. 执行命令:fdisk /dev/sda 根据图中的操作步骤:t ->3-->L->8e->w

  6. 执行命令:fdisk -l 此时sda3的id是8e,已将system类型改成Linux LVM

  7. 执行命令:reboot 重启虚拟机

  8. Tips:执行mkfs.ext4 /dev/sda3命令时需要重启虚拟机。否则会提示一下错误。

  9. 执行命令:mkfs.ext4 /dev/sda3 将sda3的磁盘格式改为ext4

  10. 执行命令:pvcreate /dev/sda3 创建sda3 使用命令:pvdisplay可查看是否创建成功

  11. 执行命令:vgextend centos /dev/sda3 (这里要根据上图中VG Name来定义用vgextends,这里是centos那么我就用centos执行下面命令) 使用命令:pvdisplay可查看是否创建成功

  12. 执行命令:lvextend -L +9G /dev/mapper/centos-root 进行扩容,根据自己情况进行修改,如磁盘原有20G,增加到50G,此处应改成30G,而实际操作中应减少1G,否则会出现容量不足的错误。

  13. 执行命令:lvs 查看是否成功

  14. 执行命令:xfs_growfs /dev/mapper/centos-root

  15. 所有操作完毕:df -h 查看已扩容完成。如果看不到,可以尝试重启后查看。

  16. 附件:具体操作步骤展示:

    [root@hdp1 ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 475M     0  475M   0% /dev
    tmpfs                    487M     0  487M   0% /dev/shm
    tmpfs                    487M  7.6M  479M   2% /run
    tmpfs                    487M     0  487M   0% /sys/fs/cgroup
    /dev/mapper/centos-root   17G  1.3G   16G   8% /
    /dev/sda1               1014M  139M  876M  14% /boot
    tmpfs                     98M     0   98M   0% /run/user/0
    
    [root@hdp1 ~]# fdisk /dev/sda
    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.
    
    Command (m for help): n
    Partition type:
       p   primary (2 primary, 0 extended, 2 free)
       e   extended
    Select (default p): p
    Partition number (3,4, default 3): 3
    First sector (41943040-62914559, default 41943040): 
    Using default value 41943040
    Last sector, +sectors or +size{K,M,G} (41943040-62914559, default 62914559): 
    Using default value 62914559
    Partition 3 of type Linux and of size 10 GiB is set
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    [root@hdp1 ~]# fdisk -l
    
    Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 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 label type: dos
    Disk identifier: 0x00092d85
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     2099199     1048576   83  Linux
    /dev/sda2         2099200    41943039    19921920   8e  Linux LVM
    /dev/sda3        41943040    62914559    10485760   83  Linux
    
    Disk /dev/mapper/centos-root: 18.2 GB, 18249416704 bytes, 35643392 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/centos-swap: 2147 MB, 2147483648 bytes, 4194304 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
    
    [root@hdp1 ~]# fdisk /dev/sda
    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.
    
    
    Command (m for help): t
    Partition number (1-3, default 3): 3
    Hex code (type L to list all codes): L
    
     0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
     1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
     2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
     3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
     4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
     5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
     6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
     7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
     8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
     9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
     a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
     b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
     c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
     e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
     f  W95 Extd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
    10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
    11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
    12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
    14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
    16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
    17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
    18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
    1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
    1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
    1e  Hidden W95 FAT1 80  Old Minix      
    Hex code (type L to list all codes): 8e
    Changed type of partition 'Linux' to 'Linux LVM'
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    [root@hdp1 ~]# fdisk -l
    
    Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 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 label type: dos
    Disk identifier: 0x00092d85
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     2099199     1048576   83  Linux
    /dev/sda2         2099200    41943039    19921920   8e  Linux LVM
    /dev/sda3        41943040    62914559    10485760   8e  Linux LVM
    
    Disk /dev/mapper/centos-root: 18.2 GB, 18249416704 bytes, 35643392 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/centos-swap: 2147 MB, 2147483648 bytes, 4194304 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
    
    [root@hdp1 ~]# mkfs.ext4 /dev/sda3
    mke2fs 1.42.9 (28-Dec-2013)
    Could not stat /dev/sda3 --- No such file or directory
    
    The device apparently does not exist; did you specify it correctly?
    [root@hdp1 ~]# reboot
    
    [root@hdp1 ~]# mkfs.ext4 /dev/sda3
    mke2fs 1.42.9 (28-Dec-2013)
    Could not stat /dev/sda3 --- No such file or directory
    
    The device apparently does not exist; did you specify it correctly?
    [root@hdp1 ~]# reboot
    
    Last login: Thu Feb 29 07:25:26 2024 from 192.168.10.100
    [root@hdp1 ~]# mkfs.ext4 /dev/sda3
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    655360 inodes, 2621440 blocks
    131072 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2151677952
    80 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done 
    
    [root@hdp1 ~]# pvcreate /dev/sda3
    WARNING: ext4 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y
      Wiping ext4 signature on /dev/sda3.
      Physical volume "/dev/sda3" successfully created.
    [root@hdp1 ~]# vgextend centos /dev/sda3
      Volume group "centos" successfully extended
    [root@hdp1 ~]# lvextend -L +9G /dev/mapper/centos-root
      Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <26.00 GiB (6655 extents).
      Logical volume centos/root successfully resized.
    [root@hdp1 ~]# lvs
      LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      root centos -wi-ao---- <26.00g                                                    
      swap centos -wi-ao----   2.00g                                                    
    [root@hdp1 ~]# xfs_growfs /dev/mapper/centos-root
    meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1113856 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=4455424, 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 4455424 to 6814720
    [root@hdp1 ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 475M     0  475M   0% /dev
    tmpfs                    487M     0  487M   0% /dev/shm
    tmpfs                    487M  7.7M  479M   2% /run
    tmpfs                    487M     0  487M   0% /sys/fs/cgroup
    /dev/mapper/centos-root   26G  1.3G   25G   5% /
    /dev/sda1               1014M  139M  876M  14% /boot
    tmpfs                     98M     0   98M   0% /run/user/0