%
% software-raid-fdisk.tex
% Last Update: $Id$
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kapitel Softwareraid mit fdisk %%%%%%%%%%%%%%%%

\chapter{Software-RAID mit fdisk}

% Softwareraid kommt nun von 'Software-RAID GPT fdisk'
% deaktiviert und nur fuer Sonderfaelle weiterhin dabei
% \marklabel{SOFTWARERAID}{}

\section{Die Voraussetzung}

    In dieser Anleitung wird fdisk f"ur die Einteilung der Festplatten benutzt.
    fdisk war bis zum Erscheinen von 2TB-Festplatten das Tool der Wahl.\\\\



    \achtung{Diese Anleitung ist veraltet und sollte nur noch in
             Ausnahmef"allen beachtet werden. Diese Anleitung wurde
             nicht an das aktuelle System angepasst.}\\\\



    Um ein RAID einzurichten, benutzen wir in dieser Beschreibung das Programm
    \textit{'mdadm'}.\\

    Diese Anleitung wurde speziell auf \emph{eisfair}-Systeme abgestimmt, auf deren
    Besonderheiten zu gegebener Zeit hingewiesen wird.\\
    Es werden alle Arten von Festplatten (IDE, SATA, SCSI) unterst"utzt. Die
    Festplattenbezeichnung (hd[a-f] oder sd[a-f]) muss jeweils den eigenen
    Gegebenheiten angepasst werden, unab"angig davon, welche Werte in dieser
    Anleitung verwendet wurden.\\\\


% fuer Pdf und Html verschieden breite Tabellen
% \etable benoetigt in jedem fall auch ein \end{tabular}
% \etable wird in software-raid-gpt.tex aktiviert
%\ifpdf
%    \newcommand{\etable}{\begin{tabular}{p{13mm}p{13cm}}}
%\else
%    \newcommand{\etable}{\begin{tabular}{p{25mm}p{22cm}}}
%\fi


    \etable
    \emph{eisfair}-1 &\\
    &  Das Program \textit{'mdadm'} ist ab der base 1.8.0 im
       Basis-System enthalten und muss deshalb nicht explizit installiert
       werden.\\\\

    &  Die notwendigen Kernelmodule sind im Kernel integriert und m"ussen
       nicht zus"atzlich geladen werden.\\\\

    &  Wenn das bisherige System auf einer IDE-Festplatte installiert ist,
       m"ussen f"ur SCSI- oder SATA-Festplatten noch die entsprechenden
       Kernelmodule geladen werden.\\\\

    &  Durch Ausf"uhren des Befehls 'modprobe \$modul' wird das Modul geladen.\\\\

    &  (\$modul muss in diesem Fall durch den zu ladenden Modulnamen ersetzt
    werden, z.B. 'ahci')\\
    \end{tabular}


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{modprobe ahci}
\prompt
\end{bildschirm}
\end{latexonly}




\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> modprobe ahci</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    \etable
    &  Sollte der zu ladenden Treiber nicht bekannt sein, dann nutzt man
       den Befehl\\\\

    &  \textit{lspci -v}\\\\

    &  ,um diesen zu ermitteln.\\
    \end{tabular}


\vspace{15mm}


    \etable
    \emph{eisfair}-2 &\\
    &  Das Program \textit{'mdadm'} ist bereits im Basissystem
       enthalten und muss deshalb nicht explizit installiert werden.\\\\

    &   Die RAID-Kernelmodule m"ussen geladen werden, wenn bisher noch kein
        RAID-System installiert worden ist.\\
    \end{tabular}


\vspace{10mm}

\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{modprobe raid1}
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> modprobe raid1</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


\section{Zus"atzliches RAID zu einer Systemplatte einrichten}



\subsection{Ausgangssituation}

    Ein \emph{eisfair}-System wurde bereits auf einer IDE-Festplatte installiert
    und soll um zwei zus"atzliche SATA II-Festplatten in einem RAID-1-Verbund
    erg"anzt werden. Damit ergibt sich beispielsweise folgendes Bild:


\vspace{10mm}

\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{fdisk -l}
Disk /dev/hda: 2111 MB, 2111864832 bytes
16 heads, 63 sectors/track, 4092 cylinders, total 4124736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcec8ed6a

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *          63       98783       49360+  83  Linux
/dev/hda2           98784      361871      131544   82  Linux swap / Solaris
/dev/hda3          361872     4124735     1881432   83  Linux

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sda doesn't contain a valid partition table

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4136b680

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          64      112454       56195+  83  Linux
/dev/sdb2          112456      385559      136552   82  Linux swap / Solaris
/dev/sdb3          385560     4482134     2048287+  83  Linux
/dev/sdb4         4482136  1953520064   974518964+  83  Linux
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> fdisk -l</FONT> <FONT COLOR="#ffffff">
 Disk /dev/hda: 2111 MB, 2111864832 bytes
 16 heads, 63 sectors/track, 4092 cylinders, total 4124736 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0xcec8ed6a

    Device Boot      Start         End      Blocks   Id  System
 /dev/hda1   *          63       98783       49360+  83  Linux
 /dev/hda2           98784      361871      131544   82  Linux swap / Solaris
 /dev/hda3          361872     4124735     1881432   83  Linux

 Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

 Disk /dev/sda doesn't contain a valid partition table

 Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x4136b680

    Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1   *          64      112454       56195+  83  Linux
 /dev/sdb2          112456      385559      136552   82  Linux swap / Solaris
 /dev/sdb3          385560     4482134     2048287+  83  Linux
 /dev/sdb4         4482136  1953520064   974518964+  83  Linux</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Das Basis-System liegt in diesem Beispiel auf der Festplatte /dev/hda.

    Die zu einem Software-RAID zusammenzufassenden Festplatten sind


    \begin{tabular}{lll}
    & \texttt{/dev/sda:} & \texttt{hat bisher keine Formatierung - ist also neu} \\
    & \texttt{/dev/sdb:} & \texttt{wurde schon einmal benutzt und muss nun f"ur} \\
    &           & \texttt{den Einsatz fit gemacht werden. Erreicht wird dies} \\
    &           & \texttt{durch das L"oschen der vorhandenen Datenstruktur:} \\
    \end{tabular}


\newpage



\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{dd if=/dev/zero of=/dev/sdb bs=512 count=1}
 1+0 records in
 1+0 records out
 512 bytes (512 B) copied, 0.000447 s, 1.1 MB/s
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">dd if=/dev/zero of=/dev/sdb bs=512 count=1</FONT> <FONT COLOR="#ffffff">
  1+0 records in
  1+0 records out
  512 bytes (512 B) copied, 0.000447 s, 1.1 MB/s</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Beim Ausf"uhren des Befehls 'fdisk -l' ergibt sich somit folgendes Bild:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{fdisk -l}
Disk /dev/hda: 2111 MB, 2111864832 bytes
16 heads, 63 sectors/track, 4092 cylinders, total 4124736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcec8ed6a

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *          63       98783       49360+  83  Linux
/dev/hda2           98784      361871      131544   82  Linux swap / Solaris
/dev/hda3          361872     4124735     1881432   83  Linux

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sda doesn't contain a valid partition table

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> fdisk -l</FONT> <FONT COLOR="#ffffff">
 Disk /dev/hda: 2111 MB, 2111864832 bytes
 16 heads, 63 sectors/track, 4092 cylinders, total 4124736 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0xcec8ed6a

    Device Boot      Start         End      Blocks   Id  System
 /dev/hda1   *          63       98783       49360+  83  Linux
 /dev/hda2           98784      361871      131544   82  Linux swap / Solaris
 /dev/hda3          361872     4124735     1881432   83  Linux

 Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

 Disk /dev/sda doesn't contain a valid partition table

 Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

 Disk /dev/sdb doesn't contain a valid partition table</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\newpage


\subsection{Einrichten der ersten Festplatte}

    Auf der ersten Festplatte wird eine Partition angelegt und deren Typ
    festgelegt. Mittels des fdisk-Befehls werden folgende Schritte ausgef"uhrt:


    \begin{tabular}{lll}
    & \texttt{-} & \texttt{Partition anlegen (hier wird eine prim"are Partition angelegt} \\
    &   & \texttt{welche die ganze Gr"osse der Festplatte einnimmt)} \\
    & \texttt{-} & \texttt{Typ der Partition auf 'Linux raid auto' "andern} \\
    & \texttt{-} & \texttt{Partitionstabelle schreiben} \\
    \end{tabular}



\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{fdisk /dev/sda}
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xd7bfe3c2.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): \yellow{p}

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd7bfe3c2

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): \yellow{n}

Command action
   e   extended
   p   primary partition (1-4)
\yellow{p}

Partition number (1-4, default 1): \yellow{1}
First sector (63-1953525167, default 63): \yellow{<Return>}
Using default value 2048
Last sector, +sectors or +size{K,M,G} (63-1953525167, default 1953525167): \yellow{<Return>}
Using default value 1953525167

Command (m for help): \yellow{p}


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd7bfe3c2
\end{bildschirm}
\end{latexonly}


% HTML mag keine 2 latex Sektionen hintereinander
% darum steht der nun dazwischen

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">fdisk /dev/sda</FONT> <FONT COLOR="#ffffff">
 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
 Building a new DOS disklabel with disk identifier 0xd7bfe3c2.
 Changes will remain in memory only, until you decide to write them.
 After that, of course, the previous content won't be recoverable.

 Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

 Command (m for help): <FONT COLOR="#ffff00">p</FONT>

 Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0xd7bfe3c2

    Device Boot      Start         End      Blocks   Id  System

 Command (m for help): <FONT COLOR="#ffff00">n</FONT>

 Command action
    e   extended
    p   primary partition (1-4)
 <FONT COLOR="#ffff00">p</FONT>

 Partition number (1-4, default 1): <FONT COLOR="#ffff00">1</FONT>
 First sector (63-1953525167, default 63): <FONT COLOR="#ffff00">&#60;Return&#62;</FONT>
 Using default value 2048
 Last sector, +sectors or +size{K,M,G} (63-1953525167, default 1953525167): <FONT COLOR="#ffff00">&#60;Return&#62; </FONT>
 Using default value 1953525167

 Command (m for help): <FONT COLOR="#ffff00">p</FONT>

 Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0xd7bfe3c2

    Device Boot      Start         End      Blocks   Id  System
 /dev/sda1            63    1953525167   976761560   83  Linux

 Command (m for help): <FONT COLOR="#ffff00">t</FONT>
  Selected partition 1
 Hex code (type L to list codes): <FONT COLOR="#ffff00">L</FONT>

  0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris
  1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
  2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
  3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
  4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx
  5  Extended        42  SFS             86  NTFS volume set da  Non-FS data
  6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
  7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility
  8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
  9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access
  a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
  b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor
  c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs
  e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT
  f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
 10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
 11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
 12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor
 14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary
 16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS
 17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
 18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
 1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep
 1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT
 1e  Hidden W95 FAT1
 Hex code (type L to list codes): <FONT COLOR="#ffff00">fd</FONT>

 Changed system type of partition 1 to fd (Linux raid autodetect)

 Command (m for help) <FONT COLOR="#ffff00">p</FONT>

    Device Boot      Start         End      Blocks   Id  System
 /dev/sda1            63    1953525167   976761560   fd  Linux raid autodetect

 Command (m for help): <FONT COLOR="#ffff00">w</FONT>
 The partition table has been altered!

 Calling ioctl() to re-read partition table.
 Syncing disks.</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}

% zweiter Teil vom PDF

\begin{latexonly}
\begin{bildschirm}

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            63    1953525167   976761560   83  Linux

\\Command (m for help): \yellow{t}
 Selected partition 1
Hex code (type L to list codes): \yellow{L}

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT
1e  Hidden W95 FAT1
Hex code (type L to list codes): \yellow{fd}

Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help) \yellow{p}

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            63    1953525167   976761560   fd  Linux raid autodetect

Command (m for help): \yellow{w}
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
\prompt
\end{bildschirm}
\end{latexonly}


\newpage


\subsection{Sektorgr"o"sen anpassen (optional)}

    Wenn die verwendeten Festplatten 4k-Sektorgr"o"sen unterst"utzen, sollten
    diese auch verwendet werden. Daf"ur ist eine Verschiebung des Startpunktes
    der Daten auf einen durch acht teilbaren Wert notwendig. Dies wird ebenfalls
    mit Hilfe des fdisk-Befehls durch Ausf"uhren folgender Schritte erreicht:


    \begin{tabular}{lll}
    & \texttt{-} & \texttt{Expertenmodus aktivieren} \\
    & \texttt{-} & \texttt{Beginn der Daten in der Partition auf durch 8 teilbaren Wert} \\
    &   & \texttt{setzen (hier vom Default-Wert 63 auf 64)} \\
    & \texttt{-} & \texttt{Partitionstabelle schreiben} \\
    \end{tabular}


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{fdisk /dev/sda1}
The number of cylinders for this disk is set to 243201.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): \yellow{p}

Disk /dev/sda: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x1361d2f0

   Device Boot Start End Blocks Id System
/dev/sda1 1 243201 1953512001 fd Linux raid autodetect

Command (m for help): \yellow{x}

Expert command (m for help): \yellow{m}
Command action
   b move beginning of data in a partition
   c change number of cylinders
   \textellipsis
   v verify the partition table
   w write table to disk and exit

Expert command (m for help): \yellow{b}
Partition number (1-4): \yellow{1}
New beginning of data (63-3907024064, default 63): \yellow{64}

Expert command (m for help): \yellow{w}
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">fdisk /dev/sda1</FONT> <FONT COLOR="#ffffff">
 The number of cylinders for this disk is set to 243201.
 There is nothing wrong with that, but this is larger than 1024,
 and could in certain setups cause problems with:
 1) software that runs at boot time (e.g., old versions of LILO)
 2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)

 Command (m for help): <FONT COLOR="#ffff00">p</FONT>

 Disk /dev/sda: 2000.3 GB, 2000398934016 bytes
 255 heads, 63 sectors/track, 243201 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
 Disk identifier: 0x1361d2f0

    Device Boot Start End Blocks Id System
 /dev/sda1 1 243201 1953512001 fd Linux raid autodetect

 Command (m for help): <FONT COLOR="#ffff00">x</FONT>

 Expert command (m for help): <FONT COLOR="#ffff00">m</FONT>
 Command action
    b move beginning of data in a partition
    c change number of cylinders
    d print the raw data in the partition table
    e list extended partitions
    f fix partition order
    g create an IRIX (SGI) partition table
    h change number of heads
    i change the disk identifier
    m print this menu
    p print the partition table
    q quit without saving changes
    r return to main menu
    s change number of sectors/track
    v verify the partition table
    w write table to disk and exit

 Expert command (m for help): <FONT COLOR="#ffff00">b</FONT>
 Partition number (1-4): <FONT COLOR="#ffff00">1</FONT>
 New beginning of data (63-3907024064, default 63): <FONT COLOR="#ffff00">64</FONT>

 Expert command (m for help): <FONT COLOR="#ffff00">w</FONT>
 The partition table has been altered!

 Calling ioctl() to re-read partition table.
 Syncing disks.</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\newpage


    F"ur die, die es kurz m"ogen, die vorherigen Schritte als Einzeiler mit sfdisk:
    Die '0' l"asst sich auch durch einen durch 8 teilbaren Wert ersetzen
    z.B. '64'\\


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{echo '0,,fd' | sfdisk -q -D -uM --no-reread /dev/sda}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">echo '0,,fd' | sfdisk -q -D -uM --no-reread /dev/sda</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\subsection{Einrichten der zweiten Festplatte}

    Nachdem die erste Festplatte komplett eingerichtet wurde, "ubertr"agt man
    deren Partitions-Layout auf die zweite Festplatte und begutachtet das
    Ergebnis:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{sfdisk -d /dev/sda | sfdisk -f /dev/sdb}
\prompt
\prompt \yellow{fdisk -l}
Disk /dev/hda: 2111 MB, 2111864832 bytes
16 heads, 63 sectors/track, 4092 cylinders, total 4124736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcec8ed6a

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *          63       98783       49360+  83  Linux
/dev/hda2           98784      361871      131544   82  Linux swap / Solaris
/dev/hda3          361872     4124735     1881432   83  Linux

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
81 heads, 63 sectors/track, 382818 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd7bfe3c2

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            64    1953525167   976761560   fd  Linux raid autodetect

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            64    1953525167   976761560   fd  Linux raid autodetect
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">sfdisk -d /dev/sda | sfdisk -f /dev/sdb</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">fdisk -l</FONT> <FONT COLOR="#ffffff">
 Disk /dev/hda: 2111 MB, 2111864832 bytes
 16 heads, 63 sectors/track, 4092 cylinders, total 4124736 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0xcec8ed6a

    Device Boot      Start         End      Blocks   Id  System
 /dev/hda1   *          63       98783       49360+  83  Linux
 /dev/hda2           98784      361871      131544   82  Linux swap / Solaris
 /dev/hda3          361872     4124735     1881432   83  Linux

 Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
 81 heads, 63 sectors/track, 382818 cylinders, total 1953525168 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0xd7bfe3c2

    Device Boot      Start         End      Blocks   Id  System
 /dev/sda1            64    1953525167   976761560   fd  Linux raid autodetect

 Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

    Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1            64    1953525167   976761560   fd  Linux raid autodetect</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\newpage


\subsection{Reste eines alten RAID-Verbundes l"oschen}

    Falls die Festplatten bereits einmal in einem RAID-Verbund verwendet wurden,
    muss sichergestellt werden, dass keine Reste der alten RAID-Konfiguration
    mehr vorhanden sind. Hierzu wird einfach der alte Superblock gel"oscht:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm --zero-superblock /dev/sda1}
mdadm: Unrecognised md component device - /dev/sda1
\prompt \yellow{mdadm --zero-superblock /dev/sdb1}
mdadm: Unrecognised md component device - /dev/sdb1
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --zero-superblock /dev/sda1</FONT> <FONT COLOR="#ffffff">
 mdadm: Unrecognised md component device - /dev/sda1
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --zero-superblock /dev/sdb1</FONT>
 mdadm: Unrecognised md component device - /dev/sdb1</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Falls keine Reste eines fr"uheren RAID-Verbundes gefunden werden, wird
    von mdadm die oben zu sehende Meldung ausgegeben. Dies ist an dieser Stelle
    kein Problem und bei neuen Festplatten absolut normal.



\subsection{RAID-Verbund anlegen}

    Die Festplatten sind nun soweit vorbereitet, um sie zu einem RAID-Verbund
    zusammenzuf"uhren. Der RAID-Verbund wird im n"achsten Schritt mit Hilfe
    von mdadm angelegt:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm --create /dev/md0 --bitmap=internal --level=1 --raid-disks=2 /dev/sda1 /dev/sdb1}
mdadm: array /dev/md0 started.
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --create /dev/md0 --bitmap=internal --level=1 --raid-disks=2 /dev/sda1 /dev/sdb1</FONT> <FONT COLOR="#ffffff">
 mdadm: array /dev/md0 started.</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\newpage


\subsection{RAID Synchronisation}

    Jetzt beginnt die Synchronisation der RAID-Festplatten, welche man unbedingt
    bis zum Ende abwarten sollte. Dieser Vorgang kann, abh"angig von der Gr"o"se
    der Festplatten, mehrere Stunden dauern. Den aktuellen Status der
    Synchronisation kann man sich wie folgt anzeigen lassen:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{cat /proc/mdstat}
Personalities : [raid1]
md0 : active raid1 sdc[1] sdb[0]
      1953514496 blocks [2/2] [UU]
      [>....................] resync = 0.0% (491072/1953514496) finish=397.6min
speed=81845K/sec

unused devices: <none>
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cat /proc/mdstat</FONT> <FONT COLOR="#ffffff">
 Personalities : [raid1]
 md0 : active raid1 sdc[1] sdb[0]
       1953514496 blocks [2/2] [UU]
       [&#62;....................] resync = 0.0% (491072/1953514496) finish=397.6min
 speed=81845K/sec

 unused devices: &#60;none&#62;</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Beim Aufruf des Befehls 'watch cat /proc/mdstat' erh"alt man eine alle zwei
    Sekunden aktualisierte Statusausgabe und kann den Synchronisationsprozess
    so nebenher im Auge behalten. Zur"uck auf die Konsole gelangt man mit 'Strg+C':


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{watch cat /proc/mdstat}
Every 2.0s: cat /proc/mdstat                            Thu Sep  8 17:44:42 2011

Personalities : [raid1]
md0 : active raid1 sdc[1] sdb[0]
      1953514496 blocks [2/2] [UU]
      [>....................] resync = 0.0% (491072/1953514496) finish=397.6min
speed=81845K/sec

unused devices: <none>
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">watch cat /proc/mdstat</FONT> <FONT COLOR="#ffffff">
 Every 2.0s: cat /proc/mdstat                            Thu Sep  8 17:44:42 2011

 Personalities : [raid1]
 md0 : active raid1 sdc[1] sdb[0]
       1953514496 blocks [2/2] [UU]
       [&#62;....................] resync = 0.0% (491072/1953514496) finish=397.6min
 speed=81845K/sec

 unused devices: &#60;none&#62;</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\newpage


\subsection{Anlegen des Dateisystems}

    Nach Abschluss der Synchronisation legt man das Dateisystem an, was
    "ublicherweise einige Minuten dauert. Das Standard-Dateisystem vieler
    Linux-Systeme ist auch heute noch 'ext3 - mkfs.ext3', auch wenn es
    diverse Alternativen gibt. 'Wer die Wahl hat, hat die Qual' {\texttt ;-)}\\\\


    \etable
    \emph{eisfair}-1 &\\
    &   Neu f"ur \eisfair hinzugekommene Dateisysteme sind 'ext4 - mkfs.ext4'
    und 'xfs - mkfs.xfs'. Zum Einrichten eines 'xfs'-Dateisystems m"ussen
    zus"atzlich die \textit{'xfs-tools'} von
    \link{https://www.pack-eis.de}{Pack-Eis} installiert werden.\\
    \end{tabular}


\vspace{15mm}

\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mkfs.etx4 /dev/md0}
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
2336 inodes, 9344 blocks
467 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=9699328
2 block groups
8192 blocks per group, 8192 fragments per group
1168 inodes per group
Superblock backups stored on blocks:
        8193

Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mkfs.etx4 /dev/md0</FONT> <FONT COLOR="#ffffff">
 mke2fs 1.41.14 (22-Dec-2010)
 Filesystem label=
 OS type: Linux
 Block size=1024 (log=0)
 Fragment size=1024 (log=0)
 Stride=0 blocks, Stripe width=0 blocks
 2336 inodes, 9344 blocks
 467 blocks (5.00%) reserved for the super user
 First data block=1
 Maximum filesystem blocks=9699328
 2 block groups
 8192 blocks per group, 8192 fragments per group
 1168 inodes per group
 Superblock backups stored on blocks:
         8193

 Writing inode tables: done
 Creating journal (1024 blocks): done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 29 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\newpage


\subsection{Bestehendes RAID (auf fremdem System erstellt) integrieren}

    Dieses Szenario setzt voraus, dass auf einem anderen System ein
    RAID-Verbund auf einer oder mehreren Platten bereits angelegt wurde
    und die beinhaltenden Platten in den \emph{eisfair}-1-Server
    eingebaut und elektrisch angeschlossen wurden.


\subsubsection{RAID starten}

    Um den existierenden RAID-Verbund mounten zu k"onnen, muss dieser
    zuerst gestartet werden. Dies geht mit folgendem Befehl; ggf.
    /dev/mdX-Device und die einzelnen Partitionen /dev/hdX bzw.
    /dev/sdX anpassen.

    Beispiel f"ur ein RAID-1 auf zwei Festplatten:


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1}
mdadm: /dev/md0 has been started with 2 drives (out of 2)
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1</FONT><FONT COLOR="#ffffff">
 mdadm: /dev/md0 has been started with 2 drives (out of 2)</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}



    Beispiel f"ur ein RAID-1 auf zwei Festplatten, wobei gerade nur eine
    Festplatte angeschlossen ist:



\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm --assemble /dev/md0 /dev/sdb1}
mdadm: /dev/md0 has been started with 1 drive (out of 2)
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> mdadm --assemble /dev/md0 /dev/sdb1</FONT><FONT COLOR="#ffffff">
 mdadm: /dev/md0 has been started with 1 drive (out of 2)</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}



    Die fehlende Festplatte/Partition kann sp"ater mit folgendem Befehl
    hinzugef"ugt werden:



\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm /dev/md0 -a /dev/sdc1}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md0 -a /dev/sdc1</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}









\subsection{RAID mounten}


    Der RAID-Verbund ist nun eingerichtet und kann gemountet werden. Im
    Beispiel wird als Mountpoint das Verzeichnis /data/backup verwendet:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mkdir -p /data/backup}
\prompt \yellow{ls -l /data/}
total 8
drwxr-xr-x 2 root root 4096 Aug 28 16:45 backup
drwxr-xr-x 2 root root 4096 Jun 14 15:22 packages
\prompt \yellow{mount -t ext4 /dev/md0 /data/backup}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mkdir -p /data/backup</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">ls -l /data/</FONT> <FONT COLOR="#ffffff">
 total 8
 drwxr-xr-x 2 root root 4096 Aug 28 16:45 backup
 drwxr-xr-x 2 root root 4096 Jun 14 15:22 packages</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mount -t ext4 /dev/md0 /data/backup</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Die neue Partition im RAID-Verbund ist dem System nun bis zum n"achsten
    Reboot bekannt:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mount}
/dev/hda3 on / type ext3 (rw,errors=remount-ro,acl,user\_xattr)
/dev/hda1 on /boot type ext3 (rw,errors=remount-ro)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/sys on /sys type sysfs (rw)
/dev/md0 on /data/backup type ext4 (rw,acl,user\_xattr)
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mount</FONT> <FONT COLOR="#ffffff">
 /dev/hda3 on / type ext3 (rw,errors=remount-ro,acl,user\_xattr)
 /dev/hda1 on /boot type ext3 (rw,errors=remount-ro)
 devpts on /dev/pts type devpts (rw)
 usbfs on /proc/bus/usb type usbfs (rw)
 /sys on /sys type sysfs (rw)
 /dev/md0 on /data/backup type ext4 (rw,acl,user\_xattr)</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\newpage


\subsection{Systemintegration}


    Um den RAID-Verbund dauerhaft zu aktivieren, damit er auch einen
    Neustart "ubersteht, sind folgende Schritte durchzuf"uhren:\\\\


\subsection{\emph{eisfair}-1}


\subsubsection{fstab-Datei bearbeiten}

    Mit Hilfe des Editors 'joe' "offnet man die Datei /etc/fstab und
    f"ugt eine zus"atzliche Zeile, ebenfalls beginnend mit UUID=, hinzu.

    Ermitteln l"asst sich der Wert der hinter UUID= erforderlich ist
    mit foldgendem Kommando.


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{blkid -o export /dev/md0 | grep '^UUID'}
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">blkid -o export /dev/md0 | grep '^UUID'</FONT>
<FONT COLOR="#ff0000"> eis #
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}



    Bitte eine Leerzeile am Dateiende nicht vergessen:\\


    \begin{tabular}{ll}
    &  \textit{joe /etc/fstab}
    \end{tabular}



\begin{alltt}

  UUID=768a... / ext3 defaults,errors=remount-ro 0 1
  UUID=8acf... /boot ext3 defaults,errors=remount-ro 0 1
  UUID=5131... none swap sw 0 0
  /dev/fd0    /media/floppy  auto      defaults,user,noauto     0 0
  /dev/cdrom  /media/cdrom   iso9660   defaults,ro,user,noauto  0 0

  \textbf{UUID=7g04....    /data/backup   ext4      defaults                 0 0}

\end{alltt}


\vspace{10mm}


    Um eventuell fehlende Kernelmodule und das Starten des RAID-Verbundes
    in die initrd zu bekommen, empfiehlt es sich an dieser Stelle ein Kernelupdate
    durchzuf"uhren. Auch wenn der Kernel bereits auf dem aktuellen Stand sein
    sollte, wird durch ein Kernelupdate sicher gestellt, dass eine korrekte
    initrd-Datei erzeugt wird.


\subsubsection{Initrd bearbeiten}

    Nat"urlich ist es auch m"oglich, die initrd manuell zu bearbeiten und die
    notwendigen Angaben mit dem Editor 'joe' einzuf"ugen.
    Vor eiskernel mit der Version 2.11.0 wird eine normale initrd verwendet,
    die wie folgt entpackt und gemountet wird:

\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mkdir -p /tmp/initrd/init}
\prompt \yellow{cd /tmp/initrd}
\prompt \yellow{cp -a /boot/initrd.gz .}
\prompt \yellow{gzip -d initrd.gz}
\prompt \yellow{modprobe loop}
\prompt \yellow{mount -o loop initrd init}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mkdir -p /tmp/initrd/init</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cd /tmp/initrd</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cp -a /boot/initrd.gz .</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">gzip -d initrd.gz</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">modprobe loop</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mount -o loop initrd init</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


    \begin{tabular}{ll}
    &   \textit{joe init/linuxrc}
    \end{tabular}


\vspace{10mm}

    Ab eiskernel 2.11.0 wird eine initramfs verwendet und das oben beschriebene
    Verfahren funktioniert so nicht mehr. Ein Beispiel f"ur die notwendigen Befehle
    findet Ihr unter 'Software-RAID - GPT-fdisk'.
    Vor eiskernel 2.7.1 wird das Raid mit dem Befehl raidautorun der busybox
    gestartet.  Am Dateiende die folgende Zeile hinzuf"ugen (Leerzeile am Ende nicht
    vergessen):


\begin{small}
\begin{verbatim}

  /sbin/raidautorun /dev/md0

\end{verbatim}
\end{small}

    Nach eiskernel 2.7.1 und wenn Raids mit Meta-Data 1.2 existieren, wird das Raid
    immer mit mdadm in der initrd assembliert. Ein Beispiel f"ur die notwendigen Befehle
    findet Ihr unter 'Software-RAID - GPT-fdisk'.
    Nun wird die initrd wieder zusammengepackt und zur"uckkopiert:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{umount init}
\prompt \yellow{gzip -9 initrd}
\prompt \yellow{cp initrd.gz /boot}
\prompt \yellow{reboot}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">umount init</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">gzip -9 initrd</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cp initrd.gz /boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">reboot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


\subsubsection{Reboot und Check}

    Nach dem Neustart des Servers pr"ufen wir noch einmal, ob die neue
    Partition im RAID-Verbund korrekt eingebunden wurde.


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\green{Welcome to eisfair!}
base     : \base
eiskernel: \kernel
\prompt
\prompt \yellow{mount}
/dev/hda3 on / type ext3 (rw,errors=remount-ro,acl,user\_xattr)
/dev/hda1 on /boot type ext3 (rw,errors=remount-ro)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/sys on /sys type sysfs (rw)
/dev/md0 on /data/backup type ext4 (rw,acl,user\_xattr)
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#008000"> Welcome to eisfair!</FONT> <FONT COLOR="#ffffff">
 base     :&nbsp;\end{rawhtml}\input{administration_base_version}\begin{rawhtml}
 eiskernel:&nbsp;\end{rawhtml}\input{administration_kernel_version}\begin{rawhtml}
<FONT COLOR="#ff0000"> eis #
 eis #</FONT> <FONT COLOR="#ffff00">mount</FONT><FONT COLOR="#ffffff">
 /dev/hda3 on / type ext3 (rw,errors=remount-ro,acl,user\_xattr)
 /dev/hda1 on /boot type ext3 (rw,errors=remount-ro)
 devpts on /dev/pts type devpts (rw)
 usbfs on /proc/bus/usb type usbfs (rw)
 /sys on /sys type sysfs (rw)
 /dev/md0 on /data/backup type ext4 (rw,acl,user\_xattr)</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    An dieser Stelle ist die Konfiguration des RAID-Verbundes und dessen
    dauerhafte Einbindung in das \emph{eisfair}-System abgeschlossen.\\\\


\subsection{\emph{eisfair}-2}


\subsubsection{mdadm-Konfiguration aktualisieren}

    Zun"achst muss die mdadm-Konfigurationsdatei aktualisiert werden:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm --examine --scan >> /etc/mdadm/mdadm.conf}
mdadm: excess address on MAIL line: mdadm/mail_to - ignored
mdadm: excess address on MAIL line: doesnt exist - ignored
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --examine --scan >> /etc/mdadm/mdadm.conf</FONT> <FONT COLOR="#ffffff">
 mdadm: excess address on MAIL line: mdadm/mail_to - ignored
 mdadm: excess address on MAIL line: doesnt exist - ignored</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Die Konfiguration sollte nun in etwa wie folgt aussehen:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{cat /etc/mdadm/mdadm.conf}
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR 10 mdadm/mail_to doesn't exist

# This file was auto-generated on Mon, 14 Jun 2010 13:02:32 +0000
# by mkconf \$Id\$
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=5048f0d3:e561afa8:36b8364f:ac71c0cc
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cat /etc/mdadm/mdadm.conf</FONT> <FONT COLOR="#ffffff">
 # mdadm.conf
 #
 # Please refer to mdadm.conf(5) for information about this file.
 #

 # by default, scan all partitions (/proc/partitions) for MD superblocks.
 # alternatively, specify devices to scan, using wildcards if desired.
 DEVICE partitions

 # auto-create devices with Debian standard permissions
 CREATE owner=root group=disk mode=0660 auto=yes

 # automatically tag new arrays as belonging to the local system
 HOMEHOST <system>

 # instruct the monitoring daemon where to send mail alerts
 MAILADDR 10 mdadm/mail_to doesn't exist

 # This file was auto-generated on Mon, 14 Jun 2010 13:02:32 +0000
 # by mkconf \$Id\$
 ARRAY /dev/md0 level=raid1 num-devices=2 UUID=5048f0d3:e561afa8:36b8364f:ac71c0cc</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Nachdem die Array-Zeile eingef"ugt wurde, m"ussen noch die folgenden
    Anpassungen in der mdadm.config-Datei vorgenommen werden:

    1. Eintragen der zu verwendenden Festplatten unter DEVICE:

    \begin{tabular}{ll}
    &   Eintrag alt:
    \end{tabular}

    \begin{tabular}{lll}
    & &   DEVICE partitions
    \end{tabular}

    \begin{tabular}{ll}
    &   Eintrag neu:
    \end{tabular}

    \begin{tabular}{lll}
    & &   DEVICE /dev/sdb[0-9] /dev/sdc[0-9]
    \end{tabular}


    2. Erweitern der ARRAY-Zeile um die metadata-Angabe nach folgendem Schema:

    \begin{tabular}{ll}
    &   Eintrag alt:
    \end{tabular}

    \begin{tabular}{lll}
    &  &   ARRAY /dev/md0 level=raid1 num-devices=2 UUID=8f00...
    \end{tabular}

    \begin{tabular}{ll}
    &   Eintrag neu:
    \end{tabular}

    \begin{tabular}{lll}
    &  &   ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=8f00...
    \end{tabular}


    3. Pr"ufen der eingetragenen UUID und gegebenenfalls deren Korrektur.
    In der Ausgabe von 'blkid' ist die UUID der beiden Festplatten im
    RAID-Verbund zu sehen. Diese ist f"ur beide Festplatten identisch
    und muss sich ebenfalls in der mdadm.config-Datei befinden. Achtung,
    die Schreibweise unterscheidet sich geringf"ugig. Bei der Ausgabe von
    blkid werden die UUIDs mit '-' getrennt, in der mdadm.config-Datei mit
    ':' und noch dazu an anderer Stelle angezeigt. Hier ein korrektes Beispiel:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{blkid}
\textellipsis
/dev/sdb1: UUID="f728db1b-06e6-0380-36b8-364fac71c0cc" TYPE="linux_raid_member"
/dev/sdc1: UUID="f728db1b-06e6-0380-36b8-364fac71c0cc" TYPE="linux_raid_member"
\textellipsis
\prompt \yellow{grep ARRAY /etc/mdadm/mdadm.conf}
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90
UUID=f728db1b:06e60380:36b8364f:ac71c0cc
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">blkid</FONT> <FONT COLOR="#ffffff">
 ...
 /dev/sdb1: UUID="f728db1b-06e6-0380-36b8-364fac71c0cc" TYPE="linux_raid_member"
 /dev/sdc1: UUID="f728db1b-06e6-0380-36b8-364fac71c0cc" TYPE="linux_raid_member"
 ...</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">grep ARRAY /etc/mdadm/mdadm.conf}</FONT> <FONT COLOR="#ffffff">
 ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90
 UUID=f728db1b:06e60380:36b8364f:ac71c0cc</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


\subsubsection{fstab-Datei bearbeiten}


    Nun muss der RAID-Verbund noch in die fstab-Datei eingetragen werden.
    Bei einer Standardinstallation von \emph{eisfair}-2 ohne separate Datenpartition
    sieht die fstab beispielsweise wie folgt aus:


\newpage

\begin{footnotesize}
\begin{verbatim}

  /etc/fstab           #(Ausgabe für das HowTo formatiert)

  proc         /proc         proc defaults 0 0
  UUID=41b0... /             ext3 defaults,errors=remount-ro,acl,user_xattr 0 1
  UUID=c99e... /boot         ext3 defaults,errors=remount-ro,acl,user_xattr 0 1
  UUID=a101... none          swap sw 0 0
  /dev/cdrom   /media/cdrom  udf,iso9660 user,noauto,exec,utf8 0 0
  /dev/fd0     /media/floppy auto rw,user,noauto,exec,utf8 0 0

\end{verbatim}
\end{footnotesize}


\vspace{10mm}


    Um nun den RAID-Verbund in die fstab einzutragen, wird die UUID
    ben"otigt. Diese wird entweder wieder mit 'blkid' oder mit 'vol\_id'
    wie folgt ermittelt:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{vol\_id /dev/md0}
d2dcb1cd-2ba4-4f89-8bee-8c44213b2848
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">vol_id /dev/md0</FONT> <FONT COLOR="#ffffff">
 d2dcb1cd-2ba4-4f89-8bee-8c44213b2848</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Mit dieser UUID wir nun der entsprechende Eintrag in die fstab-Datei, nach
    folgendem Schema, vorgenommen (Leerzeile am Zeilenende nicht vergessen):


    \begin{tabular}{ll}
    &   vi /etc/fstab
    \end{tabular}


\begin{footnotesize}
\begin{verbatim}

UUID=<hier-UUID-eintragen> /data/backup ext3  defaults,errors=remount-ro,acl,user_xattr 0 2

\end{verbatim}
\end{footnotesize}




\subsubsection{GRUB-Konfiguration aktualisieren}

    Im letzten Schritt muss in der Grub-Konfiguration das Laden der
    RAID-Module aktiviert werden. Dazu wird die Datei /boot/grub/menu.lst
    im Editor ge"offnet:


    \begin{tabular}{ll}
    &  vi /boot/grub/menu.lst\\
    \end{tabular}


    und die Kernel-Zeile um die Angabe 'raid=1' erg"anzt werden:


    \begin{tabular}{ll}
    &   Eintrag alt:\\
    \end{tabular}

    \begin{tabular}{lll}
    &  &   kernel /boot/vmlinux root=UUID=41b0... ro quiet console=tty7 kmapger\\
    \end{tabular}

    \begin{tabular}{ll}
    &   Eintrag neu:\\
    \end{tabular}

    \begin{tabular}{lll}
    &  &   kernel /boot/vmlinux root=UUID=41b0... ro quiet console=tty7 kmapger raid=1\\
    \end{tabular}

\subsubsection{Reboot und Check}

    An dieser Stelle ist die Konfiguration des RAID-Verbundes und dessen dauerhafte
    Einbindung in das \emph{eisfair}-System abgeschlossen. Dies sollte noch durch einen
    Neustart des Servers "uberpr"uft werden:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{reboot}
\prompt
\prompt \yellow{df -h}
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 35G 408M 33G 2% /
varrun 1010M 32K 1010M 1% /var/run
udev 1010M 48K 1010M 1% /dev
devshm 1010M 0 1010M 0% /dev/shm
/dev/sda1 69M 14M 51M 22% /boot
/dev/md0 1.9T 196M 1.8T 1% /data/backup
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">reboot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">df -h</FONT> <FONT COLOR="#ffffff">
 Filesystem Size Used Avail Use% Mounted on
 /dev/sda3 35G 408M 33G 2% /
 varrun 1010M 32K 1010M 1% /var/run
 udev 1010M 48K 1010M 1% /dev
 devshm 1010M 0 1010M 0% /dev/shm
 /dev/sda1 69M 14M 51M 22% /boot
 /dev/md0 1.9T 196M 1.8T 1% /data/backup</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    An dieser Stelle ist die Konfiguration des RAID-Verbundes und dessen
    dauerhafte Einbindung in das \emph{eisfair}-System abgeschlossen.\\

\vspace{10mm}
\newpage











\section{Den Server komplett auf einem RAID-1 einrichten}



\subsection{Ausgangssituation}


    Ein \emph{eisfair}-System wurde bereits mit 4 Partitionen auf einer Festplatte
    installiert, d.h. es wurde dabei auch eine zus"atzliche /data-Partition
    angelegt.\
    Dieses \emph{eisfair}-System soll nun komplett auf einen RAID-1-Verbund umziehen.
    Damit ergibt sich folgendes Bild:\\



    \begin{tabular}{llll}
    & \texttt{/dev/sda}  & \pfeil & \texttt{Erste Festplatte mit dem vorhandenen \emph{eisfair}-System} \\
    & \texttt{/dev/sda1} & \pfeil & \texttt{/boot} \\
    & \texttt{/dev/sda2} & \pfeil & \texttt{swap-Partition} \\
    & \texttt{/dev/sda3} & \pfeil & \texttt{/} \\
    & \texttt{/dev/sda4} & \pfeil & \texttt{/data} \\\\
    & \texttt{/dev/sdb}  & \pfeil & \texttt{Zweite 'leere' Festplatte} \\
    \end{tabular}



\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{fdisk -l}
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2fa4f6c3

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      112454       56196   83  Linux
/dev/sda2          112455      385559      136552+  82  Linux swap / Solaris
/dev/sda3          385560    21366449    10490445   83  Linux
/dev/sda4        21366450   312576704   145605127+  83  Linux

Disk /dev/sdb: 160.0 GB, 160040803840 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312579695 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">fdisk -l</FONT>
<FONT COLOR="#ffffff">
 Disk /dev/sda: 160.0 GB, 160041885696 bytes
 255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x2fa4f6c3

    Device Boot      Start         End      Blocks   Id  System
 /dev/sda1   *          63      112454       56196   83  Linux
 /dev/sda2          112455      385559      136552+  82  Linux swap / Solaris
 /dev/sda3          385560    21366449    10490445   83  Linux
 /dev/sda4        21366450   312576704   145605127+  83  Linux

 Disk /dev/sdb: 160.0 GB, 160040803840 bytes
 255 heads, 63 sectors/track, 19457 cylinders, total 312579695 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

 Disk /dev/sdb doesn't contain a valid partition table</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Auf der ersten Festplatte "andert man nun die Partitions-Ids aller
    vorhandenen Partitionen nach 'fd' 'Linux raid autodetect':


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{sfdisk --change-id /dev/sda 1 fd}
Done
\prompt \yellow{sfdisk --change-id /dev/sda 2 fd}
Done
\prompt \yellow{sfdisk --change-id /dev/sda 3 fd}
Done
\prompt \yellow{sfdisk --change-id /dev/sda 4 fd}
Done
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> sfdisk --change-id /dev/sda 1 fd</FONT> <FONT COLOR="#ffffff">
 Done
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> sfdisk --change-id /dev/sda 2 fd</FONT> <FONT COLOR="#ffffff">
 Done</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> sfdisk --change-id /dev/sda 3 fd</FONT> <FONT COLOR="#ffffff">
 Done</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> sfdisk --change-id /dev/sda 4 fd</FONT> <FONT COLOR="#ffffff">
 Done</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{5mm}


    F"ur die, die es kurz m"ogen, gibt es diese Befehle noch einmal als
    Einzeiler mit sfdisk:


\vspace{5mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{for i in 1 2 3 4 ; do sfdisk --change-id /dev/sda \$i fd ; done}
Done

Done

Done

Done
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">for i in 1 2 3 4; do sfdisk --change-id /dev/sda \$i fd ; done</FONT> <FONT COLOR="#ffffff">
 Done

 Done

 Done

 Done</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{5mm}


    Die Partitionen stellen sich nun wie folgt dar:


\vspace{5mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{fdisk -l}
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2fa4f6c3

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      112454       56196   fd  Linux raid autodetect
/dev/sda2          112455      385559      136552+  fd  Linux raid autodetect
/dev/sda3          385560    21366449    10490445   fd  Linux raid autodetect
/dev/sda4        21366450   312576704   145605127+  fd  Linux raid autodetect

Disk /dev/sdb: 160.0 GB, 160040803840 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312579695 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">fdisk -l</FONT> <FONT COLOR="#ffffff">
 Disk /dev/sda: 160.0 GB, 160041885696 bytes
 255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x2fa4f6c3

    Device Boot      Start         End      Blocks   Id  System
 /dev/sda1   *          63      112454       56196   fd  Linux raid autodetect
 /dev/sda2          112455      385559      136552+  fd  Linux raid autodetect
 /dev/sda3          385560    21366449    10490445   fd  Linux raid autodetect
 /dev/sda4        21366450   312576704   145605127+  fd  Linux raid autodetect

 Disk /dev/sdb: 160.0 GB, 160040803840 bytes
 255 heads, 63 sectors/track, 19457 cylinders, total 312579695 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

 Disk /dev/sdb doesn't contain a valid partition table</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}



\subsection{Einrichten der zweiten Festplatte}

    Nachdem die erste Festplatte komplett eingerichtet wurde, "ubertr"agt man
    deren Partitions-Layout auf die zweite Festplatte und begutachtet das
    Ergebnis:


\vspace{5mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{sfdisk -d /dev/sda | sfdisk -f /dev/sdb}
Checking that no-one is using this disk right now ...
OK

Disk /dev/sdb: 19457 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
 /dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1   *        63    112454     112392  fd  Linux raid autodetect
/dev/sdb2        112455    385559     273105  fd  Linux raid autodetect
/dev/sdb3        385560  21366449   20980890  fd  Linux raid autodetect
/dev/sdb4      21366450 312576704  291210255  fd  Linux raid autodetect
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
\prompt
\end{bildschirm}
\end{latexonly}



\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">sfdisk -d /dev/sda | sfdisk -f /dev/sdb</FONT> <FONT COLOR="#ffffff">
 Checking that no-one is using this disk right now ...
 OK

 Disk /dev/sdb: 19457 cylinders, 255 heads, 63 sectors/track

 sfdisk: ERROR: sector 0 does not have an msdos signature
  /dev/sdb: unrecognized partition table type
 Old situation:
 No partitions found
 New situation:
 Units = sectors of 512 bytes, counting from 0

    Device Boot    Start       End   #sectors  Id  System
 /dev/sdb1   *        63    112454     112392  fd  Linux raid autodetect
 /dev/sdb2        112455    385559     273105  fd  Linux raid autodetect
 /dev/sdb3        385560  21366449   20980890  fd  Linux raid autodetect
 /dev/sdb4      21366450 312576704  291210255  fd  Linux raid autodetect
 Successfully wrote the new partition table

 Re-reading the partition table ...

 If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
 to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
 (See fdisk(8).)</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{5mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{sfdisk -luS}
Disk /dev/sda: 19457 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sda1   *        63    112454     112392  fd  Linux raid autodetect
/dev/sda2        112455    385559     273105  fd  Linux raid autodetect
/dev/sda3        385560  21366449   20980890  fd  Linux raid autodetect
/dev/sda4      21366450 312576704  291210255  fd  Linux raid autodetect

Disk /dev/sdb: 19457 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1   *        63    112454     112392  fd  Linux raid autodetect
/dev/sdb2        112455    385559     273105  fd  Linux raid autodetect
/dev/sdb3        385560  21366449   20980890  fd  Linux raid autodetect
/dev/sdb4      21366450 312576704  291210255  fd  Linux raid autodetect
\prompt
\end{bildschirm}
\end{latexonly}



\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">sfdisk -luS</FONT> <FONT COLOR="#ffffff">
 Disk /dev/sda: 19457 cylinders, 255 heads, 63 sectors/track
 Units = sectors of 512 bytes, counting from 0

    Device Boot    Start       End   #sectors  Id  System
 /dev/sda1   *        63    112454     112392  fd  Linux raid autodetect
 /dev/sda2        112455    385559     273105  fd  Linux raid autodetect
 /dev/sda3        385560  21366449   20980890  fd  Linux raid autodetect
 /dev/sda4      21366450 312576704  291210255  fd  Linux raid autodetect

 Disk /dev/sdb: 19457 cylinders, 255 heads, 63 sectors/track
 Units = sectors of 512 bytes, counting from 0

    Device Boot    Start       End   #sectors  Id  System
 /dev/sdb1   *        63    112454     112392  fd  Linux raid autodetect
 /dev/sdb2        112455    385559     273105  fd  Linux raid autodetect
 /dev/sdb3        385560  21366449   20980890  fd  Linux raid autodetect
 /dev/sdb4      21366450 312576704  291210255  fd  Linux raid autodetect</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


\subsection{Reste eines alten RAID-Verbundes l"oschen}


    Falls die Festplatten bereits einmal in einem RAID-Verbund verwendet
    wurden, muss sichergestellt werden, dass keine Reste der alten
    RAID-Konfiguration mehr vorhanden sind. Hierzu wird einfach der alte
    Superblock gel"oscht.


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm --zero-superblock /dev/sdb1}
mdadm: Unrecognised md component device - /dev/sdb1
\prompt \yellow{mdadm --zero-superblock /dev/sdb2}
mdadm: Unrecognised md component device - /dev/sdb2
\prompt \yellow{mdadm --zero-superblock /dev/sdb3}
mdadm: Unrecognised md component device - /dev/sdb3
\prompt \yellow{mdadm --zero-superblock /dev/sdb4}
mdadm: Unrecognised md component device - /dev/sdb4
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --zero-superblock /dev/sdb1</FONT> <FONT COLOR="#ffffff">
 mdadm: Unrecognised md component device - /dev/sdb1
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --zero-superblock /dev/sdb2</FONT>
 mdadm: Unrecognised md component device - /dev/sdb2
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --zero-superblock /dev/sdb3</FONT> <FONT COLOR="#ffffff">
 mdadm: Unrecognised md component device - /dev/sdb3
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --zero-superblock /dev/sdb4</FONT>
 mdadm: Unrecognised md component device - /dev/sdb4</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Falls keine Reste eines fr"uheren RAID-Verbundes gefunden werden, wird
    die oben zu sehende Meldung ausgegeben. Das ist an dieser Stelle kein
    Problem und bei neuen Festplatten absolut normal.


\vspace{10mm}


\subsection{RAID-Verbund anlegen}


    Die Festplatten sind nun soweit vorbereitet, dass ein RAID-Verbund
    angelegt werden kann. Hierzu verwendet man den mdadm. Zur besseren
    Orientierung wird empfohlen, die Bezeichnungen der 'md'-Devices
    an die der vorherigen Partitionen anzulehnen:\\


    \begin{tabular}{llll}
    & \texttt{/dev/sda1} & \pfeil & \texttt{/dev/md1} \\
    & \texttt{/dev/sda2} & \pfeil & \texttt{/dev/md2} \\
    & \texttt{/dev/sda3} & \pfeil & \texttt{/dev/md3} \\
    & \texttt{/dev/sda4} & \pfeil & \texttt{/dev/md4} \\\\
    \end{tabular}


    Da die erste Festplatte die zu kopierenden Daten enth"alt, wird sie beim
    Anlegen des RAID-Verbundes als 'missing' deklariert. Das Schl"usselwort
    'missing' sagt lediglich aus, dass noch Devices fehlen und bezieht sich
    nicht auf das danach angegebene Device.


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm --create /dev/md1 --bitmap=internal --level=1 --raid-disks=2 missing /dev/sdb1}
mdadm: /dev/sdb1 appears to contain an ext2fs file system
    size=56128K  mtime=Tue Sep 20 20:13:39 2011
Continue creating array? \yellow{y}
mdadm: array /dev/md1 started.
\prompt
\prompt \yellow{mdadm --create /dev/md2 --bitmap=internal --level=1 --raid-disks=2 missing /dev/sdb2}
mdadm: array /dev/md2 started.
\prompt
\prompt \yellow{mdadm --create /dev/md3 --bitmap=internal --level=1 --raid-disks=2 missing /dev/sdb3}
mdadm: /dev/sdb3 appears to contain an ext2fs file system
    size=1052160K  mtime=Thu Sep  8 11:39:23 2011
Continue creating array? \yellow{y}
mdadm: array /dev/md3 started.
\prompt
\prompt \yellow{mdadm --create /dev/md4 --bitmap=internal --level=1 --raid-disks=2 missing /dev/sdb3}
mdadm: array /dev/md4 started.
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --create /dev/md1 --bitmap=internal --level=1 --raid-disks=2 missing /dev/sdb1</FONT> <FONT COLOR="#ffffff">
 mdadm: /dev/sdb1 appears to contain an ext2fs file system
     size=56128K  mtime=Tue Sep 20 20:13:39 2011
 Continue creating array? <FONT COLOR="#ffff00">y<FONT> <FONT COLOR="#ffffff">
 mdadm: array /dev/md1 started.
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --create /dev/md2 --bitmap=internal --level=1 --raid-disks=2 missing /dev/sdb2</FONT> <FONT COLOR="#ffffff">
 mdadm: array /dev/md2 started.
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --create /dev/md3 --bitmap=internal --level=1 --raid-disks=2 missing /dev/sdb3</FONT> <FONT COLOR="#ffffff">
 mdadm: /dev/sdb3 appears to contain an ext2fs file system
     size=1052160K  mtime=Thu Sep  8 11:39:23 2011
 Continue creating array? <FONT COLOR="#ffff00">y<FONT> <FONT COLOR="#ffffff">
 mdadm: array /dev/md3 started.
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm --create /dev/md4 --bitmap=internal --level=1 --raid-disks=2 missing /dev/sdb4</FONT> <FONT COLOR="#ffffff">
 mdadm: array /dev/md4 started.</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Das Ergebnis l"asst man sich zur Kontrolle anzeigen:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{cat /proc/mdstat}
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
md4 : active raid1 sdb4[1]
      145605056 blocks [2/1] [_U]

md3 : active raid1 sdb3[1]
      10490368 blocks [2/1] [_U]

md2 : active raid1 sdb2[1]
      136448 blocks [2/1] [_U]

md1 : active raid1 sdb1[1]
      56128 blocks [2/1] [_U]

unused devices: <none>
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cat /proc/mdstat</FONT> <FONT COLOR="#ffffff">
 Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
 md4 : active raid1 sdb4[1]
       145605056 blocks [2/1] [_U]

 md3 : active raid1 sdb3[1]
       10490368 blocks [2/1] [_U]

 md2 : active raid1 sdb2[1]
       136448 blocks [2/1] [_U]

 md1 : active raid1 sdb1[1]
       56128 blocks [2/1] [_U]

 unused devices: <none></FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}



\vspace{10mm}


\newpage


\subsection{Anlegen des Dateisystems}

    Nun legt man das Dateisystem an, was "ublicherweise einige Minuten
    dauert. Das Standard-Dateisystem vieler Linux-Systeme ist auch heute
    noch 'ext3 - mkfs.ext3', auch wenn es diverse Alternativen gibt.
    'Wer die Wahl hat, hat die Qual' {\textellipsis ;-)}\\\\


    \etable
    \emph{eisfair}-1 &\\
    &   Neu f"ur \eisfair hinzugekommene Dateisysteme sind 'ext4 - mkfs.ext4'
    und 'xfs - mkfs.xfs'. Zum Einrichten eines 'xfs'-Dateisystems m"ussen
    zus"atzlich die \textit{'xfs-tools'} von
    \link{https://www.pack-eis.de}{Pack-Eis} installiert werden.\\\\
    \end{tabular}


\vspace{10mm}


    \begin{tabular}{lll}
    &   \texttt{mkfs.ext4} &  \texttt{/dev/md1} \\
    &   \texttt{mkfs.ext4} &  \texttt{/dev/md3} \\
    &   \texttt{mkfs.ext4} &  \texttt{/dev/md4} \\
    &   \texttt{mkswap}    &  \texttt{/dev/md2} \\
    \end{tabular}



\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mkfs.etx4 /dev/md1}
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
14056 inodes, 56128 blocks
2806 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=57671680
7 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
\prompt
\end{bildschirm}
\end{latexonly}


% HTML mag keine 2 latex Sektionen hintereinander
% darum steht der nun dazwischen


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mkfs.etx4 /dev/md1</FONT> <FONT COLOR="#ffffff">
 mke2fs 1.41.14 (22-Dec-2010)
 Filesystem label=
 OS type: Linux
 Block size=1024 (log=0)
 Fragment size=1024 (log=0)
 Stride=0 blocks, Stripe width=0 blocks
 14056 inodes, 56128 blocks
 2806 blocks (5.00%) reserved for the super user
 First data block=1
 Maximum filesystem blocks=57671680
 7 block groups
 8192 blocks per group, 8192 fragments per group
 2008 inodes per group
 Superblock backups stored on blocks:
         8193, 24577, 40961

 Writing inode tables: done
 Creating journal (4096 blocks): done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 20 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mkfs.etx4 /dev/md3</FONT> <FONT COLOR="#ffffff">
 mke2fs 1.41.14 (22-Dec-2010)
 Filesystem label=
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 Stride=0 blocks, Stripe width=0 blocks
 655776 inodes, 2622592 blocks
 131129 blocks (5.00%) reserved for the super user
 First data block=0
 Maximum filesystem blocks=2688548864
 81 block groups
 32768 blocks per group, 32768 fragments per group
 8096 inodes per group
 Superblock backups stored on blocks:
         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

 Writing inode tables: done
 Creating journal (32768 blocks): done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 20 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mkfs.etx4 /dev/md4</FONT> <FONT COLOR="#ffffff">
 mke2fs 1.41.14 (22-Dec-2010)
 Filesystem label=
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 Stride=0 blocks, Stripe width=0 blocks
 9101312 inodes, 36401264 blocks
 1820063 blocks (5.00%) reserved for the super user
 First data block=0
 Maximum filesystem blocks=0
 1111 block groups
 32768 blocks per group, 32768 fragments per group
 8192 inodes per group
 Superblock backups stored on blocks:
         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
         4096000, 7962624, 11239424, 20480000, 23887872

 Writing inode tables: done
 Creating journal (32768 blocks): done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 32 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mkswap /dev/md2</FONT> <FONT COLOR="#ffffff">
 mkswap: /dev/md2: warning: don't erase bootbits sectors
         on whole disk. Use -f to force.
 Setting up swapspace version 1, size = 136444 KiB
 no label, UUID=0d01a7f7-ae3a-4d99-834e-a5805bb10231</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


% zweiter Teil


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mkfs.etx4 /dev/md3}
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655776 inodes, 2622592 blocks
131129 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2688548864
81 block groups
32768 blocks per group, 32768 fragments per group
8096 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
\prompt
\prompt \yellow{mkfs.etx4 /dev/md4}
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
9101312 inodes, 36401264 blocks
1820063 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
1111 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
\prompt
\prompt \yellow{mkswap /dev/md2}
mkswap: /dev/md2: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 136444 KiB
no label, UUID=0d01a7f7-ae3a-4d99-834e-a5805bb10231
\prompt
\end{bildschirm}
\end{latexonly}





\newpage


\subsection{Filesystemcheck abschalten}


    Wenn das komplette RAID-Setup "uber eine Secure-Shell durchgef"uhrt
    wird, sollte man vor dem ersten Reboot die "Uberpr"ufung des
    Root-Datei-Systems unterbinden. Dazu ist in der Datei /etc/init.d/checkfs
    die Zeile '/sbin/fsck -A -p 2>/dev/null' auszukommentieren und diese dann
    zu speichern:\\



    \begin{tabular}{ll}
    & \textit{joe /etc/init.d/checkfs} \\
    \end{tabular}



\begin{alltt}

  # Ist:
  ...
  echo "Checking file systems..."
  /sbin/fsck ${FSCK_PROGRESS} -A -p ${FSCK_FORCE} 2>/dev/null
  fsck_ret=${?}


  # Soll:
  ...
  echo "Checking file systems..."
\textbf{#}  /sbin/fsck ${FSCK_PROGRESS} -A -p ${FSCK_FORCE} 2>/dev/null
  fsck_ret=\textbf{0 #}${?}

\end{alltt}



\vspace{10mm}


\subsection{Einbinden der RAID-Festplatte}


    Das Root-Device (/dev/md3) mountet man nach /mnt und legt dort ein
    neues boot-Verzeichnis an. Dieses boot-Verzeichnis verwendet man nun als
    Mountpoint f"ur das Boot-Device (/dev/md1):


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mount -t ext4 /dev/md3 /mnt}
\prompt \yellow{mkdir -p /mnt/boot}
\prompt \yellow{mount -t ext4 /dev/md1 /mnt/boot}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mount -t ext4 /dev/md3 /mnt</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mkdir -p /mnt/boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mount -t ext4 /dev/md1 /mnt/boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


\subsection{"Ubertragen der Daten}


    Die Partitionen mit dem Root-Verzeichnis sowie dem Boot-Verzeichnis
    werden auf die neu erstellten Multiple-Devices kopiert.

    Da der Kopiervorgang selbst einige Minuten dauern kann, wartet man
    so lange, bis der Eingabe-Prompt wieder erscheint:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{cd /}
\prompt \yellow{find . -xdev | cpio -pmv /mnt}
\prompt
\prompt \yellow{cd /boot}
\prompt \yellow{find . -xdev | cpio -pmv /mnt/boot}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> cd /</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> find . -xdev | cpio -pmv /mnt</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> cd /boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> find . -xdev | cpio -pmv /mnt/boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


    \achtung{"Anderung ab base 2.7.7 mit UDEV}

    Im Anschluss m"ussen nun noch im /dev Verzeichnis die Devices
    console und null angelegt werden. Diese Devices m"ussen beim
    boot vorhanden sein.

    Dazu wechselt man in das Verzeichnis:

    cd /mnt/dev

    mknod -m 0660 console c 5 1 \\
    mknod -m 0660 null c 1 3


\vspace{10mm}


\subsection{fstab-Datei bearbeiten}


    Mit Hilfe des Editors 'joe' "offnet man die Datei /mnt/etc/fstab und
    passt sie an die neuen Multiple-Device-Namen an. Bitte eine Leerzeile
    am Dateiende nicht vergessen:\\

    Ermitteln l"asst sich der Wert der jeweils hinter UUID= erforderlich
    ist mit foldgendem Kommando. Bitte den Wert /dev/mdX bitte jeweils
    anpassen.


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{blkid -o export /dev/md1 | grep '^UUID'}
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">blkid -o export /dev/md1 | grep '^UUID'</FONT>
<FONT COLOR="#ff0000"> eis #
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


    \begin{tabular}{ll}
    &  \textit{joe /mnt/etc/fstab} \\
    \end{tabular}



\begin{alltt}

  UUID=768a... / \textbf{ext4} defaults,errors=remount-ro 0 1
  UUID=8acf... /boot \textbf{ext4} defaults,errors=remount-ro 0 1
  UUID=5131... none swap sw 0 0
  UUID=7g04... /data \textbf{ext4} defaults 0 0
  proc        /proc          proc      defaults                 0 0
  /dev/fd0    /media/floppy  auto      defaults,user,noauto     0 0
  /dev/cdrom  /media/cdrom   iso9660   defaults,ro,user,noauto  0 0
  devpts      /dev/pts       devpts    defaults,gid=5,mode=620  0 0
  /sys        /sys           sysfs     defaults                 0 0
  tmpfs       /dev/shm       tmpfs     rw,nosuid,nodev          0 0
  tmpfs       /run           tmpfs     defaults                 0 0
  devtmpfs    /dev           devtmpfs  mode=0755,nosuid         0 0


\end{alltt}


\vspace{5mm}


\subsection{lilo.conf-Datei bearbeiten}


    Jetzt kann die aktuelle /boot-Partition ausgeh"angt und stattdessen
    /dev/sda1 nach /mnt/boot eingeh"angt werden. Dies ist notwendig, um
    die korrekte Installation des Bootloaders Lilo zu gew"ahrleisten:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{cd /}
\prompt \yellow{umount /boot}
\prompt \yellow{mount /dev/sda1 /mnt/boot}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> cd /</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> umount /boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> mount /dev/sda1 /mnt/boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Im n"achsten Schritt wird die Datei /mnt/etc/lilo.conf so modifiziert,
    dass das Boot-Device immer noch ein herk"ommliches Laufwerk /dev/sda
    bleibt, das Root-Datei-System sich jedoch bereits auf einem
    Multiple-Device befindet:\\



    \begin{tabular}{ll}
    &  \textit{joe /mnt/etc/lilo.conf} \\
    \end{tabular}



\begin{alltt}

  lba32
  disk = /dev/sda
    bios = 0x80
  boot = /dev/sda
  read-only
  prompt
  timeout = 50
  vga = normal

  image = /boot/kernel
  root = /dev/\textbf{md3}
  label = eis
  initrd = /boot/initrd.gz
  vga = 773

\end{alltt}


\vspace{10mm}


\subsection{Initrd bearbeiten}


    Damit das zuk"unftige RAID auch startet, muss die initrd ge"offnet
    und das Skript 'linuxrc' manipuliert werden.
    Vor eiskernel mit der Version 2.11.0 wird eine normale initrd verwendet,
    die wie folgt entpackt und gemountet wird:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mkdir -p /tmp/initrd/init}
\prompt \yellow{cd /tmp/initrd}
\prompt \yellow{cp -a /mnt/boot/initrd.gz .}
\prompt \yellow{gzip -d initrd.gz}
\prompt \yellow{modprobe loop}
\prompt \yellow{mount -o loop initrd init}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mkdir -p /tmp/initrd/init</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cd /tmp/initrd</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cp -a /mnt/boot/initrd.gz .</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">gzip -d initrd.gz</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">modprobe loop</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mount -o loop initrd init</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}



    \begin{tabular}{ll}
    &   \textit{joe init/linuxrc} \\
    \end{tabular}



    Ab eiskernel 2.11.0 wird eine initramfs verwendet und das oben beschriebene
    Verfahren funktioniert so nicht mehr. Ein Beispiel f"ur die notwendigen Befehle
    findet Ihr unter 'Software-RAID - GPT-fdisk'.
    Vor eiskernel 2.7.1 wird das Raid mit dem Befehl raidautorun der busybox
    gestartet.  Am Dateiende die folgende Zeile hinzuf"ugen (Leerzeile am Ende nicht
    vergessen):

\begin{small}
\begin{verbatim}

  /sbin/raidautorun /dev/md1

\end{verbatim}
\end{small}


    Nach eiskernel 2.7.1 und wenn Raids mit Meta-Data 1.2 existieren, wird das Raid
    immer mit mdadm in der initrd assembliert. Ein Beispiel f"ur die notwendigen Befehle
    findet Ihr unter 'Software-RAID - GPT-fdisk'.
    Nun wird die initrd wieder zusammengepackt und zur"uckkopiert:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{umount init}
\prompt \yellow{gzip -9 initrd}
\prompt \yellow{cp initrd.gz /mnt/boot}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">umount init</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">gzip -9 initrd</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cp initrd.gz /mnt/boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


\subsection{lilo ausf"uhren}


    Um die Voraussetzung f"ur einen fehlerfreien Neustart des Servers zu
    schaffen, ist es notwendig, die zuvor genannten Anpassungen an der Datei
    /mnt/etc/lilo.conf vorzunehmen. Danach kann der lilo-Befehl auf dem
    Verzeichnis /mnt ausgef"uhrt werden:\\


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{cd /}
\prompt \yellow{lilo -r /mnt}
Added eis  *
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> cd /</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00"> lilo -r /mnt</FONT> <FONT COLOR="#ffffff">
 Added eis  *</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Abschlie"send sind noch folgende Schritte auszuf"uhren, um einer
    Kernelpanik beim Systemstart vorzubeugen. Die Partition /dev/sda1
    ist noch nach /mnt/boot eingeh"angt und muss nun wieder nach /boot
    eingeh"angt werden. Anschlie"send wird das System neu gestartet:\\


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{umount /dev/sda1}
\prompt \yellow{mount /dev/sda1 /boot}
\prompt
\prompt \yellow{cp -a /boot/initrd.gz /mnt/boot}
\prompt
\prompt \yellow{reboot}
\prompt
\end{bildschirm}
\end{latexonly}



\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">umount /dev/sda1</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mount /dev/sda1 /boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cp -a /boot/initrd.gz /mnt/boot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">reboot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}



\subsection{RAID zusammenf"uhren}


    Wenn alle bisherigen Schritte ohne Probleme durchgef"uhrt wurden, l"auft
    der RAID-Verbund zwar bereits, jedoch ohne aktive Redundanz, da die
    Festplatte /dev/sda noch nicht Teil des RAID-Verbundes ist:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mount}
/dev/md3 on / type ext4 (rw,errors=remount-ro,acl,user_xattr)
/dev/md1 on /boot type ext4 (rw,errors=remount-ro)
/dev/md4 on /data type ext4 (rw,acl,user_xattr)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/sys on /sys type sysfs (rw)
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mount</FONT> <FONT COLOR="#ffffff">
 /dev/md3 on / type ext4 (rw,errors=remount-ro,acl,user_xattr)
 /dev/md1 on /boot type ext4 (rw,errors=remount-ro)
 /dev/md4 on /data type ext4 (rw,acl,user_xattr)
 devpts on /dev/pts type devpts (rw)
 usbfs on /proc/bus/usb type usbfs (rw)
 /sys on /sys type sysfs (rw)</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    Die Festplatte /dev/sda wird nun in den RAID-Verbund integriert:


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm /dev/md1 --add  /dev/sda1}
mdadm: added /dev/sda1
\prompt \yellow{mdadm /dev/md2 --add  /dev/sda2}
mdadm: added /dev/sda2
\prompt \yellow{mdadm /dev/md3 --add  /dev/sda3}
mdadm: added /dev/sda3
\prompt \yellow{mdadm /dev/md4 --add  /dev/sda4}
mdadm: added /dev/sda4
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md1 --add  /dev/sda1</FONT> <FONT COLOR="#ffffff">
 mdadm: added /dev/sda1</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md2 --add  /dev/sda2</FONT> <FONT COLOR="#ffffff">
 mdadm: added /dev/sda2</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md3 --add  /dev/sda3</FONT> <FONT COLOR="#ffffff">
 mdadm: added /dev/sda3</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md4 --add  /dev/sda4</FONT> <FONT COLOR="#ffffff">
 mdadm: added /dev/sda4</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\newpage


\subsection{RAID-Synchronisation}


    Jetzt beginnt die Synchronisation der RAID-Festplatten, welche man
    unbedingt bis zum Ende abwarten sollte. Dieser Vorgang kann, abh"angig
    von der Gr"o"se der Festplatten, mehrere Stunden dauern. Den aktuellen
    Status der Synchronisation kann man sich wie folgt anzeigen lassen:\\


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{cat /proc/mdstat}
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
md2 : active raid1 sda2[0] sdb2[1]
      136448 blocks [2/2] [UU]

md3 : active raid1 sda3[2] sdb3[1]
      10490368 blocks [2/1] [\_U]
      [=========>...........]  recovery = 48.0% (5042688/10490368) finish=1.8min speed=48404K/sec

md4 : active raid1 sda4[2] sdb4[1]
      145605056 blocks [2/1] [\_U]
        resync=DELAYED

md1 : active raid1 sda1[0] sdb1[1]
      56128 blocks [2/2] [UU]

unused devices: <none>
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">cat /proc/mdstat</FONT> <FONT COLOR="#ffffff">
 Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
 md2 : active raid1 sda2[0] sdb2[1]
       136448 blocks [2/2] [UU]

 md3 : active raid1 sda3[2] sdb3[1]
       10490368 blocks [2/1] [_U]
       [=========&#62;...........]  recovery = 48.0% (5042688/10490368) finish=1.8min speed=48404K/sec

 md4 : active raid1 sda4[2] sdb4[1]
       145605056 blocks [2/1] [_U]
         resync=DELAYED

 md1 : active raid1 sda1[0] sdb1[1]
       56128 blocks [2/2] [UU]

 unused devices: &#60;none&#62;</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{5mm}


    Beim Aufruf des Befehls 'watch cat /proc/mdstat' erh"alt man eine alle zwei
    Sekunden aktualisierte Statusausgabe und kann den Synchronisationsprozess
    so nebenher im Auge behalten. Zur"uck auf die Konsole gelangt man mit 'Strg+C':\\


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{watch cat /proc/mdstat}
Every 2.0s: cat /proc/mdstat                            Thu Sep  8 17:44:42

Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
md2 : active raid1 sda2[0] sdb2[1]
      136448 blocks [2/2] [UU]

md3 : active raid1 sda3[2] sdb3[1]
      10490368 blocks [2/1] [\_U]
      [=========>...........]  recovery = 48.0% (5042688/10490368) finish=1.8min speed=48404K/sec

md4 : active raid1 sda4[2] sdb4[1]
      145605056 blocks [2/1] [\_U]
        resync=DELAYED

md1 : active raid1 sda1[0] sdb1[1]
      56128 blocks [2/2] [UU]

unused devices: <none>
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">watch cat /proc/mdstat</FONT> <FONT COLOR="#ffffff">
 Every 2.0s: cat /proc/mdstat                            Thu Sep  8 17:44:42 2011

 Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
 md2 : active raid1 sda2[0] sdb2[1]
       136448 blocks [2/2] [UU]

 md3 : active raid1 sda3[2] sdb3[1]
       10490368 blocks [2/1] [_U]
       [=========&#62;...........]  recovery = 48.0% (5042688/10490368) finish=1.8min speed=48404K/sec

 md4 : active raid1 sda4[2] sdb4[1]
       145605056 blocks [2/1] [_U]
         resync=DELAYED

 md1 : active raid1 sda1[0] sdb1[1]
       56128 blocks [2/2] [UU]

 unused devices: &#60;none&#62;</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\newpage


\subsection{Abschlu"sarbeiten}



\subsubsection{Filesystemcheck einschalten}


    Damit bei jedem Systemstart wieder eine "Uberpr"ufung des Dateisystems
    angesto"sen wird, muss die in einem vorherigen Schritt auskommentierte
    Zeile '\#/sbin/fsck -A -p 2>/dev/null' wieder aktiviert werden:\\



    \begin{tabular}{ll}
    & \textit{joe /etc/init.d/checkfs} \\
    \end{tabular}




\begin{alltt}

  Ist:
  ...
  echo "Checking file systems..."
\textbf{#} /sbin/fsck ${FSCK_PROGRESS} -A -p ${FSCK_FORCE} 2>/dev/null
  fsck_ret=\textbf{0 #}${?}

  Soll:
  ...
  echo "Checking file systems..."
  /sbin/fsck ${FSCK_PROGRESS} -A -p ${FSCK_FORCE} 2>/dev/null
  fsck_ret=${?}

\end{alltt}



\subsubsection{lilo.conf-Datei anpassen}


    Auch die lilo-Konfiguration muss nun noch an die ver"anderten
    Rahmenbedingungen angepasst werden, um den Start von allen
    Laufwerken des RAID-Verbundes zu erm"oglichen:\\



    \begin{tabular}{ll}
    & \textit{joe /etc/lilo.conf} \\
    \end{tabular}



\begin{alltt}

  [...ist
  lba32
  disk = /dev/sda
    bios = 0x80
  boot = /dev/sda
  read-only
  prompt
  timeout = 50
  vga = normal

  image = /boot/kernel
  root = /dev/md3
  label = eis
  initrd = /boot/initrd.gz

  [...soll
  lba32
  disk = /dev/sda
    bios = 0x80
  boot = /dev\textbf{/md1}
  \textbf{raid-extra-boot = mbr}
  read-only
  prompt
  timeout = 50
  vga = normal

  image = /boot/kernel
  root = /dev/md3
  label = eis
  initrd = /boot/initrd.gz
  vga = 773

\end{alltt}


\vspace{10mm}


    Zum Abschluss wird noch einmal der lilo-Befehl ausgef"uhrt und das
    \emph{eisfair}-System neu gestartet.


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{lilo}
Added eis  *
The boot record of  /dev/md1  has been updated.
The Master boot record of  /dev/sda  has been updated.
Warning: /dev/sdb is not on the first disk
The Master boot record of  /dev/sdb  has been updated.
One warning was issued.
\prompt
\prompt \yellow{reboot}
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">lilo</FONT> <FONT COLOR="#ffffff">
 Added eis  *
 The boot record of  /dev/md1  has been updated.
 The boot record of  /dev/sda  has been updated.
 Warning: /dev/sdb is not on the first disk
 The boot record of  /dev/sdb  has been updated.
 One warning was issued.</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">reboot</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{5mm}
\newpage

\subsubsection{Reboot und Check}


    An dieser Stelle ist die Konfiguration des RAID-Verbundes und dessen
    dauerhafte Einbindung in das \emph{eisfair}-System abgeschlossen. Dies
    sollte noch durch einen Neustart des Servers "uberpr"uft werden:\\



\begin{latexonly}
\begin{bildschirm}
\\\prompt \green{Welcome to eisfair!}
base     : \base
eiskernel: \kernel
\prompt
\prompt \yellow{mount}
/dev/md3 on / type ext4 (rw,errors=remount-ro,acl,user\_xattr)
/dev/md1 on /boot type ext4 (rw,errors=remount-ro)
/dev/md4 on /data type ext4 (rw,acl,user\_xattr)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/sys on /sys type sysfs (rw)
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#008000">Welcome to eisfair!</FONT> <FONT COLOR="#ffffff">
 base     :&nbsp;\end{rawhtml}\input{administration_base_version}\begin{rawhtml}
 eiskernel:&nbsp;\end{rawhtml}\input{administration_kernel_version}\begin{rawhtml}
<FONT COLOR="#ff0000"> eis #
 eis #</FONT> <FONT COLOR="#ffff00">mount</FONT>
 <FONT COLOR="#ffffff">
 /dev/md3 on / type ext4 (rw,errors=remount-ro,acl,user\_xattr)
 /dev/md1 on /boot type ext4 (rw,errors=remount-ro)
 /dev/md4 on /data type ext4 (rw,acl,user\_xattr)
 devpts on /dev/pts type devpts (rw)
 usbfs on /proc/bus/usb type usbfs (rw)
 /sys on /sys type sysfs (rw)</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}



\section{Den Server komplett auf einem RAID-5 einrichten}


\vspace{10mm}


Die Installation eines RAID-5 erfolgt analog eines RAID-1 mit einer
dritten Festplatte.

Der wesentlichste und wichtigste Unterschied ist, dass ein Linux-System
nicht von einem Software-RAID-5 booten kann. Das heisst nun aber
nicht, dass sich ein System mit Software-RAID-5 nicht einrichten
und betreiben l"asst. Es ben"otigt daf"ur nur eine Boot-Partition, die
kein RAID-5 enth"alt. Daf"ur ist ein RAID-1 genau richtig.

In der /etc/lilo.conf ist daf"ur der Wert

raid-extra-boot = mbr

zu setzen. Dann wird von "'lilo"' der Bootloader auf alle 3 Festplatten
geschrieben. Dieses Vorgehen wird von lilo dabei auch entsprechend
kommentiert.


Ein Software-RAID wird vom Kernel bereit gestellt. Das bedeutet, der Kernel
muss selbst erst einmal geladen sein, um dieses Software-RAID zu initalisieren.
Wenn nun /boot mit dem zu ladenen Kernel aber auf einem RAID-5 liegen w"urde,
bei dem die Daten "uber 3 Festplatten verteilt sind, m"u"ste der Kernel von
einem Array geladen werden, welches nur der Kernel selber initialisieren
kann ...






\subsubsection{Test}


    Weitere Tests lassen sich realisieren, indem man einzelne Festplatten
    nacheinander hardwareseitig abklemmt. Es ist darauf zu achten, dass
    die Synchronisation immer vollst"andig erfolgt ist, bevor ein Reboot
    ausgef"uhrt wird. Ist alles korrekt konfiguriert, muss das System von
    jedem Laufwerk ohne Fehlermeldungen hochfahren.



\newpage


\section{Desaster recovery}


    Bei Ausfall einer Festplatte in einem Software-RAID-Verbund sind im
    Wesentlichen die gleichen Schritte wie bei dem Hinzuf"ugen der
    2. Festplatte, weiter vorne beschrieben, auszuf"uhren.

    \begin{itemize}
    \item Feststellen, welche Festplatte ausgefallen ist und entsprechenden
          Ersatz besorgen. Die Festplattengr"o"se muss dabei gr"o"ser oder
          gleich der bisherigen Festplattengr"o"se sein.\\

    \item Hilfreich ist es, die Festplatten-Informationen mit 'hdparm'
          auszulesen, damit auch wirklich die richtige Festplatte
          ausgewechselt wird. Das stellt man durch die Ermittlung der
          'SerialNo' sicher:\\
    \end{itemize}


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{hdparm -i /dev/hdb}

/dev/hdb:

 Model=WDC WD3200AAJB-00J3A0, FwRev=01.03E01, SerialNo=WD-WCAV2AV04526
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16
 CurCHS=65535/1/63, CurSects=4128705, LBA=yes, LBAsects=625142448
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">hdparm -i /dev/hdb</FONT> <FONT COLOR="#ffffff">

 /dev/hdb:

  Model=WDC WD3200AAJB-00J3A0, FwRev=01.03E01, SerialNo=WD-WCAV2AV04526
  Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
  RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
  BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16
  CurCHS=65535/1/63, CurSects=4128705, LBA=yes, LBAsects=625142448
  IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
  PIO modes:  pio0 pio3 pio4
  DMA modes:  mdma0 mdma1 mdma2
  UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
  AdvancedPM=no WriteCache=enabled
  Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

  * signifies the current active mode</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    \begin{itemize}
    \item Vor dem Wechseln der Festplatte (hier hdb) markiert man diese mit all
          ihren Partitionen, die Bestandteil von RAIDs sind, f"ur alle
          mdx-Devices als 'fail':
    \end{itemize}


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm /dev/md1 --fail /dev/hdb1}
mdadm: set /dev/hdb1 faulty in /dev/md1
\prompt \yellow{mdadm /dev/md2 --fail /dev/hdb2}
mdadm: set /dev/hdb2 faulty in /dev/md2
\prompt \yellow{mdadm /dev/md3 --fail /dev/hdb3}
mdadm: set /dev/hdb3 faulty in /dev/md3
\prompt \yellow{mdadm /dev/md4 --fail /dev/hdb4}
mdadm: set /dev/hdb4 faulty in /dev/md4
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md1 --fail /dev/hdb1</FONT> <FONT COLOR="#ffffff">
 mdadm: set /dev/hdb1 faulty in /dev/md1</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md2 --fail /dev/hdb2</FONT> <FONT COLOR="#ffffff">
 mdadm: set /dev/hdb2 faulty in /dev/md2</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md3 --fail /dev/hdb3</FONT> <FONT COLOR="#ffffff">
 mdadm: set /dev/hdb3 faulty in /dev/md3</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md4 --fail /dev/hdb4</FONT> <FONT COLOR="#ffffff">
 mdadm: set /dev/hdb4 faulty in /dev/md4</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    \begin{itemize}
    \item Nun entfernt man die Partitionen bei allen mdx-Devices:
    \end{itemize}


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm /dev/md1 --remove /dev/hdb1}
mdadm: hot removed /dev/hdb1
\prompt \yellow{mdadm /dev/md2 --remove /dev/hdb2}
mdadm: hot removed /dev/hdb2
\prompt \yellow{mdadm /dev/md3 --remove /dev/hdb3}
mdadm: hot removed /dev/hdb3
\prompt \yellow{mdadm /dev/md4 --remove /dev/hdb4}
mdadm: hot removed /dev/hdb3
\prompt
\end{bildschirm}
\end{latexonly}

\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md1 --remove /dev/hdb1</FONT> <FONT COLOR="#ffffff">
 mdadm: hot removed /dev/hdb1</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md2 --remove /dev/hdb2</FONT> <FONT COLOR="#ffffff">
 mdadm: hot removed /dev/hdb2</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md3 --remove /dev/hdb3</FONT> <FONT COLOR="#ffffff">
 mdadm: hot removed /dev/hdb3</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md4 --remove /dev/hdb4</FONT> <FONT COLOR="#ffffff">
 mdadm: hot removed /dev/hdb4</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    \begin{itemize}
    \item Jetzt wird der Server heruntergefahren und die Festplatte ausgetauscht.

    \item Dann "ubertr"agt man das Partitions-Layout auf die neu eingebaute
          Festplatte:
    \end{itemize}


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{sfdisk -d /dev/hda | sfdisk -f /dev/hdb}
Checking that no-one is using this disk right now ...
OK

Disk /dev/hdb: 19457 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
 /dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/hdb1   *        63    112454     112392  fd  Linux raid autodetect
/dev/hdb2        112455    385559     273105  fd  Linux raid autodetect
/dev/hdb3        385560  21366449   20980890  fd  Linux raid autodetect
/dev/hdb4      21366450 312576704  291210255  fd  Linux raid autodetect
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
\prompt
\end{bildschirm}
\end{latexonly}



\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">sfdisk -d /dev/sda | sfdisk -f /dev/sdb</FONT> <FONT COLOR="#ffffff">
 Checking that no-one is using this disk right now ...
 OK

 Disk /dev/hdb: 19457 cylinders, 255 heads, 63 sectors/track

 sfdisk: ERROR: sector 0 does not have an msdos signature
  /dev/sdb: unrecognized partition table type
 Old situation:
 No partitions found
 New situation:
 Units = sectors of 512 bytes, counting from 0

    Device Boot    Start       End   #sectors  Id  System
 /dev/hdb1   *        63    112454     112392  fd  Linux raid autodetect
 /dev/hdb2        112455    385559     273105  fd  Linux raid autodetect
 /dev/hdb3        385560  21366449   20980890  fd  Linux raid autodetect
 /dev/hdb4      21366450 312576704  291210255  fd  Linux raid autodetect
 Successfully wrote the new partition table

 Re-reading the partition table ...

 If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
 to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
 (See fdisk(8).)</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{sfdisk -luS}
Disk /dev/sda: 19457 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sda1   *        63    112454     112392  fd  Linux raid autodetect
/dev/sda2        112455    385559     273105  fd  Linux raid autodetect
/dev/sda3        385560  21366449   20980890  fd  Linux raid autodetect
/dev/sda4      21366450 312576704  291210255  fd  Linux raid autodetect

Disk /dev/hdb: 19457 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/hdb1   *        63    112454     112392  fd  Linux raid autodetect
/dev/hdb2        112455    385559     273105  fd  Linux raid autodetect
/dev/hdb3        385560  21366449   20980890  fd  Linux raid autodetect
/dev/hdb4      21366450 312576704  291210255  fd  Linux raid autodetect
\prompt
\end{bildschirm}
\end{latexonly}



\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">sfdisk -luS</FONT> <FONT COLOR="#ffffff">
 Disk /dev/sda: 19457 cylinders, 255 heads, 63 sectors/track
 Units = sectors of 512 bytes, counting from 0

    Device Boot    Start       End   #sectors  Id  System
 /dev/sda1   *        63    112454     112392  fd  Linux raid autodetect
 /dev/sda2        112455    385559     273105  fd  Linux raid autodetect
 /dev/sda3        385560  21366449   20980890  fd  Linux raid autodetect
 /dev/sda4      21366450 312576704  291210255  fd  Linux raid autodetect

 Disk /dev/sdb: 19457 cylinders, 255 heads, 63 sectors/track
 Units = sectors of 512 bytes, counting from 0

    Device Boot    Start       End   #sectors  Id  System
 /dev/hdb1   *        63    112454     112392  fd  Linux raid autodetect
 /dev/hdb2        112455    385559     273105  fd  Linux raid autodetect
 /dev/hdb3        385560  21366449   20980890  fd  Linux raid autodetect
 /dev/hdb4      21366450 312576704  291210255  fd  Linux raid autodetect</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{10mm}


    \begin{itemize}
    \item Nun f"ugt man die Partitionen der neuen Festplatte zum RAID-Verbund
          hinzu:
    \end{itemize}


\vspace{10mm}


\begin{latexonly}
\begin{bildschirm}
\\\prompt \yellow{mdadm /dev/md1 --add  /dev/hdb1}
mdadm: added /dev/hdb1
\prompt \yellow{mdadm /dev/md2 --add  /dev/hdb2}
mdadm: added /dev/hdb2
\prompt \yellow{mdadm /dev/md3 --add  /dev/hdb3}
mdadm: added /dev/hdb3
\prompt \yellow{mdadm /dev/md4 --add  /dev/hdb4}
mdadm: added /dev/hdb4
\prompt
\end{bildschirm}
\end{latexonly}


\begin{htmlonly}
\begin{rawhtml}
<CENTER>
    <TABLE WIDTH=561 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <COL WIDTH=561>
        <TR>
            <TD WIDTH=561 VALIGN=TOP>
            <P><BR>
            </P>
            <PRE STYLE="background: #333333">

<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md1 --add  /dev/hdb1</FONT> <FONT COLOR="#ffffff">
 mdadm: added /dev/hdb1</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md2 --add  /dev/hdb2</FONT> <FONT COLOR="#ffffff">
 mdadm: added /dev/hdb2</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md3 --add  /dev/hdb3</FONT> <FONT COLOR="#ffffff">
 mdadm: added /dev/hdb3</FONT>
<FONT COLOR="#ff0000"> eis #</FONT> <FONT COLOR="#ffff00">mdadm /dev/md4 --add  /dev/hdb4</FONT> <FONT COLOR="#ffffff">
 mdadm: added /dev/hdb4</FONT>
<FONT COLOR="#ff0000"> eis #</FONT>
            </PRE>
            <P><BR>
            </P>
            </TD>
        </TR>
    </TABLE>
</CENTER>
\end{rawhtml}
\end{htmlonly}


\vspace{5mm}


    Nach der Synchronisation ist der RAID-Verbund wieder vollst"andig.\\


\section{Endbemerkungen}


    Es ist unbedingt zu beachten, dass ein RAID-Verbund kein Backup ersetzt.
    Aus diesem Grund wird empfohlen, eine verl"assliche Sicherungsstrategie
    zu erstellen.\\
    Dar"uberhinaus sollte vor der "Uberf"uhrung eines bestehenden
    \emph{eisfair}-Systems in einen RAID-Verbund, wie vor allen gro"sen "Anderungen
    an der Hard- oder Software, eine Datensicherung auf einen externen
    Datentr"ager durchgef"uhrt werden.\\
    F"ur die Erstellung dieser Anleitung wurde u.a. auf die auf
    \link{https://www.eisfair.org/hilfe/howtos/}{eisfair.org} abgelegten
    Anleitungen von J"urgen Witt und Manfred Reiland
    zur"uckgegriffen.


