制作openstack-windows镜像

准备:

    virtio-win-0.1-52.iso   virtio-win-1.1.16.vfd   Windows server 2003.iso(密钥:JCGMJ-TC669-KCBG7-HB8X2-FXG7M )  vncviewer.exe

1、创建镜像盘
qemu-img create -f raw windowsserver.img 10G
2、启动kvm,映射驱动vfd 到光盘
/usr/libexec/qemu-kvm -m 2048 -localtime -smp 1 -drive file=windowsserver.img,if=virtio,boot=on -fda virtio-win-1.1.16.vfd -cdrom winserver2003.iso -boot order=d,menu=on -name instance-02,process=instance-02 --vnc :13 -usb -usbdevice tablet
之后迅速用vncviewer 接入查看,按F12 ,跳到菜单选项,否则会自动进入硬盘启动模式,如果不慎进入,请kill 掉kvm 进程,再重启kvm 尝试迅速按F12。选择从DVD/CD启动,之后一直回车。
3、格式化为fat32,不知道ntfs 行不行,这里用的是fat ,不是ntfs!格式化后,可能会重启,按F12,选择从iPXE启动。
4、之后配置时间日期这些,安装产品密钥也是在这里配置,如果不配置,不能进行安装。。之后就差不多安装成功。
5、输入密码,我的电脑-》属性-》远程桌面-》开启远程桌面,关机
6、重启虚拟机镜像,加载virtio 驱动
/usr/libexec/qemu-kvm -m 2048 -drive file=windowsserver.img -cdrom virtio-win-0.1-52.iso -net nic,model=virtio -net tap -boot order=c -usbdevice tablet -nographic -vnc :13,按提示(推荐)安装虚拟网络适配器,然后关机。
7、添加镜像到glance
glance add name=winserver2003 is_public=true container_format=ovf disk_format=qcow2 < windowsserver.img 

附录:(命令参数介绍)
qemu-kvm -m 2048 -localtime -M pc -smp 1 -drive
file=redhat5.3.img,index=0,cache=writeback,boot=on,if=virtio -net nic,model=virtio -net tap -cdrom rhel-server-5.3-x86_64-dvd.iso -boot d -name instance-01,process=instance-01 -vnc :2 -usb -usbdevice tablet

-m memory 大小为2G
-localtime 创建的镜像指定为本地的时间
-M 选择模拟机器的类型,使用qemu-kvm -M ?,可以看到支持的机器类型
Supported machines are:
pc RHEL 6.2.0 PC (alias of rhel6.2.0)
rhel6.2.0 RHEL 6.2.0 PC (default)
rhel6.1.0 RHEL 6.1.0 PC
rhel6.0.0 RHEL 6.0.0 PC
rhel5.5.0 RHEL 5.5.0 PC
rhel5.4.4 RHEL 5.4.4 PC
rhel5.4.0 RHEL 5.4.0 PC
-smp cpu 核数,一个核上面的线程数等的设置
-boot d 以CD-ROM 方式引导
-cdrom 制定镜像文件
-drive file= 指定盘符,初始偏移量,以及虚拟化管理程序种类,这里使用virtio,这种半虚技术,
-name 指定实例名,注意不要和现有的实例名重复
-net nic,model=virtio 创建网卡,并将其连接到vlan 中,使用virtio 虚拟技术
-net user,将用户模式的网络堆栈连接到VLAN,配置DHCP 服务器功能的可选服务
-net tap ,tap类型网络,相当于“桥模式
-usbdevice tablet 在安装系统时会出现两个鼠标,这个参数可以使鼠标同步起来
-vga 选择显卡类型
-vnc :2 开启一个vnc 端口,使用vnc 连接,来安装系统

如虚拟一个Windows7的系统安装,常用参数如下:

  qemu-kvm -m 1024 -localtime -M pc -smp 1 -drive file=Windows7_x86.img,cache=writeback,boot=on -net nic,macaddr=52:54:00:12:34:80 -net tap -cdrom Windows7.iso -boot d -name kvm-win7,process=kvm-win7 -vnc :2 -usb -usbdevice tablet

  -m 1024  设置虚拟系统内存1024MB

  -localtime  使虚拟系统与宿主系统时间一致

  -M pc  虚拟系统类型为pc

  -smp 1  1个CPU

  -drive file=Windows7_x86.img,cache=writeback,boot=on

  硬盘选项,虚拟磁盘是Windows7_x86.img,cache方式为writeback,可引导型磁盘。

  -net nic,macaddr=52:54:00:12:34:80  网卡选项,手工指定mac地址。

  -net tap  tap类型网络,相当于“桥模式”

  -cdrom Windows7.iso  光驱

  -boot d  启动顺序。d代表光驱。

  -name kvm-win7,process=kvm-win7  为虚拟机取名,便于识别

  -vnc :2  这里是通过vnc连接控制窗口,这里是在5902端口。client可用IP:2连接。

  -usb -usbdevice tablet  启用usb设备中的tablet功能。开启该功能可使虚拟机内外的鼠标同步。

  另外,在安装了磁盘和网卡的半虚拟化驱动后,可以在-drive中加入if=virtio使用磁盘半虚拟化,在-net nic中加入model=virtio使用网卡半虚拟化驱动。

你可能感兴趣的:(windows,镜像,openstack)