Table of Contents
Ziel
Dieser Blogeintrag beschreibt Schritt für Schritt die Installation und Konfiguration von OpenFiler 2.3. Zudem wird das Anlegen eines iSCSI Storage Devices erläutert, das zum Beispiel für die Installation eines Oracle Real Application Cluster (RAC) verwendet werden kann. Eine Kombination aus Oracle RAC und OpenFiler sollte nur in Testumgebungen Anwendung finden.
Was ist OpenFiler
OpenFiler ist eine einfache und über den Browser zu administrierende Netzwerk Storage Lösung auf Linux Basis. Mithilfe von OpenFiler lassen sich dateibasierte Network Attached Storage (NAS) und blockbasierte Storage Attached Network Lösungen bereitstellen. Als Grundlage dient ein CentOs Linux System.
Unterstützte Netzwerkprotokolle:
- NFS
- SMB/CIFS
- HTTP/WebDAV
- FTP
- NIS
- LDAP
- Active Directory (im nativen und gemischten Modus)
- Hesiod
Hardware & Software
Für die Installation von OpenFiler wird die Virutalisierungslösung VirtualBox in der momentan aktuellen Version 3.2.10 (Informationen & Download: http://www.virtualbox.org/) verwendet. VirtualBox steht als kostenfreier Download zur Verfügung. Auf die Installation von VirtualBox und das Einrichten einer virtuellen Maschine gehe ich bei diesem Blogeintrag nicht ein.
Die virtuelle Maschine wird wie folgt konfiguriert:
- 1x CPU (PAE aktivieren)
- 512 MB RAM (Minimum)
- 1x IDE HDD mit 8 GB (für das Betriebssystem)
- 2x SATA HDD mit jeweils 10 GB (als Beispiel für die iSCSI Konfiguration)
Installation
Bevor die Installation gestartet werden kann, muss zunächst das ISO Abbild des OpenFiler Installationsmediums unter VirtualBox eingebunden werden. Nach diesem Schritt kann die virtuelle Maschine gestartet werden. Es wird der folgende Startbildschirm angezeigt.
Als Installationtyp wird an dieser Stelle der grafische Modus gewählt. Mit Drücken der Enter Taste wird fortgefahren.
Im nächsten Schritt kann optional das Installationsmedium überprüft werden. Dieser Schritt wird übersprungen.
Anschließend startet der grafische Installationsmodus.
An dieser Stelle wird das deutsche Tastaturlayout ausgewählt.
Da bei unserer Testinstallation zunächst nur die Betriebssystemfestplatte partioniert werden soll, wird im nächsten Schritt eine manuelle Partitionierung durchgeführt.
Es werden die folgenden Partitionen für die Betriebssystemfestplatte (hda) angelegt.
- /boot (100 MB)
- swap (1024 MB, 2x RAM)
- /tmp /1024 MB)
- /
Das Einrichten der Partitionen wird nicht näher erläutert. Bei dem Anlegen einer neuen Partition müssen die Haken der beiden SATA Festplatten entfernt werden, damit auch nur die erste Festplatte partitioniert wird. Nach dem Einrichten der Partitionen ergibt sich folgendes Bild.
Nachdem Klicken auf die Schaltfläche Weiter werden Warnungen angezeigt die mit Yes bestätigt werden müssen. Mit Yes wird die Partitionstabelle für die jeweilige Festplatte geschrieben.
Im nächsten Schritt muss die Netzwerkkonfiguration angepasst werden. Die Werte können je nach Netzwerk abweichen.
Als Zeitzone wird Europe/Berlin verwendet.
Im letzten Schritt muss das root Passwort festgelegt werden.
Über die Schaltfläche Next wird die Installation gestartet.
Nach Abschluss der Installation muss der Server neu gestarted werden.
Nach dem Reboot erscheint die Shell mit der Möglichkeit zum Login. Zudem wird die Adresse für die Web Administration angezeigt.
Nun kann man sich als Benutzer root mit dem festgelegten Passwort anmelden. Eine Verbindung per SSH ist ebenfalls möglich.
Konfiguration
Für die nachfolgende Komfiguration der iSCSI Targets wird die grafische Web Oberfläche verwendet. Die Adresse laut in meinem Fall https;//192.168.100.160:446
Der Benutzer für das Standard Login lautet openfiler und das Passwort ist password.
Nachdem Login wird die folgende Startseite angezeigt. Auf dieser Seite werden Informationen über den Status und Zustand des OpenFiler Servers angezeigt.
Für die Konfiguration und die Benutzung von iSCSI muss der iSCSI Dienst unter Services aktiviert werden. Über die Schaltfläche Enable kann der Dienst gestartet werden.
Im nächsten Schritt müssen nun die beiden zu verwendenden Festplatten konfiguriert werden. Dafür ruft man den Reiter Volumes auf. Wie man sieht sind nach einer frischen Installation noch keine Volumes und Volume Groups konfiguriert
Unter dem Menüpunkt Block Devices in dem rechten Navigationsmenü gelangt man zu der Seite auf der man die physikalischen Festplatten partitionieren kann.
Die beiden SATA Festplatten /dev/sda und /dev/sdb besitzen zur Zeit noch keine Partitionen. Jede der beiden Festplatten wird nun eine Partition über die volle Größe erhalten.
Dafür wählt man die Festplatte aus der Spalte Edit Disk aus. Nach der Auswahl der gewünschten Festplatte gelangt man zu der Übersichtsseite der Festplatte auf der unter Anderem die vorhandenen Partitionen angezeigt werden.
Ganz unten auf der Seite besteht die Möglichkeit neue Partitionen anzulegen. Es wird die folgende Partition angelegt:
Mode: Primary
Partition Type: Physical Volumn
Starting cylinder: 1
Ending cylinder: 1305
Über die Schaltfläche Create wird die Partition angelegt.
Nach dem erfolgreichen Anlegen der Partition gelangt man wieder rum zur Übersichtsseite, auf der auch direkt die neue Partition angezeigt wird.
Anschließend wird für die zweite Festplatte ebenfalls eine Partition mit identischen Werten angelegt. Nachdem beide Festplatten partitioniert sind, kann nun eine neue Physical Volume Group erzeugt werden. Dafür ruft man den Link Volume Groups auf.
Nach dem Anlegen gelangt man, wie gewohnt, zur Übersichtsseite zurück.
Im nächsten Schritt werden nun die Logical Volumes angelegt. Ein Logical Volumne besteht aus einem Teil der physikalischen Volumne Group. Über den Menüpunkt Add Volume gelangt man zu der richtigen Seite. In diesem Beispiel werden zwei Logical Volumnes angelegt.
- ORA_DATA_DG (ASM Diskgruppe für die Datenbankdateien)
- ORA_FRA_DG (ASM Diskgruppe für die Flash Recovery Area)
Auf der folgenden Übersichtsseite werden die beiden zuvor angelegten logischen Volumes angezeigt.
Die Vorbereitung für die Konfiguration der iSCSI Targets ist nun abgeschlossen.
iSCSI Konfiguration
Für den Zugriff auf ein iSCSI Ziel muss zuvor festgelegt werden, welcher Adressbereich darauf zugreifen darf. Dafür ruft man unter dem Reiter System den Menüpunkt Network Setup auf.
Im Unteren Bereich unter Network Access Configuration lassen sich Ziele oder Zielbereiche festlegen, die später auf die iSCSI Targets zugreifen dürfen. Entweder kann die IP oder der Name des Zielservers festlegt werden. Um einen Zielbereich zu definieren kann man das Wildcard * benutzen, zum Beispiel 192.168.100.*. In diesem Beispiel wird lediglich der Server mit der IP-Adresse 192.168.100.65 Zugriff auf das iSCSI Target erhalten. Als Name für das Ziel wird Oracle_DB verwendet.
Im nächsten Schritt wird nun das iSCSI Target angelegt. Dafür ruft man unter Volumes den Punkt iSCSI Targets auf.
Es wird eine eindeutige Target IQN erzeugt, die mit Klicken der Schaltfläche Add übernommen wird.
Auf der darauf folgenden Seite kann nun das iSCSI target konfiguriert werden. Die Einstellungen unter dem Reiter Target Configuration werden ohne Änderung übernommen.
Unter dem Punkt LUN Mapping werden nun die im vorherigen Schritt definierten logischen Volumes gemapped, sprich dem iSCSI target zugewiesen. In diesem Beispiel wird nur eine der beiden LUNs verwendet.
Im nächsten Reiter Network ACL wird nun festgelegt wer von den zuvor konfigurierten Netzwerkzielen die LUN benutzen (ALLOW) darf oder nicht (DENY). Wir wählen nun das Netzwerkziel Oracle_DB aus und wechseln in der Spalte Access den Wert auf Allow. Anschließend wird über die Schaltfläche Update die Änderung übernommen.
Hinweis: Anscheinend gibt es einen Bug bei der richtigen Verwaltung der Zugriffsrechte. In der Datei /etc/initiators.deny wird automatisch ein Eintrag erstellt, der den Zugriff auf das konfigurierte iSCSI Target blockt. Wie es scheint wird die initiators.allow nicht gelesen oder in der falschen Reihenfolge gelesen. Damit die iSCSI Targets sichtbar werden muss der Eintrag in der initiators.deny Datei entfernt werden.
Die Konfiguration des iSCSI Targets ist nun abgeschlossen.
Zugriff auf ein iSCSI Target unter Linux
Für den Zugriff auf ein iSCSI Target muss auf dem Zielserver (der Server der sich mit dem iSCSI Target verbinden möchte) ein iSCSI Initiator installiert sein.
Das folgende Beispiel zeigt die Installation mithilfe von yum unter CentOS 5.5. Die folgenden Schritte erfolgen alle mit dem Benutzer root.
yum install iscsi-initiator-utils Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: centos.intergenia.de * base: centos.intergenia.de * extras: centos.intergenia.de * updates: mirror.silyus.net Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package iscsi-initiator-utils.i386 0:6.2.0.871-0.16.el5 set to be updated --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================== Package Arch Version Repository Size =========================================================================================================== Installing: iscsi-initiator-utils i386 6.2.0.871-0.16.el5 base 778 k Transaction Summary =========================================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 778 k Is this ok [y/N]: y Downloading Packages: iscsi-initiator-utils-6.2.0.871-0.16.el5.i386.rpm | 778 kB 00:04 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : iscsi-initiator-utils 1/1 Installed: iscsi-initiator-utils.i386 0:6.2.0.871-0.16.el5 Complete!
Nach der erfolgreichen Installation wird der iscsi Daemon gestartet.
/etc/init.d/iscsi start
Im nächsten Schritt werden nun die iSCSI Targets gescannt.
iscsiadm -m discovery -t sendtargets -p 192.168.100.160 192.168.100.160:3260,1 iqn.2006-01.com.openfiler:tsn.ec7eff61d1ad
Der Rückgabewert ist die Adresse, samt Target IQN des konfigurierten iSCSI Targets. Das iSCSI Target kann nun wie jede normale Festplatte formatiert, eingehängt und benutzt werden.