Wie erstelle ich Raid 10 mit Megacli?

7

Ich habe OpenFiler-Speicherserver.

Ohne Windows und MSM zu installieren, möchte ich ein raid10-Array von den Datenträgern 2 bis 21 erstellen.

Ich habe MegaCli bereits erfolgreich auf OpenFiler installiert, bin aber nicht in der Lage, die richtige Befehlszeile für die Erstellung eines RAID 10-Arrays zu finden.

Die Dokumentation besagt, dass die Syntax zum Erstellen eines RAID 10 lautet:

MegaCli -CfgSpanAdd -r10 -Array0[E:S,E:S] -Array1[E:S,E:S] -aN

Meine Gehäuse-ID ist 25, also:

[root@linux-h5ut ~]# MegaCli -CfgSpanAdd -r10 -Array0[E25:S02,E25:S21] -Array1[E25:S02,E25:S21] WB Cached NoCachedBadBBU -a0
Invalid input at or near token E

Ich habe hoch und niedrig gegoogelt, aber es scheint kein Beispiel dafür zu geben, raid10 mit Megaraid zu machen (nur die Syntax).

Kann jemand erklären, was los ist?

Henno
quelle

Antworten:

6

Antwort a Create Raid 10 (nicht Raid 6)

  1. Holen Sie sich zuerst den Adapter #

    # MegaCli Adpallinfo -aall | grep '^Adapter'  
    Adapter #0   
    

    MegaCli oder Megacli je nach Distribution

    In diesem Fall ist es Adapter Adapter #0

  2. Geräte-ID und Slot-Disk-Werte abrufen:

     # MegaCli64 -PDlist -aall | grep -e '^Enclosure Device ID:' -e '^Slot Number:'
     Enclosure Device ID: 252
     Slot Number: 0
     Enclosure Device ID: 252
     Slot Number: 1
     Enclosure Device ID: 252
     Slot Number: 2
     Enclosure Device ID: 252
     Slot Number: 3
    

    ID in diesem Fall für alles, was es ist 252

  3. Laut MegaCli- Befehl zum Erstellen von RAID 10 ist esMegaCli -CfgSpanAdd -r10 -Array0[E:S,E:S] -Array1[E:S,E:S] -aN

     MegaCli -CfgSpanAdd -R10 -Array0[252:0,252:2] -Array1[252:1,252:3] -a0
    

    Erstellen Sie in diesem Fall ein RAID 10, indem Sie ein Array für Raid0 mit den Datenträgern 0 und 2 und ein anderes Array für Raid1 mit den Datenträgern 1 und 3 und N = 0 (-a0) erstellen.

  4. Überprüfen Sie RAID

     # megasasctl
     a0       LSI MegaRAID SAS 9271-4i encl:1 ldrv:1  batt:FAULT, low voltage, charge failed
     a0d0      1489GiB RAID 10  2x2  optimal
     a0e252s0    745GiB  a0d0  online
     a0e252s1    745GiB  a0d0  online
     a0e252s2    745GiB  a0d0  online
     a0e252s3    745GiB  a0d0  online
    

    Oder wenn megasasctlnicht verfügbar:

     # MegaCli -LDInfo -Lall -aALL
     Adapter 0 -- Virtual Drive Information:
     Virtual Disk: 0 (Target Id: 0)
     Name:
     RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0
     Size:1.454 TB
     State: Optimal
     Stripe Size: 256 KB
     Number Of Drives per span:2
     Span Depth:2
     Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
     Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
     Access Policy: Read/Write
     Disk Cache Policy: Enabled
     Encryption Type: None
    
abkrim
quelle
5

Sie haben die Manpage nicht verstanden. E25: S02 - eine ähnliche Variable, die int-Werte haben sollte. Alles was du brauchst:

1. Holen Sie sich die Adapter-ID (in meinem Beispiel ist sie 0):

root@sto# megacli Adpallinfo -aall | grep '^Adapter'                                                    
Adapter #0

2. Holen Sie sich E- und S-Werte:

megacli -PDlist -aall | grep -e '^Enclosure Device ID:' -e '^Slot Number:'

Sie werden so etwas bekommen:

Enclosure Device ID: 20
Slot Number: 0
Enclosure Device ID: 20
Slot Number: 1
Enclosure Device ID: 20
Slot Number: 2
Enclosure Device ID: 20
Slot Number: 3
Enclosure Device ID: 20
Slot Number: 4

Dies sind Ihre E- und S-Nummern, ig 20: 0,20: 1,20: 2,20: 3,20: 4. Der Befehl zum Erstellen von beispielsweise RAID6 lautet also:

megacli -CfgLdAdd -r6 [20:0,20:1,20:2,20:3,20:4] -a0
Frodosumkin
quelle
Dies ist die richtigste (wenn nicht einfach die direkteste) Antwort.
Spooler
Dies mögen gute Anweisungen für RAID 6 sein, aber das OP gab an, dass er RAID 10
erstellen
3

Ich habe das benutzt (vor ein paar Monaten, um Raid 50 zu erstellen):

megacli -CfgSpanAdd -r50 -Array0[252:2,252:3,252:4] Array1[252:5,252:6,252:7] WB RA Direct CachedBadBBU -a0

IBM x3560 und:

Product Name    : ServeRAID M5015 SAS/SATA Controller
Serial No       : SV14018726
FW Package Build: 12.13.0-0179
Michal Sokolowski
quelle
1

Ich habe gerade ein 6-Platten-RAID-10 mit MegaCli erstellt und die folgenden Befehle verwendet:

(Angenommen, in diesen Beispielen gibt es nur einen Controller, sodass dieser -aALLverwendet werden kann, anstatt einen bestimmten Controller anzugeben.)

Zeigen Sie die an den Controller angeschlossenen physischen Laufwerke an:

MegaCli -PDList -aALL

Beachten Sie die "Enclosure Device ID" und "Slot Number" für die Laufwerke aus dieser Liste, da dies die Nummern sind, durch die Sie "E" und "S" in den späteren Befehlen zur Erstellung von RAID-Sets ersetzen.

Zeigen Sie die vorhandenen logischen Laufwerke (dh RAID-Sets) an:

MegaCli -LDInfo -Lall -aALL

Wenn Sie über ein vorhandenes RAID-Array verfügen, von dem Sie Festplatten wiederverwenden möchten, müssen Sie das vorhandene logische Laufwerk entfernen, zu dem diese Festplatten gehören. Die logische Laufwerksnummer sollte aus dem vorherigen Befehl abgerufen werden . Dies zerstört natürlich die Daten auf diesem vorhandenen RAID-Array, wenn Sie es ausführen :

MegaCli -CfgLdDel -L<n> -aALL

Jetzt haben Sie eine Reihe von Festplatten, die sich im Status "Nicht konfiguriert (gut)" befinden sollten und daher für die Verwendung in einem neuen logischen Laufwerk verfügbar sind. Erstellen wir einen RAID-10-Satz von 6 Festplatten, was wirklich einer Zeitspanne von 3 RAID-1-Festplattenpaaren entspricht:

MegaCli -CfgSpanAdd -r10 -Array0[32:2,32:3] -Array1[32:4,32:5] -Array2[32:6,32:7] -a0

In meinem Fall sind die Festplatten die Festplatten 2 bis 7 in Gehäuse 32. Diese Nummern werden von der PDList-Ausgabe erhalten, die Sie zuvor erhalten haben. Wenn Sie 4 Festplatten haben, sind es nur zwei Paare, aber die "ArrayN" -Blöcke sind immer Paare als zugrunde liegende RAID-1-Paare in einem RAID-10-Satz.

Ihr RAID-Array sollte jetzt auf Ihrem Betriebssystem angezeigt werden und von dort aus für die Partitionierung usw. verfügbar sein! :) :)

David Gardner
quelle
0

Scheint, dass ich keine E- und S-Buchstaben verwenden sollte.

Zuerst habe ich es richtig verstanden und es ohne Buchstaben versucht, aber auch ungültige Token-Fehler erhalten, weil ich -aALL anstelle von -a0 verwendet habe (" Wenn Sie nur einen Controller haben, ist es sicher, ALL anstelle einer bestimmten ID zu verwenden ") und dann von gelesen habe Diese Site gab an, dass "E die Gehäusegerät-ID ist, in der sich das Laufwerk befindet, und S die Steckplatznummer", und kam daher zu dem Schluss, dass ich E und S durch tatsächliche IDs ersetzen sollte. :((

Henno
quelle
Ohne E- und S-Buchstaben antwortet Megaraid jedoch mit "OSSpecificInitialize: Fehler beim Laden von libsysfs.so.2.0.2. Stellen Sie sicher, dass libsfs im System vorhanden ist. Die abhängige Bibliothek libsysfs.so.2.0.1 ist nicht verfügbar. Bitte wenden Sie sich an LSI für die Verteilung des Pakets Eine Mischung aus konfigurierten und nicht konfigurierten Laufwerken ist nicht möglich. " Ich denke, ich muss diese Bibliothek irgendwie bekommen.
Henno
Ich musste /root/opt/lsi/3rdpartylibs/x86_64/libsysfs.so.2.0.2 in dasselbe Verzeichnis stellen, in dem ich MegaCli (/ usr / local / bin)
Henno
Bist du sicher? Korrigieren Sie es ist megacli -CfgSpanAdd für Raids 10,50,60 und andere mit Arrays
abkrim
0

MegaCli cfgspanadd r10 array0 "[25:02,25:21]" array1 "[25:02,25:21]" wb cached nocachedbadbbu a0 sollte ohne Probleme funktionieren.

sjas
quelle