两个扩容VMware Linux7虚拟机的空间姿势(亲测CentOS7.5和RHEL7.7)

最近测试环境的一台虚拟机CentOS 7.5根目录快满,昨晚做了扩容操作,顺便把过程记录下来。


根目录本来还剩不到3G快满了,删掉一些备份后,根目录还有19G,计划加多100G到根目录上,先关闭这个虚拟机

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G   32G   19G  63% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-home   47G   40M   47G   1% /home
/dev/sda1               1014M  170M  845M  17% /boot
tmpfs                    379M  8.0K  379M   1% /run/user/42
tmpfs                    379M     0  379M   0% /run/user/0


关机之后,如果之前已创建快照需要删除,再进入虚拟机的属性-硬盘

扩容根目录的姿势有两个

姿势1:扩展原有硬盘的容量,点击扩展,由原来的100G改成200G(本文姿势)

姿势2:加入新硬盘,添加个新的100G硬盘


开机,命令看到sda已经由原来的100G变成了200G(差不多就好了,以下输出是214.7G);如果是姿势2会看到有/dev/sdb

[root@localhost ~]# fdisk -l

Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x000282bb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   209715199   103808000   8e  Linux LVM
…


接下来对扩容在sda上的100G使用fdisk命令进行分区,留意#号后面的文字说明

[root@localhost ~]# 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): p  #查看已分区数量(以下输出看到已有sda1和sda2两个分区)

Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x000282bb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   209715199   103808000   8e  Linux LVM

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  #回车,因为1和2的分区号已用,所以输入3
First sector (209715200-419430399, default 209715200):   #默认开始扇区,回车
Using default value 209715200
Last sector, +sectors or +size{K,M,G} (209715200-419430399, default 419430399):   #默认结束扇区,回车
Using default value 419430399
Partition 3 of type Linux and of size 100 GiB is set

Command (m for help): t  #修改分区类型
Partition number (1-3, default 3): 3  #分区号为3,也就是刚刚扩容的分区    
Hex code (type L to list all codes): 8e  #修改为LVM,代号就是8e,如果不清楚这里可以输入L可以看全部的代号
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@localhost ~]# partprobe


查看创建好的sda3

[root@localhost ~]# fdisk -l

Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x000282bb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   209715199   103808000   8e  Linux LVM
/dev/sda3       209715200   419430399   104857600   8e  Linux LVM
…


格式化sda3分区

[root@localhost ~]# mkfs.ext3 /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
6553600 inodes, 26214400 blocks
1310720 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
800 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, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

[root@localhost ~]#


把上述创建好的LVM(sda3分区)添加进已有的LVM组,使用lvm命令扩容卷

[root@localhost ~]# lvm
lvm> pvcreate /dev/sda3  #初始化sda3分区
WARNING: ext3 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y
  Wiping ext3 signature on /dev/sda3.
  Physical volume "/dev/sda3" successfully created.
lvm> vgdisplay  #查看虚拟卷组的名字为centos
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <99.00 GiB
  PE Size               4.00 MiB
  Total PE              25343
  Alloc PE / Size       25342 / 98.99 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               7Gxc3r-hIBZ-ImPd-R3Uk-k7sn-grlz-RLUSo5
   
lvm> vgextend centos /dev/sda3  #将初始化后的sda3分区加入虚拟卷组centos
  Volume group "centos" successfully extended
lvm> vgdisplay  #查看Free PE号为25600
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               198.99 GiB
  PE Size               4.00 MiB
  Total PE              50942
  Alloc PE / Size       25342 / 98.99 GiB
  Free  PE / Size       25600 / 100.00 GiB
  VG UUID               7Gxc3r-hIBZ-ImPd-R3Uk-k7sn-grlz-RLUSo5
   
lvm> lvextend -l+25600 /dev/mapper/centos-root  #扩展已有卷的容量
  Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 150.00 GiB (38400 extents).
  Logical volume centos/root successfully resized.
lvm> exit
  Exiting.


最后扩容文件系统

[root@localhost ~]# xfs_growfs /dev/mapper/centos-root 
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=3276800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 13107200 to 39321600


再看下根目录,已扩容成功

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  150G   32G  119G  21% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-home   47G   40M   47G   1% /home
/dev/sda1               1014M  170M  845M  17% /boot
tmpfs                    379M   12K  379M   1% /run/user/42
tmpfs                    379M     0  379M   0% /run/user/0
[root@localhost ~]#


注意:上文主要是介绍姿势1扩容原有硬盘,如果是姿势2新加硬盘可参考下列亲测RHEL7.7的姿势不再啰嗦,主要留意新加的硬盘号为sdb,新的分区号默认为sdb1即可。

亲测ESXi和Workstations,理论上Fusion也通用。


Fyi RHEL7.7的home目录由150G扩容到250G

root@192.168.2.30's password: 
Last login: Fri Apr 10 14:09:07 2020 from 192.168.2.86
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
[root@rhelhost ~]# 
[root@rhelhost ~]# 
[root@rhelhost ~]# 
[root@rhelhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs                12G     0   12G   0% /dev
tmpfs                   12G     0   12G   0% /dev/shm
tmpfs                   12G  9.7M   12G   1% /run
tmpfs                   12G     0   12G   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  5.7G   45G  12% /
/dev/sda1             1014M  169M  846M  17% /boot
/dev/mapper/rhel-home  146G   42G  104G  29% /home
tmpfs                  2.4G  4.0K  2.4G   1% /run/user/0
tmpfs                  2.4G  8.0K  2.4G   1% /run/user/42
[root@rhelhost ~]# 
[root@rhelhost ~]# 
[root@rhelhost ~]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 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/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x0005d2d3
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   419430399   208665600   8e  Linux LVM
Disk /dev/mapper/rhel-root: 53.7 GB, 53687091200 bytes, 104857600 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/rhel-swap: 4160 MB, 4160749568 bytes, 8126464 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/rhel-home: 155.8 GB, 155818393600 bytes, 304332800 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@rhelhost ~]# 
[root@rhelhost ~]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 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/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x0005d2d3
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   419430399   208665600   8e  Linux LVM
Disk /dev/mapper/rhel-root: 53.7 GB, 53687091200 bytes, 104857600 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/rhel-swap: 4160 MB, 4160749568 bytes, 8126464 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/rhel-home: 155.8 GB, 155818393600 bytes, 304332800 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@rhelhost ~]# fdisk /dev/sdb
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.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xcff24543.
Command (m for help): p
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 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: 0xcff24543
   Device Boot      Start         End      Blocks   Id  System
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-209715199, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): 
Using default value 209715199
Partition 1 of type Linux and of size 100 GiB is set
Command (m for help): t
Selected partition 1
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.
Syncing disks.
[root@rhelhost ~]# partprobe 
[root@rhelhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs                12G     0   12G   0% /dev
tmpfs                   12G     0   12G   0% /dev/shm
tmpfs                   12G   11M   12G   1% /run
tmpfs                   12G     0   12G   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  5.7G   45G  12% /
/dev/sda1             1014M  169M  846M  17% /boot
/dev/mapper/rhel-home  146G   42G  104G  29% /home
tmpfs                  2.4G   24K  2.4G   1% /run/user/0
tmpfs                  2.4G  8.0K  2.4G   1% /run/user/42
[root@rhelhost ~]# 
[root@rhelhost ~]# 
[root@rhelhost ~]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 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: 0xcff24543
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209715199   104856576   8e  Linux LVM
Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x0005d2d3
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   419430399   208665600   8e  Linux LVM
Disk /dev/mapper/rhel-root: 53.7 GB, 53687091200 bytes, 104857600 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/rhel-swap: 4160 MB, 4160749568 bytes, 8126464 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/rhel-home: 155.8 GB, 155818393600 bytes, 304332800 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@rhelhost ~]# 
[root@rhelhost ~]# mkfs.ext3 /dev/sdb1
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
6553600 inodes, 26214144 blocks
1310707 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
800 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, 2654208, 
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:        
done
[root@rhelhost ~]# 
[root@rhelhost ~]# lvm
lvm> pvcreate /dev/sdb1
WARNING: ext3 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext3 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
lvm> vgdisplay
  --- Volume group ---
  VG Name               rhel
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <199.00 GiB
  PE Size               4.00 MiB
  Total PE              50943
  Alloc PE / Size       50942 / 198.99 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               kdRgg5-6PAG-2CGa-NmFL-hs5f-JlmK-pAUtbm
   
lvm> vgextend rhel /dev/sdb1
  Volume group "rhel" successfully extended
lvm> vgdisplay
  --- Volume group ---
  VG Name               rhel
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               298.99 GiB
  PE Size               4.00 MiB
  Total PE              76542
  Alloc PE / Size       50942 / 198.99 GiB
  Free  PE / Size       25600 / 100.00 GiB
  VG UUID               kdRgg5-6PAG-2CGa-NmFL-hs5f-JlmK-pAUtbm
   
lvm> lvextend -l+25600 /dev/mapper/rhel-home
  Size of logical volume rhel/home changed from <145.12 GiB (37150 extents) to <245.12 GiB (62750 extents).
  Logical volume rhel/home successfully resized.
lvm> exit
  Exiting.
[root@rhelhost ~]# xfs_growfs /dev/mapper/rhel-home 
meta-data=/dev/mapper/rhel-home  isize=512    agcount=4, agsize=9510400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=38041600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=18575, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 38041600 to 64256000
[root@rhelhost ~]# 
[root@rhelhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs                12G     0   12G   0% /dev
tmpfs                   12G     0   12G   0% /dev/shm
tmpfs                   12G   11M   12G   1% /run
tmpfs                   12G     0   12G   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  5.7G   45G  12% /
/dev/sda1             1014M  169M  846M  17% /boot
/dev/mapper/rhel-home  246G   42G  204G  17% /home
tmpfs                  2.4G   28K  2.4G   1% /run/user/0
tmpfs                  2.4G   12K  2.4G   1% /run/user/42
[root@rhelhost ~]#



评论

  • *
  • *