您的位置:首页 > 运维架构

openstack wins虚拟机镜像制作手册

2013-01-05 14:36 323 查看
1. 镜像制作环境概述

CPU:Intel(R) Core(TM) i5-2300 CPU @ 2.80GHz

RAM:4G

Disk:500G

NET:100Mb/s

*********华丽的分割线************

OS: Ubuntu 12.10 amd64 server

Hypervisor: KVM

Hypervisor CLI:qemu-kvm

2. 部署镜像制作环境

Ubuntu操作系统安装过程跳过,请自行解决。

KVM部署:

A 检查本地环境是否支持KVM,即CPU是否开始VT。

$egrep '(vmx|svm)' --color=always /proc/cpuinfo

备注:VMX 对应Intel系列的CPU

SVM 对应AMD系列的CPU

B 安装KVM的依赖包

$apt-get install ubuntu-virt-server python-vm-builder kvm-ipxe

备注:KVM的网络配置未解决,已测试现创建的vm无法访问外网。

C 加载KVM Module

$lsmod | grep kvm



modprobe kvm

modprobe kvm_amd 或者 kvm_intel

D 检查kvm环境

$kvm-ok



3. 下载并测试WinXP安装镜像盘

WinXP 安装盘下载

地址:thunder://QUFodHRwOi8vc29mdC51c2Fpa2EuY24vJUU2JTkzJThEJUU0JUJEJTlDJUU3JUIzJUJCJUU3JUJCJTlGL3dpbmRvd3MvV2luZG93c1hQL1ZMLUltYWdlL01TRE4vemgtaGFuc193aW5kb3dzX3hwX3Byb2Zlc3Npb25hbF93aXRoX3NlcnZpY2VfcGFja18zX3g4Nl9jZF92bF94MTQtNzQwNzAuaXNvWlo=

准备CD-KEY:MRX3F-47B9T-2487J-KWKMF-RPWBY [已测]

备注:建议在vmware上测试已下载的安装镜像盘可否正是使用。

4. 准备空的虚拟机镜像盘

例如:创建容量3G,raw格式的镜像盘。

$qemu-img create -f raw winxp.img 3G

$qemu-img create –f raw winxp1.img 3G

备注:由于默认openstack为每个虚拟机附件2块硬盘。

qemu-img参考资料:
http://blog.sina.com.cn/s/blog_553c6d4e0101aovh.html
5. 准备win版的virtio驱动

Virtio驱动主要包括Red Hat VirtIO Ethernet Adapter(以太网网卡驱动),Red Hat VirtIO SCSI controller(SCSI控制器驱动)经测试本驱动在虚拟机安装成功后,使用if=virtio虚拟机启动蓝屏。

下载列表:

http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-30.iso [此链接可以直接下载]

http://download.csdn.net/download/hellyhe/4533074 [下载本链接处的csdn资源]

备注:VirtIO 是半虚拟化 hypervisor 中位于设备之上的抽象层。virtio 是对半虚拟化 hypervisor 中的一组通用模拟设备的抽象。该设置还允许 hypervisor 导出一组通用的模拟设备,并通过一个通用的应用编程接口(API)让它们变得可用。

参考资料:

http://baike.baidu.com/view/9309782.htm

http://www.linux-kvm.org/page/Documents

6. 安装vncviewer组件

$ apt-get install xvnc4viewer

7. 使用qemu-kvm创建kvm镜像虚拟机

命令行:

$ kvm -m 1024 -drive file=winxp.img,cache=writeback,if=virtio -dirve f ile=winxp1.img,cache=writeback,if=virtio
-fda virtio-win-1.1.16.vfd -cdrom winxp.iso -net nic -net user -boot order=d,menu=on -usbdevice tablet -nographic -vnc :0

具体参数详解:

-m 1024 为虚拟机分配的内存大小

-drive file=winxp.img,cache=writeback,if=virtio 虚拟机的硬盘信息

winxp.img:qemu-img创建的虚拟机镜像

cache=writeback:存储IO写回缓存

if=virtio:配置虚拟机使用virtio驱动访问硬盘存储。

-fda virtio-win-1.1.16.vfd 虚拟机的软驱信息

-cdrom winxp.iso 虚拟机的光驱配置,并加载安装盘iso文件

-net nic -net user 虚拟机的网络配置,此处未明,[mark]

-boot order=d,menu=on 虚拟机从光驱启动,并开启boot 选项菜单。

order=d 光驱启动

order=c 硬盘启动

-usbdevice tablet 虚拟机的USB配置

-nographic disable graphical output and redirect serial I/Os to console

-vnc :0 为虚拟机开始vncserver,端口5900,0。

8. 安装winxp操作系统

使用vncviewer连接虚拟机,并安装winxp操作系统。

$vncviewer :0

操作系统安装成功后,配置操作系统:

(1) 安装SCSI控制器驱动,将两块硬盘的驱动都安装上。

(2) 在我的电脑属性中开启远程桌面。

(3)

在防火墙中开启ICMP Reply,响应ping包。

9. 重启虚拟机镜像

命令行:

$kvm -m 1024 -drive file=winxp.img,cache=writeback,if=virtio -drive file=winxp1.img,cache=writeback,if=virtio -cdrom virtio-win-0.1-30.iso -net nic,model=virtio -net user -boot order=c -usbdevice tablet -nographic -vnc :0

具体参数详解:

参数相同部分请参考以上命令。

-cdrom virtio-win-0.1-30.iso 加载virtio至光驱中。

-boot order=c 虚拟机配置从硬盘启动。

10. 加载virtio网卡和SCSI控制器驱动

使用vncviewer访问,提示自动安装virtio的网卡驱动。

11. 发布镜像

备注:建议将虚拟机镜像做压缩处理。

$qemu-img convert -c -p -f qcow2 -O qcow2 winxp.img winxp.zip.img

压缩命令仅支持qcow2格式的虚拟机镜像。

$ glance add name="winxp" is_public=true container_format=ovf disk_format=raw < winxp.img
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: