制作openstack windows镜像模板(官方镜像)

2019年1月1日 Off By yyy

一、硬件及软件准备

1、物理机一台:要求支持硬件虚拟化,将centos7安装在物理机上

2、windows7的ISO ,可使用任意官方镜像,此处以windows7-x86为例。

3、下载virtio驱动

因为win默认不支持virtio驱动,而通过openstack管理虚拟机是需要virtio驱动的。需要两个virtio驱动,一个是硬盘的,一个是网卡 。

备注:要求对虚拟机进行内存监控,故在模版制作过程中需要安装virtio-balloon驱动

下载地址一:

https://fedoraproject.org/wiki/Windows_Virtio_Drivers#Direct_download

wKioL1mRWQrynoI6AAEjo7bohOY477.png

下载地址二:

http://pan.baidu.com/share/link?shareid=3434663063&uk=3372669665&fid=835080568834768

下载的是iso文件,解压后可得到vfd文件

wKioL1mRWSnBqcwKAAAkrvoC6iQ040.png

可根据windows系统的选择响应的vfd文件

二、环境准备

1 、检查系统是否支持kvm

# egrep “(vmx|svm)” /proc/cpuinfo

支持正常有回显:

wKioL1mRWT2wKQ9sAACRxbpHdfU137.png

2、安装软件包

  • 允许连外网,使用centos的源

wKioL1mRWXewmfTOAACHZlietqQ593.png

# yum clean all

安装底层依赖包

# yum install qemu-kvm qemu-img –y

 

  • 不允许连外网,使用本地yum源

1.拷贝镜像文件到本地,将本地ISO文件挂载

# mount -o loop -t iso9660 /root/CentOS-7.1-x86_64-DVD-1503-01.iso /media

2.修改yum文件,搭建本地yum源

# cd /etc/yum.repos.d/

# vi os.repo

写入

[os]

name=os

baseurl=file:///media

enabled=1

gpgcheck=0

备注:repo文件的名称必须与内容中的session一直

3.安装底层依赖包

# yum clean all

# yum install qemu-kvm qemu-img –y

3、创建链接

# ln -s /usr/libexec/qemu-kvm /usr/bin/kvm # ln -s /usr/bin/qemu-img /usr/bin/kvm-img

三、镜像制作

1、创建镜像目录,仅windows的iso以及virito文件拷贝到该目录

# mkdir image

# cd image/

wKioL1mRWbqiJW6-AAAeJZQhFig385.png

2、制作磁盘文件(.qcow2),磁盘大小根据系统需求设定

# qemu-img create -f qcow2 win7.qcow2 20G

wKioL1mRWcSjgs_ZAAARphkoEwk270.png

3、给存放镜像及磁盘文件的目录赋权,否则创建云主机时无法打开磁盘文件

# chown -R qemu:qemu /root/image/

wKiom1mRWdCyBoflAAAe83Svxqo809.png

4、启动基于windows7的kvm虚拟机,映射驱动器到vfd软盘

# kvm -name win-lh \              -m 2048 \              -cdrom /root/image/cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso \              -drive file=/root/image/virtio-win-0.1.102.iso,media=cdrom,index=1 \              -drive file=win7.qcow2,media=disk,index=1,if=virtio,format=qcow2 \              -fda /root/image/virtio-win-0.1.102_x86.vfd \              -boot order=dc,once=d \              -net nic,model=virtio \               -net user -boot c \              -balloon virtio \              -display vnc=:3

wKioL1mRWeuxH_3EAAA0GjFsIJ8714.png

选项解释:

-fda file 使用file作为软盘镜像.我们也可以通过将/dev/fd0作为文件名来使用主机软盘.

-cdrom file 使用文件作为CD-ROM镜像(IDE光盘镜像)

-boot [a|c|d] 由软盘(a),硬盘(c)或是CD-ROM(d).在默认的情况下由硬盘启动

-net nic[,vlan=n][,macaddr=addr] 创建一个新的网卡并与VLAN n

-net user[,vlan=n]  使用用户模式网络堆栈,这样就不需要管理员权限来运行.如果没有指 定- net选项,这将是默认的情况

-balloon virtio  使用virtio balloon

5、使用vnc客户端安装

输入10.10.199.11:3地址及端口可以看到启动界面

wKioL1mRWjbj9XLKAABjHXHLhuw765.png

 

6.安装windows系统并安装相关驱动

选择自定义安装

wKiom1mRWk7zrb8uAAnqrlj4HsI569.pngwKioL1mRWnLyT1veAAD82-C2-xI821.png

默认识别不了硬件,点击加载驱动程序

wKioL1mRWo_hL1G3AAVFVAlIwEY925.png

点击浏览

wKiom1mRWp6BghnlAACInAjNMJE608.png

 

从软盘中选择磁盘驱动

wKiom1mRWrmQmneBAAU__05INk8066.png

选择相应的windows版本

wKioL1mRWtCwPCgQAAWZZj-GgFk540.png

选择磁盘驱动进行安装,网卡驱动需要在安装完成后进行更新

wKiom1mRWvXxm2r6AAVJqC-_v-k657.png

选择磁盘驱动后正常安装即可

安装完成,使用设置的用户名密码登录

wKiom1mRWw6TBX2kAAeGk60LrNc850.png

打开设备管理器,查看磁盘驱动正确

其他设备中有两个驱动需要更新安装

wKioL1mRXNTxZhArAAFGae4fqn8366.png

进入“设备管理器” – “系统设备”,安装“以太网控制器”,选择浏览计算机上的设备,在CD中选择对应的windows版本

wKiom1mRXOPwl8mfAADvXgEHOzU371.png

进入“设备管理器” – “系统设备”,安装“PCI设备”为“Virtio Balloon Driver”

wKiom1mRXPniovPGAADuEtzfRJI945.png

wKioL1mRXQqh29PvAAEdXTW05H4285.png

virtio-balloon驱动安装后balloon服务并未安装,需要手动安装:

  1. 将virtio-win光驱中的WIN7/X86目录中的blnsvr.exe文件拷贝到“c:/”(系统盘的任意目录)
  2. 以管理员身份使用cmd命令行进入上述目录
  3. 执行“BLNSVR.exe -i”用以安装BLNSVR服务

wKiom1mRXUOR2j3kAADAHpJPeDw611.png

wKioL1mRXVyyAiGvAAD5uYgJG44770.png

此时查看balloon服务正常运行,且自启动

wKiom1mRXWuyD-v9AAEXpLVV6XM454.png

关闭防火墙

wKioL1mRXYbBzb_eAADEFL_yvHU318.png

开启远程连接

wKioL1mRXYeDOl4CAADu3TeQTAM835.png

正常关机保存设置

7.查看磁盘文件格式并进行格式转换

# qemu-img info win7.qcow2

# qemu-img convert -f qcow2 -O qcow2 win7.qcow2  window7.qcow2

8.glance上传openstack并验证