手动制作openstack windows镜像
https://docs.openstack.org/image-guide/windows-image.html
这里以 windows 2008为例:
准备工作:
1准备好windows 2008 r2 ISO镜像文件
2 下载VirtIO网卡驱动 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
官网地址:https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html
创建KVM虚拟机
qemu-img create -f qcow2 /vm/win2008.qcow2 15G
virt-install --connect qemu:///system --name win2008 --ram 4096 --vcpus 2 --network network=default,model=virtio --disk path=/vm/win2008.qcow2,format=qcow2,device=disk,bus=virtio --cdrom /usr/local/src/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_vl_build_x64_dvd_617396.iso --disk path=/usr/local/src/virtio-win-0.1.141.iso,device=cdrom, --vnc --vncport=5993 --vnclisten=0.0.0.0 --os-type windows --os-variant win2k8 --boot cdrom
引导失败:

处理方法: 思路选择确定boot的类型,再查看光盘的盘符顺序
把硬盘与安装镜像的dev盘符调换下
virsh destroy ws2008
vi /etc/libvirt/qemu/ws2008.xml
virsh define /etc/libvirt/qemu/ws2008.xml
virsh start s2008
再重新安装
把virtio-win-0.1.141-2.iso 与 cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_vl_build_x64_dvd_617396.iso dev盘符调换下
<boot dev='hd'/> 改成 <boot dev='cdrom'/> ,安装好后,再把这个参数改回来


重启时从CDROM启动,即不要按任何键
安装网卡驱动



然后用vnc连接 KVM_IP:5992
手动安装相关软件
安装Cloudbase-Init
下载 安装cloudbase-init安装 https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi
双击CloudbaseInitSetup_Stable_x64.msi

- Username:
Administrator - Network adapter to configure:
Red Hat VirtIO Ethernet Adapter - Serial port for logging:
COM1

清理完成后,系统自动关机
如果sysprep标准化关机有问题,也可以手动执行以下命令进行sysprep标准化。
c:\windows\system32\sysprep\sysprep /oobe /generalize /quiet /shutdown
配置Cloudbase-init工具
- 在cloudbase-init安装路径的配置文件“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf”的最后一行,增加配置项“netbios_host_name_compatibility=false”,使Windows系统的hostname长度支持到63个字符。
说明:
NetBIOS长度受Windows系统本身的限制还只支持小于等于15个字符。
- 在cloudbase-init安装路径的配置文件“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf”中增加配置项“metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService”,配置agent访问openstack数据源。
- (可选)当cloudbase-init为0.9.12及以上版本时,用户可以自定义配置密码长度。在cloudbase-init安装路径的配置文件“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf”里修改配置项“user_password_length”的值,完成密码长度的自定义配置。
- (可选)选择密码注入方式首次登录时,系统默认强制用户修改登录密码,若用户根据个人意愿,不需要修改首次登陆使用的登录密码时,可关闭此功能。在cloudbase-init安装路径的配置文件“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf”配置里增加配置项“first_logon_behaviour=no”。
- 为了防止镜像中DHCP租期过长导致创建的云服务器无法正确的获取地址,用户需要释放当前的DHCP地址。
在windows命令行中,执行以下命令释放当前的DHCP地址。
ipconfig /release
上传镜像:
. /etc/kolla/admin-openrc.sh
openstack image create --disk-format qcow2 --file /vm/ws2008.qcow2 WS2008 --public
virsh destroy vm_name #强制关闭虚拟机
virsh undefine vm_name #删除虚拟机
qemu虚拟机配置文件目录:
/etc/libvirt/qemu/
应用修改后的xml文件
virsh define /etc/libvirt/qemu/centos7.xml
查看容器的启动参数:
在容器外部,物理机上,可以用docker inspect查看或者,docker inspect container
建虚拟机实例:
指定密码,用户即上面设置的Username
元数据项,添加一个
admin_pass 值为你的密码,密码要符合复杂性要求
第一次登录系统会要求你更改密码

手动制作openstack windows镜像的更多相关文章
- 制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)
这是 OpenStack 实施经验分享系列的第 2 篇. OpenStack 通过 Glance 镜像部署 instance,上一节我们介绍了 linux 镜像制作方法,windows 镜像与 lin ...
- 手动制作openstack CentOS 镜像
https://docs.openstack.org/image-guide/centos-image.html This example shows you how to install a Cen ...
- ubuntu openstack windows 镜像制作
openstack windows 镜像制作 首先下载windows所需要的驱动,virtio-win-1.1.16.vfd virtio-win-0.1-59.iso 下载的官方地址是: http ...
- 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...
- openstack windows 2008镜像 制作
openstack windows 2008镜像 制作 openstack centos6 centos7 kvm 镜像制作 http://www.cnblogs.com/elvi/p/7922421 ...
- 使用ISO文件制作openstack使用的coreOS镜像
OpenStack源码交流群: 538850354 本篇文章是使用coreOS ISO文件手动制作openstack使用的qcow2镜像文件,关于coreOS的介绍,可以看这里 使用服务器:cento ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像
在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...
- 用OZ工具制作openstack镜像
在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos7.2镜像,放到/iso目录下 然后用OZ工具制作openstack的镜像 1.安装l ...
- openstack导入镜像
本文以制作CentOS7.2镜像为例,详细介绍手动制作OpenStack镜像详细步骤,解释每一步这么做的原因.镜像上传到OpenStack glance,支持以下几个功能: 支持密码注入功能(nova ...
随机推荐
- Join Algorithm
Join(SQL) An SQL join clause combines columns from one or more tables in a relational database. It c ...
- ORACLE提示表名无效
在创建ORACLE数据库时,创建表 提示表名无效 请查看数据库表名是否出现了小写字母或者关键字,如USER
- SQL注入之Sqli-labs系列第十四关(基于双引号POST报错注入)
开始挑战第十四关(Double Injection- Double quotes- String) 访问地址,输入报错语句 ' '' ') ") - 等使其报错 分析报错信息 很明显是 ...
- SQL注入之Sqli-labs系列第十一关(基于单引号的万能密码注入)
本来以前写过sqli-labs的实战文章,但由于搞了事情,自己的服务器IP被封了,到期后又不太想续了,就一直没管.心酸的痛,都懂的....... 好了,最近这两天一口气写完前十关GET型的,现在到了P ...
- scp 脚本
#!/bin/bash ty=$ local_dir=$ remote_ip=$ remote_dir=$ showUsage() { echo -e "\033[31m ty local_ ...
- React-Native子组件修改父组件的几种方式,兄弟组件状态修改(转载)
子组件修改父组件的状态,在开发中非常常见,下面列举了几种方式.DeviceEventEmitter可以跨组件,跨页面进行数据传递,还有一些状态的修改.http://www.jianshu.com/p/ ...
- ANDROID init进程
init简要 init是Android上启动的第一个用户态进程. 执行序列是: start_kernel() -> rest_init() -> kernel_init() -> i ...
- EtherNet/IP 基本信息
/********************************************************************************* * EtherNet/IP 基本信 ...
- Python中random模块在主函数中设置随机种子是否对于调用的函数中的随机值产生影响?
一个问题,加入我有一个工程文件,在main函数里面调用random模块,设置随机种子,主函数中的随机种子的设置是否会影响主函数所调用的函数中的随机值? 实际上这个问题非常重要,比如你在跑网络的时候,初 ...
- [LeetCode&Python] Problem 896. Monotonic Array
An array is monotonic if it is either monotone increasing or monotone decreasing. An array A is mono ...