This file is indexed.

/usr/share/doc/HOWTO/de-html/DE-Software-RAID-HOWTO-7.html is in doc-linux-de 2003.10-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
 <TITLE>Linux Software-RAID HOWTO: Root-Partition oder Swap-Partition als RAID       </TITLE>
 <LINK HREF="DE-Software-RAID-HOWTO-8.html" REL=next>
 <LINK HREF="DE-Software-RAID-HOWTO-6.html" REL=previous>
 <LINK HREF="DE-Software-RAID-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="DE-Software-RAID-HOWTO-8.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Software-RAID-HOWTO-6.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Software-RAID-HOWTO.html#toc7"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="DE-Sw-RAID-HOWTO-Root-RAID"></A> <A NAME="s7">7.</A> <A HREF="DE-Software-RAID-HOWTO.html#toc7">Root-Partition oder Swap-Partition als RAID       </A></H2>


<H2><A NAME="ss7.1">7.1</A> <A HREF="DE-Software-RAID-HOWTO.html#toc7.1">Root-Partition als RAID        </A>
<!--RAID!Root-Partition--></H2>

<P>Eine existierende HOWTO besch&auml;ftigt sich bereits mit dem Thema, allerdings ist 
Sie erstens auf Englisch und zweitens geht es durch neue Kerneloptionen auch 
eleganter als dort beschrieben. </P>
<P>Bitte erleichtern Sie sich Ihre Arbeit und senken Sie das Frustnieveau, indem 
Sie vorab noch drei Tips beherzigen:</P>
<P>
<OL>
<LI>Erstellen Sie ein Backup Ihrer Daten. </LI>
<LI>Erstellen Sie sowohl eine funktionierende und getestete DOS als auch 
Linux Bootdiskette. </LI>
<LI>Lesen Sie diese Ausf&uuml;hrungen erstmal komplett durch, bevor Sie mittendrin 
feststellen m&uuml;ssen, etwas wichtiges vergessen zu haben, das Sie zu so sp&auml;tem 
Zeitpunkt nicht mehr nachholen k&ouml;nnen.</LI>
</OL>
</P>

<H3>DLD 6.0</H3>

<P>F&uuml;r dieses Verfahren wird noch eine DOS oder Win95 Partition in Verbindung mit 
dem Loadlin ben&ouml;tigt. Loadlin befindet sich - so das Programm nicht schon eingesetzt 
wird - auf der ersten DLD CD unter <CODE>/delix/RPMS/i386/loadlin-1.6.2.i386.rpm</CODE>. 
Alternativ kann man sich auch eine Bootdiskette anfertigen.</P>
<P>Der Hintergrund ist ganz einfach der, da&szlig; LILO mit dem RAID-Device nicht 
zurechtkommt und man somit nicht explizit von diesem RAID-Device booten kann. 
Daher behilft man sich hier entweder mit Loadlin, oder aber mit einem Mini 
Linux auf einer kleinen Extra-Partition. Weitere M&ouml;glichkeiten zum Booten von 
Linux auch von RAID-Verbunden wurden bereits im Abschnitt
<A HREF="DE-Software-RAID-HOWTO-4.html#DE-Sw-RAID-HOWTO-MoegBoot">M&ouml;glichkeiten des Bootens von Linux</A> behandelt.</P>
<P>Nichts desto trotz bleiben wir bei dem Verfahren mit Loadlin. Das Programm 
befindet sich nach erfolgreicher Installation des RPMS-Paketes unter 
<CODE>/dos/loadlin/</CODE>. Auf der oben genannten n&ouml;tigen DOS Partition richtet 
man sich nun ein Verzeichnis wie z.B. Linux ein und kopiert die Dateien 
<CODE>loadlin.bat</CODE> und <CODE>loadlin.exe</CODE> zusammen mit dem frischen 
Kernel, in den die RAID-Parameter einkompiliert wurden, hinein.</P>
<P>Um sicherzugehen, da&szlig; auch wirklich nichts passiert, sollte man entweder die 
n&ouml;tigen Treiber f&uuml;r den (E)IDE Kontroller oder des passenden SCSI Kontroller 
auch mit in den Kernel einkompiliert haben.</P>
<P>Die Batchdatei <CODE>loadlin.bat</CODE> wird nun dahingehend angepa&szlig;t, da&szlig; wir 
die Parameter f&uuml;r das zu bootende RAID-Device gleich mit angeben:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
md=&lt;md device no.>,&lt;raid level>,&lt;chunk size>,dev0,...,devn 
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>
<DL>
<DT><B>md device no</B><DD>
<P>Die Nummer des RAID (md) Devices: »1« steht f&uuml;r 
<CODE>/dev/md1</CODE>, »2« f&uuml;r <CODE>/dev/md2</CODE> usw.</P>

<DT><B>raid level</B><DD>
<P>Welches RAID Level wird verwendet:
»-1« f&uuml;r Linear Modus, »0« f&uuml;r RAID-0 (Striping).</P>

<DT><B>chunk size</B><DD>
<P>Legt die Chunk Size fest bei RAID-0 und RAID-1 fest.</P>

<DT><B>dev0-devn</B><DD>
<P>Eine durch Kommata getrennte Liste von Devices,
aus denen das md Device gebildet wird, z.B. <CODE>/dev/hda1,/dev/hdc1,/dev/sda1</CODE>. </P>
</DL>
</P>
<P>Andere RAID-Modi au&szlig;er Linear und RAID-0 werden im Moment nicht unterst&uuml;tzt. 
Gem&auml;&szlig; der vorher beschriebenen Anleitung w&uuml;rde die Zeile in der <CODE>linux.bat</CODE> 
dann so aussehen:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
c:\linux\loadlin c:\linux\zimage root=/dev/md0 md=0,0,0,0,/dev/sda6,/dev/sdb6 ro
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Dies soll nur eine einzige Zeile sein; au&szlig;erdem ist auch hier wieder auf die 
richtige Reihenfolge der Partitionen zu achten. Weiterhin m&uuml;&szlig;en nat&uuml;rlich zwei 
oder mehrere Partitionen - zu entweder einem RAID-0 oder einem Linear Device 
zusammengefa&szlig;t - bereits vorliegen. Der Kernel mu&szlig; die o.a. Bootoption und die 
n&ouml;tigen RAID oder Linear Parameter in den Kernel einkompiliert haben; man 
beachte: Nicht als Module. Dann mountet man das RAID-Device, welches sp&auml;ter 
die Root-Partition werden soll, nach z.B. <CODE>/mnt</CODE>, kopiert mittels einer 
der im Abschnitt 
<A HREF="DE-Software-RAID-HOWTO-4.html#DE-Sw-RAID-HOWTO-MoegKopvDat">M&ouml;glichkeiten zum Kopieren von Daten</A> beschriebenen 
Methoden die ben&ouml;tigten Verzeichnisse auf das RAID-Device.</P>
<P>Speziell f&uuml;r die DLD 6.0, aber auch f&uuml;r alle anderen Distributionen sei hier 
gesagt, da&szlig; beim Booten von einem RAID-Device der oben beschriebene Befehl 
<CODE>mdadd -ar</CODE> vor dem ersten <CODE>mount</CODE> Befehl auszuf&uuml;hren ist. F&uuml;r 
die DLD 6.0 hei&szlig;t das konkret, da&szlig; der Befehl bereits in das Skript 
<CODE>/etc/init.d/bc.mount_root</CODE> eingetragen werden mu&szlig;, da dort der erste 
<CODE>mount</CODE> Befehl ausgef&uuml;hrt wird. Benutzer anderer Distributionen sind 
hier auf sich gestellt oder schauen sich zur Not die Methode mit den neueun 
RAID-Tools Version 0.9x an; siehe Abschnitt
<A HREF="DE-Software-RAID-HOWTO-6.html#DE-Sw-RAID-HOWTO-gen">RAID-Verbunde mit den RAID-Tools Version 0.9x erstellen</A>.</P>
<P>Jetzt fehlen nur noch die passenden Eintr&auml;ge in <CODE>/etc/fstab</CODE> und 
<CODE>/etc/lilo.conf</CODE>, in denen man auf dem neuen RAID-Device die 
urspr&uuml;ngliche Root-Partition in <CODE>/dev/md0</CODE> um&auml;ndert - im Moment liegen 
diese Dateien nat&uuml;rlich noch unter <CODE>/mnt</CODE>.</P>
<P>An dieser Stelle sollte man die obige Liste noch einmal in Ruhe durchsehen, 
sich vergewissern, da&szlig; alles stimmt, und dann die DOS oder Win95 Partition 
booten. Dort f&uuml;hrt man nun die Batchdatei <CODE>linux.bat</CODE> aus.</P>


<H3><A NAME="DE-Sw-RAID-HOWTO-Generst"></A> Generisch </H3>

<P>Im Abschnitt 
<A HREF="DE-Software-RAID-HOWTO-6.html#DE-Sw-RAID-HOWTO-gen">RAID-Verbunde mit den RAID-Tools Version 0.9x erstellen</A> 
wurde bereits auf die 
vorz&uuml;gliche Eigenschaft des automatischen Erkennens von RAID-Devices durch den 
Kernel-Patch beim Startup des Linux-Systems hingewiesen. Dieser Umstand legt 
die Vermutung nahe, da&szlig; es mit dieser Hilfe noch einfacher ist, die 
Root-Partition als RAID-Device laufen zu lassen. Das ist auch wirklich so, 
allerdings gibt es auch hierbei immer noch einige Kleinigkeiten zu beachten. 
Generell kann man Linux entweder mittels Loadlin oder mit Hilfe von LILO 
booten. Je nach Bootart ist die Vorgehensweise unterschiedlich aufwendig.</P>
<P>F&uuml;r beide F&auml;lle braucht man jedoch erstmal ein RAID-Device. Um bei dem 
Beispiel des RAID-0 Devices mit den Partitionen <CODE>/dev/sda6</CODE> und 
<CODE>/dev/sdb6</CODE> zu bleiben, nehmen wir dieses Device und mounten es in 
unseren Verzeichnisbaum.</P>
<P>Hier mu&szlig; allerdings noch einmal darauf hingewiesen werden, da&szlig; ein RAID-0 
Device als Root-Partition ein denkbar schlechtes Beispiel ist. RAID-0 besitzt 
keinerlei Redundanz; f&auml;llt eine Festplatte aus, ist das Ganze RAID im Eimer. 
F&uuml;r eine Root-Partition sollte man deshalb auf jeden Fall ein RAID-1 oder 
RAID-5 Device vorziehen. Auch das funktioniert Dank der neuen 
Autodetect Funktion und wird analog dem beschriebenen RAID-0 Verbund 
eingerichtet.</P>
<P>Auf das gemountete RAID-Device <CODE>/dev/md0</CODE> kopiert man nun ganz simpel 
mittels einer der im Abschnitt 
<A HREF="DE-Software-RAID-HOWTO-4.html#DE-Sw-RAID-HOWTO-MoegKopvDat">M&ouml;glichkeiten zum Kopieren von Daten</A> 
beschriebenen Methoden das komplette Root-Verzeichnis.</P>
<P>Danach mu&szlig; auf dem RAID-Device noch die Datei <CODE>/etc/fstab</CODE> so angepa&szlig;t 
werden, das als Root-Partition <CODE>/dev/md0</CODE> benutzt wird und nicht mehr 
die originale Root-Partition.</P>
<P>Erstellen Sie sich eine DOS-Bootdiskette - das pure DOS von Win95 tut es 
auch - und auf dieser ein Verzeichnis Linux. Hierher kopieren Sie nun aus dem 
passenden RPM-Paket Ihrer Distribution das DOS-Tool <CODE>loadlin</CODE> und Ihren 
aktuellen Kernel. Manchmal befindet sich <CODE>loadlin</CODE> auch unkomprimiert im 
Hauptverzeichnis der Distributions-CD. Der Kernel sollte nat&uuml;rlich die 
RAID-Unterst&uuml;tzung bereits implementiert haben. Nun erstellen Sie mit Ihrem 
Lieblingseditor in dem neuen Linux Verzeichnis eine <CODE>loadlin.bat</CODE>. Haben 
Sie Ihren Kernel z.B. <CODE>vmlinuz</CODE> genannt, sollte in der Datei 
<CODE>loadlin.bat</CODE> etwas in dieser Art stehen: </P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
a:\linux\loadlin a:\linux\vmlinuz root=/dev/md0 ro vga=normal 
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Die Pfade m&uuml;ssen nat&uuml;rlich angepa&szlig;t werden. Ein Reboot und das Starten von der 
Diskette mit der zus&auml;tzlichen Ausf&uuml;hrung der <CODE>linux.bat</CODE> sollte Ihnen 
ein vom RAID-Device gebootetes Linux bescheren. Booten Sie generell nur &uuml;ber
Loadlin, so endet f&uuml;r Sie hier die Beschreibung.</P>
<P>M&ouml;chten Sie allerdings Ihr neues Root-RAID mittels LILO booten, finden 
Sie im Abschnitt 
<A HREF="DE-Software-RAID-HOWTO-4.html#DE-Sw-RAID-HOWTO-MoegBoot">M&ouml;glichkeiten des Bootens von Linux</A> diverse Methoden 
aufgelistet und teilweise sehr genau beschrieben, mit denen Sie sich noch bis zum 
endg&uuml;ltigen Erfolg besch&auml;ftigen m&uuml;&szlig;ten.</P>


<H3>Anmerkung zum redundanten Root-RAID</H3>

<P>Hat man sich bei einer anderen Distribution als SuSE 6.2 f&uuml;r einen 
Root-RAID Verbund entschieden, der im Fehlerfall auch von der zweiten 
Festplatte booten soll, mu&szlig; man noch folgendes beachten: Da auch auf der 
zweiten Festplatte eine Boot-Partition ben&ouml;tigt wird, die zwar ebenso in der 
<CODE>/etc/fstab</CODE> aufgenommen wurde, aber im Fehlerfall nicht mehr 
vorhanden ist, f&auml;llt die SuSE 6.2 Distribution in einen Notfall-Modus, in dem das 
root-Pa&szlig;wort eingegeben werden mu&szlig; und das fragliche Dateisystem repariert 
werden soll. Dies kann Ihnen auch bei anderen Distributionen passieren.</P>
<P>Es wird also ein Weg ben&ouml;tigt, die beiden Boot-Partitionen <CODE>/boot</CODE> und 
<CODE>/boot2</CODE> nur dann zu mounten, wenn sie tats&auml;chlich k&ouml;rperlich im 
Rechner vorhanden sind. Hierbei hilft ihnen das Skript <CODE>mntboot</CODE>:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
#!/bin/sh
 
MNTBOOTTAB=/etc/mntboottab
 
case "$1" in
  start)
    [ -f $MNTBOOTTAB ] || {
      echo "$0: *** $MNTBOOTTAB: not found" &gt;&amp;2
      break
    }
 
    PARTS=`cat $MNTBOOTTAB`
 
    for part in $PARTS ; do
      [ "`awk '{print $2}' /etc/fstab | grep "^$part$"`" == "" ] &amp;&amp; {
        echo "$0: *** Partition $part: not in /etc/fstab" &gt;&amp;2
        continue
      }
 
      [ "`awk '{print $2}' &lt;/proc/mounts | grep "^$part$"`" != "" ] &amp;&amp; {
        echo "$0: *** Partition $part: already mounted" &gt;&amp;2
        continue          
      }
 
      fsck -a $part
      [ $? -le 1 ] || {
        echo "$0: *** Partition $part: Defect? Unavailable?" &gt;&amp;2
        continue
      }
 
      mount $part || {
        echo "$0: *** Partition $part: cannot mount" &gt;&amp;2
        continue
      }
    done
 
    exit 0
    ;;
 
  *)
    echo "usage: $0 start" &gt;&amp;2
    exit 1
    ;;
esac            
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Das Skript geh&ouml;rt bei SuSE Distributionen nach <CODE>/sbin/init.d</CODE>, bei 
vermutlich allen anderen Linux Distributionen nach 
<CODE>/etc/rc.d/init.d</CODE>. Auf das Skript sollte ein symbolischer Link 
<CODE>/sbin/init.d/rc2.d/S02mntboot</CODE> zeigen. F&uuml;r alle anderen gilt es 
hier einen Link nach <CODE>/etc/rc.d/rc3.d/S02mntboot</CODE> zu setzen, da au&szlig;er 
den SuSE Distributionen wohl alle im Runlevel 3 starten und Ihre Links daf&uuml;r 
in diesem Verzeichnis haben. Das Skript pr&uuml;ft ein paar Nebenbedingungen f&uuml;r 
diejenigen Partitionen, die in <CODE>/etc/mntboottab</CODE> eingetragen sind 
(darin sollten <CODE>/boot</CODE> und <CODE>/boot2</CODE> stehen) und ruft jeweils 
<CODE>fsck</CODE> und <CODE>mount</CODE> f&uuml;r diese Partitionen auf. Da es bei allen 
anderen Distributionen keine <CODE>/etc/mntboottab</CODE> gibt, gilt es hier diese 
zu erstellen oder anzupassen.</P>
<P>In der <CODE>/etc/fstab</CODE> sollten diese Partitionen mit »noauto« statt 
»defaults« eingetragen werden. Au&szlig;erdem mu&szlig; im sechsten Feld der Wert »0« 
stehen, da die Distribution im Backup-Fall sonst in den Notfall-Modus f&auml;llt.</P>


<H2><A NAME="ss7.2">7.2</A> <A HREF="DE-Software-RAID-HOWTO.html#toc7.2">RAID auch f&uuml;r Swap-Partitionen?        </A>
<!--RAID!Swap-Partition--></H2>


<H3>RAID-Technik mit normalen Swap-Partitionen        <!--Swap-Partition--></H3>

<P>Sie &uuml;berlegen sich, RAID auch f&uuml;r Swap Partitionen einzurichten? Diese M&uuml;he 
k&ouml;nnen Sie sich sparen, denn der Linux-Kernel unterst&uuml;tzt ein RAID-Verhalten 
auf Swap-Partitionen &auml;hnlich dem RAID-0 Modus quasi »von Haus aus«. Legen 
Sie einfach auf verschiedenen Festplatten ein paar Partitionen an, &auml;nderen 
Sie den Partitionstyp mittels </P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
fdisk /dev/Ihre-Partition
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>und der Option »t« auf 82 und erstellen 
Sie das Swap Dateisystem: </P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
mkswap /dev/Ihre-neue-Swap-Partition
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Nun f&uuml;gen Sie diese in die <CODE>/etc/fstab</CODE> ein und geben allen 
Swap-Partitionen dieselbe Priorit&auml;t.</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
/dev/hda3 swap swap defaults,pri=1    0 0 
/dev/hdb3 swap swap defaults,pri=1    0 0 
/dev/sda4 swap swap defaults,pri=1    0 0 
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Vom n&auml;chsten Startup an werden die Swap Partitionen wie ein RAID-0 Device 
behandelt, da die Lese- und Schreibzugriffe ab jetzt gleichm&auml;&szlig;ig &uuml;ber die 
Swap-Partitionen verteilt werden.</P>
<P>Will man aus irgendwelchen Gr&uuml;nden zwei Swap-Partitionen h&ouml;her priorisieren 
als eine Dritte, so kann man das auch &uuml;ber den Parameter »pri=« &auml;ndern, 
wobei die Priorit&auml;t einen Wert zwischen »0« und »32767« annehmen kann. Ein h&ouml;herer 
Wert entspricht einer h&ouml;heren Priorit&auml;t. Je h&ouml;her die Priorit&auml;t desto eher 
wird die Swap-Partition beschrieben. Bei der folgenden Konfiguration w&uuml;rde 
also <CODE>/dev/hda3</CODE> wesentlich st&auml;rker als Swap-Partition genutzt werden 
als <CODE>/dev/hdb3</CODE>. </P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
/dev/hda3 swap swap defaults,pri=5    0 0 
/dev/hdb3 swap swap defaults,pri=1    0 0 
</PRE>
</CODE></BLOCKQUOTE>
</P>


<H3>Swap-Partitionen auf RAID-1 Verbunden</H3>

<P>Erstellt man die Swap-Partition auf einem vorhandenen RAID-1 Verbund, 
formatiert sie dann mittels <CODE>mkswap /dev/mdx</CODE> und tr&auml;gt sie als 
Swap-Partition in die <CODE>/etc/fstab</CODE> ein, so hat man zwar keinen, oder 
nur einen kleinen lesenden Geschwindigkeitsvorteil, jedoch den gro&szlig;en, nicht 
zu untersch&auml;tzenden Vorteil, da&szlig; man bei einem Festplattendefekt nach dem 
Ausschalten des Rechners und dem Austausch der defekten Festplatte, ohne 
weitere manuelle Eingriffe wieder ein vollst&auml;ndig funktionierendes System hat. 
Der einzige Wermutstropfen betrifft hierbei die Freunde des Hot Plugging. 
Erfahrungsgem&auml;&szlig; verkraftet Linux das Hot Plugging eines derma&szlig;en gestalteten 
RAID-1 Verbundes nur, wenn vorher die Swap-Partitionen mittels <CODE>swapoff -a</CODE> 
abgeschaltet wurden.</P>
<P>Als Warnung seien hier aber noch zwei der schlimmsten F&auml;lle genannt, &uuml;ber die man sich 
Gedanken machen sollte und die noch dazu voneinander abh&auml;ngig sind: </P>
<P>Der erste Fall beschreibt die Situation, Swap auf einem RAID-1 Verbund mit den  
alten RAID-Tools und damit den sowohl in den 2.0.xer als auch in den 2.2.xer 
orginal im Kernel vorhandenen RAID Treibern zu benutzen. Hierbei k&ouml;nnen nach einer 
gewissen Laufzeit des Linux-Systems unweigerliche Abst&uuml;rze auftreten. Der Grund 
daf&uuml;r liegt in der Problematik der unterschiedlichen Cachestrategie von 
Software-RAID einerseits und Swap-Partitionen andererseits. Erst mit den aktuellen 
RAID-Treibern ist der Betrieb einer Swap-Partition auf einem RAID-Verbund stabil 
geworden. Wollen Sie also einen sicheren RAID-Verbund erstellen, der nachher aus 
Gr&uuml;nden der Ausfallsicherheit auch die Swap-Partition beinhalten soll, benutzen 
Sie bitte immer die aktuellen RAID-Treiber in Form des aktuellen RAID-Patches. 
Dies entspricht dann der Einrichtfunktionalit&auml;t der RAID-Tools Version 0.9x.</P>
<P>Der zweite Fall beschreibt die generelle Problematik, mit der Sie sich bei der 
Einrichtung von Swap-Partitionen in Bezug auf Software-RAID auseinandersetzen 
m&uuml;ssen:</P>
<P>Hat man die Swap-Partition auf einen RAID-1 Verbund gelegt 
und zus&auml;tzlich daf&uuml;r eine Spare-Disk reserviert, w&uuml;rde diese Spare-Disk nat&uuml;rlich 
bei einem Festplattendefekt sofort eingearbeitet werden. Das ist zwar erw&uuml;nscht und 
auch so gedacht, jedoch funktioniert das Resynchronisieren dieses RAID-1 Verbundes 
mit einer aktiven Swap-Partition nicht. Die Software-RAID Treiber nutzen beim 
Resynchronisieren den Puffer-Cache, die Swap-Partition aber nicht. Das Ergebnis ist 
eine defekte Swap-Partition.</P>
<P>Als L&ouml;sung bleibt nur die M&ouml;glichkeit, keine Spare-Disks zu benutzen und nach 
einem Festplattenausfall <CODE>swapoff -a</CODE> per Hand auszuf&uuml;hren, die defekte 
Festplatte auszutauschen und nach dem Erstellen der Partitionen und des 
Swap-Dateisystems mit <CODE>swapon -a</CODE> wieder zu aktivieren.</P>
<P>Ein Problem bleibt dennoch: Gesetzt den Fall der Linux-Rechner w&uuml;rde aufgrund 
eines Stromausfalls nicht sauber heruntergefahren worden sein, so werden die 
RAID-Verbunde beim n&auml;chsten Startup automatisch resynchronisiert. Dies erfolgt 
mit einem automatischen »ge-nice-ten« Aufruf des entsprechenden RAID-Daemons im 
Hintergrund bereits zu Anfang der Bootprozedur. Im weiteren Bootverlauf werden 
aber irgendwann die Swap-Partitionen aktiviert und treffen auf ein nicht 
synchronisiertes RAID. Das Aktivieren der Swap-Partitionen mu&szlig; also verz&ouml;gert 
werden, bis die Resynchronisation abgeschlossen ist.</P>
<P>Wie unter Linux &uuml;blich l&auml;&szlig;t sich auch dieses Problem mit einem Skript l&ouml;sen. 
Der Gedanke dabei ist, den Befehl <CODE>swapon -a</CODE> durch ein Skript zu ersetzen, 
welches die Pseudodatei <CODE>/proc/mdstat</CODE> nach der Zeichenfolge 
<CODE>resync=</CODE> durchsucht und im Falle des Verschwindens dieser Zeichenfolge 
die Swap-Partitionen aktiviert. Im folgenden finden Sie ein Beispiel dazu 
abgedruckt:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
#!/bin/sh
#

RAIDDEVS=`grep swap /etc/fstab | grep /dev/md|cut -f1|cut -d/ -f3`

for raiddev in $RAIDDEVS
do
#  echo "testing $raiddev"
    while grep $raiddev /proc/mdstat | grep -q "resync="
    do
#     echo "`date`: $raiddev resyncing" &gt;&gt; /var/log/raidswap-status
      sleep 20
     done
     /sbin/swapon /dev/$raiddev
done

exit 0
</PRE>
</CODE></BLOCKQUOTE>
</P>

<HR>
<A HREF="DE-Software-RAID-HOWTO-8.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Software-RAID-HOWTO-6.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Software-RAID-HOWTO.html#toc7"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>