Skip to content

Latest commit

 

History

History
240 lines (175 loc) · 5.84 KB

resize_vmdisk.md

File metadata and controls

240 lines (175 loc) · 5.84 KB

openfans    amatfan.png

Debian Pi Aarch64 - 基础系统 + 深度桌面 + Xfce桌面

OPENFANS开源社区   &&   树莓派爱好者基地  荣誉出品

再次重申!我们是团队,企业级的专业团队出品的系统,不要拿个人作品来和我们比较


如何扩展虚拟机的磁盘大小

首先确认你的虚拟机已正常关闭或没有运行

本文虚拟机磁盘以 bt.qcow2.disk 为例

1. 磁盘扩容

查看磁盘大小

执行命令:

qemu-img info bt.qcow2.disk

得到如下信息:

image: bt.qcow2.disk
file format: qcow2
virtual size: 10G (10737418240 bytes) # 磁盘总大小
disk size: 6.4 # 已用容量
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

磁盘扩容

本例我们的目标是为虚拟机磁盘增加10G的容量

执行下面的命令:

qemu-img resize bt.qcow2.disk +10G

然后再次查看磁盘大小

执行命令:

qemu-img info bt.qcow2.disk

结果如下:

image: bt.qcow2.disk
file format: qcow2
virtual size: 20G (21474836480 bytes) # 容量增加成功,总大小为20G
disk size: 6.4G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

2. 扩展分区

扩展已增加的容量至系统分区

首先,启动虚拟机,并登陆虚拟机

ssh -p 2222 root@localhost

查看磁盘大小

执行命令:

fdisk -l /dev/sda

结果如下:

Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors        # 已增加到20G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcd0e4df1

Device     Boot Start      End  Sectors Size Id Type
/dev/sda1  *     2048 20969471 20967424  10G 83 Linux             # 分区容量还未扩展

查看分区大小

执行命令:

df -hT

结果如下:

Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  496M     0  496M   0% /dev
tmpfs          tmpfs     103M  1.5M  101M   2% /run
/dev/sda1      btrfs      10G  4.7G  4.7G  50% /                  # 分区容量还未扩展
tmpfs          tmpfs     513M  4.0K  513M   1% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs     513M     0  513M   0% /sys/fs/cgroup
tmpfs          tmpfs     103M     0  103M   0% /run/user/0

安装 parted 磁盘管理工具

apt update ; apt install parted -y

扩展分区

输入下面的命令:parted ,然后按下列步骤操作:

parted

此时可以看到磁盘信息如下

GNU Parted 3.2
Using /dev/sda                                                   # 这是我们需要操作的磁盘
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                   # 输入"print",查看当前操作的磁盘信息
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 21.5GB                                            # 总大小已增加至20G
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  10.7GB  10.7GB  primary  btrfs        boot       # 此处的“1”是磁盘分区编号,此时分区容量还没有变化

接下来输入如下命令 resizepart :

(parted) resizepart        # 输入命令 "resizepart" 进行分区扩展
Partition number? 1        # 输入需要扩展的分区编号,由于我们这里的磁盘只有一个分区,所以输入 “1”
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
Yes/No? yes                # 确认继续,输入 "yes"
End?  [10.7GB]? 100%       # 输入“100%”,将所有可用容量全部扩展到上一步指定的分区 
(parted) print             # 输入 "print" ,查看当前操作的磁盘信息    
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  21.5GB  21.5GB  primary  btrfs        boot     # 可以看到增加的磁盘容量已扩展成功

(parted) quit              # 输入 "quit" , 退出
Information: You may need to update /etc/fstab.

更新分区表

执行下面的命令

partprobe /dev/sda
partprobe /dev/sda1

扩展文件系统

我们的虚拟机默认的是 btrfs 文件系统,相关的 btrfs 文件系统扩容的操作如下:

执行命令

btrfs filesystem resize max /

将得到如下提示

Resize '/' of 'max'

重新挂载分区

本文扩展的是根分区 “/” ,所以接下来我们重新挂载 “/” 根分区

执行命令:

mount -o remount,rw /  

同步数据

执行命令:

sync

验证结果

检查分区大小

输入命令

df -hT

结果如下:

Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  496M     0  496M   0% /dev
tmpfs          tmpfs     103M  1.5M  101M   2% /run
/dev/sda1      btrfs      20G  4.7G   15G  25% /                # 分区已成功扩展
tmpfs          tmpfs     513M  4.0K  513M   1% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs     513M     0  513M   0% /sys/fs/cgroup
tmpfs          tmpfs     103M     0  103M   0% /run/user/0

重启虚拟机,再次登录,并执行命令 df -hT 已确定结果