Hyper-v 虚拟机磁盘扩容

Ms.Haoz大约 3 分钟

今天使用Hyper-V虚拟机的磁盘又满了。上次扩容导致虚拟机出问题了,最后弄环境搞了一两天。
这次过程中也是心惊胆战,还好最后成功扩容,记录下过程:

首先,在Hyper-V虚拟机的设置中选择磁盘管理,编辑磁盘。
hyper-v extend storage

按照提示选择扩展增加磁盘的大小,完成后,关闭虚拟机,重新启动。

虚拟机启动后, 用命令查看:fdisk -l
fdisk_storage

网上查询,说是可以不用处理。于是,我使用fdisk 添加新分区,但是保存的时候,还是有问题,记得上次也出现过。
fdisk_w_err 根据提示输入命令,出现Error。
partprobe 重启,fdisk 可以显示分区情况了,但问题依旧存在。
fdisk-part

记得之前分区用的是parted,尝试一下,发现里面可以检测到存在的问题提示修复,于是按照提示执行:
parted

竟然修复成功了,重新使用fdisk添加分区。
fdisk_sda

添加成功。 按提示重启或使用命令,也没有再提示问题。

接下来使用lvm 将新分区加到 VG 中,我的新分区是:/dev/sda4 下面给出过程,部分信息省略:

$lvm
lvm> vgdisplay 
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  ...
   
lvm> pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos
  ...
   
lvm> pvcreate /dev/sda4
  Physical volume "/dev/sda4" successfully created.
lvm> pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos
  ...
   
  "/dev/sda4" is a new physical volume of "40.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sda4
  VG Name               
  ...
   
lvm> vgextend centos /dev/sda4
  Volume group "centos" successfully extended   
lvm> vgdisplay -v
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        2
  ...
   
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  ...
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  ...
   
  --- Physical volumes ---
  PV Name               /dev/sda3     
  ...
  Total PE / Free PE    7373 / 1
   
  PV Name               /dev/sda4     
  ...
  Total PE / Free PE    10239 / 10239
   
lvm> lvextend -l+10239 /dev/mapper/centos-root
  Size of logical volume centos/root changed from <26.80 GiB (6860 extents) to 66.79 GiB (17099 extents).
  Logical volume centos/root successfully resized.

lvm> lvdisplay 
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  ...
    
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  ...
  LV Size                <66.80 GiB
  ...

lvm> quit
  Exiting.

以上就扩容完成了,但是fdisk 查看分区发现显示的还是原来的空间大小。这里还需要更新下文件系统信息。

需要注意下文件系统,文件系统不同,命令不同:

  • resize2fs :针对的是ext2、ext3、ext4文件系统
  • xfs_growfs :针对的是xfs文件系统

附上我的过程:

# mount |grep root
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
  
# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1756160 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=7024640, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=3430, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 7024640 to 17510400

# df -h
Filesystem               Size  Used Avail Use% Mounted on
...
/dev/mapper/centos-root   67G   26G   41G  39% /
...

Ok,大功告成!

上次编辑于:
贡献者: osc_72297572
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7

回到顶部