%
% twadmin.tex
% Last Update: $Id$
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kapitel Twadmin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Achtung: Dateien muessen mit latin1-Encoding gespeichert werden!
% Attention: Files must be saved using latin1 encoding!
%

\chapter{Das twadmin-Paket}

\section{Die Einleitung}

    Dieses Paket wurde initial von Maximilian Pasternak (E-MAIL \kmail{max@eisfair.org})
    zusammengestellt und von J"urgen Edner (E-MAIL \kmail{juergen@eisfair.org}) "uberarbeitet.
    Mit Hilfe des twadmin-Paketes kann man den Status eine RAID-Verbundes
    an einem LSI\textsuperscript{\textregistered}/3ware\textsuperscript{\textregistered}-Kontroller
    in regelm"a"sigen Abst"anden abfragen oder eine Pr"ufung des RAID-Verbundes
    ansto"sen.


\section{Die Funktionen}

    Das twadmin-Paket beinhaltet keine anderen Komponenten, setzt jedoch
    voraus, dass der Anwender die tw\_cli-Software von
    LSI\textsuperscript{\textregistered}/3ware\textsuperscript{\textregistered}
    bei der Installation bereith"alt.


\section{Die Voraussetzungen}

    Dieses Paket ben"otigt die tw\_cli-Software von
    LSI\textsuperscript{\textregistered}/3ware\textsuperscript{\textregistered}
    um funktionieren zu k"onnen. Aus rechtlichen Gr"unden kann diese nicht
    "uber ein Paket zur Verf"ugung gestellt werden und muss deshalb separat
    von der Herstellerseite (\url{http://www.lsi.com}) herunter geladen werden.


\section{Die Installation}

    Das twadmin-Paket wird "uber das Setup-Men"u installiert. Wird eine
    "altere Paketversion vorgefunden, so wird diese deinstalliert bevor
    die neuen Programmdateien installiert werden.
    Hierzu sollte man unbedingt zuvor den Abschnitt `Verschiedenes ->
    Installation des Administrationspaketes' lesen!


\section{Das Men"u im Setup-Programm}

    Das Men"u im Setup-Programm ist wie folgt aufgebaut:

    \begin{itemize} \item View documentation: Anzeigen der Dokumentation
        \item Edit configuration: Bearbeiten der Konfiguration
        \item Advanced configuration file handling: Konfigurationen verwalten
        \item Show status: Status des RAID-Dienstes anzeigen
        \item Stop service: Stoppen des RAID-Dienste
        \item Start service: Starten des RAID-Dienstes
        \item Show RAID Array status: Status des RAID-Verbundes anzeigen
        \item Administrate RAID array: RAID-Verbund administrieren
        \item Update the CLI: CLI-Software aktualisieren
        \item View alarms log file: Alarmlogdatei anzeigen
        \item Exit: Untermen"u verlassen
    \end{itemize}

    Die Men"upunkte d"urften selbsterkl"arend sein, da sie keinerlei
    weitere Eingaben erwarten. Aus diesem Grund wird auf deren Funktion
    vorerst nicht weiter eingegangen.


\section{Die "Anderung der Konfiguration}

    Die Konfiguration kann "uber den Men"upunkt `Edit configuration'
    ge"andert werden. Standardm"a"sig wird der Editor aufgerufen, der
    in der environment-Konfiguration "uber die Variable `EDITOR' festgelegt
    wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die
    Konfiguration aktiviert werden soll. Wird dies best"atigt, werden "uber
    ein Skript die modifizierten "Anderungen umgehend wirksam gemacht.


\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, die "uber das Men"u zug"anglich ist, sind
    folgende Parameter vorhanden; wer sie von Hand editieren will findet
    sie unter \texttt{/etc/config.d/twadmin}.


\section{Die Parameter}

\begin{description}
    \config{START\_TWADMIN}{START\_TWADMIN}{STARTTWADMIN}
        F"ur die Aktivierung des twadmin-Paketes muss diese Variable auf
        den Wert `yes' gestellt werden. Die Einstellung `no' schaltet das
        twadmin-Paket ab.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{START\_TWADMIN='no'}

    \config{TWADMIN\_CONTROLLER\_N}{TWADMIN\_CONTROLLER\_N}{TWADMINCONTROLLERN}
        "Uber diesen Parameter gibt man die Anzahl der RAID-Kontroller
        an welche im System verbaut sind.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{TWADMIN\_CONTROLLER\_N='0'}

    \config{TWADMIN\_CONTROLLER\_x\_ACTIVE}{TWADMIN\_CONTROLLER\_x\_ACTIVE}{TWADMINCONTROLLERxACTIVE}
        Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der
        zugeh"orige Kontrollerdatensatz aktiviert, `no' deaktiviert ihn.

        G"ultige Werte: yes, no

        Beispiel: \texttt{TWADMIN\_CONTROLLER\_1\_ACTIVE='yes'}

    \config{TWADMIN\_CONTROLLER\_x\_NUMBER}{TWADMIN\_CONTROLLER\_x\_NUMBER}{TWADMINCONTROLLERxNUMBER}
        "Uber diesen Parameter legt man die Nummer des RAID-Kontrollers
        fest dessen Port-Konfiguration im Folgenden konfiguriert wird.
        Die Angabe dieses Wertes ist notwendig, da die Kontrollernummer
        systembedingt nicht immer von 0 an gez"ahlt wird.

        G"ultige Werte: Zahl

        Beispiel: \texttt{TWADMIN\_CONTROLLER\_1\_NUMBER='0'}

    \config{TWADMIN\_CONTROLLER\_x\_PORT\_N}{TWADMIN\_CONTROLLER\_x\_PORT\_N}{TWADMINCONTROLLERxPORTN}
        "Uber diesen Parameter gibt man die Anzahl der Ports pro
        RAID-Kontroller an.

        G"ultige Werte: Zahl

        Beispiel: \texttt{TWADMIN\_CONTROLLER\_1\_PORT\_N='0'}

    \config{TWADMIN\_CONTROLLER\_x\_PORT\_y\_ACTIVE}{TWADMIN\_CONTROLLER\_x\_PORT\_y\_ACTIVE}{TWADMINCONTROLLERxPORTyACTIVE}
        Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der
        zugeh"orige Port des Kontrollers aktiviert, `no' deaktiviert ihn.

        G"ultige Werte: yes, no

        Beispiel: \texttt{TWADMIN\_CONTROLLER\_1\_PORT\_1\_ACTIVE='yes'}

    \config{TWADMIN\_TUNE}{TWADMIN\_TUNE}{TWADMINTUNE}
        Um das Setzen spezieller Performance-Einstellungen zu aktivieren
        muss diese Variable auf den Wert `yes' gestellt werden. Die
        Einstellung `no' deaktiviert diese Funktion.
        \achtung{Diese Parameter werden zur Zeit nur bei 2.4.x-Kerneln
        unterst"utzt!}

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TWADMIN\_TUNE='no'}

    \config{TWADMIN\_TUNE\_MIN\_READAHEAD}{TWADMIN\_TUNE\_MIN\_READAHEAD}{TWADMINTUNEMINREADAHEAD}
        Wurde der Parameter \jump{TWADMINTUNE}{TWADMIN\_TUNE='yes'}
        gesetzt, so kann "uber diesen Parameter die minimale Anzahl von
        Festplattenbl"ocken festgelegt werden, die bei einem Dateizugriff
        im voraus gelesen werden sollen. Wird der Parameter nicht gesetzt,
        so wird standardm"a"sig der Wert '3' verwendet.\\
        (Der Wert dieses Parameters wird nach \texttt{'/proc/sys/vm/min-readahead'}
        geschrieben.)

        G"ultige Werte: Zahl

        Optimierte Einstellung: \texttt{TWADMIN\_TUNE\_MIN\_READAHEAD='512'}

    \config{TWADMIN\_TUNE\_MAX\_READAHEAD}{TWADMIN\_TUNE\_MAX\_READAHEAD}{TWADMINTUNEMAXREADAHEAD}
        Wurde der Parameter \jump{TWADMINTUNE}{TWADMIN\_TUNE='yes'}
        gesetzt, so kann "uber diesen Parameter die maximal Anzahl von
        Festplattenbl"ocken festgelegt werden, die bei einem Dateizugriff
        im voraus gelesen werden sollen. Wird der Parameter nicht gesetzt,
        so wird standardm"a"sig der Wert '31' verwendet.\\
        (Der Wert dieses Parameters wird nach \texttt{'/proc/sys/vm/max-readahead'}
        geschrieben.)

        G"ultige Werte: yes, no

        Optimierte Einstellung: \texttt{TWADMIN\_TUNE\_MAX\_READAHEAD='512'}

    \config{TWADMIN\_SYSLOGD}{TWADMIN\_SYSLOGD}{TWADMINSYSLOGD}
        "Uber diesen Parameter wird festgelegt, ob Statusmeldungen per
        Syslog mitgeschrieben werden sollen oder nicht.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TWADMIN\_SYSLOGD='yes'}

    \config{TWADMIN\_CHECK}{TWADMIN\_CHECK}{TWADMINCHECK}
        "Uber diesen Parameter wird festgelegt, ob der Status des
        RAID-Verbundes per Cronjob "uberwacht werden soll.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TWADMIN\_CHECK='yes'}

    \config{TWADMIN\_CHECK\_SCHEDULE}{TWADMIN\_CHECK\_SCHEDULE}{TWADMINCHECKSCHEDULE}
        Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall
        eine "Uberpr"ufung des RAID-Verbundes durchgef"uhrt werden soll.
        Die f"unf Teilparameter haben dabei folgende Bedeutung:\\
        \\
        1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.\\
        \\
        D.h. bei Verwendung der Standardeinstellung wird st"undlich zur 57.
        Minute der RAID-Status gepr"uft. Wer N"aheres "uber die verwendete
        Befehlssyntax erfahren m"ochte, sollte "uber eine Internet-Suchmaschine
        nach `man' und `crontab' suchen.

        G"ultige Werte: Crontab-spezifischer Parametereintrag

        Standardeinstellung: \texttt{TWADMIN\_CHECK\_SCHEDULE='57 * * * *'}

    \config{TWADMIN\_VERIFY}{TWADMIN\_VERIFY}{TWADMINVERIFY}
        "Uber diesen Parameter wird festgelegt, ob eine regelm"a"sige
        Pr"ufung des RAID-Verbundes per Cronjob durchgef"uhrt werden
        soll.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TWADMIN\_VERIFY='yes'}

    \config{TWADMIN\_VERIFY\_SCHEDULE}{TWADMIN\_VERIFY\_SCHEDULE}{TWADMINVERIFYSCHEDULE}
        Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall
        eine "Uberpr"ufung des RAID-Verbundes durchgef"uhrt werden soll.
        Die f"unf Teilparameter haben dabei folgende Bedeutung:\\
        \\
        1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.\\
        \\
        D.h. bei Verwendung der Standardeinstellung wird an jedem 1.
        eines Monats um 04:26h der RAID-Verbund gepr"uft. Wer N"aheres
        "uber die verwendete Befehlssyntax erfahren m"ochte, sollte "uber
        eine Internet-Suchmaschine nach `man' und `crontab' suchen.

        G"ultige Werte: Crontab-spezifischer Parametereintrag

        Standardeinstellung: \texttt{TWADMIN\_VERIFY\_SCHEDULE='26 4 * * 1'}

    \config{TWADMIN\_LOG}{TWADMIN\_LOG}{TWADMINLOG}
        "Uber diesen Parameter wird festgelegt, ob Logeintr"age geschrieben
        werden sollen.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{TWADMIN\_LOG\_FULL='no'}

    \config{TWADMIN\_LOG\_COUNT}{TWADMIN\_LOG\_COUNT}{TWADMINLOGCOUNT}
        "Uber diesen Parameter wird eingestellt, wie viele Logdateien
        vorgehalten werden sollen. Wird dieser Wert "uberschritten, so
        wird die "alteste Logdatei gel"oscht.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{TWADMIN\_LOG\_COUNT='10'}

    \config{TWADMIN\_LOG\_INTERVAL}{TWADMIN\_LOG\_INTERVAL}{TWADMINLOGINTERVAL}
        Dieser Parameter bestimmt in welchen Intervallen die Logdateien
        archiviert werden sollen. Zur Auswahl stehen die Schl"usselw"orter
        `daily' - t"aglich, `weekly' - w"ochentlich und `monthly - monatlich.

        G"ultige Werte: daily, weekly, monthly

        Standardeinstellung: \texttt{TWADMIN\_LOG\_INTERVAL='weekly'}
\end{description}


\section{Verschiedenes}

\begin{description}
    \config{Adapter-Karte installieren}{Adapter-Karte installieren}{Adapter-Karteinstallieren}
        Als erstes sollte man die Anweisungen des
        LSI\textsuperscript{\textregistered}/3ware\textsuperscript{\textregistered}
        Escalade RAID-Kontroller lesen und den Kontroller entsprechend
        der darin enthaltenen Beschreibung installieren.

        \achtung{Der LSI\textsuperscript{\textregistered}/3ware\textsuperscript{\textregistered}-Kontroller
            unterst"utzt nur eine Festplatte pro Kontroller-Port. D.h. es
            darf nur eine Festplatte an jedes Kabel angeschlossen werden.}

        Nach der Installation der Kontrollerkarte startet man den
        Rechner neu und ruft w"ahrend des Startvorgangs das Adapter-BIOS
        durch Dr"ucken von \texttt{Alt+3} auf. Nachdem man dann
        den RAID-Verbund wie gew"unscht konfiguriert hat speichert man
        die Einstellungen durch Dr"ucken von \texttt{F8+y} und
        startet den Rechner neu.

    \config{Treiberinstallation}{Treiberinstallation}{Treiberinstallation}
        Die ben"otigten Treiber f"ur den RAID-Kontroller k"onnen direkt
        w"ahrend der Installation eines neuen \eisfair-Systems oder zu
        einem bereits laufenden \eisfair-System hinzugef"ugt werden.
        Beide Wege der Installation werden im Folgenden beschrieben.

        \begin{itemize}
            \item Neue \eisfair-Installation\\
                Wenn man die Treiber w"ahrend einer \eisfair-Neuinstallation
                hinzuf"ugt, werden sie direkt in das Boot-Image aufgenommen.
                Hierdurch ist es m"oglich das vollst"andige \eisfair-System auf
                einem RAID-Verbund zu installieren. Es werden keine anderen
                Boot-Ger"ate bzw. Festplatten ben"otigt und die einzelnen
                Partitionen k"onnen direkt "uber die Datei \texttt{/etc/fstab}
                gemountet werden.

                \begin{itemize}
                    \item Treiber-URL (URL zur .txt-, nicht zur .tar.gz.info-Datei)
                        zur Datei boot.txt, Bereich DRIVER\_URL, hinzuf"ugen.
                    \item Ein neues \eisfair-Bootmedium erstellen und die
                        Installation starten.
                    \item W"ahrend der \eisfair-Installation wird dann nach dem zu
                        verwendenden Treiberpaket gefragt. Hier w"ahlt man:\\
                        \\
                        \texttt{1. - 1.1.1  3ware IDE/SATA RAID Adapters - Driver}
                    \item Danach setzt man die \eisfair-Installation wie gewohnt fort.
                \end{itemize}

            \item Treiber zu einer bestehenden Installation hinzuf"ugen\\
                Wenn man den Treiber zu einer existierenden Installation
                hinzuf"ugt, kann man die Festplattenlaufwerke nicht mittels
                der Datei \texttt{/etc/fstab} mounten. Man muss die
                Partitionen entweder manuell oder mittels mount-/umount-Skripten,
                welche in \texttt{/etc/rc2.d} abgelegt werden, mounten.

                Mit der Verf"ugbarkeit des \eisfair Kernel v2.3.x wird dieses
                Problem gr"o"stenteils behoben sein, dann dann die Treiber
                bereits im Kernelpaket enthalten sein werden.

                \begin{itemize}
                    \item Das Treiberpaket "uber das \eisfair Setup-Men"u,
                        "uber die Funktion `Install new package' installieren.\\
                        \\
                        1. - 1.1.1  3ware IDE/SATA RAID Adapters - Driver
                \end{itemize}
        \end{itemize}

    \config{Den RAID-Verbund verwenden}{Den RAID-Verbund verwenden}{Den RAID-Verbundverwenden}
        Der LSI\textsuperscript{\textregistered}/3ware\textsuperscript{\textregistered}-Adapter
        wird als SCSI-Adapter erkannt und muss somit "uber die
        entsprechenden Laufwerksnamen angesprochen werden:

        \begin{verbatim}
fdisk /dev/sda
mke2fs /dev/sda1
mount -t ext2 /dev/sda1 /raid1
        \end{verbatim}
        Die Verwendung dieser Befehle wird in jedem Linux-Handbuch im
        Detail beschrieben.

    \config{Installation des Administrationspaketes}{Installation des Administrationspaketes}{InstallationdesAdministrationspaketes}
        Aus lizenzrechtlichen Gr"unden kann darf das
        LSI\textsuperscript{\textregistered}/3ware\textsuperscript{\textregistered}-Kommandozeilenprogramm
        (tw\_cli) nicht in dieses Paket integriert werden.
        Das Programmpaket CLI for Linux muss in der Version 7.5.2,
        7.6.3, 7.7.0, 9.3.0.7, 9.5.3 oder 9.5.4 manuell von der Seite
        \url{http://www.lsi.com/} herunter geladen und im Verzeichnis
        \texttt{/tmp} abgelegt werden bevor das twadmin-Paket
        installiert wird. Es werden die Archivnamen tw\_cli.tgz,
        cli\_linux.tgz, tw\_cli-linux-x86-*.tgz oder
        3DM2\_CLI-Linux\_10.2.1\_9.5.4.zip erkannt.

        \begin{itemize}
            \item Herunter laden von tw\_cli.tgz (`CLI for Linux') von der
                Seite \url{http://www.lsi.com/} und Ablegen im Verzeichnis
                \texttt{/tmp}.\\
                \hinweis{Wenn es kein CLI v9.5.3-Paket f"ur den eigenen
                    Kontroller gibt, sollte man es mit dem CLI-Paket des
                    `Escalade 7000 Series'-Kontroller versuchen.}
            \item Installation des twadmin-Paketes "uber das \eisfair Setup-Men"u
                "uber die Funktion `Install new package'.
        \end{itemize}

    \config{Fehlerhafte Festplatte austauschen}{Fehlerhafte Festplatte austauschen}{FehlerhafteFestplatteaustauschen}
        Wenn das twadmin-Paket installiert ist und dem Anwender
        \texttt{`root@eisfair'} eines Tage eine Mitteilung
        zugesandt wird, dass der RAID-Verbund `degraded' wurde, sollte
        man sich zeitnah an die Fehleranalyse machen. Normalerweise
        geht man dabei wie folgt vor:

        \begin{itemize}
            \item Austausch der fehlerhaften Festplatte bzw. Hinzuf"ugen einer
                neuen Festplatte zum RAID-Verbund.
            \item Beim Neustart des Rechners und w"ahrend des Boot-Vorgangs das
                Adapter-BIOS durch Dr"ucken von \texttt{Alt+3} aufrufen
                und die Funktion `rebuild' f"ur den fehlerhaften RAID-Verbund
                ausw"ahlen. Durch Dr"ucken von \texttt{F8} und
                Best"atigung durch \texttt{'Y'} (\texttt{'Z'}
                auf einer deutschen Tastatur) die Operation starten.
            \item Neustart des \eisfair-Servers und warten bis der RAID-Verbund
                im Hintergrund neu aufgebaut wird. "Uber die Men"ufunktion
                `Show RAID Array Status' kann man den Status der
                Wiederherstellung "uberwachen.
        \end{itemize}

    \config{Fehlerbehebung}{Fehlerbehebung}{Fehlerbehebung}
        \begin{itemize}
            \item{1.} Problem: Bei einigen alten Kontrollern der 6000er-Serie
                l"auft der Treiber nicht stabil und es wird folgende Meldung
                in die Datei \texttt{/var/log/messages} geschrieben:

        \begin{verbatim}
> Nov  8 18:57:00 eis kernel: 3w-xxxx: scsi0: Command failed:
> status = 0xc1, flags = 0x16, unit #0.
        \end{verbatim}
                L"osung: Aktualisieren des Kontroller-BIOS auf die Version
                6.9. Die Software kann von der Seite \url{http://www.3ware.com/}
                herunter geladen werden.

            \item{2.} Problem: Wenn ein
                LSI\textsuperscript{\textregistered}/3ware\textsuperscript{\textregistered}-RAID
                als Boot-Ger"at in einem \eisfair-Server verwendet wird und
                sich weitere IDE-Festplatten im Rechner befinden, so kann
                dies bei einer \eisfair-Installation oder einem Kernel-Upgrade
                zu Installationsproblemen f"uhren.

                L"osung: Alle IDE-Festplatten vor der Installation bzw. vor
                dem Upgrade vom Onboard-Kontroller trennen.
        \end{itemize}
\end{description}


\section{Installationsanleitung von Hans-Peter Seiler}

\begin{description}
    \config{Vorbereitung}{Vorbereitung}{Vorbereitung}
        Das Treiberpaket unterst"utzt
        LSI\textsuperscript{\textregistered}/3ware\textsuperscript{\textregistered}-IDE-RAID-Kontroller
        der Bauarten 7000, etc..

        Ben"otigt werden:
        \begin{itemize}
            \item - LSI\textsuperscript{\textregistered}/3ware \textsuperscript{\textregistered}Escalade IDE RAID-Kontroller
            \item - 2 IDE Festplatten gleicher Gr"o"se
            \item - 2 Festplattenkabel Ultra/DMA100 80-adrig
        \end{itemize}
        Zu beachten ist, dass im Gegensatz zu einer normalen IDE-Installation
        beide Festplatten gleich gejumpert sein m"ussen (Master oder Slave)
        und jede f"ur sich mit einem Festplattenkabel an einen Port des Kontroller
        angeschlossen wird.

    \config{Einrichtung RAID-Verbundes im BIOS des Kontrollers}{Einrichtung RAID-Verbundes im BIOS des Kontrollers}{EinrichtungRAID-VerbundesimBIOSdesKontrollers}
        Nach Einbau des Kontrollers wird w"ahrend des Bootvorgangs das
        BIOS des Kontrollers angezeigt. Das Setup kann durch Dr"ucken der
        Tasten \texttt{Alt+3} aufgerufen werden.
        Der RAID-Verbund (Typ 1, 0, 5 oder 10) k"onnen exakt, wie in der
        Anleitung beschrieben, eingerichtet werden. Die Einstellungen
        werden durch Dr"ucken der Taste \texttt{F8} und
        Best"atigen mit \texttt{'Y'} gespeichert.

    \config{Partitionieren des RAID-Verbundes}{Partitionieren des RAID-Verbundes}{PartitionierendesRAID-Verbundes}
        Jetzt kann der \eisfair-Server neu gestartet werden. Der RAID-Verbund
        muss nur noch partitioniert und formatiert werden. Dies erfolgt wie bei
        einer gew"ohnlichen SCSI-Festplatte.

        \begin{verbatim}
fdisk /dev/sda (sda = Master bzw. sdb = Slave)
        \end{verbatim}
    \config{Formatieren des RAID-Verbundes}{Formatieren des RAID-Verbundes}{FormatierendesRAID-Verbundes}
        Der RAID-Verbund wird wie eine normale Festplatten formatiert.

        \begin{verbatim}
mke2fs /dev/sda1
        \end{verbatim}
    \config{Mounten des RAID-Verbundes}{Mounten des RAID-Verbundes}{MountendesRAID-Verbundes}
        Auch das Mounten des RAID-Verbundes erfolgt wie gewohnt.

        \begin{verbatim}
mount -t ext2 /dev/sda1 /raid1
        \end{verbatim}
\end{description}

\section{Ersetzen einer defekten Festplatte von Dirk Krase}

\begin{description}
    \config{Ausfall eines RAID-Verbundes}{Ausfall eines RAID-Verbundes}{AusfalleinesRAID-Verbundes}
        Dank der Arbeit von Maximilian bekommen wir bei Problemen mit dem
        RAID-Verbund einen Statusreport per E-Mail mit dem Betreff `Output
        of fcron job: '/usr/sbin/tw\_status quiet' ' zugesandt, welchen
        es unbedingt zu beachten gilt. Im Normalbetrieb wird diese E-Mail
        unterdr"uckt, daher wissen wir jetzt sofort, dass ein Problem
        vorliegt.\\
        In diesem Report ist vermerkt, bei welchem RAID-Verbund ein Problem
        (degraded) aufgetreten und welche Festplatte daran schuld ist.\\
        Bei mir fand ich im Report die Zeile \texttt{`Subunit  1:    CBOD:
        DRIVE INACCESSABLE'}, was auch genau den Tatsachen entsprach,
        da ich die Festplatte zum Test einfach abgeh"angt hatte. Also wissen
        wir jetzt welche Festplatte defekt ist. Es ist jetzt von Vorteil,
        wenn man beim Einbau alle Festplatten mit ihrer Portnummer beschriftet
        hat, sodass man in der Hektik nicht die falsche Festplatte ausbaut.
        Dann h"atte man n"amlich tats"achlich ein Problem. Bisher verh"utete
        der Kontroller das Schlimmste.\\
        Als n"achstes wird der Server entweder "uber die Konsole oder mit
        Hilfe einer Terminalsession mit dem Kommando \texttt{`shutdown -h now'}
        heruntergefahren. Dazu muss man sich zuvor unbedingt als Benutzer
        \texttt{`root'} anmelden. Die weitere Vorgehensweise h"angt
        jetzt nat"urlich vom jeweiligen Einzelfall ab.\\
        Wird die Festplatte immer noch vom Kontroller erkannt, ist aber
        nicht in Benutzung, so kann man versuchen diese dem RAID-Verbund
        hinzuzuf"ugen und einen `Rebuild' starten. Klappt dies nicht, so
        wird wohl doch etwas mehr kaputt sein und die Festplatte muss
        getauscht werden. Wird die Festplatte nicht mehr erkannt, ist
        eventuell die Elektronik defekt, die Stromversorgung unterbrochen
        oder das IDE-Kabel defekt. Da wir pro Kanal nur eine Festplatte
        anschlie"sen k"onnen, besteht nicht die M"oglichkeit das Problem
        durch den Betrieb von zwei Festplatten an einem Kanal ausschlie"sen.
        Daher sollte man einmal das Stromversorgungskabel "uberpr"ufen,
        ein anderes Kabel benutzen etc..\\
        Nach dem erneuten Einschalten des Rechner ruft man mittels \texttt{Alt+3}
        das Konfigurationsmen"u des Kontrollers auf und schaut welcher
        Hinweis angezeigt wird. Dieser sollte eindeutig das weitere Vorgehen
        beschreiben.\\
        Wird die defekte Festplatte wieder erkannt (Drive not in Use),
        versuchen wir den RAID-Verbund "uber die Rebuild-Funktion erneut
        aufzubauen. Schl"agt dieser fehl, muss die Festplatte doch getauscht
        werden. Steht hinter dem betroffenen Port dagegen `Drive not listed'
        (wird also gar nicht erkannt), so ist die Festplatte entweder defekt
        oder immer noch nicht korrekt angeschlossen. Also nochmals den
        Rechner ausschalten und den Fehler korrigieren bis die Festplatte
        erkannt wird und wir `Drive not in use' lesen. Hier ist es wichtig
        eine Reservefestplatte f"ur den Notfall im Schrank liegen zu haben.\\
        Jetzt markieren wir mittels der \texttt{Cursortasten} und
        \texttt{Enter} den zur reparierenden RAID-Verbund. Vor der
        Unit-Anzeige erscheint nach der Auswahl zur Best"atigung ein Sternchen.
        Durch mehrmaliges Dr"ucken der \texttt{TAB}-Taste w"ahlen
        wir das Feld `Rebuild' aus und best"atigen wieder mittels der
        \texttt{Entertaste}. Den n"achsten Hinweistext quittieren
        wir ebenfalls. Danach dr"ucken wir die Taste \texttt{F8}
        um den Vorgang zu starten. Bei der Beantwortung der Frage `Continue
        rebuild Yes' gilt es zu beachten, dass wir dazu auf einer deutschen
        Tastatur die Taste \texttt{'Z'} dr"ucken m"ussen. Sofort
        wird das Konfigurationsmen"u verlassen und der \eisfair-Server neu
        gestartet.\\
        Melden wir uns jetzt als User \texttt{`eis'} an, so k"onnen
        wir im Men"u `Service Administration, 3ware Escalade IDE-RAID-Kontroller ->
        Show RAID Array Status' schauen, ob der Neuaufbau des RAID-Verbundes
        l"auft. Bei mir stand dort z.B.:

        \begin{verbatim}
# of units:  1
    Unit  0: RAID 5 359.99 GB (703118592 blocks): REBUILDING (29%)
        \end{verbatim}
        In diesem Fall ist alles in Ordnung. Bis zum Abschluss des Neuaufbaus
        darf nat"urlich keine weitere Festplatte ausfallen, da kein weiterer
        Spielraum f"ur einen Fehler existiert. Diejenigen von uns, welche
        eine Reservefestplatte eingebaut haben die im Fehlerfall automatisch
        einspringt, sind hier eindeutig im Vorteil.\\
        Zu diesem Zeitpunkt bekommen wir immer noch die Statusmeldungen per
        E-Mail. Einige Zeit sp"ater finden wir hoffentlich im Servicemen"u
        eine "ahnliche Zeile wie:

        \begin{verbatim}
# of units:  1
    Unit  0: RAID 5 359.99 GB (703118592 blocks): OK
        \end{verbatim}
        Jetzt haben wir alles "uberstanden und den Fehler erfolgreich behoben. ;-)
        In Wirklichkeit ist alles viel einfacher als es sich hier vielleicht
        liest und geht viel, viel schneller von der Hand als das Schreiben
        dieses Textes gedauert hat. Nicht umsonst haben wir einen guten
        Kontroller in unserem Server verbaut. Ich selber habe wegen dieser
        Tests mehrmals meine Festplatten abgeschaltet und niemals Probleme
        beim Wiederherstellen des RAID-Verbundes (Rebuild) gehabt. Auf 3
        Punkte gebracht haben wir nur folgendes zu tun:

        \begin{itemize}
            \item{1.} Defekte Festplatte in der Logdatei identifizieren.
            \item{2.} Die Festplatte austauschen bzw. den Fehler finden.
            \item{3.} Den RAID-Verbund wiederherstellen (Rebuild).
        \end{itemize}
        So einfach ist die ganze Sache. Jetzt bleibt mir nur noch, Euch
        viel Spa"s mit dem Treiberpaket zu w"unschen.

        Dirk
\end{description}

