{"id":4858,"date":"2019-12-14T06:47:32","date_gmt":"2019-12-14T11:47:32","guid":{"rendered":"http:\/\/cdnhost.net\/content\/?p=4858"},"modified":"2019-12-14T06:47:33","modified_gmt":"2019-12-14T11:47:33","slug":"end-to-end-proxmox-5-4-with-infiniband-backplane-and-fusionio-cards-for-storage","status":"publish","type":"post","link":"https:\/\/cdnhost.net\/content\/end-to-end-proxmox-5-4-with-infiniband-backplane-and-fusionio-cards-for-storage\/","title":{"rendered":"End to End Proxmox 5.4 with Infiniband backplane and FusionIO cards for storage."},"content":{"rendered":"<!-- wp:themify-builder\/canvas \/-->\n\n\n<p>proxmox v5.4 buildbook with infiniband and FusionIO cards and Ceph<\/p>\n\n\n\n<p>first: fix the sources.list<\/p>\n\n\n\n<p>two commands:<br>\nrm \/etc\/apt\/sources.list.d\/pve-enterprise.list<\/p>\n\n\n\n<p>and<br>\necho &#8220;deb http:\/\/download.proxmox.com\/debian\/pve stretch pve-no-subscription&#8221; &gt; \/etc\/apt\/sources.list.d\/pve-install-repo.list<\/p>\n\n\n\n<p>The actual process<br>\nDownload all the files. Here&#8217;s the cheatsheet, so you don&#8217;t have to waste plenty of time on this (it creates a folder \/home\/temp where all the files are downloaded automatically:<br>\nCode:<br>\nmkdir \/home\/temp &amp;&amp; cd \/home\/temp  &amp;&amp; \\<br>\nwget -O iomemory-vsl_3.2.16.1731-1.0.tar.gz https:\/\/www.dropbox.com\/s\/up8hrkmk6lhyc6f\/iomemory-vsl_3.2.16.1731-1.0.tar.gz?dl=1 &amp;&amp; \\<br>\nwget -O fio-common_3.2.16.1731-1.0_amd64.deb https:\/\/www.dropbox.com\/s\/pd2ohfaufhwqc34\/fio-common_3.2.16.1731-1.0_amd64.deb?dl=1 &amp;&amp; \\<br>\nwget -O fio-firmware-fusion_3.2.16.20180821-1_all.deb https:\/\/www.dropbox.com\/s\/kcn5agi6lyikicf\/fio-firmware-fusion_3.2.16.20180821-1_all.deb?dl=1 &amp;&amp; \\<br>\nwget -O fio-preinstall_3.2.16.1731-1.0_amd64.deb https:\/\/www.dropbox.com\/s\/iq7pefjdgwtuzf1\/fio-preinstall_3.2.16.1731-1.0_amd64.deb?dl=1 &amp;&amp; \\<br>\nwget -O fio-sysvinit_3.2.16.1731-1.0_all.deb https:\/\/www.dropbox.com\/s\/g39l6lg9of6eqze\/fio-sysvinit_3.2.16.1731-1.0_all.deb?dl=1 &amp;&amp; \\<br>\nwget -O fio-util_3.2.16.1731-1.0_amd64.deb https:\/\/www.dropbox.com\/s\/57huby17mteg6wp\/fio-util_3.2.16.1731-1.0_amd64.deb?dl=1 &amp;&amp; \\<br>\ntar zxvf iomemory-vsl_3.2.16.1731-1.0.tar.gz &amp;&amp; cd iomemory-vsl-3.2.16.1731<br>\nGet all the tools you need in order to compile the drivers from source (please be aware that at the time of reading the kernel is likely to be newer):<br>\nCode:<br>\napt-get install gcc fakeroot build-essential debhelper rsync pve-headers dkms<br>\nCreate the DKMS config file and edit it via the command:<br>\nCode:<br>\nnano \/home\/temp\/iomemory-vsl-3.2.16.1731\/root\/usr\/src\/iomemory-vsl-3.2.16\/dkms.conf<br>\nThe content of the DKMS will be:<br>\nCode:<br>\nMAKE=&#8221;&#8216;make&#8217; DKMS_KERNEL_VERSION=$kernelver&#8221;<br>\nCLEAN=&#8221;&#8216;make&#8217; clean&#8221;<br>\nBUILT_MODULE_NAME=iomemory-vsl<br>\nBUILT_MODULE_LOCATION=&#8221;<br>\nPACKAGE_NAME=iomemory-vsl<br>\nPACKAGE_VERSION=3.2.16.1731<br>\nDEST_MODULE_LOCATION=\/kernel\/drivers\/block<br>\nAUTOINSTALL=&#8221;Yes&#8221;<br>\nREMAKE_INITRD=yes<br>\nPrepare the source for being compiled, compile the drivers and load the drivers into the kernel:<\/p>\n\n\n\n<p>you may need to install specific headers if this next step fails:<br>\nexample apt install  pve-headers-4.15.18-12-pve<\/p>\n\n\n\n<p>Code:<br>\ncp -r \/home\/temp\/iomemory-vsl-3.2.16.1731\/root\/usr\/src\/iomemory-vsl-3.2.16 \/usr\/src\/ &amp;&amp; \\<br>\nmkdir -p \/var\/lib\/dkms\/iomemory-vsl\/3.2.16\/build &amp;&amp; \\<br>\nln -s \/usr\/src\/iomemory-vsl-3.2.16 \/var\/lib\/dkms\/iomemory-vsl\/3.2.16\/source &amp;&amp; \\<br>\ndkms build -m iomemory-vsl -v 3.2.16 &amp;&amp; \\<br>\ndkms install -m iomemory-vsl -v 3.2.16 &amp;&amp; \\<br>\nmodprobe iomemory-vsl<br>\nInstall all utilities and firmware:<br>\nCode:<br>\ncd \/home\/temp &amp;&amp; \\<br>\ndpkg -i fio-firmware-fusion_3.2.16.20180821-1_all.deb fio-util_3.2.16.1731-1.0_amd64.deb fio-sysvinit_3.2.16.1731-1.0_all.deb fio-common_3.2.16.1731-1.0_amd64.deb<br>\nYou may need to compile the drivers for the other kernels present on the system:<br>\nCode:<br>\nls \/var\/lib\/initramfs-tools | sudo xargs -n1 \/usr\/lib\/dkms\/dkms_autoinstaller start<\/p>\n\n\n\n<p>Next step get the Infiniband working!<br>\nrun this<br>\napt-get -y install debhelper autotools-dev dkms zlib1g-dev python wget quilt python-libxml2 swig dpatch graphviz chrpath<\/p>\n\n\n\n<p>then install the drivers\/utils<\/p>\n\n\n\n<p>wget http:\/\/www.mellanox.com\/downloads\/ofed\/MLNX_EN-4.2-1.0.1.0\/mlnx-en-4.2-1.0.1.0-debian9.0-x86_64.tgz<br>\n tar xzvf mlnx-en-4.2-1.0.1.0-debian9.0-x86_64.tgz<br>\n cd mlnx-en-4.2-1.0.1.0-debian9.0-x86_64<br>\n .\/install &#8211;skip-distro-check<\/p>\n\n\n\n<p>it will warn that other packages will be removed, choose Y and hit enter.<\/p>\n\n\n\n<p>once it completes. another round of installs and reboots!<\/p>\n\n\n\n<p>sudo apt-get install opensm infiniband-diags librdmacm-dev libibverbs-dev libmlx4-dev<\/p>\n\n\n\n<p>add these lines to \/etc\/modules<\/p>\n\n\n\n<p>mlx4_ib<br>\nip_ipoib<br>\nrdma_ucm<\/p>\n\n\n\n<p>THEN reboot.<\/p>\n\n\n\n<p>Reboot the OS and make sure the device is attached after the reboot by running<br>\nCode:<br>\nfio-status -a<br>\nFormat the device according to your needs and enjoy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>proxmox v5.4 buildbook with infiniband and FusionIO cards and Ceph first: fix the sources.list two commands: rm \/etc\/apt\/sources.list.d\/pve-enterprise.list and echo &#8220;deb http:\/\/download.proxmox.com\/debian\/pve stretch pve-no-subscription&#8221; &gt; \/etc\/apt\/sources.list.d\/pve-install-repo.list The actual process Download all the files. Here&#8217;s the cheatsheet, so you don&#8217;t have to waste plenty of time on this (it creates a folder \/home\/temp where all the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4858","post","type-post","status-publish","format-standard","hentry","category-uncategorized","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"builder_content":"","_links":{"self":[{"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/posts\/4858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/comments?post=4858"}],"version-history":[{"count":2,"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/posts\/4858\/revisions"}],"predecessor-version":[{"id":4860,"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/posts\/4858\/revisions\/4860"}],"wp:attachment":[{"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/media?parent=4858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/categories?post=4858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cdnhost.net\/content\/wp-json\/wp\/v2\/tags?post=4858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}