EVE-NG 是一个强大的网络模拟器,可用于创建和测试网络环境。它使用 QEMU 和 KVM 虚拟化技术,允许用户创建各种虚拟设备,包括路由器、交换机和防火墙。
EVE-NG 还支持自定义 Linux 镜像。这意味着用户可以使用自己的 Linux 发行版创建虚拟机,并将其用于各种目的。例如,用户可以使用自定义 Linux 镜像创建网络实验室、开发环境或测试环境。
然而,自定义 Linux 镜像的硬盘空间可能不足。这可能是由于镜像中安装了许多软件,或者镜像中存储了大量数据。在这种情况下,用户需要扩展自定义 Linux 镜像的硬盘空间。
本文将介绍如何在 EVE-NG 中扩展自定义 Linux 镜像的硬盘空间。
找到要扩容的虚拟机
-
需要扩容的镜像的虚拟机需处于关机状态
-
查看虚拟机磁盘信息(以rocky镜像为例)
qemu-img info virtioa.qcow2
image: virtioa.qcow2
file format: qcow2
virtual size: 50 GiB (53687091200 bytes)
disk size: 9.22 GiB
cluster_size: 65536
backing file: /opt/unetlab/addons/qemu/linux-rocky-8/virtioa.qcow2
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
对硬盘进行扩容
- 给硬盘添加10G
qemu-img resize virtioa.qcow2 +10G
- 查看虚拟机硬盘信息
qemu-img info virtioa.qcow2
image: virtioa.qcow2
file format: qcow2
virtual size: 60 GiB (64424509440 bytes)
disk size: 9.22 GiB
cluster_size: 65536
backing file: /opt/unetlab/addons/qemu/linux-rocky-8/virtioa.qcow2
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
在虚拟机中操作
- 虚拟机开机,查看硬盘信息
df -h
- 使用parted扩容分区
[root@docker01 ~]# parted /dev/vda
GNU Parted 3.2
Using /dev/vda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary xfs boot
2 525MB 1599MB 1074MB primary linux-swap(v1)
3 1599MB 53.7GB 52.1GB primary xfs
(parted) resizepart 3
Warning: Partition /dev/vda3 is being used. Are you sure you want to continue?
Yes/No? yes
End? [53.7GB]? -0 #剩余所有磁盘
#再次查看分区情况
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary xfs boot
2 525MB 1599MB 1074MB primary linux-swap(v1)
3 1599MB 64.4GB 62.8GB primary xfs
- 退出parted并查看磁盘
[root@docker01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.3M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/vda3 49G 11G 38G 22% /
/dev/vda1 495M 173M 323M 35% /boot
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/c840b75722a76bbb2c74048d3b648765d8b62cdcdec8850cf56d75eb0914977b/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/2cb1d2727f25c17fbbb54367d7fe67f0d7930e7f0abff491ba0bd204c274ba96/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/5897ca2204b47e3978356f0a95409689b04dbabacad500d95032c25cfdf05c84/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/84662484cb14ab60b09844c0b83d2503fa2ae229088d470b225597d72f66538c/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/0a659cdb8d56602f5f9d2f4ffdc7fd42cda931c797af7d1b60ee73d653801a3d/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/1e287907d1671cc98da24768c8bfd68d392f04fc55b08a1850646152402105e7/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/39f5d7b0b61148d198ef57f2e7b220461200cb191b50660a87eb3b8c708854d2/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/ea8532d836d35e3576d420f39d0f9041fce2afab32b4909e904ef512db7fde1d/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/ef710f9d78b88e9cef86b928aaa17241198b9545c9035279f63127b959e4cf8a/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/8bd248ffedc3512fb319be24e8cd1c80a4bdab0058d16bea404f30b0cc77b7bf/merged
overlay 49G 11G 38G 22% /var/lib/docker/overlay2/43b45c61a4532738c6b9e6c10ed144963573bd5b9ac8f30840f5a0b4ace627fc/merged
tmpfs 374M 0 374M 0% /run/user/0
[root@docker01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 60G 0 disk
├─vda1 253:1 0 500M 0 part /boot
├─vda2 253:2 0 1G 0 part [SWAP]
└─vda3 253:3 0 58.5G 0 part /
发现lsblk已经扩容成功。
- 使用
resize2fs
或者xfs_growfs
(xfs分区)命令来更新磁盘信息
[root@docker01 ~]# xfs_growfs /dev/vda3
meta-data=/dev/vda3 isize=512 agcount=4, agsize=3179200 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=12716800, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=6209, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 12716800 to 15338240
- 再次查看磁盘容量
[root@docker01 ~]# df -h / ; lsblk
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda3 59G 11G 48G 19% /
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 60G 0 disk
├─vda1 253:1 0 500M 0 part /boot
├─vda2 253:2 0 1G 0 part [SWAP]
└─vda3 253:3 0 58.5G 0 part /