为 OpenNebula 制作 Windows 镜像
2011年11月23日 | 标签: kvm, opennebula, windows | 作者:vpsee
说是给 OpenNebula 做 Windows 镜像其实就是做个 KVM 上的 Windows 虚拟机而已,操作步骤无非就是:创建一个硬盘、在硬盘上安装 Windows 系统、把安装好的 Windows 镜像当作模板来复制和创建 Windows 虚拟机。
创建一个 10GB 大小的 “硬盘”(raw 格式):
$ kvm-img create -f raw windowsxp.img 10G Formatting 'windowsxp.img', fmt=raw size=10737418240
然后使用 ISO 文件的 windowsxp.iso 安装盘来安装 Windows,注意运行 kvm 需要 root 权限,否则会出现 open /dev/kvm: Permission denied 错误:
$ sudo kvm -m 1024 -cdrom windowsxp.iso -drive file=windowsxp.img -boot d -nographic -vnc :0
在另外一台机器上启动 vnc 客户端登录完成 windows 安装:
$ vncview 172.16.39.111:5900 或者 $ vncview 172.16.39.111:0
安装完 windows 后可以进行一些必要的定制,比如打开 RDP 访问、设置防火墙不要屏蔽 RDP 和 ICMP 等。
创建和编辑虚拟网络配置文件,然后创建一个 OpenNebula 虚拟网络(参考:在 CentOS 上安装和配置 OpenNebula):
$ vi small_network.net NAME = "Small network" TYPE = FIXED BRIDGE = br0 LEASES = [ IP="172.16.39.111"] LEASES = [ IP="172.16.39.112"] LEASES = [ IP="172.16.39.113"] $ onevnet create small_network.net $ onevnet list ID USER NAME TYPE BRIDGE P #LEASES 0 oneadmin Small network Fixed br0 N 0
创建和编辑 Windows XP 虚拟机的启动配置文件:
$ vi windowsxp.one NAME = winxp CPU = 1 MEMORY = 1024 OS = [ boot = hd ] DISK = [ source = /var/lib/one/images/windowsxp.img, clone = no, target = hda, readonly = no ] GRAPHICS = [ type ="vnc", listen ="0.0.0.0", port = "5900" ] FEATURES = [ acpi="yes" ] NIC = [ NETWORK = "Small network" ]
依照上面的配置在 OpenNebula 上创建一个 Windows 虚拟机,等待片刻后不断用 onevm list 命令查看当前虚拟机的创建情况,状态一般会从 pend -> prol -> boot -> runn,runn 状态就表示虚拟机已经成功创建并正常运行。最后检查一下 OpenNebula 是否成功创建一个名叫 winxp 的 Windows 虚拟机:
$ onevm create windowsxp.one $ onevm list ID USER NAME STAT CPU MEM HOSTNAME TIME 32 oneadmin winxp runn 6 1024M node00 00 00:20:26
上面的 Windows 虚拟机无法正确得到 OpenNebula 预分配的 IP 地址,需要在 Windows 里配置网络连接手动绑定静态 IP,有办法可以从 OpenNebula 那里自动获得 IP,这个问题留到以后再说。
您好,请教个问题,我用kvm安装redhatu2时,有5张安装盘,中间需要插入其他安装盘,请问如何插入其他安装盘?
@tangyla
安装过程中更换光盘或 iso 可以按照厦门步骤:
1、ctrl+art+2 进入 qemu-shell
2、info block 得到光驱信息 ide1-cd0
3、eject ide1-cd0 弹出光盘 iso
4、chang ide1-cd0 /home/vpsee/cd2.iso 更换光盘 iso 镜像文件
5、ctrl+art+1 返回系统就看到更换后的 iso
你好,非常谢谢你的文章。
Windows 虚拟机无法正确得到 OpenNebula 预分配的 IP 地址,需要在 Windows 里配置网络连接手动绑定静态 IP,有办法可以从 OpenNebula 那里自动获得 IP,这个问题留到以后再说。
对于这个问题,能找个时间写写吗?
谢谢!