openstack之win7镜像初始化

cloudinit为我们提供了一个初始化云主机的工具,但是大部分资料都是针对linux如何使用,对windows怎么具体使用很少涉及(大概是因为很简单,直接安装就行,参考下面文章)

win7镜像制作
openstack之cloudinit配置

完成上述工作之后,一般是需要进行镜像的用户名密码设置,比如增加一个user并指定用户所属(Administrator/Guest),增加一个初始化程序,写个脚本等等…

元数据

元数据可以自己定义,key-value,例如,我需要添加条测试信息

nova meta set instance-000 testInfo=content

这个意思是说,我向主机instance-000添加一条元数据,这个元数据内容是{testInfo:content},如果添加成功,可以在 http://169.254.169.254/openstack/latest/meta_data.json 中看到meta中的信息。目前我还不知道这个自己添加的数据有什么用,如果手动做的话,我觉的应该在instance-000中写一个脚本,去请求meta_data.json数据,然后解析json,获取出testInfo,content,然后达到执行的目的。(这是目前的想法,也是最笨的方法)。cloudinit保留了admin_pass这个字段,创建主机时,直接使用它就可以设置密码(用户名,密码,预设值是在cloudinit安装路径的.conf文件里,可以看到)

nova boot --flavor m1.xlarge --image win7-ci --nic net-id=selfprovide --security-group default instance-0 --meta admin_pass=123456

创建一个云主机,设置网卡selfprovide(注意,使用cloudinit,必须要私网的,内部通信所需),指定初始密码是123456。默认情况下,实例创建成功后,需要重启一次,cloudinit才能生效。

nova meta set instance-0 username=user

增加一个元数据,这个手动解析吧,如果不想干这些事,那就是用user-data来解决

user-data

镜像模板制作时,根本不需要设置任何的用户名密码,如果你安装了cloudinit,并且没有任何改动,当实例创建好以后,会增加一个Admin用户,密码是admin_pass。如果想增加一个Guest该如何用?cloudinit给我们提供了一个user-data方案,请参考cloudinit-userdata. 在windows下可以使用批处理powershellpythonxml格式,linux下shellpythonxml。但要注意加首行标记

批处理

rem cmd

PowerShell

#ps1_sysnative (system native)
#ps1_x86 (Windows On Windows 32bit)

shell

#!/bin/bash

Python

#!/usr/bin/env python

注意:要预装python解析环境
Python is available by default with the build itself, but also it must be in the system PATH.

EC2 format

# 没有标记行

添加一个demo用户示例
这里采用批处理格式

rem cmd
net user demolongruan /add /passwordchg:no /expires:never
net localgroup Guests demo/add
net localgroup Users demo/del

保存文件为adduser.bat

nova boot --flavor m1.large --image win7-ci --nic net-id=selfprovice --security-group default win7-1 --meta  admin_pass=123456 --user-data ./adduser.bat

执行成功,重启后会发现多个Guest用户demo

参考文章:
http://cloudbase-init.readthedocs.io/en/latest/userdata.html#batch
https://ask.openstack.org/en/question/61813/calling-batch-script-from-cloudbase-init/
https://www.ibm.com/developerworks/cn/cloud/library/1620-openstack-metadata-service/

要制作open stack win2022镜像,需要按照以下步骤进行操作: 1. 首先,准备好一台Linux服务器作为制作镜像的环境。确保该服务器已安装OpenStack系统,并且与目标主机连接良好。 2. 下载Windows Server 2022镜像文件,通常以ISO或VHD格式提供。确保下载的镜像文件与OpenStack版本兼容。 3. 将镜像文件上传到OpenStack镜像仓库,可以使用glance命令来实现。首先,使用以下命令登录到OpenStack环境中: ``` $ source openrc ``` 然后,使用以下命令上传镜像文件: ``` $ openstack image create --file windows2022.iso --disk-format iso --container-format bare --public windows2022 ``` 其中,windows2022.iso是镜像文件的路径和名称,--disk-format指定磁盘格式,--container-format指定容器格式,--public指定该镜像为公共可用。 4. 创建一个虚拟机实例并使用刚刚上传的镜像。通过OpenStack的控制台或命令行工具来创建虚拟机,确保在创建过程中选择了刚刚上传的Windows Server 2022镜像。 5. 配置虚拟机的参数,如网络、存储和安全组等。根据需要设置虚拟机的网络连接、磁盘存储和安全组规则等配置。 6. 启动虚拟机实例,并等待其完成启动过程。这需要一些时间,虚拟机会自动从镜像中加载操作系统并启动。 7. 最后,通过远程连接工具(如RDP)连接到该虚拟机,执行Windows Server 2022的初始化配置过程。 在完成上述步骤后,你将成功制作了一个OpenStack Win2022镜像,可以在OpenStack环境中使用该镜像来创建和部署Windows Server 2022虚拟机实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值