Exécutez Proxmox avec NVME RAID

Support Wissensdatenbank

Du bist hier:
Print

Exécutez Proxmox avec NVME RAID Malheureusement, il n’est pas possible de faire tourner Proxmox avec le VROC jusqu’à aujourd’hui 15.1.2020. Le support par Proxmox et Intel est pauvre, il y a un manque de pilotes utilisables et de support. Nous ne voulons délibérément pas utiliser un RAID logiciel. Néanmoins, nous ne voulons pas nous passer d’un RAID NVME rapide. Notez que nous ne garantissons pas ce manuel et que cette configuration n’est pas officiellement prise en charge par Proxmox. Utilisez-le à vos propres risques ! Pour utiliser le RAID NVME, vous avez besoin des éléments suivants :

  • Serveur rapide avec PCI-E x16 GEN3
  • Contrôleur RAID Highpoint SSD7101A-1 avec disques NVME
  • Disques durs normaux ou disques SSD
  • Les deux fichiers d’installation de Highpoint
  • Le script proxmox_kernel_rebuild.sh

 

  1. Maintenant, commencez à installer Proxmox sur vos disques durs. Après avoir installé et configuré Proxmox, vous devez maintenant compiler les pilotes NVME pour Proxmox.
  2. Utilisez le script ci-dessous, enregistrez-le sous le nom proxmox_kernel_rebuild.sh et lancez-le. Attention ce processus peut prendre plusieurs heures !
  3. Maintenant, installez le /pve-kernel/pve-headers-5.3.13-1*.deb et le /pve-kernel/pve-kernel-5.3.13-1*.deb qui viennent d’être créés Attention ce processus peut prendre plusieurs heures !
  4. Si le noyau n’a pas pu être installé même après un temps d’attente de 4h, installez GRUB et abandonnez après 4h avec “CTRL + C” et recommencez le point 3. apt-get install grub
  5. Redémarrer le serveur
  6. Bloquez maintenant les mises à jour ultérieures du noyau (IMPORTANT) : apt-mark hold pve-headers-5.3.13-1 apt-mark hold pve-kernel-5.3.13-1
  7. Maintenant, installez les deux pilotes Linux de Highpoint : ./rsnvme_linux_src_v1.2.18_19_12_11 ./RAID_Manage_Linux_v2.3.14_17_07_26

INFO : Si vous voulez mettre à jour votre noyau, il suffit de recommencer au point 2 et de laisser le nouveau noyau se compiler.

Script: proxmox_kernel_rebuild.sh Proxmox 6.0

#!/bin/bash

# chmod +x proxmox_kernel_rebuild.sh
# ./proxmox_kernel_rebuild.sh

if ! pveversion; then
echo "Not a proxmox machine."
return
fi

id=`id -u`
if test $id -ne 0; then
echo "Please run the script with root privilege"
return
fi

# NOTE 30GB or more free space is needed
avail=`df . --output=avail | grep -v Avail`
let avail=$avail/1024/1024
if test $avail -lt 30; then
echo "In order to build new kernel package, 30GB or more freespace is needed."
df .
echo "Quiting now."
exit 1
fi

# Install toolchain
apt-get --assume-yes install patch diffutils git make flex bison dpkg-dev debhelper dh-python sphinx-common dwarves
apt-get --assume-yes install asciidoc-base libssl-dev libdw-dev libelf-dev libiberty-dev libnuma-dev libslang2-dev
apt-get --assume-yes install lz4 xmlto zlib1g-dev lintian dwarves python3-all

# clone pve-kernel git
echo "Clone pve-kernel from upstream git repository, it may take hours."
rm -rf pve-kernel
git clone --single-branch --branch pve-kernel-5.4 git://git.proxmox.com/git/pve-kernel.git pve-kernel

cd pve-kernel/ || exit 1

# patch kernel to do not builtin nvme driver

diff="ZGlmZiAtLWdpdCBhL2RlYmlhbi9ydWxlcyBiL2RlYmlhbi9ydWxlcwppbmRleCBkMzQ0ZDRjLi5k
Yzc5N2JiIDEwMDc1NQotLS0gYS9kZWJpYW4vcnVsZXMKKysrIGIvZGViaWFuL3J1bGVzCkBAIC0z
Nyw3ICszNyw2IEBAIFBWRV9DT05GSUdfT1BUUz0gXAogLWUgQ09ORklHX0JMS19ERVZfU0QgXAog
LWUgQ09ORklHX0JMS19ERVZfU1IgXAogLWUgQ09ORklHX0JMS19ERVZfRE0gXAotLWUgQ09ORklH
X0JMS19ERVZfTlZNRSBcCiAtZSBDT05GSUdfTkxTX0lTTzg4NTlfMSBcCiAtZCBDT05GSUdfSU5Q
VVRfRVZCVUcgXAogLWQgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX09OREVNQU5EIFwK"

echo "$diff" | base64 -d | patch -p1 || exit 1

echo "Download kernel sources and build pve-kernel, it may take hours, please be patient."

make || exit 1

pvek=`ls pve-kernel*.deb`

if [ "$pvek" == "" ]; then
echo "Something is wrong, failed to generate pve-kernel package."
exit 1
else
echo "Now everything is ready, you can install the built $pvek package"
fi

 

Script: proxmox_kernel_rebuild.sh für Proxmox 7.0

#!/bin/bash

# chmod +x proxmox_kernel_rebuild.sh
# ./proxmox_kernel_rebuild.sh

if ! pveversion; then
    echo "Not a proxmox machine."
    return
fi

id=`id -u`
if test $id -ne 0; then
    echo "Please run the script with root privilege"
    return
fi

# NOTE 30GB or more free space is needed
avail=`df . --output=avail | grep -v Avail`
let avail=$avail/1024/1024
if test $avail -lt 30; then
        echo "In order to build new kernel package, 30GB or more freespace is needed."
        df .
        echo "Quiting now."
        exit 1
fi

# Install toolchain
apt-get --assume-yes install patch diffutils git make flex bison dpkg-dev debhelper dh-python sphinx-common
apt-get --assume-yes install asciidoc-base libssl-dev libdw-dev libelf-dev libiberty-dev libnuma-dev libslang2-dev
apt-get --assume-yes install lz4 xmlto zlib1g-dev lintian
apt-get --assume-yes install dwarves 

# clone pve-kernel git
echo "Clone pve-kernel from upstream git repository, it may take hours."
rm -rf pve-kernel
git clone git://git.proxmox.com/git/pve-kernel.git pve-kernel

cd pve-kernel/ || exit 1

# patch kernel to do not builtin nvme driver

diff="ZGlmZiAtLWdpdCBhL2RlYmlhbi9ydWxlcyBiL2RlYmlhbi9ydWxlcwppbmRleCBkMzQ0ZDRjLi5k
Yzc5N2JiIDEwMDc1NQotLS0gYS9kZWJpYW4vcnVsZXMKKysrIGIvZGViaWFuL3J1bGVzCkBAIC0z
Nyw3ICszNyw2IEBAIFBWRV9DT05GSUdfT1BUUz0gXAogLWUgQ09ORklHX0JMS19ERVZfU0QgXAog
LWUgQ09ORklHX0JMS19ERVZfU1IgXAogLWUgQ09ORklHX0JMS19ERVZfRE0gXAotLWUgQ09ORklH
X0JMS19ERVZfTlZNRSBcCiAtZSBDT05GSUdfTkxTX0lTTzg4NTlfMSBcCiAtZCBDT05GSUdfSU5Q
VVRfRVZCVUcgXAogLWQgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX09OREVNQU5EIFwK"

echo "$diff" | base64 -d | patch -p1 || exit 1

echo "Download kernel sources and build pve-kernel, it may take hours, please be patient."

make SKIPABI=1 || exit 1

pvek=`ls pve-kernel*.deb`

if [ "$pvek" == "" ]; then
        echo "Something is wrong, failed to generate pve-kernel package."
        exit 1
else
        echo "Now everything is ready, you can install the built $pvek package"
fi

 

War dieser Artikel hilfreich?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
Wie können wir diesen Artikel verbessern?
Please submit the reason for your vote so that we can improve the article.
Brauchst du Hilfe?
Related Post