Proxmox VE给Windows虚拟机设置CloudBase-init
Proxmox VE给Windows虚拟机设置CloudBase-init
Riv3n添加接口
首先我们要在硬件里添加一个端口给cloudbase-init
先关闭虚拟机,然后如图添加


同理再添加一个cloud-init设备


下载安装
给虚拟机开机,通过官方下载地址进行下载
打开安装,一直下一步即可

到这里选端口的时候就选我们刚才刚添加好的端口,下面的勾是Windows Server就不要勾

点install以后等一会它自己安装

最后这两个也不要勾选,然后点“finish”完成安装

配置文件
在Cloudbase-Init安装路径下的配置文件“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf”中执行以下操作:
在最后面增加以下内容:
1 | netbios_host_name_compatibility=false |
增加配置项“netbios_host_name_compatibility=false”,使Windows系统的hostname长度支持到63个字符。(NetBIOS长度受Windows系统本身的限制还只支持小于等于15个字符。)
增加配置项“metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService”,配置agent访问本地数据源。
增加配置项“first_logon_behaviour=no”,选择密码注入方式首次登录时,系统默认强制用户修改登录密码,若用户根据个人意愿,不需要修改首次登录使用的密码时,可关闭此功能。
以下是其他可选的:
添加plugins配置项,设置要加载的模块,以“,”为分隔符,加粗的部分为模块关键字。
如下参数配置为官方默认加载模块,您可以根据业务需要选择配置全部或部分模块:
1 | plugins=cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin,cloudbaseinit.plugins.common.mtu.MTUPlugin,cloudbaseinit.plugins.windows.createuser.CreateUserPlugin,cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin,cloudbaseinit.plugins.common.sshpublickeys.SetUserSSHPublicKeysPlugin,cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin,cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin |
各模块功能如下所述:
- LocalScriptsPlugin:设置脚本执行
- MTUPlugin:设置MTU网络接口
- CreateUserPlugin:创建用户
- SetUserPasswordPlugin:设置密码
- SetUserSSHPublicKeysPlugin:设置密钥
- SetHostNamePlugin:设置主机名
- ExtendVolumesPlugin:磁盘扩容
- UserDataPlugin:用户数据注入
- WindowsLicensingPlugin:激活window instance
可选加载模块,请参考如下配置**(可选)**:
1 | plugins=cloudbaseinit.plugins.windows.winrmlistener.ConfigWinRMListenerPlugin,cloudbaseinit.plugins.windows.winrmcertificateauth.ConfigWinRMCertificateAuthPlugin |
各模块功能如下所述:
- ConfigWinRMListenerPlugin:设置远程登录监听
- ConfigWinRMCertificateAuthPlugin:设置远程登录无密码认证
**(可选)**增加如下配置项,配置获取metadata的重试次数和间隔。
1 | retry_count=40 |
**(可选)**增加如下配置项,防止Windows添加默认路由导致metadata网络不通。
1 | [openstack] |
(可选)当Cloudbase-Init为0.9.12及以上版本时,用户可以自定义配置密码长度。
操作方法:修改配置项“user_password_length”的值,完成密码长度的自定义配置。
**(可选)**增加Cloudbase-Init配置项,防止虚拟机无法使用BIOS时间同步。
操作方法:在“cloudbase-init.conf”中添加相应的配置项“real_time_clock_utc=true”。
(BIOS时间同步功能是通过增加注册表项“RealTimeIsUniversal=1”实现。如果不添加配置项“real_time_clock_utc=true”,Cloudbase-Init会将注册表自动修改为默认值0,将导致windows虚拟机重启后无法使用BIOS时间同步。)
设置参数
然后就可以通过pve界面给虚拟机设置参数了
要注意的是:
第一,密码生成必须符合windows server的复杂度要求否则无法生效
第二,必须点右上角的“重生成镜像”才会启用




