Hilfe: habe einen dummen Fehler gemacht

hieronymus

Member
Feb 27, 2021
6
3
8
38
Hallo zusammen,

ich hoffe das klingt jetzt nicht allzu doof. Für mich ist das Thema Virtualizierung/Linux ziemlich neu.
Habe in den letzten Tagen einen Server aufgesetzt mit Hilfe von Proxmox. In dem Server ist eine Raid-Karte von HP verbaut.
Alles lief soweit gut, bis zu dem Punkt, an dem ich eben genannten Raid-Controller an eine VM durchreichen wollte.
Habe einem Tutorial gefolgt und dummerweise unter /etc/modprobe.d/blacklist.conf black "blacklist hpsa" eingetragen und meine initramfs geupdatet.
Jetzt kann der Server meine zpool nicht mehr finden, weil die Treiber für den HP-Raid-Controller nicht mehr geladen werden. (:oops:)
Habe schon versucht über den eingebauten Busybox-Editor (vi), die Datei "blacklist.conf" zu korrigieren, sogar zu löschen. Nur wenn ich neu boote, ist sie immer wieder unverändert vorhanden.

Kann mir einer helfen?
Danke
 
Ähm, mal 2 problematische Dinge zum klären:

1.) Sind die Systemplatten, wo Proxmox drauf installiert ist, an dem selben Raid Controller angeschlossen, den du durchreichen wolltest?
2.) Hast du dein Proxmox mit ZFS auf einem Raid Controller installiert? Das darf man eigentlich nicht, außer man hat sämtliches Caching, Raid etc auf dem Raid Controller deaktiviert bekommen oder diesen in den IT-Mode geflasht, damit sider als normale HBA KArte arbeitet. ZFS braucht immer direkten Zugriff auf die einzelnen Laufwerke ohne dass da irgendwie ein Raid-Controller zwischen hängt, sonst zerschießt du dir früher oder später das ZFS.

Du könntest von der ProxmoxVE Iso booten. Die hat einen Rettungsmodus. Den dem kommst du dann vielleicht auf dein Proxmox und kannst das Blacklisting entfernen und dann das initramfs neu bauen.
 
Ähm, mal 2 problematische Dinge zum klären:

1.) Sind die Systemplatten, wo Proxmox drauf installiert ist, an dem selben Raid Controller angeschlossen, den du durchreichen wolltest?
2.) Hast du dein Proxmox mit ZFS auf einem Raid Controller installiert? Das darf man eigentlich nicht, außer man hat sämtliches Caching, Raid etc auf dem Raid Controller deaktiviert bekommen oder diesen in den IT-Mode geflasht, damit sider als normale HBA KArte arbeitet. ZFS braucht immer direkten Zugriff auf die einzelnen Laufwerke ohne dass da irgendwie ein Raid-Controller zwischen hängt, sonst zerschießt du dir früher oder später das ZFS.

Du könntest von der ProxmoxVE Iso booten. Die hat einen Rettungsmodus. Den dem kommst du dann vielleicht auf dein Proxmox und kannst das Blacklisting entfernen und dann das initramfs neu bauen.
Vielen Dank schonmal für deine Antwort

1.) Ja, die Systemplatten sind auf dem selben Controller. Im Nachhinein (und dem durchforsten unzähliger Forum-Post) ist mir nun auch klar, das dies nicht funktionieren dürfte, und ich die Festplatten, die ich durchreichen will auf einen separaten Controller anschließen sollte.
2.) Ich habe alle Raid-Funktionen auf dem Controller ausgeschaltet und diesen in den HBA-Modus versetzt, die Festplatten werden direkt durchgereicht (das sollte in Ordnung sein).

Ich habe bereits versucht in den Rettungsmodus zu booten, bekomme dann folgende Fehlermeldung
Code:
error: compression algorithm inherit not supported
.
ERROR: unable to find boot disk automatically

Bin so ein bisschen am Ende mit meinem Latein.
 
Hast du noch Ports für die Laufwerke am Mainboard frei die nicht am Controller hängen? Wenn das z.B. SATA HDDs sind und dein Mainboard SATA-Anschlüsse hat, die über den Chipsatz angeschlossen sind, dann könntest du die beiden Systemlaufwerke einfach temporär direkt am Mainboard anschließen. ZFS sollte das egal sein wo die Laufwerke angeschlossen sind. Sobald die Laufwerke nicht mehr an dem Raid Controller hängen, sollte sich ja wieder booten lassen (Bootreihenfolge im BIOS nicht vergessen).
 
Ja habe noch SATA Anschlüsse frei, aber die Festplatten (zfs gespiegelt) sind SAS-Platten. Habe jetzt einen zweiten Controller bestellt (wollte die Kapazität eh erhöhen und so kann ich den zweiten Controller direkt an die VM durchreichen).
Muss ich dann alle Festplatten im ZFS-Pool an den neuen Controller anschließen, oder reichen die zwei Festplatten auf denen Proxmox installiert ist? Aktuell habe ich 6 Festplatten im pool, die jeweils gespiegelt sind.
Werde auf jeden Fall berichten, ob dein Lösungsansatz funktioniert.
Die alternative Idee, die ich hatte, war ein separates Linux-System über USB zu booten und irgendwie die initramfs von Proxmox darüber zu modifizieren.
 
Ja habe noch SATA Anschlüsse frei, aber die Festplatten (zfs gespiegelt) sind SAS-Platten. Habe jetzt einen zweiten Controller bestellt (wollte die Kapazität eh erhöhen und so kann ich den zweiten Controller direkt an die VM durchreichen).
Ist es der identisch Controller? Bzw ein Controller der den selben Treiber nutzt? Falls ja wird ja auch der neue Controller nicht laufen. Denn da dein initramfs den Treiber auf der Backlist hat wird kein Contoller laufen, welcher den selben Treiber nutzt. Wenn du den einen Controller durchreichen willst und den anderen nicht und du den zum Durchreichen vorher per Blacklist deaktivieren musst, dann wäre immer beide deaktiviert, wenn die den selben Treiber nutzen und das ganze würde nicht klappen.
Muss ich dann alle Festplatten im ZFS-Pool an den neuen Controller anschließen, oder reichen die zwei Festplatten auf denen Proxmox installiert ist?
Aktuell habe ich 6 Festplatten im pool, die jeweils gespiegelt sind.
Du musst schon den ganzen Pool durchreichen mit allen HDDs die dazu gehören. Meinst du, du hast nur einen Pool (stripped mirror aus 6 HDDs) oder sind das mehrere einzelne Pools (z.B. 3x mirrors die nicht per stripe verbunden sind)?
Die alternative Idee, die ich hatte, war ein separates Linux-System über USB zu booten und irgendwie die initramfs von Proxmox darüber zu modifizieren.
Das kannst du natürlich auch versuchen. Ist aber schon relativ kompliziert. Da musst du dann ZFS in Linux zum laufen bekommen und wissen wie du chroot und bind-mounts benutzt.
 
Hallo zusammen,
an der Stelle nochmal vielen Dank für die Hilfe.

Ich habe es gerade hinbekommen. Falls irgendjemand nochmal ein ähnliches Problem haben sollte,
ich bin folgendermaßen vorgegangen:
- Habe über USB-Stick Ubuntu 20.04 gebootet
- Erstmal alles geupdatet:
Code:
sudo apt update
sudo apt upgrade
- Habe dann die Partition(en) gemountet (habe zwei Platten die gespiegelt sind) auf der die initramfs gespeichert ist
- Habe dann alle weiteren Änderungen als root-user gemacht:
Code:
sudo -i
- Mit Hilfe dieser Anleitung die initramfs entpackt, modifiziert und wieder gepackt:
https://backreference.org/2010/07/04/modifying-initrdinitramfs-files/
- Die modifizierte initramfs auf meine beiden Platten kopiert
- Siehe da mein Server bootet wieder und mir ist ein Stein vom Herzen gefallen
 
  • Like
Reactions: Dunuin and CoolTux

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!