openstack windows2012r2 glance镜像制作
镜像实现:
- 密码注入
- 修改密码
- 根分区扩展
1、下载windows iso镜像
- VL Build:批量许可版本,同VL版,一般情况下是发布给企业集团的版本。
- Retail Build:零售版本,一般情况下是面向个人零售市场。
2、获取virtio-win.iso(包含一些硬件驱动和qemu-ga服务)、cloudbase-init
下载地址:
virtio-win.iso: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
cloudbase-init https://github.com/openstack/cloudbase-init
关于virtio:
kvm因为使用了硬件虚拟化,所以其cpu方面的运行效率是很高的。不过,kvm在I/O虚拟化方面,传统的方式是利用QEMU纯软件的方式来模拟I/O设备,
这样每次虚机发起I/O请求的时候,KVM内核模块会捕获这次请求,然后处理后将其放入I/O共享页,并通知用户空间中运行的QEMU程序。
QEMU获得I/O操作,交由硬件模拟代码(Emulation)来模拟出本次I/O操作之后,将结果放回I/O共享页,同时通知KVM内核模块读取I/O共享页的操作结果,把结果返回给虚机。
由于这种方式每次I/O操作经过的路径很复杂,其效率很低。所以就提出了virtio这种方案,virtio其实就是一个运行于Hypervisor之上的api接口,
让客户机知道自己运行于虚拟化环境中,进行I/O操作的时候通过virtio与Hypervisor通信,从而是虚机有更好的性能。
3、创建镜像
创建一个qcow2格式的虚拟机磁盘文件
qemu-img create -f qcow2 windows2012.qcow2 20G
4、安装镜像
使用virt-install安装镜像
virt-install --connect qemu:///system \
--name windows2012 --ram 2048 --vcpus 2 \
--network network=default,model=virtio \
--disk path=windows2012.qcow2,format=qcow2,device=disk,bus=virtio \
--cdrom cn_windows_server_2012_r2_vl_with_update_x64_dvd_4051059.iso \
--disk path=/home/windows-image/virtio-win-0.1.126.iso,device=cdrom \
--vnc --os-type windows --os-variant win2k12r2
5、加载VirtIO Driver,安装磁盘驱动
默认情况下Windows检测不到可用的安装磁盘,我们需要先安装磁盘驱动。
安装Win2k12R2时,选择【手动加载磁盘驱动】
浏览D:\viostor\2k8R2\amd64\viostor.inf
添加选中文件,点击【下一步】进行安装
注意:我们也可以在此步骤安装其他驱动,但是不推荐,
因为有些驱动系统检测不到,会被隐藏,需要去掉【隐藏与系统硬件不匹配的驱动】的对勾,
才能看到相应的.inf文件进行安装
6、系统安装、并重启几次(可能需要手动重启)
开机设置密码:windows2012
7、装其他virtio驱动、启动balloon服务
以管理员权限开启powershell,在命令行中安装virtio-win提供的各个驱动:
PCI简易通信控制器-安装vioserial驱动
内存控制器-安装Balloon驱动
网络适配器-安装NetKVM驱动
存储控制器-安装vioscsi驱动
#各个驱动安装操作一致,
#以netkvm为例:
cd C:\Windows\System32
pnputil -i -a D:\NetKVM\2k12r2\amd64\netkvm.inf

关于PnPUtil:https://technet.microsoft.com/zh-cn/library/ff550419


8、安装qemu-ga
9、安装cloudbase-init
C:\powershell
C:\Set-ExecutionPolicy Unrestricted

下载地址:https://cloudbase.it/downloads/CloudbaseInitSetup_0_9_9_x64.msi
C:\Invoke-WebRequest -UseBasicParsing https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi -OutFile cloudbaseinit.msi
C:\.\cloudbaseinit.msi
安装参考:https://cloudbase.it/cloudbase-init/ 链接下的installation板块
安装过程中的几个需要配置的地方:
Username: AdministratorNetwork adapter to configure: Red Hat VirtIO Ethernet AdapterSerial port for logging: COM1 注意:安装完成后,在最后的安装设置窗口选run sysprep 和 Shutdown check boxes 10、配置Cloudbase-init
cloud-init的一些功能设置可参考:
http://www.cloudbase.it/cloud-init-for-windows-instances/
配置文件参考:
[DEFAULT]
username=Administrator
groups=Administrators
inject_user_password=true
####network_adapter=Red Hat VirtIO Ethernet Adapter ####此项0..9版本,暂时没有
config_drive_raw_hhd=true
config_drive_cdrom=true
bsdtar_path=C:\Program Files (x86)\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
verbose=true
debug=true
logdir=C:\Program Files (x86)\Cloudbase Solutions\Cloudbase-Init\log\
logfile=cloudbase-init.log
logging_serial_port_settings=COM1,,N,
mtu_use_dhcp_config=false
ntp_use_dhcp_config=false
local_scripts_path=C:\Program Files (x86)\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService ###此项待验证
allow_reboot=false ###需要添加此项,禁止开机重启
stop_service_on_exit=false ###添加此项
11、开启远程桌面、关闭防火墙
略
Documentation: http://cloudbase-init.readthedocs.org/en/latest/
openstack windows2012r2 glance镜像制作的更多相关文章
- openstack windows 2008镜像 制作
openstack windows 2008镜像 制作 openstack centos6 centos7 kvm 镜像制作 http://www.cnblogs.com/elvi/p/7922421 ...
- openstack核心组件——glance— 镜像服务(6)
云计算openstack核心组件——glance— 镜像服务(6) 一.glance介绍: Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像 ...
- Openstack window 10 镜像制作
Windows 10 Openstack 镜像制作 //************************************************************************ ...
- OpenStack核心组件-glance镜像服务
1. glance介绍 Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查询虚拟机镜像的metadata ...
- Openstack kvm win7镜像制作
本文地址http://www.cnblogs.com/tcicy/p/7790956.html 网上找了很多为openstack制作win7镜像的文章,总是不成功 自己写一下,以便大家查看. 我使用c ...
- openstack核心组件--glance镜像(2)
一.glance介绍: Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查询虚 ...
- OpenStack组件——Glance镜像服务
1.glance介绍 Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查询虚拟机镜像的metadata及 ...
- 云计算openstack核心组件——glance— 镜像服务(6)
一.glance介绍: Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查询虚 ...
- OpenStack (glance 镜像服务)
glance介绍 glance 提供云虚拟机上的服务镜像(Image)功能,该模块可看成车间里的模具生产部门,其功能包括虚拟机镜像的查找.注册和检索等.该模具最基本的使用方式就是在为云虚拟机实例提供安 ...
随机推荐
- NestedPreb
屌丝手动版 One of the things we’re sorely missing from Unity is nested prefabs. So we rolled this little ...
- Java中的抽象类详解,它存在的意义在哪里?
学习抽象类前先理解下面这段话: 问你个问题,你知道什么是"东西"吗?什么是"物体"吗? "麻烦你,小王.帮我把那个东西拿过来好吗" 在生活中 ...
- CSS3 核心知识面试题
一种常见利用伪类清除浮动的代码 .clearfix:after { content:"."; //这里利用到了content属性 display:block; height:; v ...
- tns no listener
ip 应该为192.168 实际上是 196.168
- MSSQLServer知识点总结:DDL(create,alter,drop,declare)-未完整
一.开发环境 Window10 二.开发工具 SQLServer2012 三.数据库的操作 1.创建 (1)方式一:使用默认的配置信息 create database T_mydb2 (2)方式二:自 ...
- Android RecyclerView局部刷新那个坑
关键:public final void notifyItemChanged(int position, Object payload) RecyclerView局部刷新大家都遇到过,有时候还说会遇见 ...
- Android集成微信分享功能应用签名生成方法及分享不生效的问题
通过友盟sdk集成微博.微信.qq等分享功能时,微博和qq很顺利,但在做微信集成时一直不成功.主要问题还是之前在微信开放平台申请创建移动应用时,对应用签名没有填写对,走了很多弯路现总结出来,加深记忆避 ...
- TF实战:(Mask R-CNN原理介绍与代码实现)-Chapter-8
二值掩膜输出依据种类预测分支(Faster R-CNN部分)预测结果:当前RoI的物体种类为i第i个二值掩膜输出就是该RoI的损失Lmask 对于预测的二值掩膜输出,我们对每个像素点应用sigmoid ...
- 第一节:EasyUI样式,行内编辑,基础知识
一丶常用属性 $('#j_dg_left').datagrid({ url: '/Stu_Areas/Stu/GradeList', fit: true, // 自动适应父容器大小 singleSel ...
- vue-router + axios token登录状态认证
vue项目中登录状态判断往往基于jwt认证,我们可以采用判断本地是否存在token,及token是否过期或token值错误 1.利用vue-router 钩子函数判断本地是否存在token impor ...