虚拟机磁盘空间在线扩容-直接修改硬盘大小方法 。
使用下面的命令来检查 SCSI 设备的名称,然后重新扫描 SCSI 总线,之后进行在线扩容。
查看需要扩容的磁盘[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 256M 0 part /boot/efi
├─sda2 8:2 0 512M 0 part /boot
└─sda3 8:3 0 39.3G 0 part
├─centos-root 253:0 0 31.3G 0 lvm /
└─centos-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
├─oracle--vg-ora--u01 253:2 0 40G 0 lvm /u01
└─oracle--vg-ora--data 253:3 0 60G 0 lvm /data
sr0 11:0 1 1024M 0 rom
刷新 SCSI 总线[root@localhost ~]# ls /sys/class/scsi_device/
2:0:0:0/ 2:0:1:0/ 3:0:0:0/
[root@localhost ~]# echo 1 > /sys/class/scsi_device/2\\:0\\:1\\:0/device/rescan
查看磁盘空间是否刷新[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 256M 0 part /boot/efi
├─sda2 8:2 0 512M 0 part /boot
└─sda3 8:3 0 39.3G 0 part
├─centos-root 253:0 0 31.3G 0 lvm /
└─centos-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 128G 0 disk
└─sdb1 8:17 0 100G 0 part
├─oracle--vg-ora--u01 253:2 0 40G 0 lvm /u01
└─oracle--vg-ora--data 253:3 0 60G 0 lvm /data
sr0 11:0 1 1024M 0 rom
磁盘分区扩容 进入分区视图[root@localhost ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type \'help\' to view a list of commands.
(parted)
查询分区提示:分区表的备份GPT表没有位于磁盘的末尾,而它应该位于磁盘的末尾。通过将备份移到末尾来修复,按提示输入Fix修复。
(parted) print
Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that
another operating system believes the disk is smaller. Fix, by moving the backup to the end (and
removing the old backup)?
//输入Fix修复
Fix/Ignore/Cancel? Fix
提示:并非/dev/sdb可用的所有空间都被使用,您可以修复GPT以使用所有空间
空间(额外的58720256块)还是继续当前设置?
按输入Fix使用所有磁盘空间
Warning: Not all of the space available to /dev/sdb appears to be used, you can fix the GPT to use allof the space (an extra 58720256 blocks) or continue with the current setting?
查询PV[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 centos lvm2 a-- <39.25g 0
/dev/sdb1 oracle-vg lvm2 a-- <100.00g 0
扩容PV[root@localhost ~]# pvresize /dev/sdb1
Physical volume /dev/sdb1 changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
扩容LV[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <39.25g 0
oracle-vg 1 2 0 wz--n- <128.00g 28.00g
[root@localhost ~]# lvextend -l +7168 /dev/mapper/oracle--vg-ora--data
Size of logical volume oracle-vg/ora-data changed from <60.00 GiB (15359 extents) to <88.00 GiB (22527 extents).
Logical volume oracle-vg/ora-data successfully resized.
查询扩容状态[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <31.25g
swap centos -wi-ao---- 8.00g
ora-data oracle-vg -wi-ao---- <88.00g
ora-u01 oracle-vg -wi-ao---- 40.00g
刷新文件系统[root@localhost ~]# resize2fs /dev/mapper/oracle--vg-ora--data
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/oracle--vg-ora--data is mounted on /data; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 11
The filesystem on /dev/mapper/oracle--vg-ora--data is now 23067648 blocks long.
扩容结束[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 9.8M 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 31G 7.4G 22G 26% /
/dev/sda2 488M 124M 329M 28% /boot
/dev/sda1 256M 12M 245M 5% /boot/efi
/dev/mapper/oracle--vg-ora--u01 40G 4.4G 33G 12% /u01
/dev/mapper/oracle--vg-ora--data 87G 6.6G 76G 8% /data
tmpfs 1.6G 40K 1.6G 1% /run/user/1000
tmpfs 1.6G 0 1.6G 0% /run/user/0