Archive

Archive for December, 2011

HP RAID hpacucli und LInux

December 7th, 2011 No comments

Ein RAID is was tolles, ein schnelles RAID noch besser und ein schnelles RAID mit HotSpare Disks einfach nur traumhaft. Also, wie bauen wir das mit HP Controllern?

 

Wir benötigen das Programm hpacucli.

Das liegt bei HP als RPM vor

 <Download der aktuellen Version>

 

 

Hier ein kurzer Überblick über die wichtigsten Kommandos:

 

Controller Staus & Config

 

hpacucli> ctrl all show config
hpacucli> ctrl all show config detail
hpacucli> ctrl all show status

 

 

Hpacucli kann mehrere Controller verwalten. Diese werden in verschiedenen Slots geparkt.

 

Also ist die Syntax immer

 

<Programm> <Controller> <Command> <Options>

 

Wichtig sind auch noch die verwendeten Abkützungen:

 

  • controller = ctrl
  • logicaldrive = ld
  • physicaldrive = pd

 

 

Arbeiten mit Platten

 

Anzeigen – mit Detailansicht

hpacucli> ctrl slot=0 pd all show
hpacucli> ctrl slot=0 pd 2:3 show detail

Status für alle oder für eine Platte

hpacucli> ctrl slot=0 pd all show status
hpacucli> ctrl slot=0 pd 2:3 show status

Eine Platte löschen

hpacucli> ctrl slot=0 pd 2:3 modify erase

Locator LED an/aus

hpacucli> ctrl slot=0 pd 2:3 modify led=on
hpacucli> ctrl slot=0 pd 2:3 modify led=off

 

 

Arbeiten mit RAIDs

 

Anzeigen was angelegt ist – Detailansicht optional:

hpacucli> ctrl slot=0 ld all show (detail)
hpacucli> ctrl slot=0 ld 4 show (detail)

Status aller Logical Drives oder selektiv

hpacucli> ctrl slot=0 ld all show status
hpacucli> ctrl slot=0 ld 4 show status

Locator LED für alle Platten des Logical Drive an/aus

hpacucli> ctrl slot=0 ld 4 modify led=on
hpacucli> ctrl slot=0 ld 4 modify led=off

Defekte Platte wiederbeleben

hpacucli> ctrl slot=0 ld 4 modify reenable forced

 

 

Logical Drives basteln

 

 

Erstellen

 

Eine Platte

hpacucli> ctrl slot=0 create type=ld drives=1:12 raid=0

Mirror

hpacucli> ctrl slot=0 create type=ld drives=1:13,1:14 size=300 raid=1

RAID 5

hpacucli> ctrl slot=0 create type=ld drives=1:13,1:14,1:15,1:16,1:17 raid=5

LD entfernen

hpacucli> ctrl slot=0 ld 4 delete

LD erweitern

hpacucli> ctrl slot=0 ld 4 add drives=2:3

Hot Spare Platten können für die gesamte landschaft am Controller oder spezifisch einem Array zugeordnet werden.

 

hpacucli> ctrl slot=0 array all add spares=1:5,1:7

hpacucli> ctrl slot=0 array B add spares=1:5,1:7

 

 

 

Praxisbeispiel:

 

Ein HP MSA 60 mit 12x 450gb SAS HDDs soll ein RAID5+0 mit zwei Spare Disks werden.

Aktuellen Zustand auflisten:

dbtestfarm01:~ # hpacucli ctrl slot=2 show config

Smart Array P812 in Slot 2                (sn: XXXXXXXXXXXXXXXXX)

unassigned

physicaldrive 1E:1:1 (port 1E:box 1:bay 1, SAS, 450 GB, OK)
physicaldrive 1E:1:2 (port 1E:box 1:bay 2, SAS, 450 GB, OK)
physicaldrive 1E:1:3 (port 1E:box 1:bay 3, SAS, 450 GB, OK)
physicaldrive 1E:1:4 (port 1E:box 1:bay 4, SAS, 450 GB, OK)
physicaldrive 1E:1:5 (port 1E:box 1:bay 5, SAS, 450 GB, OK)
physicaldrive 1E:1:6 (port 1E:box 1:bay 6, SAS, 450 GB, OK)
physicaldrive 1E:1:7 (port 1E:box 1:bay 7, SAS, 450 GB, OK)
physicaldrive 1E:1:8 (port 1E:box 1:bay 8, SAS, 450 GB, OK)
physicaldrive 1E:1:9 (port 1E:box 1:bay 9, SAS, 450 GB, OK)
physicaldrive 1E:1:10 (port 1E:box 1:bay 10, SAS, 450 GB, OK)
physicaldrive 1E:1:11 (port 1E:box 1:bay 11, SAS, 450 GB, OK)
physicaldrive 1E:1:12 (port 1E:box 1:bay 12, SAS, 450 GB, OK)

Ein LogicalDrive mit 10 Platten im RAID 5+0 erstellen

dbtestfarm01:~ # hpacucli ctrl slot=2 create type=ld drives=1E:1:1,1E:1:2,1E:1:3,1E:1:4,1E:1:5,1E:1:6,1E:1:7,1E:1:8,1E:1:9,1E:1:10 raid=50

Config anzeigen:

dbtestfarm01:~ # hpacucli ctrl slot=2 show config

Smart Array P812 in Slot 2                (sn: XXXXXXXXXXXXXXXXX)

array A (SAS, Unused Space: 0 MB)

logicaldrive 1 (3.3 TB, RAID 50, OK)

physicaldrive 1E:1:1 (port 1E:box 1:bay 1, SAS, 450 GB, OK)
physicaldrive 1E:1:2 (port 1E:box 1:bay 2, SAS, 450 GB, OK)
physicaldrive 1E:1:3 (port 1E:box 1:bay 3, SAS, 450 GB, OK)
physicaldrive 1E:1:4 (port 1E:box 1:bay 4, SAS, 450 GB, OK)
physicaldrive 1E:1:5 (port 1E:box 1:bay 5, SAS, 450 GB, OK)
physicaldrive 1E:1:6 (port 1E:box 1:bay 6, SAS, 450 GB, OK)
physicaldrive 1E:1:7 (port 1E:box 1:bay 7, SAS, 450 GB, OK)
physicaldrive 1E:1:8 (port 1E:box 1:bay 8, SAS, 450 GB, OK)
physicaldrive 1E:1:9 (port 1E:box 1:bay 9, SAS, 450 GB, OK)
physicaldrive 1E:1:10 (port 1E:box 1:bay 10, SAS, 450 GB, OK)

unassigned

physicaldrive 1E:1:11 (port 1E:box 1:bay 11, SAS, 450 GB, OK)
physicaldrive 1E:1:12 (port 1E:box 1:bay 12, SAS, 450 GB, OK)

Die zwei verbliebenen Disks als HotSpare Disks für das Array zuweisen:

dbtestfarm01:~ # hpacucli ctrl slot=2 array A add spares=1E:1:11,1E:1:12

Finale Config angucken:

dbtestfarm01:~ # hpacucli ctrl slot=2 show config

Smart Array P812 in Slot 2                (sn: XXXXXXXXXXXXXXXXX)

array A (SAS, Unused Space: 0 MB)

logicaldrive 1 (3.3 TB, RAID 50, OK)

physicaldrive 1E:1:1 (port 1E:box 1:bay 1, SAS, 450 GB, OK)
physicaldrive 1E:1:2 (port 1E:box 1:bay 2, SAS, 450 GB, OK)
physicaldrive 1E:1:3 (port 1E:box 1:bay 3, SAS, 450 GB, OK)
physicaldrive 1E:1:4 (port 1E:box 1:bay 4, SAS, 450 GB, OK)
physicaldrive 1E:1:5 (port 1E:box 1:bay 5, SAS, 450 GB, OK)
physicaldrive 1E:1:6 (port 1E:box 1:bay 6, SAS, 450 GB, OK)
physicaldrive 1E:1:7 (port 1E:box 1:bay 7, SAS, 450 GB, OK)
physicaldrive 1E:1:8 (port 1E:box 1:bay 8, SAS, 450 GB, OK)
physicaldrive 1E:1:9 (port 1E:box 1:bay 9, SAS, 450 GB, OK)
physicaldrive 1E:1:10 (port 1E:box 1:bay 10, SAS, 450 GB, OK)
physicaldrive 1E:1:11 (port 1E:box 1:bay 11, SAS, 450 GB, OK, spare)
physicaldrive 1E:1:12 (port 1E:box 1:bay 12, SAS, 450 GB, OK, spare)

Das wars =)

 

Categories: Fun, Linux / Unix / foo Tags: ,

Oracle ASM mit RedHat 6.1 (ohne ASMlib)

December 6th, 2011 No comments

Wir brauchen zwei RAID Volumes.
Also irgendwas wie die hier aufgeführten:

dboracle-test:/dev # hpacucli ctrl slot=2 show config

Smart Array P812 in Slot 2                (sn: XXX)

array A (SAS, Unused Space: 0 MB)

logicaldrive 1 (1.6 TB, RAID 5, OK)

physicaldrive 1E:1:1 (port 1E:box 1:bay 1, SAS, 450 GB, OK)
physicaldrive 1E:1:2 (port 1E:box 1:bay 2, SAS, 450 GB, OK)
physicaldrive 1E:1:3 (port 1E:box 1:bay 3, SAS, 450 GB, OK)
physicaldrive 1E:1:4 (port 1E:box 1:bay 4, SAS, 450 GB, OK)
physicaldrive 1E:1:5 (port 1E:box 1:bay 5, SAS, 450 GB, OK)
physicaldrive 1E:1:11 (port 1E:box 1:bay 11, SAS, 450 GB, OK, spare)
physicaldrive 1E:1:12 (port 1E:box 1:bay 12, SAS, 450 GB, OK, spare)

array B (SAS, Unused Space: 0 MB)

logicaldrive 2 (1.6 TB, RAID 5, OK)

physicaldrive 1E:1:6 (port 1E:box 1:bay 6, SAS, 450 GB, OK)
physicaldrive 1E:1:7 (port 1E:box 1:bay 7, SAS, 450 GB, OK)
physicaldrive 1E:1:8 (port 1E:box 1:bay 8, SAS, 450 GB, OK)
physicaldrive 1E:1:9 (port 1E:box 1:bay 9, SAS, 450 GB, OK)
physicaldrive 1E:1:10 (port 1E:box 1:bay 10, SAS, 450 GB, OK)
physicaldrive 1E:1:11 (port 1E:box 1:bay 11, SAS, 450 GB, OK, spare)
physicaldrive 1E:1:12 (port 1E:box 1:bay 12, SAS, 450 GB, OK, spare)

Von den beiden Volumes holen wir uns die SCSI ID – diese benötigen wir später für die udev Regeln.

dboracle-test:/ # scsi_id -g /dev/sdc
3600508b1001c6af69e078cef3be3380f

dboracle-test:/ # scsi_id -g /dev/sdd
3600508b1001c4f224d0ea9eb655e1c91

 

Unter  /etc/udev/rules.d/ legen wir eine Datei namens 99-oracle-asmdevices.rules an.
In diese Datei kommt der folgende Inhalt für unsere beiden ASM Devices:

KERNEL==”sd?”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u /dev/$name”,
RESULT==”3600508b1001c6af69e078cef3be3380f”, NAME=”asm-dbFRA”, OWNER=”oracle”, GROUP=”asmadmin”, MODE=”0660″

KERNEL==”sd?”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u /dev/$name”,
RESULT==”3600508b1001c4f224d0ea9eb655e1c91″, NAME=”asm-dbDATA”, OWNER=”oracle”, GROUP=”asmadmin”, MODE=”0660″

Jetzt müssen noch die udev Regeln geladen werden.

udevadm control –reload-rules

Udev neu starten

start_udev

 

Fertig ist der Spaß!

dboracle-test:/dev # ls -la asm*
brw-rw—- 1 oracle asmadmin 8, 48 Dec  6 16:50 asm-dbDATA
brw-rw—- 1 oracle asmadmin 8, 32 Dec  6 16:50 asm-dbFRA

Categories: Linux / Unix / foo, Technik Tags: