NRW:Arbeitsgruppe/Technik/Dokumentation/Server/Storage

Aus Piratenwiki
Wechseln zu: Navigation, Suche
AG Technik NRW
Verwaltung: Übersicht | Protokolle | Dokumentation | FAQ
Dienste: E-Mail | Lists | Blogs | Domains | RT | Mumble | LAN | Serverstatus


Storage Konfiguration

Twilightsparkle storage diagram.gif

Erweiterung des Storage

Sobald dem System neue Speichermedien hinzugefügt wurden, erstellt man im IMS Management Interface ggf einen neuen storage-pool mit entsprechender physikalischer Konfiguration. Darin wird ein virtuelles Laufwerk beliebiger Größe angelegt und den gewünschten Maschinen zugewiesen. Bei storage für VM-images sollte er allen Maschinen zugewiesen werden.

Wenn man neuen storage ohne Neustart einbinden will, muss man dem storage-controller des Hostsystems nach neuen Geräten suchen lassen:

$ echo "- - -" > /sys/class/scsi_host/host0/scan

Auf den Hostsystemen erscheint der storage nach einem rescan (oder Neustart) folgendermaßen:

$ cat /proc/partitions
  8       32 1953119601 sdc
  8       80 1953119601 sdf
253        2 1953119601 dm-2

Hier ist zu beachten, dass der storage zwei mal als SCSI Gerät (sdX) auftaucht und einmal über einen disk-mapper (dm-2). Auf die Geräte (sdX) kann nicht direkt zugegriffen werden. Da das System über einen redundanten storage-controller verfügt, wird dieser disk-mapper zusätzlich über ein multipath "Gerät" geschleift. Anleitungen zu multipath findet man z.B. hier http://sources.redhat.com/lvm2/wiki/MultipathUsageGuide

Um Multipath auf Debian basierten Systemen zu nutzen, sind die Pakete 'multipath-tools-initramfs' bzw. 'multipath-tools-boot' nötig.

Den aktuellen Status von multipath findet man wie folgt heraus:

$ multipath -l

mpath0 (222ea000155897fa8) dm-2 Intel,Multi-Flex
size=1.8T features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=-1 status=active
| `- 0:0:0:2 sdc 8:32 active undef running
`-+- policy='round-robin 0' prio=-1 status=enabled
  `- 0:0:1:2 sdf 8:80 active undef running

Über die major/minor numbers (z.B. 8:32) und den Gerätenamen (sdX) kann man die angezeigten Geräte der Ausgabe von /proc/partitions zuordnen. Nun konfiguriert man eine neue multipath path-group. Als Parameter wwid nutzt man die geklammerte eindeutige WWID aus der Rückgabe des vorherigen Kommandos, hier "222ea000155897fa8". Als Alias kann man einen beliebigen Namen wählen.

$ vim /etc/multipath.conf
multipaths {
  […]
  multipath {
     wwid 222ea000155897fa8
     alias nearline-hdd
  }
}

Nun lässt man die multipath Informationen neu laden.

$ multipath -r

Und erhält die Information inklusive des neuen Alias.

$ multipath -l
nearline-hdd (222ea000155897fa8) dm-2 Intel,Multi-Flex
size=1.8T features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=-1 status=active
| `- 0:0:0:2 sdc 8:32 active undef running
`-+- policy='round-robin 0' prio=-1 status=enabled
  `- 0:0:1:2 sdf 8:80 active undef running

Achtung! Dieser Schritt ist nur einmal notwendig, dabei werden bestehende Daten überschrieben! Bei der Einbindung des storage in weitere Maschinen muss die Partition nicht erneut angelegt werden!

Bei der initialen Einrichtung des storage wird eine einfache Linux-Partition auf der nun verfügbaren multipath-group erstellt:

$ cfdisk /dev/mapper/nearline-hdd

Die folgenden Schritte müssen wiederum auf allen Maschinen ausgeführt werden, die das neue storage nutzen sollen. Aus Basis der multipath-group wird nun ein LVM physical volume erstellt.

$ pvcreate /dev/mapper/nearline-hdd-part1

Das physical volume taucht nun in der Systemkonfiguration auf:

$ pvscan
PV /dev/disk/by-id/dm-name-nearline-hdd   VG vmdisks-nearline   lvm2 [1.82 TiB / 1.82 TiB free]
PV /dev/disk/by-id/dm-name-leeloo         VG vmdisks3           lvm2 [800.00 GiB / 35.00 GiB free]
Total: 2 [2.60 TiB] / in use: 2 [2.60 TiB] / in no VG: 0 [0   ]


Innerhalb dieses physical volume wird wiederum eine volume group erstellt die letztendlich vom Betriebssystem zur Datenablage verwendet wird.

$ vgcreate vmdisks-nearline /dev/disk/by-id/dm-name-nearline-hdd

Die neue volume group taucht nun in der entsprechenden Konfiguration auf

$ vgdisplay
--- Volume group ---
VG Name               vmdisks-nearline
System ID             
Format                lvm2
Metadata Areas        1
Metadata Sequence No  1
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                0
Open LV               0
Max PV                0
Cur PV                1
Act PV                1
VG Size               1.82 TiB
PE Size               4.00 MiB
Total PE              476835
Alloc PE / Size       0 / 0   
Free  PE / Size       476835 / 1.82 TiB
VG UUID               T1vwzy-w7rM-XBkB-epLH-hpAx-tR0H-qKzpkK

Sobald die volume group auf allen Maschinen verfügbar ist, kann sie in Proxmox unter "Datacenter" -> "Storage" als LVM Gruppe eingebunden werden.

Nach kurzer Zeit sollten die storage-controller die neuen multipath groups korrekt initialisiert haben, das sieht dann folgendermaßen aus:

$ multipath -l
nearline-hdd (222ea000155897fa8) dm-2 Intel,Multi-Flex
size=1.8T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=-2 status=active
  |- 0:0:0:2 sdc 8:32 active undef running
  `- 0:0:1:2 sdf 8:80 active undef running