Linux-Admin: Oracle Cluster File System (OCFS): Unterschied zwischen den Versionen

Aus Hergipedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Wozu ist das gut? ==
== Wozu ist das gut? ==


Um den Netzwerkspeicherplatz des iSCSI-RAID-Systems von mehreren Servern aus gleichzeitig zu mounten, ist ein Cluster-Dateisystem nötig. OCFS2 erfüllt diese Kriterien und ist in den OpenSuse-Standard-Repos enthalten.
Um den Netzwerkspeicherplatz des iSCSI-RAID-Systems von mehreren Servern aus gleichzeitig zu mounten, ist ein Cluster-Dateisystem nötig. OCFS2 erfüllt diese Kriterien und ist in den Ubuntu- und OpenSuse-Standard-Repos enthalten.


== Einrichtung eines OCFS2-Clusters ==
== Einrichtung eines OCFS2-Clusters ==
Zeile 11: Zeile 11:
  open-iscsi
  open-iscsi
  ocfs2-tools
  ocfs2-tools
  ocfs2-tools-o2cb
  (openSUSE: zusätzlich ocfs2-tools-o2cb)
  sowie deren Abhängigkeiten
  sowie deren Abhängigkeiten


=== Cluster-Definition ===
=== Cluster-Definition ===


Alle Rechner, die Zugriff auf den iSCSI-Plattenbereich erhalten sollen, benötigen eine Cluster-Definitions-Datei, die aus '''ALLEN''' Nodes '''IDENTISCH''' sein muss:
Alle Rechner, die Zugriff auf den iSCSI-Plattenbereich erhalten sollen, benötigen eine Cluster-Definitions-Datei, die auf '''ALLEN''' Nodes '''IDENTISCH''' sein muss:


  /etc/ocfs2/cluster.conf
  /etc/ocfs2/cluster.conf


In dieser Datei wird der Cluster und alle seine Teilnehmer ("nodes") definiert. Der Port 7777 ist der Default. Bei uns läuft das Speichernetzwerk im internen Netzwerk (192.168.0.*), in der Firewall als interne Zone definiert. Dann muss Port 7777 nicht extra geöffnet werden.
In dieser Datei wird der Cluster und alle seine Teilnehmer ("nodes") definiert. Der Port 7777 ist der Default. Bei uns läuft das Speichernetzwerk im internen Netzwerk (192.168.0.*), in der Firewall [[Linux-Admin: Ubuntu-Firewall UFW|UFW]] explizit erlaubt bzw. bei openSUSE als interne Zone definiert. Dann muss Port 7777 nicht extra geöffnet werden.


Dies ist die Beispiel-Konfiguration für den vmstorage-Cluster:
Dies ist die Beispiel-Konfiguration für den vmstorage-Cluster:


  cluster:  
  cluster:  
  node_count = 3
  node_count = 4
  name = vmstorage
  name = vmstorage
   
   
Zeile 47: Zeile 47:
  number = 3  
  number = 3  
  name = vmhost3
  name = vmhost3
cluster = vmstorage
node:
ip_port = 7777
ip_address = 192.168.0.15
number = 4
name = vmhost4
  cluster = vmstorage
  cluster = vmstorage


=== iSCSI-Target mounten ===
=== iSCSI-Target mounten ===


Um sich mit dem iSCSI-RAID zu verbinden, startet man YAST2 und benutzt unter "Netzwerkdienste" den iSCSI-Initiator. Folgende Einstellungen sind nötig:
Um sich mit dem iSCSI-RAID zu verbinden, benutzt man den iSCSI-Initiator.  
 
In der Datei /etc/iscsi/iscsid.conf wird eine Zeile von:
node.startup = manual
geändert auf:
node.startup = automatic
 
Dann werden die iSCSI-Freigaben auf dem eonstor-RAID gesucht:
iscsiadm -m discovery -t st -p 192.168.0.10
Man sollte zwei Freigaben (vmstorage und datengrab) zu sehen bekommen. Der Initiatorname steht in /etc/iscsi/initiatorname.iscsi. Dem iSCSI-RAID muss die IQN des zugreifenden Servers bekannt sein. Falls das noch nicht der Fall ist, muss diese Angabe mit [[Linux-Admin: Geräte über serielle Schnittstelle steuern mit minicom|minicom]] auf dem iSCSI-RAID gespeichert werden. Dann sollte man sich anmelden können mit:
iscsiadm -m node --login
 
Auf openSUSE sind mit YAST folgende Einstellungen nötig:


*Dienst beim Booten starten
*Dienst beim Booten starten
Zeile 60: Zeile 79:
*Login in das passende Target
*Login in das passende Target
*Verbindung: automatisch
*Verbindung: automatisch
Dem iSCSI-RAID muss die IQN des zugreifenden Servers bekannt sein. Falls das noch nicht der Fall ist, muss diese Angabe mit [[Linux-Admin: Geräte über serielle Schnittstelle steuern mit minicom|minicom]] auf dem iSCSI-RAID gespeichert werden.


=== O2CB-Dienst starten ===
=== O2CB-Dienst starten ===


Der o2cb-Dienst regelt die Kommunikation der Cluster-Teilnehmer untereinander sowie die Verwaltung der Lock-Files. Falls es sich um eine Neuinstallation handelt, müssen zuerst die Grundeinstellungen festgelegt werden:
Der o2cb-Dienst regelt die Kommunikation der Cluster-Teilnehmer untereinander sowie die Verwaltung der Lock-Files. Falls es sich um eine Neuinstallation handelt, müssen zuerst die Grundeinstellungen festgelegt werden:
openSUSE:
rco2cb configure
Ubuntu:
service o2cb configure ("or do it the Debian way ...")


rco2cb configure
  Einstellungen:
  Einstellungen:
  * Dienst beim Booten starten
  * Dienst beim Booten starten
Zeile 79: Zeile 99:
  mount <devicename> <mountpoint>
  mount <devicename> <mountpoint>


Für den Dauerbetrieb empfiehlt sich ein Eintrag in der /etc/fstab. Nützlich: Besser die Notation /dev/disk/by-path/* verwenden, um Verwechslungen mit anderen devices (sda1, sdb1 etc.) auszuschließen. Wichtig ist der _netdev-Eintrag, sonst wird beim Booten zu früh versucht, das iSCSI-Target zu mounten. Hier ein Beispiel auf vmhost1:
Für den Dauerbetrieb empfiehlt sich ein Eintrag in der /etc/fstab. Nützlich: Besser die Notation /dev/disk/by-path/* verwenden, um Verwechslungen mit anderen devices (sda1, sdb1 etc.) auszuschließen. Am besten lässt man sich die vorhandenen EInträge auflisten mit
 
ll /dev/disk/by-path
 
Wichtig ist der _netdev-Eintrag, sonst wird beim Booten zu früh versucht, das iSCSI-Target zu mounten. Hier ein Beispiel auf vmhost1:


  /dev/disk/by-path/ip-192.168.0.10:3260-iscsi-iqn.2002-10.com.infortrend:raid.sn7195854.00-lun-0-part1  /vmstorage  ocfs2  _netdev 0 0  
# vmstorage on eonstor iscsi raid
  /dev/disk/by-path/ip-192.168.0.10:3260-iscsi-iqn.2002-10.com.infortrend:raid.sn7195854.00-lun-0-part1  /vmstorage  ocfs2  _netdev 0 0


=== Besonderheiten ===
=== Besonderheiten ===

Aktuelle Version vom 21. August 2018, 12:45 Uhr

Wozu ist das gut?

Um den Netzwerkspeicherplatz des iSCSI-RAID-Systems von mehreren Servern aus gleichzeitig zu mounten, ist ein Cluster-Dateisystem nötig. OCFS2 erfüllt diese Kriterien und ist in den Ubuntu- und OpenSuse-Standard-Repos enthalten.

Einrichtung eines OCFS2-Clusters

Paket-Installation

Benötigt werden zusätzlich zur Standard-Installation folgende Pakete:

open-iscsi
ocfs2-tools
(openSUSE: zusätzlich ocfs2-tools-o2cb)
sowie deren Abhängigkeiten

Cluster-Definition

Alle Rechner, die Zugriff auf den iSCSI-Plattenbereich erhalten sollen, benötigen eine Cluster-Definitions-Datei, die auf ALLEN Nodes IDENTISCH sein muss:

/etc/ocfs2/cluster.conf

In dieser Datei wird der Cluster und alle seine Teilnehmer ("nodes") definiert. Der Port 7777 ist der Default. Bei uns läuft das Speichernetzwerk im internen Netzwerk (192.168.0.*), in der Firewall UFW explizit erlaubt bzw. bei openSUSE als interne Zone definiert. Dann muss Port 7777 nicht extra geöffnet werden.

Dies ist die Beispiel-Konfiguration für den vmstorage-Cluster:

cluster: 
node_count = 4 
name = vmstorage

node: 
ip_port = 7777 
ip_address = 192.168.0.12 
number = 1 
name = vmhost1 
cluster = vmstorage

node: 
ip_port = 7777 
ip_address = 192.168.0.13 
number = 2 
name = vmhost2 
cluster = vmstorage 

node: 
ip_port = 7777 
ip_address = 192.168.0.14 
number = 3 
name = vmhost3
cluster = vmstorage

node: 
ip_port = 7777 
ip_address = 192.168.0.15 
number = 4
name = vmhost4
cluster = vmstorage

iSCSI-Target mounten

Um sich mit dem iSCSI-RAID zu verbinden, benutzt man den iSCSI-Initiator.

In der Datei /etc/iscsi/iscsid.conf wird eine Zeile von:

node.startup = manual

geändert auf:

node.startup = automatic

Dann werden die iSCSI-Freigaben auf dem eonstor-RAID gesucht:

iscsiadm -m discovery -t st -p 192.168.0.10

Man sollte zwei Freigaben (vmstorage und datengrab) zu sehen bekommen. Der Initiatorname steht in /etc/iscsi/initiatorname.iscsi. Dem iSCSI-RAID muss die IQN des zugreifenden Servers bekannt sein. Falls das noch nicht der Fall ist, muss diese Angabe mit minicom auf dem iSCSI-RAID gespeichert werden. Dann sollte man sich anmelden können mit:

iscsiadm -m node --login

Auf openSUSE sind mit YAST folgende Einstellungen nötig:

  • Dienst beim Booten starten
  • Discovery:
    • 192.168.0.10 für vmstorage
    • 192.168.0.11 für datengrab
    • leere Authentifizierung (NICHT "keine Auth.")
  • Login in das passende Target
  • Verbindung: automatisch

O2CB-Dienst starten

Der o2cb-Dienst regelt die Kommunikation der Cluster-Teilnehmer untereinander sowie die Verwaltung der Lock-Files. Falls es sich um eine Neuinstallation handelt, müssen zuerst die Grundeinstellungen festgelegt werden: openSUSE:

rco2cb configure

Ubuntu:

service o2cb configure ("or do it the Debian way ...")
Einstellungen:
* Dienst beim Booten starten
* Name des zu startenden Clusters (vmstorage oder datengrab)
* alles andere: default (ENTER)

Mounten des Dateisystems

Zum Testen kann man das Dateiystem normal manuell mounten:

mount <devicename> <mountpoint>

Für den Dauerbetrieb empfiehlt sich ein Eintrag in der /etc/fstab. Nützlich: Besser die Notation /dev/disk/by-path/* verwenden, um Verwechslungen mit anderen devices (sda1, sdb1 etc.) auszuschließen. Am besten lässt man sich die vorhandenen EInträge auflisten mit

ll /dev/disk/by-path

Wichtig ist der _netdev-Eintrag, sonst wird beim Booten zu früh versucht, das iSCSI-Target zu mounten. Hier ein Beispiel auf vmhost1:

# vmstorage on eonstor iscsi raid
/dev/disk/by-path/ip-192.168.0.10:3260-iscsi-iqn.2002-10.com.infortrend:raid.sn7195854.00-lun-0-part1  /vmstorage  ocfs2  _netdev 0 0

Besonderheiten

Wenn verschiedene o2cb / dlm-Versionen kooperieren sollen, sollte der Node mit der ÄLTESTEN Version das Dateisystem ZUERST mounten, sonst kommt es zu Fehlern.