一、QEMU命令
在EVE-NG中,想要定制QEMU镜像,不管是定制Windows镜像或者Linux镜像,都必须掌握QEMU命令的使用。
QEMU是用户制作镜像的主要工具,其中包含很多命令,比如:qemu-system、qemu-img、qemu-io、qemu-nbd、qemu-ga等。其中最常用的就是qemu-img,使用完qemu-img制作好镜像后,在web界面就能安装了。
可以执行/opt/qemu/bin/qemu-img -help来查询qmeu-img命令的使用
1st. 创建镜像
qemu-img create -f 镜像格式 镜像名 镜像大小
其中-f是指定镜像格式,不指定默认为raw格式
创建大小为50G,名为test的qcow2格式的镜像:
/opt/qemu/bin/qemu-img create -f qcow2 test.qcow2 50G
2nd. 镜像信息查看
qemu-img info 镜像名
3rd. 镜像格式转换
qemu-img convert [参数] 原镜像名 新镜像名
参数:
- -p:显示转换进度
- -f:指定原有镜像格式,后跟原格式
- -O:指定输出的镜像格式,后跟输出格式
- -c:镜像转换时压缩镜像
将test文件的qcow2格式转换成vmdk格式:
/opt/qemu/bin/qemu-img convert -p -f qcow2 -O vmdk test.qcow2 test.vmdk
4th. 镜像大小修改
qemu-img resize 镜像名 增加容量
其中,容量可以为:
- +10G:表示增加10G
- 10G:表示增加到10G
将test.qcow2镜像增加10G容量:
/opt/qemu/bin/qemu-img resize test.qcow2 +10G
既然可以增加,那是否可以减小呢?是可以的,但是qcow2格式的直接缩小是不允许的,需要将qcow2格式转成raw格式,然后在raw格式下缩小,然后再转换成qcow2.尽管很麻烦,但是这是减小qcow2格式的唯一方法.值得注意的是如果qcow2的容量为50G,已经使用了40G,想要缩小到30G,会导致数据丢失,所以谨慎思量之后再进行处理!
二、定制windows镜像
需要在/opt/unetlab/addons/qemu/目录下创建windows的镜像目录,严格根据镜像目录和镜像名表来创建
mkdir win-7-epiol
1、制作镜像
1st. 上传ISO光盘镜像
将windows7.iso镜像文件上传至/opt/unetlab/addons/qemu/win-7-epiol/ 并更名为cdrom.iso
2nd. 创建虚拟磁盘文件
/opt/qemu/bin/qemu-img create -f qcow2 hda.qcow2 10G
3rd. 登录EVE-NG的web界面
新建windows节点,以默认参数创建,并将网络接入到management(cloud0)或其他桥接网络中,方便定制windows系统。
4th. 安装windows系统
5th. 优化和定制系统
这个安装完成的windows系统,已经可以直接放到EVE-NG中运行了,系统镜像只是一个模板,在EVE-NG平台上所有运行该镜像的虚拟设备,初始时与模板完全一样。所以在制作镜像时,提前将windows7优化,比如更换主题、升级windows、关闭防火墙等等,可以根据自己的喜好来优化系统!
优化:
- 关闭防火墙
- 汉化操作系统
- 激活windows
- 设置屏幕分辨率
- 安装输入法
- 安装浏览器
- 安装你想要测试的软件
2、镜像重建
windows优化后,你对该系统最新的操作都保存在EVE-NG的临时目录中。EVE-NG的临时目录是/opt/unetlab/tmp/,该目录是虚拟设备节点运行时的临时目录。我们所要做的操作就是,将临时目录下的windows7的镜像重建,然后取代/opt/unetlab/addons/qemu/win-7-epiol/hda.qcow2。
1st. 查看lab_id和windows虚拟设备的id
lab_id:位于左侧工具栏的lab details
虚拟设备id:你创建节点时候的顺序,比如我的只创建了四个,这个是第四个,那么id=4
2nd. 进入EVE-NG的临时目录
cd /opt/unetlab/tmp/0/2bafd2c8-4dd5-48de-ac33-1b7ae0529d2e/4/
- 0:web的admin用户ID
- 2bafd2c8-4dd5-48de-ac33-1b7ae0529d2e:为lab文件ID
- 4:lab中设备节点的ID
3rd. 镜像压缩、重建并保存到/tmp/hda.qcow2
/opt/qemu/bin/qemu-img convert -c -O qcow2 hda.qcow2 /tmp/hda.qcow2
这可能需要一段时间,请耐心等待
4th. 将重建后的hda.qcow2移动到win-7-epiol镜像目录中,会自动覆盖之前的hda.qcow2虚拟磁盘文件
mv /tmp/hda.qcow2 /opt/unetlab/addons/qemu/win-7-epiol/hda.qcow2
5th. 删除cdrom.iso文件
rm -f /opt/unetlab/addons/qemu/win-7-epiol/cdrom.iso
该文件丧失了存在的价值!
这样,你的windows7镜像就完成了!你可以将其从EVE-NG下载到本地,以分享给其他人!