Was ist /dev/mfid?

morpheus

Well-Known Member
Hallo,

ich bin ja gerade dabei, unseren Storageserver mit ZFS zu installieren. Die Platten hängen alle an einem LSI-Raidcontroller, auf dem aber keine Raidkonfiguration eingerichtet wurde. Ich habe das System nun von eine Live-CD gestartet und statt der gewohnten Laufwerksbezeichnungen unter /dev werden mir nun alle Platten als /dev/mfid0-16 angezeigt.

Ich bin mir jetzt nicht sicher, ob das die "normalen" Laufwerke sind oder irgendwelche virtuellen Raidlaufwerke, die der Controller erstellt und die man eventuell für ZFS nicht benutzen sollte. Zumindest habe ich irgendetwas gelesen, dass es sich bei den mfid-Devices um Raidlaufwerke handeln soll. Oder kann ich die Laufwerke so verwenden?

Weiß jemand Genaueres?

Gruß, Morpheus
 
Das habe ich mir gedacht. Allerdings sehe ich unter /dev nur die mfi-Devices, auch wenn ich nur ZFS benutzen möchte. Man mfi verrät mir dazu aber leider auch nichts.

Kann ich, um ein ZFS-Dateisystem einzurichten, die /dev/mfid* Laufwerke verwenden, oder muss ich vorher noch irgendetwas ändern, damit mfi nicht verwendet wird?
 
Zuletzt bearbeitet:
Kann ich, um ein ZFS-Dateisystem einzurichten, die /dev/mfid* Laufwerke verwenden, oder muss ich vorher noch irgendetwas ändern, damit mfi nicht verwendet wird?

Im Prinzip ja. Ohne jede Garantie oder Haftung.:cool:
Besser wäre (anderer Conroller ?), ada* devices zu nutzen, aber die LSI Controler sind da etwas 'schweigsam' mit dem, was dahinter liegt.
camcontrol devlist (-v)
oder
camcontrol periphlist (mfid*)
wird wahrscheinlich aber auch nix bringen.
Es existiert noch ein mfip treiber, der bessere Imterstützung genau dafür bietet. Ist der geladen ?
kldstat -v | grep mfip

Nutze selbst keine LSI's, bewege mich ehrlichgesagt daher auf dünnem Eis. :(
 
camcontrol devlist (-v)
oder
camcontrol periphlist (mfid*)
wird wahrscheinlich aber auch nix bringen.

Nein, das hat nichts gebracht

Es existiert noch ein mfip treiber, der bessere Imterstützung genau dafür bietet. Ist der geladen ?
kldstat -v | grep mfip

Nein, der Treiber ist nicht geladen. Ich boote ja zunächst von der CD als Live-System, um das System unter ZFS zu installieren. Da wird der Treiber scheinbar nicht geladen.
Hat jemand eine Idee, wie ich da den richtigen Treiber verwenden kann?
 
kldload -v mfip
check:
kldstat und/oder kldstat -v |grep mfip

und dan mal schaun, was da so unter /dev ist.
 
Ein passtrough Device pro Platte funktioniert. Jedoch hat man noch immer Metadaten des LSI Controllers auf den Platten.
 
wenn ich kldload -v mfip ausführe, werden mir unter /dev die Devices pass0 bis pass17 angezeigt. Dabei sind nur 17 Platten im Server, wieso werden 18 Devices angezeigt?

Gibt es denn eine Möglichkeit, die Platten auch ohne Metadaten des Controllers zu nutzen? Die Platten sind im Raidcontroller so konfiguriert, dass jede Platte als ein virtuelles Laufwerk eingerichtet ist. Wenn ich diese Konfiguration lösche, zeigt mir FreeBSD überhaupt keine Platten mehr an. Ich gehe also davon aus, dass ich die Platten zwingend als virtuelle Laufwerke konfigurieren muss.

Oder bekommt man auch auf anderem Wege einen Direktzugriff hin?

Außerdem habe ich folgendes Problem: Wenn ich gpart create -s gpt pass1 eingebe, erhalte ich die Fehlermeldung gpart: arg0 'pass1' invalid argument.
Mache ich das Gleiche statt mit pass1 mit mfid0, wird der Befehl ausgeführt.
 
Zuletzt bearbeitet:
Ich hatte mal die ultimative Lösung für dieses Problem bei einem PCI-Controller ab Werk, ich habe ihn einfach ausgebaut ...
 
wenn ich kldload -v mfip ausführe, werden mir unter /dev die Devices pass0 bis pass17 angezeigt. Dabei sind nur 17 Platten im Server, wieso werden 18 Devices angezeigt?
bestimme devices:
camcontrol (periphlist|identify, evtl inquiry|devlist -v)
es gibt da noch ein mfiutil mit eigener logik. man mfiutil(8)
Gibt es denn eine Möglichkeit, die Platten auch ohne Metadaten des Controllers zu nutzen? Die Platten sind im Raidcontroller so konfiguriert, dass jede Platte als ein virtuelles Laufwerk eingerichtet ist. Wenn ich diese Konfiguration lösche, zeigt mir FreeBSD überhaupt keine Platten mehr an. Ich gehe also davon aus, dass ich die Platten zwingend als virtuelle Laufwerke konfigurieren muss.

Oder bekommt man auch auf anderem Wege einen Direktzugriff hin?
Wenn im Controllerbios eine Option existiert; etwas wie passthrough, disk control o. ä.
Außerdem habe ich folgendes Problem: Wenn ich gpart create -s gpt pass1 eingebe, erhalte ich die Fehlermeldung gpart: arg0 'pass1' invalid argument.
Mache ich das Gleiche statt mit pass1 mit mfid0, wird der Befehl ausgeführt.
Das ist imho korrekt.
Wahrscheinlich, wenn der Controller nicht dazu zu bewegen ist einen Direktzugriff freizugeben, lässt du zfs auf die identifizierten mfid(*) devices los.
Oder siehe peterle. :ugly:

hth
 
Also es kann Sinn machen die ^mfid[0-9]+$ Devices zu benutzen um vom Writecaching des Controllers zu profitieren ohne seine HW RAID Funktionen zu nutzen indem du ein RAID Volumen pro Platte anlegst.
 
Zurück
Oben