---
title: "NIOS-X on KVM"
canonical: "https://docs.infoblox.com/space/BloxOneInfrastructure/204538618/NIOS-X%20on%20KVM"
format: markdown
---
# <span style="color: #000000">Prerequisites</span>

Infoblox recommends that you dedicate the minimum system requirements to the NIOS-X server you plan to deploy. The dedicated resources cannot be shared with or used for other non-Infoblox applications. Sharing resources will negatively affect the performance of your Infoblox services.  Before deploying a NIOS-X server and enabling Infoblox services, ensure that you prepare the deployment environment according to the requirements for the supported platforms and open all necessary ports for unrestricted outbound access. For details, see the following:

- *[NIOS-X Server Connectivity and Service Requirements](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873660456)*
- *[Minimum System Requirements for NIOS-X Servers](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873758806)*
- *[Supported Platforms for NIOS-X Servers](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873693279)*

Before you start the deployment, consider the following:

- For details on sizing and system requirements, see [Minimum System Requirements for NIOS-X Servers](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873758806).
- Ensure that your KVM hypervisor environment meets the minimum [deployment requirements](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873758806).

# Setting up KVM

To set up the KVM hypervisor environment for <span style="color: #000000">NIOS-X server</span> deployment, complete the following:

1. In the Ubuntu server host, enter the following to install the virtinst package:

> 📝 The supported version of the virtinst package is 2.2.1 or higher.

2. Enter the following command to add your user to the libvirt member group:
3. For the member group to take effect, log out of the Ubuntu terminal and then log back in.
4. Once you log back in, enter the following to check the default network to verify that it is **active**:
  - If the network is **inactive**, enter the following to start it:
  - If the network is **inactive** due to the the following error: "*dnsmasq: TFTP directory /var/lib/tftp inaccessible: No such file or directory*," create the folder manually, and then enter the following to start the network:
5. Create a work directory for the QCOW2 image, enter the following:
6. Create a work directory for cloud-init metadata files.

## Downloading the QCOW2 Package for KVM

1. Log in to the Infoblox Portal.
2. Go to **System > Downloads**.
3. Go to the **NIOS-X** section, click **NIOS-X Servers **drop-down and select **Download QCOW2**.

# Installing QCOW2 Image on KVM

1. Copy the QCOW2 image to the *${KVM_WORKDIR}* work folder and rename the image file by entering the following:
2. Configure the cloud-init files using either the with-seed-image or without-seed-image:
  1. **With a seed image (**`metadata.iso`**)**:
    1. Create a `metadata.iso` seed image containing the `network-config` and `user-data` files. For information, see <u>*[Creating a Cloud-init Seed Image](https://docs.infoblox.com/space/BloxOneInfrastructure/2759688204)*</u>.
  2. **Without a seed image**:
    1. Create or edit the `network-config` file to assign a static IP address and nameservers. The network configuration file must be in **YAML** format only. Download the `network-config` template provided in <u>*[Appendix B: YAML and JSON Templates](https://docs.infoblox.com/space/BloxOneThreatDefense/35408412)*</u> and save the file as `network-config` in the `kvm` directory.
      - If your environment provides a DHCP server that assigns an IP address to the NIOS‑X VM, this file is optional.
    2. Create or edit the `user-data` file to include information, such as the join token for connecting the NIOS-X server to the Infoblox Portal. To obtain a join token, see <u>*[Creating Join Tokens](https://docs.infoblox.com/space/BloxOneInfrastructure/87556657)*</u>. Download the `user-data` template provided in <u>*[Appendix B: YAML and JSON Templates](https://docs.infoblox.com/space/BloxOneThreatDefense/35408412)*</u> and save the file as `user-data` in the `kvm` directory.
3. To access the Device UI (Local UI access), you must set the serial number before launching the VM. The serial number should be a random 8-digit alphanumeric string.
  1. Replace *Set-SN-here* with the serial number you used in virt-install.
  2. If you are using `virt-install` version <3.2.0. After you have created the *nios-x.xml* file in step 10, add the following to the file.
  3. If you are using `virt-install` version 3.2.0 and newer, to set the serial number, use the following flags for `virt-install`. Replace with the necessary serial number.

4. Use the following commands to create an XML file for the deployment:
  1. Ensure that the virt-install version is 2.2.1 or higher.
  2. If you are using a non-default network, add the following:
  3. If you want to add multiple interfaces, add the following for each interface:
5. Deploy the NIOS-X server after you have created the XML file:
6. Verify the NIOS-X server to ensure that it is up and running:
7. Validate the IP address of the newly created NIOS-X server:
  The screen shows whether the IP address is received from the DHCP server.
8. You have now successfully deployed the NIOS-X server. It might take a couple minutes for the NIOS-X server and the Infoblox Portal to connect.
9. To check the current status of the NIOS-X server, go to **Network > Services & Servers > Servers** in the Infoblox Portal. For more information about the server status, see *[Viewing Host Status](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/119210967)*.

> 📝 To access the Device UI and modify configuration on your NIOS-X server, you must set the serial number for your VM and configure the XML file accordingly. For detailed information, see [Troubleshooting Servers](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/184681229).