创建虚拟机的时候,一般选择 动态扩展虚拟硬盘,N 多年以来,一直没有关心过他是如何动态扩展的,直到最近折腾大文件 SQL 导入任务,遇到了磁盘空间占满的情形
以下这 2 个就体现了动态扩展空间,扩展起来很容易
Centos7 以 200G 为例 /dev/mapper/centos-root 50G ,type:lvm /dev/mapper/centos-home 剩下的可浮动空间 150G ,type:lvm 可以将 /home 空间转给 /root 空间
Hyper-V创建 centos7 虚拟机 ,将 /home 空间转移到 /root
Ubuntu 以 200G 为例 ubuntu–vg-ubuntu–lv 已经分配了空间 99G (Alloc PE / Size ),type:lvm 保留了可供扩展的空间 99G ( Free PE / Size ),lsblk 看不到,vgdisplay 才可以看到 如果 ubuntu–vg-ubuntu–lv 满了,可以直接扩展到 99G + 99G
ubuntu20.04磁盘满了 /dev/mapper/ubuntu–vg-ubuntu–lv 占用 100%
问题如果动态扩展空间也已经用完了,就需要在虚拟机管理中扩展虚拟硬盘,新扩展出来的空间,和以上保留好的的空间的扩展,做法稍有不同
Centos 7 200G 扩展到 600G 操作过程已经记录在这里 Hyper-V 扩展磁盘后,如何扩容到 root
简单总结一下:
增加分区 (/dev/sda3)重载分区表格式化新分区 (/dev/sda3)在新分区上(/dev/sda3)创建新 PV (pvcreate)扩展磁盘卷组 ( Volume group 简称 vg )centos ,加入新分区 /dev/sda3(vgextend)扩展 LV Ubuntu 200G 扩展到 400G 的过程友情提示,如果怕搞错,开始之前给徐不疾增加一个检查点(快照)
Lvm 文档
开始之前
$ sudo lsblk [sudo] password for dhbm: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 63.3M 1 loop /snap/core20/1828 loop1 7:1 0 49.9M 1 loop /snap/snapd/18357 loop2 7:2 0 63.5M 1 loop /snap/core20/1974 loop3 7:3 0 53.3M 1 loop /snap/snapd/19457 loop4 7:4 0 91.9M 1 loop /snap/lxd/24061 sda 8:0 0 400G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 198G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 99G 0 lvm / sr0 11:0 1 1024M 0 rom增加分区 (/dev/sda4)
$ sudo fdisk /dev/sda 以下分别是 p (当前分区表)和 n (新建分区表)之后的结果
...... Device Start End Sectors Size Type /dev/sda1 2048 4095 2048 1M BIOS boot /dev/sda2 4096 4198399 4194304 2G Linux filesystem /dev/sda3 4198400 419428351 415229952 198G Linux filesystem ...... Device Start End Sectors Size Type /dev/sda1 2048 4095 2048 1M BIOS boot /dev/sda2 4096 4198399 4194304 2G Linux filesystem /dev/sda3 4198400 419428351 415229952 198G Linux filesystem /dev/sda4 419428352 838860766 419432415 200G Linux filesystem$ lsblk 多出来 sda4 (200G)
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ...... sda 8:0 0 400G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 2G 0 part /boot ├─sda3 8:3 0 198G 0 part │ └─ubuntu--vg-ubuntu--lv 253:0 0 99G 0 lvm / └─sda4 8:4 0 200G 0 part sr0 11:0 1 1024M 0 rom重载分区表 ubuntu 不需要 partprobe
格式化新分区 (/dev/sda3) ubuntu 不需要 mkfs ?
在新分区上(/dev/sda3)创建新 PV (pvcreate)
$ sudo pvcreate /dev/sda4 Physical volume "/dev/sda4" successfully created. $ sudo pvdisplay --- Physical volume --- PV Name /dev/sda3 VG Name ubuntu-vg PV Size