今天上了存储,之前有些项目LINUX虚拟机需要扩容,所以做了下测试,希望对大家有用。
1、首先需要做在线硬盘扩容的话,需要保证虚拟机没有快照。
第一种方法:在原有的硬盘上直接改变磁盘置备的大小
改之前:25G
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 66.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
└─sda3 8:3 0 9G 0 part
└─rhel-root 253:0 0 66.4G 0 lvm /
改之后:40G
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 66.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
└─sda3 8:3 0 9G 0 part
└─rhel-root 253:0 0 66.4G 0 lvm /
通过partprobe命令也无法识别出来
重启之后,识别出来40G空间
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 66.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
└─sda3 8:3 0 9G 0 part
└─rhel-root 253:0 0 66.4G 0 lvm /
sda1+sda2+sda3=25G,所以sda还有15G可以用
[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
已选择分区 4
起始 扇区 (52428800-83886079,默认为 52428800):
将使用默认值 52428800
Last 扇区, +扇区 or +size{K,M,G} (52428800-83886079,默认为 83886079):
将使用默认值 83886079
分区 4 已设置为 Linux 类型,大小设为 15 GiB
命令(输入 m 获取帮助):t
分区号 (1-4,默认 4):8e
分区号 (1-4,默认 4):
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
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)
正在同步磁盘。
[root@localhost ~]#
[root@localhost ~]# partprobe
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 66.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
├─sda3 8:3 0 9G 0 part
│ └─rhel-root 253:0 0 66.4G 0 lvm /
└─sda4 8:4 0 15G 0 part
将sda4加进去
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 5 2 0 wz--n- 73.98g 5.98g
[root@localhost ~]# lvm
lvm> pvcreate /dev/sda4
Physical volume "/dev/sda4" successfully created.
lvm> vgextend rhel /dev/sda4
Volume group "rhel" successfully extended
lvm> lvdisplay
--- Logical volume ---
LV Path /dev/rhel/swap
LV Name swap
VG Name rhel
LV UUID IIuZXp-olio-8mnv-zOYn-hm9a-CjWb-89C75z
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2019-04-17 16:33:20 +0800
LV Status available
# open 2
LV Size 1.60 GiB
Current LE 410
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/rhel/root
LV Name root
VG Name rhel
LV UUID 8PMjP0-HifX-qHKj-CqN2-dnnd-Ln0N-9Th9bK
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2019-04-17 16:33:21 +0800
LV Status available
# open 1
LV Size 66.39 GiB
Current LE 16997
Segments 5
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
lvm> lvextend -L +15G /dev/rhel/root
Size of logical volume rhel/root changed from 66.39 GiB (16997 extents) to 81.39 GiB (20837 extents).
Logical volume rhel/root successfully resized.
lvm> EXIT
No such command 'EXIT'. Try 'help'.
lvm> exit
Exiting.
[root@localhost ~]# xfs_growfs /dev/rhel/root
meta-data=/dev/mapper/rhel-root isize=512 agcount=18, agsize=877824 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=15045632, 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 15045632 to 21337088
这里是redhat7,文件系统是xfs,所以用命令xfs_growfs 如果是redhat6,ext4的文件系统,则是resize2fs命令
扩容后最终
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 81.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
├─sda3 8:3 0 9G 0 part
│ └─rhel-root 253:0 0 81.4G 0 lvm /
└─sda4 8:4 0 15G 0 part
└─rhel-root 253:0 0 81.4G 0 lvm /
缺点,需要重启一次
第二种方法:直接添加硬盘,而不是在原有的上面只接更改大小
添加的硬盘直接可以识别出来,直接按照第一种方法的重启之后的步骤一步一步就可以了。
优点:不需要重启