虚拟机分区扩容

估计了一下,使用中的虚拟机空间将不够了,需要给根目录扩容,虚拟机整个就一块盘,通过安装时自动分区,非LVM。本文记录扩容过程。

参考:知乎 - 梁哥 https://zhuanlan.zhihu.com/p/83340525

备注: 本虚拟机使用virt-manager创建

1. 增加磁盘大小

root@virt-amd64:/data/# qemu-img resize xxxx.qcow2 +100G

通过qemu-img增加100G磁盘大小

2. fdisk操作磁盘分区

① 查看当前磁盘

[root@host159 ~]# df -Th
文件系统       类型      容量  已用  可用 已用% 挂载点
devtmpfs       devtmpfs   16G     0   16G    0% /dev
tmpfs          tmpfs      16G     0   16G    0% /dev/shm
tmpfs          tmpfs      16G  8.9M   16G    1% /run
tmpfs          tmpfs      16G     0   16G    0% /sys/fs/cgroup
/dev/vda3      xfs        56G   32G   24G   58% /
/dev/vda1      xfs      1014M  176M  839M   18% /boot
tmpfs          tmpfs     3.2G     0  3.2G    0% /run/user/0

② fdisk查看当前分区

[root@host159 ~]# fdisk /dev/vda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):p

磁盘 /dev/vda:171.8 GB, 171798691840 字节,335544320 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b04f1

   设备 Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     2099199     1048576   83  Linux
/dev/vda2         2099200    10227711     4064256   82  Linux swap / Solaris
/dev/vda3        10227712   125829119    57800704   83  Linux

③ 删除根分区

命令(输入 m 获取帮助):d
分区号 (1-3,默认 3):
分区 3 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/vda:171.8 GB, 171798691840 字节,335544320 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b04f1

   设备 Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     2099199     1048576   83  Linux
/dev/vda2         2099200    10227711     4064256   82  Linux swap / Solaris

④ 创建新的根分区

创建新的根分区,分区大小都使用默认,直接扩容到最大

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (10227712-335544319,默认为 10227712):
将使用默认值 10227712
Last 扇区, +扇区 or +size{K,M,G} (10227712-335544319,默认为 335544319):
将使用默认值 335544319
分区 3 已设置为 Linux 类型,大小设为 155.1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/vda:171.8 GB, 171798691840 字节,335544320 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b04f1

   设备 Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     2099199     1048576   83  Linux
/dev/vda2         2099200    10227711     4064256   82  Linux swap / Solaris
/dev/vda3        10227712   335544319   162658304   83  Linux

⑤ 保存并刷新分区

命令(输入 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@host159 ~]# partprobe /dev/vda
[root@host159 ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  1024M  0 rom  
vda    253:0    0   160G  0 disk 
├─vda1 253:1    0     1G  0 part /boot
├─vda2 253:2    0   3.9G  0 part [SWAP]
└─vda3 253:3    0 155.1G  0 part /

⑥ 刷新分区状态

查看分区状态,发现显示出来的容量不是分区后的,需要刷新。

[root@host159 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs         16G     0   16G    0% /dev
tmpfs            16G     0   16G    0% /dev/shm
tmpfs            16G  8.9M   16G    1% /run
tmpfs            16G     0   16G    0% /sys/fs/cgroup
/dev/vda3        56G   32G   24G   58% /
/dev/vda1      1014M  176M  839M   18% /boot
tmpfs           3.2G     0  3.2G    0% /run/user/0
[root@host159 ~]# df -Th
文件系统       类型      容量  已用  可用 已用% 挂载点
devtmpfs       devtmpfs   16G     0   16G    0% /dev
tmpfs          tmpfs      16G     0   16G    0% /dev/shm
tmpfs          tmpfs      16G  8.9M   16G    1% /run
tmpfs          tmpfs      16G     0   16G    0% /sys/fs/cgroup
/dev/vda3      xfs        56G   32G   24G   58% /
/dev/vda1      xfs      1014M  176M  839M   18% /boot
tmpfs          tmpfs     3.2G     0  3.2G    0% /run/user/0

刷新:

[root@host159 ~]# xfs_growfs /dev/vda3 
meta-data=/dev/vda3              isize=512    agcount=4, agsize=3612544 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=14450176, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=7055, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 14450176 to 40664576

再次查看:

[root@host159 ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  1024M  0 rom  
vda    253:0    0   160G  0 disk 
├─vda1 253:1    0     1G  0 part /boot
├─vda2 253:2    0   3.9G  0 part [SWAP]
└─vda3 253:3    0 155.1G  0 part /
[root@host159 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs         16G     0   16G    0% /dev
tmpfs            16G     0   16G    0% /dev/shm
tmpfs            16G  8.9M   16G    1% /run
tmpfs            16G     0   16G    0% /sys/fs/cgroup
/dev/vda3       156G   32G  124G   21% /
/dev/vda1      1014M  176M  839M   18% /boot
tmpfs           3.2G     0  3.2G    0% /run/user/0

完成。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值