Deploying IP Fabric Virtual Machine (VM)
All VM images are available at https://releases.ipfabric.io/images/. Access is restricted to registered customers only. Please contact our sales representative if you are interested in a trial of IP Fabric.
Important
Please remember that IP Fabric uses CLI access (SSH or Telnet) to connect to devices for collecting data. It’s important to place the VM in the proper network segment to prevent high ACL or firewall configuration overhead.
OVA Distribution Details
The appliance is built on top of Debian 11, which has been officially supported
since
ESXi version 7.0
.
The minimal required Virtual Hardware Version is vmx-17
, supported by ESXi
7.0
, Fusion 12.x
, Workstation Pro 16.x
, and Workstation Player 16.x
. For
details, see the VMware KB articles
1003746 and
2007240.
This system type is required because we need the virtio/paravirtualized drivers for storage and network:
Note that we also have requirements about the processor itself – see Hardware Requirements. These cannot be described through the OVA image definition.
If you do not use the virtio/paravirtualized drivers for storage and network, performance will be degraded.
Setting VM From Scratch – Importing VMDK Image
Importing VMDK is the recommended way.
If you do not have access to an ESXi host for importing, you can try to import the disk (VMDK) and set up the machine manually. Ensure the following are configured correctly:
- Virtual Hardware Version is at least
vmx-17
- virtio/paravirtualized drivers for storage and network
See the detailed instructions in Deploying VM on VMware ESXi Using VMDK Image.
Deploying Through vSphere or VxRail – Converting SHA256 OVA Image to SHA1
You may experience problems deploying through vSphere/VxRail. vSphere/VxRail is refusing the SHA256 version of our OVA image. When trying to create a virtual machine using the SHA1-based OVA image, you may experience problems with importing the image because of unsupported “hardware”. In this case, please see the next paragraph about deploying manually.
VMware’s KB article on converting OVA images: “The OVF package is invalid and cannot be deployed” error when deploying the OVA (2151537)
Importing SHA1-Based OVA Image
This might lead to unexpected results, such as wrong hardware assignments, degraded performance, etc.
operation not supported on this object
This states the inability to deploy the OVA image with the required hardware requirements through itself (vSphere). However, if the same OVA image is deployed through ESXi, no warnings are present while creating the virtual machine.
Deploying VM on VMware
Deploying VM on VMware vSphere Using OVA Image
- Deploy the OVA to your vSphere environment as described in Deploy an OVF or OVA Template.
- Edit VM settings and adjust according to your network size as described in the Operational Requirements section.
- Change CPU count.
- Change memory size.
- Add a new empty virtual disk or resize the main system disk.
- Power on the VM and complete IPF CLI Config.
Invalid OVF checksum algorithm: SHA256
Importing the OVA on older vSphere/ESXi hosts may result in an error stating that the OVF checksum is invalid. Please refer to OVA Distribution Details on how to resolve the issue.
Deploying VM on VMware ESXi Using VMDK Image
-
Go to https://releases.ipfabric.io/images/, select the folder with the highest version number, and download the
ipfabric-<x.y.z+build>.vmdk
file. -
Log in to the VMware ESXi web interface.
-
Select Virtual Machines and click Create / Register VM.
-
A
New virtual machine
dialog appears. In its 1st stepSelect creation type
, select Create a new virtual machine: -
In the 2nd step
Select a name and guest OS
:-
Specify the VM’s Name.
-
In the Compatibility field, select at least
ESXi 7.0 virtual machine
, which corresponds to the Virtual Hardware Version17
(vmx-17
). Refer to Virtual machine hardware versions for mapping between Virtual Hardware Versions and ESXi versions. -
In the Guest OS family field, select
Linux
. -
In the Guest OS version field, select
Debian GNU/Linux 11 (64-bit)
.
-
-
In the 3rd step
Select storage
, keep the default settings. -
In the 4th step
Customize settings
: -
Power on the VM and complete IPF CLI Config.
Deploying VM on Hyper-V
The qcow2
disk image file can be converted to different formats.
Using this method, we will create a VHDX
usable on Microsoft Hyper-V and manually create a new VM.
-
Download
ipfabric-*.qcow2
from the official source. -
Convert the
qcow2
image toVHDX
. (Be sure to change the filenames in the command examples below.)- Windows instructions:
- Download the QEMU disk image utility for Windows.
- Unzip
qemu-img-windows
. - Run:
qemu-img.exe convert ipfabric-<*>.qcow2 -O vhdx -o subformat=dynamic ipfabric-<*>.vhdx
- Linux instructions:
- Install
qemu-utils
:sudo apt install qemu-utils
- Run:
qemu-img convert -f qcow2 -o subformat=dynamic -O vhdx ipfabric-<*>.qcow2 ipfabric-<*>.vhdx
- Install
- Windows instructions:
-
Create a new Hyper-V virtual machine and specify its Name and Location:
-
In the Specify Generation step, select
Generation 1
: -
Assign memory. (Check requirements in the Operational Requirements section.)
-
Configure networking:
-
Connect a virtual hard disk:
-
Verify the Summary and click Finish:
-
Wait for the VM to be created.
-
Edit the VM CPU settings. (Check requirements in the Operational Requirements section.)
-
Optionally, increase the disk size based on the Operational Requirements section.
- Extend the system disk or add a new empty virtual disk if necessary.
-
Close the VM Settings window.
-
Start the VM.
Deploying VM on Nutanix
-
Go to https://releases.ipfabric.io/images/, select the folder with the highest version number, and download the
ipfabric-<x.y.z+build>.vmdk
file. -
Import the
ipfabric-<x.y.z+build>.vmdk
file to the Nutanix hypervisor and follow Nutanix’s official documentation – Nutanix import OVA and Quick tip how to deploy a VM from OVF to AHV. -
Edit the VM hardware settings and adjust according to the network environment size. (Check requirements in the Operational Requirements section.)
- Change CPU count.
- Change memory size.
- Extend the system disk or add a new empty virtual disk if necessary.
-
Power on the VM and complete IPF CLI Config.
Deploying VM on KVM
We currently have the limitation that drives need to be /dev/sdx
. Usually, Linux hypervisors use the virtio-blk
driver, which is represented as /dev/vdx
in the guest system. To overcome this limitation, use virtio-scsi
as the drive controller.
-
Download
qcow2
system disk to your KVM hypervisor. -
Resize the
qcow2
data disk so it corresponds to your network’s needs if necessary. Use the following command:qemu-img resize ipfabric-disk1.qcow2 100G # (up to 1000G for 20 000 devices)
-
Deploy the VM to your hypervisor with the
virt-install
utility by issuing the following command (chose CPU and RAM size according to the size of your network):virt-install --name=IP_Fabric --disk path=<path to the disk>.qcow2 --graphics spice --vcpu=4 --ram=16384 --network bridge=virbr0 --import
- This command deploys a new virtual machine with the name
IP_Fabric
, systemqcow2
disk, 4 CPU cores, 16 GB of RAM, and connects the VM to the internet through thevirtbr0
interface. (If your machine has a different bridge interface name or you want to connect it to the internet directly through the device network card, you need to change the--network
parameter.) - This command also starts up the VM.
- This command deploys a new virtual machine with the name
-
Additionally, you can create and add a new empty virtual disk if needed.
Deploying VM on VirtualBox
Warning
Deploying IP Fabric on VirtualBox is currently not officially supported – it is not tested, and we cannot guarantee that it will work.
-
Download the
OVA
image. -
Import the
OVA
image via File → Import Appliance…: -
In the next step of the Import Virtual Appliance guide:
1. Set CPU and RAM as per the hardware requirements for your use-case.
2. Set the Network Adapter to
Paravirtualized Network (virtio-net)
.3. Keep the
Import hard drives as VDI
option checked for importing the disk image in the default VirtualBox format. (Otherwise, the disk image will be imported as VDMK, the default format of VMware.) -
Right-click the newly created virtual machine and select its Settings…
-
In the System section, select
ICH9
as the Chipset: -
In the Display section, select
VMSVGA
as the Graphics Controller:- Or to what VirtualBox suggests when an invalid Graphics Controller is selected:
Warning
When an invalid Graphics Controller is selected, it can lead to issues in the virtual machine and even on the host machine.
-
In the Storage section, select
virtio-scsi
as the Controller Type: -
In the Network section, select
Bridged Adapter
and re-check in Advanced that the Adapter Type isParavirtualized Network (virtio-net)
: -
Start the VM.
Deploying VM on Azure
Uploading IP Fabric Disk File
The first step of deploying to Azure requires creating a VHD file from the qcow2
image, uploading it to a blob storage container, and then creating an Image to use for a Virtual Machine.
-
Log in to the Microsoft Azure Portal and create or use an existing Resource Group.
In the Microsoft Azure documentation, a resource group is defined as:
… a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. You decide how you want to allocate resources to resource groups based on what makes the most sense for your organization. Generally, add resources that share the same lifecycle to the same resource group so you can easily deploy, update, and delete them as a group.
Please follow the instructions in Create resource groups.
-
Create or use an existing Storage Account for the IP Fabric VM.
A storage account is an Azure Resource Manager resource. Resource Manager is the deployment and management service for Azure. For more information, see Azure Resource Manager overview and Creating Storage Account.
-
Create or use an existing Blob Storage Container.
Azure Blob Storage allows you to store large amounts of unstructured object data. You can use Blob Storage to gather or expose media, content, or application data to users. Because all blob data is stored within containers, you must create a storage container before you can begin to upload data. To learn more about Blob Storage, read the Introduction to Azure Blob Storage.
-
Convert the IP Fabric-provided
qcow2
image to VHD using QEMU. The recommended way to convert the image:qemu-img convert -f qcow2 -o subformat=fixed,force_size -O vpc ipfabric-6-3-1+1.qcow2 ipfabric-6-3-1+1.vhd
QEMU Version
Please use
qemu-img
version2.6
or higher. According to the Azure documentation:There is a known bug in qemu-img versions >=2.2.1 that results in an improperly formatted VHD. The issue has been fixed in QEMU 2.6. We recommend using either qemu-img 2.2.0 or lower, or 2.6 or higher.
You may check the
qemu-img
version that you are using with:qemu-img --version
-
Upload the VHD image to the storage account blob container created using the Azure Storage Explorer.
Blob Type
When uploading the VHD image to Azure, make sure to select
Page Blob
as the Blob Type. Azure images can only be created from aPage Blob
source.VHD Upload
For uploading the VHD image, please use the Azure Storage Explorer (a native Windows app) instead of the Azure web UI. If you upload the VHD image via the Azure web UI, you might encounter the following error:
The specified cookie value in VHD footer indicates that disk ‘ipfabric-6-3-1+1.vhd’ with blob https://…/vhd/ipfabric-6-3-1+1.vhd is not a supported VHD. Disk is expected to have cookie value ‘conectix’.
Sizing IP Fabric VM
Prior to creating the IP Fabric image, it is necessary to know the type of server required. Azure Regions contain different server sizes, so performing this step will ensure you select the correct Region in the next step.
IP Fabric Hardware Requirements
- Check the IP Fabric Hardware Requirements documentation.
- Record the number of CPUs.
- Record the RAM requirements.
Azure VM Finder
For this example, we will use minimum of 16 CPUs and 32 GB memory requirements.
- Please visit the Azure Find your VM website.
- Select
Find VMs by workload type
. - Select all for
Workload type
and clickNext
. - Enter minimum and maximum CPU and RAM values.
- vCPU: min 16, max 24
- RAM: min 32 GB, max 56 GB
- Select
Premium SSD
forDisk Storage
. Data Disk
can be left as default as IP Fabric does not use a separate disk for data.- Under
Operating system
:To use a custom VM image, select Linux and then CentOS to see VM availability and pricing information.
- Select your preferred Region(s).
- Under the
Recommended Virtual Machine(s)
, find anInstance
with either an Intel or AMD processor that will suit your needs. - Record the
Instance
andRegion
names you would like to use for the deployment.
Creating Image
Search and select Images
in the portal’s search bar, and then Create
a new Image.
- Select the correct
Subscription
andResource group
. - Name the image.
- Select the
Region
that was recorded from Azure VM Finder. - Set
OS type
toLinux
. - Set
VM generation
toGen 1
. - Browse the
Storage blob
to find and select your uploaded VHD. - Set
Account type
toPremium SSD
. - Set
Host Caching
toRead/write
. - Set
Key management
toPlatform-managed key
. - Optional: Add custom
Tags
. - Select
Review + create
, wait for validation, and then clickCreate
.
Creating VM
After creating the Image, go to the Resource and select Create VM
:
Basics
-
Fill out the required
Project details
andInstance details
sections:-
Select the correct
Subscription
andResource group
. -
Name the virtual machine.
-
Select an
Availability Zone
. -
Using the information in Sizing IP Fabric VM, select the appropriate instance size.
-
-
Specify an
Administrator account
using Password authentication with a secure password.Username
Username must not be
autoboss
,osadmin
, orroot
. Optionally, use the defaultazureuser
.SSH Public Key
Specifying
SSH public key
authentication will disable SSH Password authentication for the entire VM requiring either:- Manually editing
/etc/ssh/sshd_config
to enable password authentication for theosadmin
user. - Using the configured key(s) to SSH into the VM anytime CLI access is required (most secure).
- Manually editing
-
Inbound port rules > Public inbound ports
should be set toNone
. -
Set
Licensing > License type
toOther
.
Disks
-
Enabling
Encryption at host
is recommended if it is available. -
Select the OS disk size based on resource requirements matrix.
-
OS disk type can be
Premium SSD (locally-redundant storage)
orPremium SSD (zone-redundant storage)
.
Networking
-
Select or create a new
Virtual network
andSubnet
. -
Please see Network security groups for information on securing access to your VM.
Public IP
IP Fabric contains sensitive information about your network, so it is highly recommended to use private networks only.
Other Configuration Options
Management
: Can be left to defaults.Monitoring
andAdvanced
:- This is outside the scope of a normal IP Fabric deployment.
- Installing
Extensions
may impact the application, and future upgrades could remove these from the VM. - If required, please reach out to your Solution Architect to explore options.
Tags
: Optional, assign custom tags to the resources being created.
Review + Create
Ensure validation passed and click Create
.
Post Deployment
-
Connect to the IP Fabric VM via SSH with the username created during the deployment:
# password authentication: ssh azureuser@ip_address # SSH public key authentication: ssh -i identity-file.pem azureuser@ip_address
-
Run IPF CLI Config:
sudo ipf-cli-config -a
Console Access
Please note that the Azure serial console might not be accessible for setting the osadmin
password in IPF CLI Config.
In that case, please contact the IP Fabric Support team or your Solution Architect.
We can connect to the appliance via SSH with the default/factory osadmin
password (that is overwritten during IPF CLI Config) and run IPF CLI Config manually.