Question


How to enable PCI-E Flash support on CloudBoot compute resources?


Environment


OnApp 3.4 or later

KVM compute resources (CentOS 6 or higher)


Answer


  1. Establish PCI-E flash PCI ID, 04:00.0 assumed below.
  2. On the compute resource, edit /.rw/onappstore.conf and change the values:
     kernelversion=3.10.20-11.el6.centos.alt.x86_64
     pcidevs=[04:00.0]
     devpartitions=4
     (other changes that are normal for the customer)
  3. In CP, edit /tftpboot/pxelinux.cfg/<HV_MGT_MAC> and then add the following flags:
     pci_stub.bind=(04:00.0)
    • ide=disable
    • pci=resource_alignment=04:00.0
    • intel_iommu=on
    • iommu=pt
    • iommu=1

  4. Extract and put directories into place:

    scp <HV_IP>:/onappstore/initrd.img ./ && mkdir foo && cd foo && zcat ../initrd.img | cpio -idv
    
    cp -r ./modules/<kernal-version> /tftpboot/images/centos5/diskless/snapshot/<HV-MAC>/snkernels/
    CODE
  5. Copy the kernel binary into place:

    cp /tftpboot/images/centos6/ramdisk-xen/vmlinuz-3.10.20-11.el6.centos.alt.x86_64 /tftpboot/images/centos5/diskless/snapshots/<MAC_OF_HV_MGT>/snkernels/
    CODE
  6. Reboot the compute resource.
  7. On the compute resource, check if the kernel (with correct filename+version string) is now in /onappstore/.
  8. On each storage node of the virtual server, run formatandconfigure on the devices /dev/mapper/sda_*.

Please note that if there is any existing data on the disk/storage node, running formatandconfigure will cause its loss.