In this section:

To install SBC on a virtual machine (VM) with PCI pass-through device, you must first create a VM and allocate its resources (for example CPU, memory, and NICs), as well as configure a datastore to contain the SBC operating system and application software.

Note:
  • The instance is created on Linux Vanilla flavor version 7.0, and the screens listed here may vary in the latest Linux Vanilla flavor versions.
  • Intel I350 Ethernet adapter is recommended for configuring as PCI pass-through device.

 

Configuring Host With PCI Pass-Through Device

You must configure the host system with PCI pass-through device before creating a new SBC SWe instance. 

Note:

You must follow the BIOS settings recommendations for the particular server.  Refer to BIOS Settings Recommendations section for guidance.

To configure the host:

  1. Log onto the host system.
  2. Navigate to the following directory path:

    cd /etc/default/
  3. Open the grub file in vi editor.
  4. Search for GRUB_CMDLINE_LINUX  or linuxefi/vmlinuz and append the following:

    intel_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1 pci=realloc
     
    For example:
    GRUB_CMDLINE_LINUX="vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 rhgb quiet intel_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1 pci=realloc"
    GRUB_DISABLE_RECOVERY="true"
  5. Save and exit the file.
  6. Enter the following command to update the grub.cfg file:

    grub2-mkconfig --output=/boot/<DIR_PATH>/grub.cfg
    Note:

    Based on your BIOS settings <DIR_PATH> can either be /efi/EFI/redhat/ or /grub2/

      

  7. Enter the following command to reboot the host system.

     reboot
  8. Log onto the host system after reboot.

  9. Enter the following command to verify the grub update:

    # cat /proc/cmdline
     
    - BOOT_IMAGE=/vmlinuz-3.10.0-123.el7.x86_64 root=UUID=9ab5f45b-8b74-4620-ae67-4d48eea55273 ro vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 rhgb quiet intel_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1 pci=realloc
  10. Enter the following command to enable VFIO.

     modprobe vfio-pci
  11. Enter the following command to list IOMMU groups with the interfaces.

     find /sys/kernel/iommu_groups/ -type l

    The command executes with the list of IOMMU groups.

    /sys/kernel/iommu_groups/15/devices/0000:0a:00.0
    /sys/kernel/iommu_groups/15/devices/0000:0a:00.1
    /sys/kernel/iommu_groups/16/devices/0000:00:1d.0
    /sys/kernel/iommu_groups/17/devices/0000:00:1e.0
    /sys/kernel/iommu_groups/18/devices/0000:00:1f.0
    /sys/kernel/iommu_groups/18/devices/0000:00:1f.2
    /sys/kernel/iommu_groups/19/devices/0000:02:00.0
    /sys/kernel/iommu_groups/20/devices/0000:03:00.0
    /sys/kernel/iommu_groups/20/devices/0000:03:00.1
  12. Enter the following command to list interfaces.

     lspci | grep -i ether

    The command executes listing the interfaces.

    03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
    03:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
    03:00.2 Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
    03:00.3 Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
    0a:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
    0a:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
    Note:

    Only Intel I350 Ethernet adapter is supported for configuring as PCI pass-through device. 

      

  13. Enter the following command to know the PCI ID of the interface.

    lspci -n -s 0000:<interface_id>
     
    For example, lspci -n -s 0000:0a:00.0

    The command executes to list the PCI ID.

     0a:00.0 0200: 8086:1521 (rev 01)
  14. Enter the following command to unbind the interface.

    echo 0000:0a:00.0 >/sys/bus/pci/devices/0000\:0a\:00.0/driver/unbind 
  15. Enter the following command to add this new interface to the VFIO-PCI list.

    echo 8086 1521 > /sys/bus/pci/drivers/vfio-pci/new_id
  16. Repeat steps 10 through 12 to add another interface to the VFIO-PCI list.

Creating an SBC SWe Instance with PCI Pass-Through Device

To install SBC on a virtual machine (VM), first create a VM and allocate resources (such as CPU, memory, and NICs), as well as configure a datastore that contains SBC operating system and application software.

To create a new SBC SWe KVM instance:

Note:

The instance is created on Linux Vanilla flavor version 7.0, and the screens listed here may vary in the latest Linux Vanilla flavor versions. 

 

  1. Perform the following to export the display on your desktop if you are remotely accessing the KVM host system.

    1. Log onto KVM host system through SSH and telnet client such as PuTTY.

       

    2. Enter the following command to export the display:

      export DISPLAY=<system_IP>:0.0

      where <system_IP> is the system IP address where GUI is exported for display.

       

    3. Enter the following command to launch the virtual machine manager (virt manager) on your system.

      virt-manager
      Note:

      Ensure Xserver is running on the host system to import the display on your desktop. 

       The Virtual Machine Manager window displays.

  2. Click New to create a new VM.

    Virtual Machine Manager


    The Create a new virtual machine window displays.

    Note

    The figures shown in this procedure are intended as examples of the user interface and might not match the presented image exactly.

  3. In Step 1 of Create a new virtual machine window:
    1. Enter the name for the virtual machine in the  Name field.

    2. Select Local install media (ISO image or CDROM).
    3. Click Forward.

      Create New Virtual Machine


      The locate your install media window displays.

       

  4. In Step 2 of the Create a new virtual machine window:

    1. Select Use ISO image and click Browse.

      Locate Install Media


      The Locate ISO media volume window displays.

       

    2. Click Browse Local.

      Locate ISO media volume


      The Locate ISO media window displays.

       

    3. Navigate to the folder containing the media file; select the ISO file and click Open.

      Locate ISO Media


      The directory path of the selected ISO is displayed in Use ISO image field.

       

  5. In Step 2 of the Create a new virtual machine window: 
    1. Click the OS type drop-down list and select Linux.
    2. Click the Version drop-down list and select Debian Jessie.
    3. Click Forward.

      OS Selection


      The memory and CPU settings window displays.

       

  6. In Step 3 of the Create a new virtual machine window:
    1. In the Memory (RAM) field, enter 17408 MB as the RAM size.
    2. In the CPUs field, enter 4 as the number of vCPUs.
    3. Click Forward.

      Memory and CPU Settings

      The storage details window displays.

       

  7. In Step 4 of the Create a new virtual machine window:
    1. Select the Enable storage for this virtual machine option.

    2. Select the Create a disk image on the computer's hard drive option and enter 100 GB as the hard drive space.

    3. Select the Allocate entire disk now checkbox.
    4. Click Forward.

      VM Storage Information


      The ready to begin installation window displays.

       

  8. In Step 5 of the Create a new virtual machine window:

    1. Select the Customize configuration before install checkbox.

    2. Click Finish.

      VM Installation Information


      The VM configuration screen displays.

      Note

      The figures shown in this procedure are intended as examples of the user interface and might not match the presented image exactly.

  9. Perform the following steps to configure the VM settings:
    1. In the left pane, click Processor. The corresponding processor options displays.

      1. Click Configuration to expand the section.
      2. Click Copy host CPU configuration.

        The Model field displays the host CPU configuration running on the host system.

      3. Click Topology to expand the section.
      4. Select Manually set CPU topology checkbox.
      5. In the Sockets field, enter 1 as number of sockets required for the instance.
      6. In the Cores field, enter 2 as the number of cores required for the instance.
      7. In the Threads field, enter 2 as the number of threads required for the instance.

      8. Click Apply

        VM Configuration Screen

        Note:

        Refer to table 5 on For KVM Hypervisor for minimum configuration requirements.  

          

    2. In the left pane, click Disk 1. The corresponding disk options displays.
      1. Click Advanced options to expand the section and select the IDE from the drop-down list as the Disk bus value.

      2. Click Apply.

        Disk Options Information

    3. In the left pane, click NIC. The corresponding network interface options displays.

      1. Click Source device drop-down list and select a device for MGT interface.

      2. Click Device Model drop-down list and select virtio.
      3. Click Apply.

      4. Click Add Hardware to add a NIC for HA interface.

        Virtual Network Interface

        The Add New Virtual Hardware window displays.

      5. In the left pane, click Network.
      6. Click the Host device drop-down list and select a device for HA interface.

        By default, the MAC address for the selected host device is displayed in the MAC address field. Do not uncheck the MAC address checkbox.

      7. Click Device Model drop-down list and select virtio.
      8. Click Finish.

        Adding Networks

        The new NIC is listed in the left pane. 

      9. Select the new NIC.

      10. Click Source mode drop-down list and select Bridge.

      11. Click Apply.

        Assigning Source Mode

    4. In the left pane, click Processor. The corresponding processor options displays.
      1. Click Add Hardware.
        Add New Virtual Hardware window displays.
      2. In the left pane, click PCI Host Device. The PCI host devices options displays.
      3. Scroll through the list and select the interface added to the PCI list.
      4. Click Finish.

        PCI Device

        The added PCI device for PKT0 is listed in the left pane.

        Added PCI Device

      5. Repeat steps 9 (d) [i] through 9 (d) [iv] to add another PCI device for PKT1.

    5. Configure the VM for CPU pinning to optimize performance. Complete the following steps:

      1. Force off the instance.
      2. Complete the CPU pinning procedure
      3. Return to the VM Configuration screen and select Boot Options in the left pane. 

        Boot Options

      4. Update the Boot device order so that IDE CDROM1 is first, followed by VirtIO Disk 1.

      5. Click Apply.

    6. Click Begin Installation.

      Begin SBC SWe Installation

      The ConnexIP Installer Boot Menu displays.

 

  • No labels