How to add a disk in Vmware: Expand the disk

How to add a disk in Vmware: Expand the disk

This article describes how to add or expand a disk and make it effective under Vmare.

Scenario

When creating Linux, the disk space allocated increases with usage, and the usage rate gradually increases. At this time, you need to add or expand the disk.
For example, the disk of this Linux (CentOS 7.3) is 20G, and nearly 80% of it has been used.

[root@mail ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[root@mail ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl_angular-root 17811456 13985948 3825508 79% /
devtmpfs 1521180 0 1521180 0% /dev
tmpfs 1532160 0 1532160 0% /dev/shm
tmpfs 1532160 8776 1523384 1% /run
tmpfs 1532160 0 1532160 0% /sys/fs/cgroup
/dev/sda1 1038336 123500 914836 12% /boot
tmpfs 306432 0 306432 0% /run/user/0
[root@mail ~]#

Expand or add a disk

There are two ways under VMware:

  • Add Disk
  • Expand disk

Note: The disk expansion needs to be done when the virtual machine is stopped. The expansion number is the expected size after expansion. For example, if the disk is 20G beforehand and you want to expand it by 10G, you should enter 30. This article uses the extended disk approach.

Confirmation Status

After expansion, restart Linux and find that the df status has not changed

[root@mail ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl_angular-root 17811456 13985948 3825508 79% /
devtmpfs 1521180 0 1521180 0% /dev
tmpfs 1532160 0 1532160 0% /dev/shm
tmpfs 1532160 8776 1523384 1% /run
tmpfs 1532160 0 1532160 0% /sys/fs/cgroup
/dev/sda1 1038336 123500 914836 12% /boot
tmpfs 306432 0 306432 0% /run/user/0
[root@mail ~]#

Use fdisk to confirm whether the disk space has been expanded

[root@mail ~]# 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: 0x0005ba89
  Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
Disk /dev/mapper/cl_angular-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/cl_angular-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@mail ~]#

You can see "Disk /dev/sda: 32.2 GB", which means that 10 GB of space has been expanded.

Extended Partition

[root@mail ~]# 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): 
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): 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 to 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 Manager 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 Ext'd (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@mail ~]#

Execute partprobe or restart

The partprobe command is used to notify the kernel of disk partition table changes and request the operating system to reload the partition table. This can avoid the need to reboot. Here we reboot.

Partition confirmation

You can confirm that sda3 has been added through fdisk

[root@mail ~]# 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: 0x0005ba89
  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/cl_angular-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/cl_angular-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@mail ~]#

Extended vg

Basic LVM knowledge and vg expansion are not repeated here.

[root@mail ~]# pvcreate /dev/sda3
 Physical volume "/dev/sda3" successfully created.
[root@mail ~]# vgs
 VG #PV #LV #SN Attr VSize VFree
 cl_angular 1 2 0 wz--n- 19.00g 0 
[root@mail ~]# vgextend cl_angular /dev/sda3
 Volume group "cl_angular" successfully extended
[root@mail ~]# vgs
 VG #PV #LV #SN Attr VSize VFree 
 cl_angular 2 2 0 wz--n- 28.99g 10.00g
[root@mail ~]#

Extension level

You can add all or part of this lv, we add all of it here.

[root@mail ~]# lvs
 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy% Sync Convert
 root cl_angular-wi-ao---- 17.00g                          
 swap cl_angular -wi-ao---- 2.00g                          
[root@mail ~]# lvextend /dev/cl_angular/root /dev/sda3
 Size of logical volume cl_angular/root changed from 17.00 GiB (4351 extents) to 26.99 GiB (6910 extents).
 Logical volume cl_angular/root successfully resized.
[root@mail ~]# lvs
 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy% Sync Convert
 root cl_angular-wi-ao---- 26.99g                          
 swap cl_angular -wi-ao---- 2.00g                          
[root@mail ~]#

df status confirmation

At this time, the df status has not changed

[root@mail ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl_angular-root 17811456 13986168 3825288 79% /
devtmpfs 1521180 0 1521180 0% /dev
tmpfs 1532160 0 1532160 0% /dev/shm
tmpfs 1532160 8808 1523352 1% /run
tmpfs 1532160 0 1532160 0% /sys/fs/cgroup
/dev/sda1 1038336 123500 914836 12% /boot
tmpfs 306432 0 306432 0% /run/user/0
[root@mail ~]#

xfs_growfs

Use xfs_growfs to expand the xfs file system online, which will adjust the data block.

[root@mail ~]# xfs_growfs /dev/mapper/cl_angular-root
meta-data=/dev/mapper/cl_angular-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 7075840
[root@mail ~]#

Confirm the df status again, the added 10G space is now effective and the usage rate has dropped to 50%.

[root@mail ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl_angular-root 28293120 13986252 14306868 50% /
devtmpfs 1521180 0 1521180 0% /dev
tmpfs 1532160 0 1532160 0% /dev/shm
tmpfs 1532160 8808 1523352 1% /run
tmpfs 1532160 0 1532160 0% /sys/fs/cgroup
/dev/sda1 1038336 123500 914836 12% /boot
tmpfs 306432 0 306432 0% /run/user/0
[root@mail ~]#

summary

This article introduces how to expand a disk under VMware. In fact, the following commands are all LVM operations, which are basically similar to the volume operations in Linux or Unix.

Summarize

The above is the full content of this article. I hope that the content of this article will have certain reference learning value for your study or work. Thank you for your support of 123WORDPRESS.COM. If you want to learn more about this, please check out the following links

You may also be interested in:
  • How to add a new disk in CentOS 7 without rebooting the system
  • Detailed explanation of how to add a new hard disk in a VMware virtual machine
  • Add a hard disk to centos using VMware
  • How to expand the disk size of a virtual machine
  • vmware adds a new hard disk command script that takes effect without restarting

<<:  CentOS 6.6 source code compilation and installation of MySQL 5.7.18 tutorial detailed explanation

>>:  Summary of common problems and solutions in Vue (recommended)

Recommend

How to implement the observer pattern in JavaScript

Table of contents Overview Application scenarios ...

Some details about semicolons in JavaScript

Preface Semicolons in JavaScript are optional, an...

Vue3.0 project construction and usage process

Table of contents 1. Project construction 2: Dire...

Detailed graphic explanation of MySql5.7.18 character set configuration

Background: A long time ago (2017.6.5, the articl...

A brief analysis of mysql index

A database index is a data structure whose purpos...

How to install PostgreSQL11 on CentOS7

Install PostgreSQL 11 on CentOS 7 PostgreSQL: The...

Javascript to achieve drumming effect

This article shares the specific code of Javascri...

Implementation of dynamic rem for mobile layout

Dynamic rem 1. First, let’s introduce the current...

Analysis of the differences between Iframe and FRAME

1. Use of Iframe tag <br />When it comes to ...

HTML tags explained

HTML tags explained 1. HTML tags Tag: !DOCTYPE De...

Detailed explanation of common usage of pseudo-classes before and after in CSS3

The before/after pseudo-class is equivalent to in...