更新时间:2023-09-22 GMT+08:00

安装Cloudbase-Init

  1. 参考硬件和软件准备章节下载Cloudbase-Init安装包及SHA256校验码并完成完整性校验,详情请参考如何对软件进行完整性校验?
  2. 将Cloudbase-Init的安装包上传至宿主机,制作成ISO文件。

    先将安装包上传至宿主机。

    [root@server nl]# ll
    total 4390172
    -rw-r--r--. 1 root root    41070592  Sep 26 07:33 CloudbaseInitSetup_x64.msi
    -rw-r--r--. 1 qemu qemu  4413020160  Sep 26 02:36 cn_windows_server_2012_r2_x64_dvd_2707961.iso

    在安装包所在目录执行命令:

    mkisofs -L -R -J -T -V system-sp2 -o software.iso CloudbaseInitSetup_x64.msi

  3. 在虚拟机中挂载制作完成的ISO文件。具体操作如下:
    1. 在virt-manager页面,选择“View > Details”。
    2. 在左侧导航树中选择“IDE CDROM 1”,单击右侧的“Disconnect”。
    3. 再单击“Connect”。
    4. 选择本地的ISO文件,单击右上角的“Open”。

    5. 检查无误后单击“Apply”。

  4. Cloudbase-Init安装。

    在光驱中找到Cloudbase-Init软件包,双击进行安装。Cloudbase-Init的默认安装路径为:

    C:\Program Files\Cloudbase Solutions\Cloudbase-Init

  5. 编辑Cloudbase-Init配置文件“cloudbase-init.conf”。

    使用文本编辑工具(如Notepad),打开“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf”文件,按照以下要求进行配置:

    1. 创建用户Administrator,并加入组,修改如下参数的取值:
      username=Administrator
      groups=Administrators
    2. 设置hostname,修改如下参数(若不存在则需要添加):
      netbios_host_name_compatibility=false
    3. 查找并修改logging_serial_port_settings参数,修改端口设置如下:
      logging_serial_port_settings=COM1,115200,N,8
    4. 添加metadata_services参数,设置加载服务如下:
      metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService,cloudbaseinit.metadata.services.configdrive.ConfigDriveService
    5. 添加plugins参数,设置要加载的模块,以“,”为分隔符,加粗的部分为模块关键字。
      • 其中必选加载模块,请参考如下配置(必选):
        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
      • 可选加载模块,请参考如下配置(可选)
        plugins=cloudbaseinit.plugins.windows.winrmlistener.ConfigWinRMListenerPlugin,cloudbaseinit.plugins.windows.winrmcertificateauth.ConfigWinRMCertificateAuthPlugin

        各模块功能如下所述:

        • ConfigWinRMListenerPlugin:设置远程登录监听
        • ConfigWinRMCertificateAuthPlugin:设置远程登录无密码认证

        加载模块对应的插件WinRM使用了弱密码算法,可能存在安全隐患,为保证系统安全,不建议您添加此插件。