使用cloudbase-init初始化windows虚拟机
CloudBase-init简介
cloudbase-init 是 Windows 和其他系统的云初始化程序,可以设置主机名、创建用户、设置静态ip、设置密码等。对应的linux初始化程序是cloudinit,都是开源的Python项目。官方文档:http://cloudbase-init.readthedocs.io/en/latest/index.html
cloudbase-init主要包括两部分services和plugins。Service主要为plugins提供数据来源,来源包括指定的云服务(openstack、ec2等)、本地配置文件(iso文件、物理磁盘)等。plugins即为执行相关操作的插件,像初始化ip、创建用户等。
实现功能
首先, 下载你所需要的安装包, 新版本为0.9.11,之后安装并在配置文件中填入最适合你的选项. 基于当前 cloudbase-init 安装包的安装方式, 他将会在 C:\Program Files or C:\Program Files (x86) as Cloudbase Solutions\Cloudbase-Init目录中. 其中目录结构如下所示:
- bin - 可执行文件和其他二进制文件.
- conf - 配置文件
- log - cloudbase-init相关日志.
- LocalScripts - 用户提供的脚本
安装完成之后, cloudbase-init 作为一个使用服务和通过插件去执行的两个步骤的服务, 通过这种方式去支持所有的配置. 根据平台不同的插件可能需要重启.
配置文件解析:
[DEFAULT]
# 创建什么用户以及用户属于什么组.
username=Admin #一般都是改为Administrator
groups=Administrators
inject_user_password=true # 从元数据中获取密码 (非随机).
# 那个设备是可能的配置驱动 (元数据).
config_drive_raw_hhd=true
config_drive_cdrom=true
# 与ubuntu中功能相同的tar命令默认路径.
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-unattend.log
default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN
logging_serial_port_settings=
# 启用最大传输单元和时间同步服务.
mtu_use_dhcp_config=true
ntp_use_dhcp_config=true
# 存放用户用于执行的脚本的路径.
local_scripts_path=C:\Program Files (x86)\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
# 服务将会检测以下驱动直到某个能够成功获取元数据.
metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, #可以开启ConfigDrive和httpservice(Openstack)
cloudbaseinit.metadata.services.httpservice.HttpService,
cloudbaseinit.metadata.services.ec2service.EC2Service,
cloudbaseinit.metadata.services.maasservice.MaaSHttpService
# 需要执行的插件.
plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin,
cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,
cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,
cloudbaseinit.plugins.windows.userdata.UserDataPlugin,
cloudbaseinit.plugins.windows.setuserpassword.SetUserPasswordPlugin,
cloudbaseinit.plugins.windows.localscripts.LocalScriptsPlugin
# 其他配置.
allow_reboot=false # allow the service to reboot the system
stop_service_on_exit=false
cloudbase-init-unattend.conf配置文件与默认的类似以及它用户系统准备阶段. 他被用于最小化用户交互以及要求有MTU和修改主机名的插件的这种场景, 让镜像准备好进行进一步的初始化.
使用cloudbase-init初始化windows虚拟机的更多相关文章
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装Windows虚拟机)-(4)
一.背景说明 在之前的篇章中,提到在webvirtmgr里安装linux系统的vm,下面说下安装windows系统虚拟机的操作记录: 由于KVM管理虚拟机的硬盘和网卡需要virtio驱动,linux ...
- 使用“npm init”初始化项目
使用npm init初始化项目 为什么要使用npm init初始化项目 在node开发中使用npm init会生成一个pakeage.json文件,这个文件主要是用来记录这个项目的详细信息的,它会将我 ...
- Centos7 搭建KVM并创建Linux Windows虚拟机
一.安装KVM 查看系统版本 cat /etc/redhat-release 关闭防火墙及selinux systemctl disable firewalld.service 查看防 ...
- Swift - 重写UIKit框架类的init初始化方法(以UITabBarController为例)
原来写了篇文章讲UITabBarController的用法,当时是从UIViewController跳转到UITabBarController页面,代码如下: 1 self.presentViewCo ...
- Mac安装windows虚拟机攻略
5月初从阿里滚粗,然后失去了公司发的Mac Air.说实话Mac机器确实比windows好用一些,于是怒而买了一个Mac Pro. 结果一个星期后我从学校带出来的联想笔记本又被老师通知要进行固定资产盘 ...
- 无法连接windows虚拟机oracle的解决办法
在mac机上玩基于oracle db的开发真心不容易,oracle公司死活不出oracle express edition for mac OS,曾经发布过的oracle 10 for mac下载地址 ...
- KVM下windows虚拟机使用virtio驱动
KVM下windows虚拟机默认disk使用的是Qemu IDE硬盘,网卡默认是rtl8139网卡.为了使kvm主机在相同的配置下,有更好的效率,可以将网卡和磁盘替换成virtio的驱动. windo ...
- MacBook使用笔记2 - 安装windows虚拟机攻略
转载请标注原链接:http://www.cnblogs.com/xczyd/p/5498878.html 5月初从阿里滚粗,然后失去了公司发的Mac Air.说实话Mac机器确实比windows好用一 ...
- 将 Windows 虚拟机从非托管磁盘转换为托管磁盘
如果有使用非托管磁盘的现有 Windows 虚拟机 (VM),可通过 Azure 托管磁盘服务将 VM 转换为使用托管磁盘. 此过程会同时转换 OS 磁盘和任何附加的数据磁盘. 本文介绍如何使用 Az ...
随机推荐
- python 面向对象(四)--实例属性和类属性
由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(se ...
- javascript入门笔记2-window
1.JavaScript-输出内容(document.write) <script type="text/javascript"> document.write(&qu ...
- SqlServer和Oracle修改表结构语句
SQL Server:1.增加列 ALTER TABLE users ADD address varchar(30);2.删除列 ALTER TABLE users DROP COLUMN add ...
- WebSeal单点登陆
WebSeal单点登陆 作为学习整理,部分内容来自网络和官方文档. LDAP LDAP可以看作一种数据库,分为客户端和服务端.服务端是用来存放资源,客户端用来操作资源.它是一种树形存储结构,遍历起来会 ...
- linux 设置自动关机和重启命令shutdown
1.shutdown使用命令:Shutdown [选项] [时间] r 关机后立即重启 h 关机 2. 立即关机: shutdown -h now
- 泉五培训Day1
T1 树学 题目 [问题描述] 给定一颗 n 个点的树,树边带权,试求一个排列 P,最大化下式 其中,calc(a, b)表示树上由a到b经过的最大边权. [输入格式] 第一行一个整数 n,表示点数下 ...
- Python的静态方法和类方法
Python中使用@staticmethod这个装饰器让方法变为静态方法 一:定义 @staticmethod: 首先它是一个装饰器,被装饰的方法不需要隐含的参数,对象和对象的实例都可以调用静态方法 ...
- 概述「DAG加边至强连通」模型&&luoguP2746校园网Network of Schools
模型概述 有一DAG,问最少加多少条边能够使图强连通. 题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的 ...
- struts2之标签库
使用Struts2标签的准备工作: 导入Struts2标签库,该标签定义文件位于 struts2-core-2.3.16.3.jar 的 METE-INF下的struts-tag.tld文件. < ...
- 汉罗塔问题——Python
汉罗塔问题就是一个循环的过程:* (有两种情况) 如果被移动盘只有一个盘子,可以直接移动到目的盘 但是被移动盘有多个盘子,就先需要将上面的n-1个盘子通过目的盘移动到辅助盘,然后将被移动盘最下面一个盘 ...