Eseguire Proxmox con NVME RAID

Support Wissensdatenbank

Du bist hier:
Print

Eseguire Proxmox con NVME RAID Purtroppo non è possibile eseguire Proxmox con VROC fino ad oggi 15.1.2020. Il supporto di Proxmox e Intel è insufficiente, mancano driver e supporto utilizzabili. Non vogliamo deliberatamente utilizzare un software RAID. Tuttavia, non vogliamo fare a meno di un RAID NVME veloce. Si noti che non garantiamo questo manuale e che questa configurazione non è ufficialmente supportata da Proxmox. Usatelo a vostro rischio e pericolo! Per utilizzare NVME RAID è necessario quanto segue:

  • Server veloce con PCI-E x16 GEN3
  • Controllore RAID Highpoint SSD7101A-1 con dischi NVME
  • Disco rigido normale o unità SSD
  • I due file di installazione di Highpoint
  • Lo script proxmox_kernel_rebuild.sh

 

  1. Ora iniziate ad installare Proxmox sui vostri hard disk. Dopo aver installato e configurato Proxmox è ora necessario compilare i driver NVME per Proxmox.
  2. Usare lo script sottostante, salvarlo come proxmox_kernel_rebuild.sh ed eseguirlo. Attenzione questo processo può richiedere diverse ore!
  3. Ora installate il file /pve-kernel/pve-headers-5.3.13-1*.deb appena creato e il file /pve-kernel/pve-kernel-5.3.13-1*.deb Attenzione questo processo può richiedere diverse ore!
  4. Se non è stato possibile installare il kernel anche dopo 4h di attesa, installare GRUB e abortire dopo 4h con “CTRL + C” e ricominciare dal punto 3. apt-get install grub
  5. Riavviare il server
  6. Ora bloccare ulteriori aggiornamenti del kernel (IMPORTANTE): apt-mark hold pve-headers-5.3.13-1 apt-mark hold pve-kernel-5.3.13-1
  7. Ora installate i due driver Linux da Highpoint: ./rsnvme_linux_src_v1.2.18_19_12_11 ./RAID_Manage_Linux_v2.3.14_17_07_26

INFO: Se si vuole aggiornare il proprio kernel, basta ricominciare dal punto 2 e lasciare che il nuovo kernel si compili.

Script: proxmox_kernel_rebuild.sh

#!/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