RancherVM虚拟机镜像制作清单:virtio驱动、Windows系统与仿真驱动的完整配置方案

📅 2026/8/23 15:04:06
RancherVM虚拟机镜像制作清单:virtio驱动、Windows系统与仿真驱动的完整配置方案
RancherVM虚拟机镜像制作清单virtio驱动、Windows系统与仿真驱动的完整配置方案【免费下载链接】old-vm(OBSOLETE) Package and Run Virtual Machines as Docker Containers项目地址: https://gitcode.com/gh_mirrors/ol/old-vmRancherVM 是一个将 KVM 虚拟机镜像打包成 Docker 容器、并在 Kubernetes 中以 Pod 形式运行的开源项目。本文是一份面向新手的制作清单帮助你快速搞定虚拟机镜像构建、virtio 驱动配置、Windows 系统镜像与仿真驱动三大核心任务。 RancherVM 镜像制作核心思路RancherVM 的镜像遵循一个简单的规律标准 KVM 镜像 压缩 qcow2 格式 Docker 打包即可在集群中像普通 Pod 一样伸缩运行。推荐的制作流程用工具制作基础镜像如 virt-manager用qemu-img convert压缩为 qcow2通过 Dockerfile 打包到/base_image目录根据系统类型选择 virtio 驱动或仿真驱动镜像构建的完整说明见项目文档docs/images.mdKVM 命令行选项的自定义规则也记录在docs/networking.md相关配置中。️ 第一步制作并压缩基础虚拟机镜像用 virt-manager 制作镜像新手推荐virt-manager工具它图形化配置 virtio 设备还能直接从可引导 ISO 安装系统。在 Ubuntu 上生成的 qcow2 镜像会放在/var/lib/libvirt/images/目录需要 root 权限读取。压缩镜像体积立省 50%安装完系统后假设得到myos.img执行压缩qemu-img convert -O qcow2 -c myos.img myos.qcow2官方文档docs/images.md实测这一步可以让镜像体积缩减50% 以上对镜像仓库分发非常友好。 第二步Docker 打包虚拟机镜像打包规则很简单qcow2 文件必须放入/base_image目录且该目录有且只有一个镜像文件文件名随意。项目内置了多套可直接参考的示例位于image/目录Ubuntu 镜像image/ubuntu/16.04.4-server-amd64/DockerfileCentOS 镜像image/centos/7-x86_64-minimal-1708/DockerfileRancherOS 镜像image/rancheros/1.3.0/Dockerfile构建入口image/Makefile以 RancherOS 为例Dockerfile 只有两行FROM scratch COPY rancheros-0.3.0.qcow2 /base_image/rancheros-0.3.0.qcow2其余系统镜像同理把${BASE_IMAGE}参数指向自己的 qcow2 文件即可。⚡ 第三步virtio 驱动配置Linux 首选Linux 发行版大多原生支持 virtio这是效率最高的存储/网络驱动方案。RancherVM 默认使用以下两个 KVM 环境变量KVM_BLK_OPTS配置 virtio-blk 磁盘设备KVM_NET_OPTS配置 virtio-net 桥接网络自定义时有 3 条铁律来自docs/images.md官方警告把$KVM_IMAGE放到指定 qcow2 镜像位置的槽位网络必须是桥接模式虚拟网卡桥接到$BRIDGE_IFACE虚拟网卡 MAC 地址必须设为$MAC⚠️ 特别注意\$中的反斜杠不能删除变量要放在正确位置。不确定如何自定义时可以用 virt-manager 先配置好虚拟机启动再执行ps -ef | grep kvm查看生成的命令行照抄参数即可。 第四步Windows 系统镜像制作要点Windows 不像 Linux 那样开箱即用 virtio必须额外安装 virtio 驱动制作 Windows 镜像时需在系统内手动安装 virtio 存储与网络驱动包项目内置了 Windows 7 镜像参考image/windows/7/Dockerfile基于windows7-starter.qcow2完整 Windows 镜像构建步骤可参考docs/images.md中 Build Windows VM Images 章节附带的演示说明构建产物同样遵循/base_image打包规范配合各系统的Makefile如image/windows/Makefile即可构建推送。️ 第五步仿真驱动兜底方案少数系统不支持 virtio可改用效率较低的仿真驱动兜底。docs/images.md给出了标准示例以 CentOS 为例FROM scratch COPY CentOS-7-x86_64-minimal-1708.qcow2 /base_image/CentOS-7-x86_64-minimal-1708.qcow2 ENV KVM_BLK_OPTS -drive file\$KVM_IMAGE,ifnone,iddrive-disk0,formatqcow2 -device ide-hd,scsioff,buspci.0,addr0x6,drivedrive-disk0,idide-disk0,bootindex1 CMD [-realtime, mlockoff]关键差异将-device virtio-blk-pci换成-device ide-hd即可切换到仿真磁盘。两条安全红线务必牢记CMD参数会原样传给 KVM官方出于安全考虑不鼓励随意透传永远不要自己设置-m或-smp参数——内存与 CPU 由 RancherVM 统一调度手动设置会干扰资源分配 制作前检查清单检查项要求镜像格式优先压缩 qcow2存放位置/base_image目录有且仅有一个文件驱动方案Linux 用 virtioWindows 需装驱动特殊系统用仿真驱动变量占位$KVM_IMAGE、$BRIDGE_IFACE、$MAC位置正确且保留\$转义资源参数不手动指定-m、-smp网络模式桥接模式并指向宿主机网桥全部打勾后你的虚拟机镜像就能通过 VirtualMachine CRD参考示例deploy/example/virtualmachine.yaml在集群里一键拉起享受像容器一样弹性伸缩的虚拟机体验 【免费下载链接】old-vm(OBSOLETE) Package and Run Virtual Machines as Docker Containers项目地址: https://gitcode.com/gh_mirrors/ol/old-vm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考