ESXI虚拟机扩容/目录(添加新硬盘)

运维 系统运维
线上服务器,磁盘Linux的虚拟机根分区已经使用90%,触发了磁盘告警,再一顿操作删除后,勉勉强强回到了82%,现在需要对根目录进行扩容。

[[442443]]

背景:

线上服务器,磁盘Linux的虚拟机根分区已经使用90%,触发了磁盘告警,再一顿操作删除后,勉勉强强回到了82%,现在需要对根目录进行扩容。

进入到EXSI管理平台,看到原来的sda磁盘只有30G【图一】,新添加一块100G 的新硬盘【图二】

ESXI虚拟机 扩容/目录(添加新硬盘)

图一

ESXI虚拟机 扩容/目录(添加新硬盘)

图二

登录机器,查看磁盘,发现了多了一块sdb

  1. [root@localhost ~]# lsblk 
  2. NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT 
  3. sda               8:0    0   30G  0 disk  
  4. ├─sda1            8:1    0    1G  0 part /boot 
  5. └─sda2            8:2    0   29G  0 part  
  6.   ├─centos-root 253:0    0   26G  0 lvm  / 
  7.   └─centos-swap 253:1    0    3G  0 lvm  [SWAP] 
  8. sdb               8:16   0  100G  0 disk  
  9. sr0              11:0    1 1024M  0 rom  

 第一步:分区

  1. [root@localhost ~]# fdisk /dev/sdb 
  2. Welcome to fdisk (util-linux 2.23.2). 
  3.  
  4. Changes will remain in memory only, until you decide to write them. 
  5. Be careful before using the write command. 
  6.  
  7. Device does not contain a recognized partition table 
  8. Building a new DOS disklabel with disk identifier 0x3cb140d1. 
  9.  
  10. Command (m for help): n 
  11. Partition type: 
  12.    p   primary (0 primary, 0 extended, 4 free
  13.    e   extended 
  14. Select (default p): p 
  15. Partition number (1-4, default 1): 1 
  16. First sector (2048-209715199, default 2048):  
  17. Using default value 2048 
  18. Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):  
  19. Using default value 209715199 
  20. Partition 1 of type Linux and of size 100 GiB is set 
  21.  
  22. Command (m for help): w 
  23. The partition table has been altered! 
  24.  
  25. Calling ioctl() to re-read partition table
  26. Syncing disks. 

 再次查看磁盘,发现多了个sdb1

  1. [root@localhost ~]# lsblk 
  2. NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT 
  3. sda               8:0    0   30G  0 disk  
  4. ├─sda1            8:1    0    1G  0 part /boot 
  5. └─sda2            8:2    0   29G  0 part  
  6.   ├─centos-root 253:0    0   26G  0 lvm  / 
  7.   └─centos-swap 253:1    0    3G  0 lvm  [SWAP] 
  8. sdb               8:16   0  100G  0 disk  
  9. └─sdb1            8:17   0  100G  0 part  
  10. sr0              11:0    1 1024M  0 rom   

 第二步:格式化

格式化硬盘,这里使用xfs格式,建议使用和系统一样的文件格式

可以看到/分区 【/dev/mapper/centos-root】 使用的是xfs 的文件系统

  1. [root@localhost ~]# blkid 
  2. /dev/sda1: UUID="e1e8eda5-8b7a-45f0-a763-8868777e3f5f" TYPE="xfs"  
  3. /dev/sda2: UUID="DQGZrB-2WRU-JneT-xKKw-WFSN-ozM9-rnW0S4" TYPE="LVM2_member"  
  4. /dev/mapper/centos-root: UUID="a8e67b40-8e6e-4010-a911-21b4f95b90bf" TYPE="xfs"  
  5. /dev/mapper/centos-swap: UUID="326cb3bd-ea93-460d-9f2b-cded2d3836c8" TYPE="swap" 

 把/dev/sdb1 格式化成 xfs文件系统

  1. [root@localhost ~]# mkfs.xfs /dev/sdb1 
  2. meta-data=/dev/sdb1              isize=512    agcount=4, agsize=6553536 blks 
  3.          =                       sectsz=512   attr=2, projid32bit=1 
  4.          =                       crc=1        finobt=0, sparse=0 
  5. data     =                       bsize=4096   blocks=26214144, imaxpct=25 
  6.          =                       sunit=0      swidth=0 blks 
  7. naming   =version 2              bsize=4096   ascii-ci=0 ftype=1 
  8. log      =internal log           bsize=4096   blocks=12799, version=2 
  9.          =                       sectsz=512   sunit=0 blks, lazy-count=1 
  10. realtime =none                   extsz=4096   blocks=0, rtextents=0 

 可以看到/dev/sdb1 的文件系统为 xfs

  1. [root@localhost ~]# blkid 
  2. /dev/sda1: UUID="e1e8eda5-8b7a-45f0-a763-8868777e3f5f" TYPE="xfs"  
  3. /dev/sda2: UUID="DQGZrB-2WRU-JneT-xKKw-WFSN-ozM9-rnW0S4" TYPE="LVM2_member"  
  4. /dev/mapper/centos-root: UUID="a8e67b40-8e6e-4010-a911-21b4f95b90bf" TYPE="xfs"  
  5. /dev/mapper/centos-swap: UUID="326cb3bd-ea93-460d-9f2b-cded2d3836c8" TYPE="swap"  
  6. /dev/sdb1: UUID="2eca6693-8885-4efe-a09e-320a0fe4eefa" TYPE="xfs"  

 第三步:lvm扩容

通过lvdisplay 可以看到 / 分区 的lv 名称为 root

  1. [root@localhost ~]# lvdisplay  
  2. ..............  
  3.   --- Logical volume --- 
  4.   LV Path                /dev/centos/root 
  5.   LV Name                root 
  6.   VG Name                centos 
  7.   LV UUID                upKlP7-AbiZ-e3Yh-aYYN-5Eel-ULsG-TVXVer 
  8.   LV Write Access        read/write 
  9.   LV Creation host, time localhost, 2021-09-26 05:16:02 -0400 
  10.   LV Status              available 
  11.   # open                 1 
  12.   LV Size                <26.00 GiB 
  13.   Current LE             6655 
  14.   Segments               1 
  15.   Allocation             inherit 
  16.   Read ahead sectors     auto 
  17.   - currently set to     8192 
  18.   Block device           253:0 

 1、创建pv物理卷

  1. [root@localhost ~]# pvcreate /dev/sdb1 
  2. WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y 
  3.   Wiping xfs signature on /dev/sdb1. 
  4.   Physical volume "/dev/sdb1" successfully created. 

 查看下pv物理卷

  1. [root@localhost ~]# pvs 
  2.   PV         VG     Fmt  Attr PSize    PFree    
  3.   /dev/sda2  centos lvm2 a--   <29.00g       0  
  4.   /dev/sdb1         lvm2 ---  <100.00g <100.00g 

 2、向vg卷组 添加 pv物理卷

使用vgdisplay 查看下vg卷组名称为 centos

  1. [root@localhost ~]# vgdisplay  
  2.   --- Volume group --- 
  3.   VG Name               centos 
  4.   System ID              
  5.   Format                lvm2 
  6.   Metadata Areas        1 
  7.   Metadata Sequence No  3 
  8.   VG Access             read/write 
  9.   VG Status             resizable 
  10.   MAX LV                0 
  11.   Cur LV                2 
  12.   Open LV               2 
  13.   Max PV                0 
  14.   Cur PV                1 
  15.   Act PV                1 
  16.   VG Size               <29.00 GiB 
  17.   PE Size               4.00 MiB 
  18.   Total PE              7423 
  19.   Alloc PE / Size       7423 / <29.00 GiB 
  20.   Free  PE / Size       0 / 0    
  21.   VG UUID               GzMH6f-8Hne-1SF4-h89q-n95E-0xft-x8JRkb 

 使用vgextend 添加pv到vg中

  1. [root@localhost ~]# vgextend centos /dev/sdb1 
  2.   Volume group "centos" successfully extended 

 使用vgdisplay,可以看到空闲的PE 容量大约为100G

  1. [root@localhost ~]# vgdisplay  
  2.   --- Volume group --- 
  3.   VG Name               centos 
  4.   System ID              
  5.   Format                lvm2 
  6.   Metadata Areas        2 
  7.   Metadata Sequence No  4 
  8.   VG Access             read/write 
  9.   VG Status             resizable 
  10.   MAX LV                0 
  11.   Cur LV                2 
  12.   Open LV               2 
  13.   Max PV                0 
  14.   Cur PV                2 
  15.   Act PV                2 
  16.   VG Size               128.99 GiB 
  17.   PE Size               4.00 MiB 
  18.   Total PE              33022 
  19.   Alloc PE / Size       7423 / <29.00 GiB 
  20.   Free  PE / Size       25599 / <100.00 GiB 
  21.   VG UUID               GzMH6f-8Hne-1SF4-h89q-n95E-0xft-x8JRkb 

 3、扩容逻辑卷 lvm

通过lvdisplay 可以看到 / 分区 的lv 名称为 root

  1. [root@localhost ~]# lvdisplay  
  2. ..................... 
  3.   --- Logical volume --- 
  4.   LV Path                /dev/centos/root 
  5.   LV Name                root 
  6.   VG Name                centos 
  7.   LV UUID                upKlP7-AbiZ-e3Yh-aYYN-5Eel-ULsG-TVXVer 
  8.   LV Write Access        read/write 
  9.   LV Creation host, time localhost, 2021-09-26 05:16:02 -0400 
  10.   LV Status              available 
  11.   # open                 1 
  12.   LV Size                <26.00 GiB 
  13.   Current LE             6655 
  14.   Segments               1 
  15.   Allocation             inherit 
  16.   Read ahead sectors     auto 
  17.   - currently set to     8192 
  18.   Block device           253:0 

 使用lvextend 增加逻辑卷 100G

  1. [root@localhost ~]# lvextend -L +100G /dev/centos/root  
  2.   Insufficient free space: 25600 extents needed, but only 25599 available 

 提示没有那么多的空闲的pe去添加,那我们就添加99G 【其实,上面的操作在往vg卷组里添加pv 的时候,也说明了 可用容量< 100G】

  1. [root@localhost ~]# lvextend -L +99G /dev/centos/root  
  2.   Size of logical volume centos/root changed from <26.00 GiB (6655 extents) to <125.00 GiB (31999 extents). 
  3.   Logical volume centos/root successfully resized. 

 添加成功,我们看下磁盘大小,和挂载的情况

  1. [root@localhost ~]# lsblk 
  2. NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT 
  3. sda               8:0    0   30G  0 disk  
  4. ├─sda1            8:1    0    1G  0 part /boot 
  5. └─sda2            8:2    0   29G  0 part  
  6.   ├─centos-root 253:0    0  125G  0 lvm  / 
  7.   └─centos-swap 253:1    0    3G  0 lvm  [SWAP] 
  8. sdb               8:16   0  100G  0 disk  
  9. └─sdb1            8:17   0  100G  0 part  
  10.   └─centos-root 253:0    0  125G  0 lvm  / 
  11. sr0              11:0    1 1024M  0 rom   
  12.  
  13.  
  14. [root@localhost ~]# df -h 
  15. Filesystem               Size  Used Avail Use% Mounted on 
  16. devtmpfs                 1.9G     0  1.9G   0% /dev 
  17. tmpfs                    1.9G     0  1.9G   0% /dev/shm 
  18. tmpfs                    1.9G  8.9M  1.9G   1% /run 
  19. tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup 
  20. /dev/mapper/centos-root   26G  1.5G   25G   6% / 
  21. /dev/sda1               1014M  150M  865M  15% /boot 
  22. tmpfs                    379M     0  379M   0% /run/user/0 

 通过 lsblk 可以看到/ 分区磁盘的容量变成了125G 了,但是 磁盘挂载那边还是没有变化

有两个解决方法:

1、重启

2、刷新下文件系统

这里,我们采用第二种方法,刷新文件系统

注意:不同的文件系统的刷新命令不一样

resize2fs 逻辑卷名   (只适用于ext文件系统)

xfs_growfs 挂载点 (只适用于xfs文件系统)

通过blkid 查看到/ 分区的文件系统为 xfs 格式【/dev/mapper/centos-root】

  1. [root@localhost ~]# df -h 
  2. Filesystem               Size  Used Avail Use% Mounted on 
  3. devtmpfs                 1.9G     0  1.9G   0% /dev 
  4. tmpfs                    1.9G     0  1.9G   0% /dev/shm 
  5. tmpfs                    1.9G  8.9M  1.9G   1% /run 
  6. tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup 
  7. /dev/mapper/centos-root   26G  1.5G   25G   6% / 
  8. /dev/sda1               1014M  150M  865M  15% /boot 
  9. tmpfs                    379M     0  379M   0% /run/user/0 
  10.  
  11. [root@localhost ~]# blkid 
  12. /dev/sda1: UUID="e1e8eda5-8b7a-45f0-a763-8868777e3f5f" TYPE="xfs"  
  13. /dev/sda2: UUID="DQGZrB-2WRU-JneT-xKKw-WFSN-ozM9-rnW0S4" TYPE="LVM2_member"  
  14. /dev/mapper/centos-root: UUID="a8e67b40-8e6e-4010-a911-21b4f95b90bf" TYPE="xfs"  
  15. /dev/mapper/centos-swap: UUID="326cb3bd-ea93-460d-9f2b-cded2d3836c8" TYPE="swap"  
  16. /dev/sdb1: UUID="kuZdno-Kaue-WMEV-d6jh-zTjc-0eAa-YKcDxB" TYPE="LVM2_member"  

 使用xfs_growfs 刷新下文件系统

  1. [root@localhost ~]# xfs_growfs / 
  2. meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1703680 blks 
  3.          =                       sectsz=512   attr=2, projid32bit=1 
  4.          =                       crc=1        finobt=0 spinodes=0 
  5. data     =                       bsize=4096   blocks=6814720, imaxpct=25 
  6.          =                       sunit=0      swidth=0 blks 
  7. naming   =version 2              bsize=4096   ascii-ci=0 ftype=1 
  8. log      =internal               bsize=4096   blocks=3327, version=2 
  9.          =                       sectsz=512   sunit=0 blks, lazy-count=1 
  10. realtime =none                   extsz=4096   blocks=0, rtextents=0 
  11. data blocks changed from 6814720 to 32766976 

 刷新后发现,/ 分区总的磁盘大小变成了125G

  1. [root@localhost ~]# df -h 
  2. Filesystem               Size  Used Avail Use% Mounted on 
  3. devtmpfs                 1.9G     0  1.9G   0% /dev 
  4. tmpfs                    1.9G     0  1.9G   0% /dev/shm 
  5. tmpfs                    1.9G  8.9M  1.9G   1% /run 
  6. tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup 
  7. /dev/mapper/centos-root  125G  1.5G  124G   2% / 
  8. /dev/sda1               1014M  150M  865M  15% /boot 
  9. tmpfs                    379M     0  379M   0% /run/user/0 
  10.  
  11.  
  12. [root@localhost ~]# lsblk 
  13. NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT 
  14. sda               8:0    0   30G  0 disk  
  15. ├─sda1            8:1    0    1G  0 part /boot 
  16. └─sda2            8:2    0   29G  0 part  
  17.   ├─centos-root 253:0    0  125G  0 lvm  / 
  18.   └─centos-swap 253:1    0    3G  0 lvm  [SWAP] 
  19. sdb               8:16   0  100G  0 disk  
  20. └─sdb1            8:17   0  100G  0 part  
  21.   └─centos-root 253:0    0  125G  0 lvm  / 
  22. sr0              11:0    1 1024M  0 rom   

 好了,本次ESXI虚拟机扩容/目录 成功

 

责任编辑:姜华 来源: 今日头条
相关推荐

2009-10-28 10:07:22

linux虚拟机添加硬盘

2010-03-10 08:59:25

Linux添加硬盘

2018-07-31 13:51:16

虚拟机磁盘逻辑卷

2010-03-15 13:18:15

ubuntu虚拟机

2013-10-29 09:52:09

VMwarehypervisor

2010-01-18 10:15:50

虚拟机ubuntu

2017-01-17 09:32:08

vSphereWorkstation虚拟机

2009-12-16 14:40:40

Linux调整虚拟机硬

2011-11-15 11:37:59

虚拟化虚拟机VMware

2012-05-18 10:22:23

2009-08-07 09:57:38

2010-07-26 09:02:38

2017-10-16 14:42:20

VMware虚拟机ESXi

2013-07-17 09:32:58

2013-05-27 09:39:38

iaas虚拟数据中心虚拟机

2014-02-21 11:20:34

KVMXen虚拟机

2020-01-17 10:52:37

无服务器容器技术

2009-07-06 10:58:49

Mono

2009-04-24 21:19:43

Vmware虚拟化虚拟机

2023-09-03 17:05:20

虚拟机
点赞
收藏

51CTO技术栈公众号