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 and configure the modules to be loaded. Separate different modules with commas (,). The information in bold is the keyword of each module.

      The following is an example of the Cloudbase-Init file content:

      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.winrmlistener.ConfigWinRMListenerPlugin,cloudbaseinit.plugins.windows.winrmcertificateauth.ConfigWinRMCertificateAuthPlugin,cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin
      

      Functions of the modules are as follows:

      • 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: partitions the disks.

      • UserDataPlugin: injects user data.

      • ConfigWinRMListenerPlugin: sets listening to remote login.

      • ConfigWinRMCertificateAuthPlugin: sets remote login without the password authentication.

      • WindowsLicensingPlugin: activates Windows instances.