本实验采用RHEL衍生版本Rocky9.1实现,无力吐槽CentOS,莫名其妙bug贼多>_
1、上传镜像
创建目录/opt/unetlab/addons/qemu/镜像名称,上传镜像名称修改为cdrom.iso
mkdir /opt/unetlab/addons/qemu/rocky-9.1
# 操作
[root@eve-ng /opt/unetlab/addons/qemu]# mkdir /opt/unetlab/addons/qemu/rocky-9.1
[root@eve-ng /opt/unetlab/addons/qemu]# cd rocky-9.1/
上传镜像并改名为cdrom.iso
mv Rocky-9.1-20221214.1-x86_64-dvd.iso cdrom.iso
2、创建磁盘
我创建100G的磁盘
# 方式1:创建硬盘
/opt/qemu/bin/qemu-img create -f qcow2 hda.qcow2 100G
# 方式2:创建虚拟硬盘
/opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 100G
[root@eve-ng /opt/unetlab/addons/qemu/rocky-9.1]# ll
total 8697552
drwxr-xr-x 2 root root 4096 Jun 4 15:22 ./
drwxr-xr-x 49 root root 4096 Jun 4 15:18 ../
-rw-r--r-- 1 root root 8906080256 Jun 4 14:29 cdrom.iso
-rw-r--r-- 1 root root 198656 Jun 4 15:22 hda.qcow2
3、编辑模版
/opt/unetlab/html/includes/custom_templates.yml
---
custom_templates:
- name: rocky
listname: rocky
...
4、创建模版文件
/opt/unetlab/html/templates/intel/模版文件名
grep -Ev '^$|^#' /opt/unetlab/html/templates/intel/rocky.yml
---
type: qemu
name: rocky
cpulimit: 1
icon: Server.png
cpu: 4
ram: 8192
ethernet: 4
eth_format: eth{0}
console: vnc
shutdown: 1
qemu_arch: x86_64
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc,accel=kvm -vga std -usbdevice tablet -boot order=dc -cpu host
5、搭建EVE环境
6、开启虚拟机
能进入这一步代表镜像没有问题,配置也没有问题,如果发现系统崩溃等报错,请检查前面步骤是否配置正确,安装系统不做演示
7、删除ISO镜像
系统安装完成后,需要手动删除镜像,不然下次开机还会默认加载CD/DVD
[root@eve-ng /opt/unetlab/addons/qemu/rocky-9.1]# rm -rf cdrom.iso
[root@eve-ng /opt/unetlab/addons/qemu/rocky-9.1]# ls
hda.qcow2
8、配置系统基础信息
#!/bin/bash
# 配置软件仓库
rm -rf /etc/yum.repos.d/*
cat > /etc/yum.repos.d/rocky.repo > /etc/bashrc
# 取消网卡命名规则
cat > /etc/default/grub
9、压缩镜像
该步骤为可选项,进一步压缩镜像占用空间
virt-sparsify –compress hda.qcow2 compressedhda.qcow2
[root@eve-ng /opt/unetlab/tmp/0/c8e1badd-93c4-49e7-9f9c-4da530fd22dd/1]# virt-sparsify --compress hda.qcow2 compressedhda.qcow2
[ 0.1] Create overlay file in /tmp to protect source disk
[ 0.1] Examine source disk
100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ --:--
[ 25.3] Copy to destination and make sparse
[ 25.3] Sparsify operation completed with no errors.
virt-sparsify: Before deleting the old disk, carefully check that the
target disk boots and works correctly.
[root@eve-ng /opt/unetlab/tmp/0/c8e1badd-93c4-49e7-9f9c-4da530fd22dd/1]# ls
compressedhda.qcow2 hda.qcow2
[root@eve-ng /opt/unetlab/tmp/0/c8e1badd-93c4-49e7-9f9c-4da530fd22dd/1]# rm -rf hda.qcow2
# 重命名为hda.qcow2
[root@eve-ng /opt/unetlab/tmp/0/c8e1badd-93c4-49e7-9f9c-4da530fd22dd/1]# mv compressedhda.qcow2 hda.qcow2
10、镜像重建
10.1 查看LAB拓扑ID
10.2 重建镜像
# 进入拓扑ID目录
cd /opt/unetlab/tmp/0/c8e1badd-93c4-49e7-9f9c-4da530fd22dd/1
# 重建镜像到/tmp/hda.qcow2
/opt/qemu/bin/qemu-img convert -c -O qcow2 hda.qcow2 /tmp/hda.qcow2
# 将重建后镜像移动到原有目录,完成!
mv /tmp/hda.qcow2 /opt/unetlab/addons/qemu/rocky-9.1/
如果是virtioa.qcow2格式
# 进入拓扑ID目录
cd /opt/unetlab/tmp/0/c8e1badd-93c4-49e7-9f9c-4da530fd22dd/1/opt/qemu/bin/qemu-img
# 重建镜像到/tmp/virtioa.qcow2
convert -c -O qcow2 virtioa.qcow2 /tmp/virtioa.qcow2
# 将重建后镜像移动到原有目录,完成!
mv /tmp/virtioa.qcow2 /opt/unetlab/addons/qemu/rocky-9.2-mini
11、测试
1、添加一个节点
2、开机
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net