Windows Server 2012 R2/Windows Server 2016

  1. Download the Cloudbase-Init installation package as instructed in Software.

  2. Upload the package to the host and generate an ISO file.

    Upload the installation package to the host.

    [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
    

    Run the following command in the directory where the installation package is stored:

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

  3. Mount the generated ISO file to the VM and install Cloudbase-Init.

    1. On virt-manager, choose View > Details.

    2. In the navigation pane on the left, choose IDE CDROM 1. In the right pane, click Disconnect.

    3. Click Connect.

    4. Select the local ISO file and click Open in the upper right corner.

      image1

    5. Confirm the settings and click Apply.

      image2

  4. Install Cloudbase-Init.

    Double-click the Cloudbase-Init installation package in the CD-ROM drive. The default installation path of Cloudbase-Init is:

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

  5. Edit the Cloudbase-Init configuration file cloudbase-init.conf.

    Use a text editor (such as Notepad) to open the C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf file and edit the file as follows:

    1. Create user Administrator and add it to a group.

      username=Administrator
      groups=Administrators
      
    2. Configure hostname and modify the following parameter (if it does not exist, add it):

      netbios_host_name_compatibility=false
      
    3. Locate and modify logging_serial_port_settings as follows:

      logging_serial_port_settings=COM1,115200,N,8
      
    4. Add parameter metadata_services and configure the loaded services as follows:

      metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService,cloudbaseinit.metadata.services.configdrive.ConfigDriveService
      
    5. Add parameter plugins to configure the plugins that will be loaded. Separate different plugins with commas (,). The information in bold is the keyword of each plugin.

      • Mandatory 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
        

        Plugin functions:

        • LocalScriptsPlugin: sets the scripts.

        • MTUPlugin: sets the MTU network ports.

        • CreateUserPlugin: creates a user.

        • SetUserPasswordPlugin: sets the password.

        • SetUserSSHPublicKeysPlugin: sets the private key.

        • SetHostNamePlugin: sets the hostname.

        • ExtendVolumesPlugin: expands disk space.

        • UserDataPlugin: injects user data.

        • WindowsLicensingPlugin: activates Windows instances.

      • Optional plugins:

        plugins=cloudbaseinit.plugins.windows.winrmlistener.ConfigWinRMListenerPlugin,cloudbaseinit.plugins.windows.winrmcertificateauth.ConfigWinRMCertificateAuthPlugin
        

        Plugin functions:

        • ConfigWinRMListenerPlugin: sets listening to remote login.

        • ConfigWinRMCertificateAuthPlugin: sets remote login without the password authentication.

        Caution

        The WinRM plug-ins use weak cryptographic algorithm, which may cause security risks. So, you are advised not to load the plug-ins.