This file is indexed.

/usr/share/doc/HOWTO/de-html/DE-Software-RAID-HOWTO-12.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
<!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: Tips und Tricks</TITLE>
 <LINK HREF="DE-Software-RAID-HOWTO-11.html" REL=previous>
 <LINK HREF="DE-Software-RAID-HOWTO.html#toc12" REL=contents>
</HEAD>
<BODY>
<IMG SRC="next.png" ALT="Weiter">
<A HREF="DE-Software-RAID-HOWTO-11.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Software-RAID-HOWTO.html#toc12"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="s12">12.</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12">Tips und Tricks</A></H2>

<P>Hier finden sowohl Tips und Tricks Erw&auml;hnung, die teilweise selbst getest 
wurden, als auch Besonderheiten, die nicht direkt durch die 
RAID-Kernelerweiterungen erm&ouml;glicht werden, sondern allgemeiner Natur sind 
oder zus&auml;tzlich integriert werden m&uuml;ssen. Einige der hier aufgelisteten 
Vorg&auml;nge sind mit allerh&ouml;chster Vorsicht zu genie&szlig;en und mehr oder minder 
ausdr&uuml;cklich <EM>nicht</EM> f&uuml;r eine Produktionsumgebung geeignet.</P>

<H2><A NAME="ss12.1">12.1</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.1">DRBD</A>
</H2>

<P>Drbd versteht sich als ein Block Device, um eine Hochverf&uuml;gbarkeitsl&ouml;sung unter 
Linux zu bieten. Im Prinzip ist es eine Art RAID-1 Verbund, der &uuml;ber ein 
Netzwerk l&auml;uft. N&auml;here Informationen hierzu gibt es unter:
<BLOCKQUOTE><CODE>
<A HREF="http://www.complang.tuwien.ac.at/reisner/drbd/">http://www.complang.tuwien.ac.at/reisner/drbd/</A></CODE></BLOCKQUOTE>
</P>

<H2><A NAME="ss12.2">12.2</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.2">Kernel 2.2.11 bis 2.2.13 und der RAID-Patch</A>
</H2>

<P>Um Linux Software-RAID auch mit dem aktuelleren Kerneln zu verwenden, 
kann man einfach den RAID-Patch f&uuml;r den 2.2.10er Kernel auf den Sourcetree der 
2.2.11er bis 2.2.13er Kernel anwenden. Zweimal kommt vom <CODE>patch</CODE> die Frage, ob 
eine bereits gepatchte Datei nochmal gepatcht werden soll. Diese Fragen sollten
alle mit »no« beantwortet werden. Der Erfolg ist, da&szlig; der so gepatchte Kernel 
nach dem Kompilierlauf hervorragend mit allen RAID-Modi funktioniert. Wer sich 
den 2.2.10er RAID-Patch ersparen m&ouml;chte, kann sich einen Kernel-Patch von Alan 
Cox f&uuml;r den 2.2.11er bis 2.2.13er Kernel aus dem Internet besorgen:</P>
<P>
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.kernel.org/pub/linux/kernel/people/alan/">ftp.kernel.org:/pub/linux/kernel/people/alan/</A></CODE></BLOCKQUOTE>
</P>
<P>Diese enthalten auch die jeweils aktuellen RAID-Treiber.</P>

<H2><A NAME="ss12.3">12.3</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.3">Kernel 2.2.14 bis 2.2.16 und der RAID-Patch</A>
</H2>

<P>Auch in den aktuellsten 2.2.xer Linux Kerneln ist der aktuelle RAID-Patch noch 
nicht enthalten. Passende Patches hierf&uuml;r findet man im Internet bei Ingo Molnar: </P>
<P>
<BLOCKQUOTE><CODE>
<A HREF="http://people.redhat.com/mingo/raid-patches/">http://people.redhat.com/mingo/raid-patches/</A></CODE></BLOCKQUOTE>
</P>



<H2><A NAME="ss12.4">12.4</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.4">Kernel der 2.4.xer Reihe und der RAID-Patch</A>
</H2>

<P>Alle aktuellen Kernel der 2.4.xer Reihe beinhalten bereits die neue 
RAID-Unterst&uuml;tzung. Diese Kernel m&uuml;ssen nicht mehr gepatcht werden, lassen 
sich mit den aktivierten RAID-Optionen einwandfrei kompilieren und 
funktionieren problemlos.</P>

<H2><A NAME="ss12.5">12.5</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.5">SCSI-Festplatte zum Ausfallen bewegen        </A>
<!--SCSI!Ger&auml;te anmelden--></H2>

<P>F&uuml;r SCSI Devices aller Art - also nicht nur Festplatten - gibt es unter Linux 
die M&ouml;glichkeit, sie w&auml;hrend des laufenden Betriebes quasi vom SCSI Bus 
abzuklemmen; dies allerdings ohne Hand an den Stromstecker oder 
Wechselrahmenschl&uuml;ssel legen zu m&uuml;ssen. M&ouml;glich ist dies durch den Befehl:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
echo "scsi remove-single-device c b t l" &gt; /proc/scsi/scsi
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Die Optionen stehen f&uuml;r:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
c = die Nummer des SCSI-Kontrollers
b = die Nummer des Busses oder Kanals
t = die SCSI ID
l = die SCSI LUN
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>M&ouml;chte man das 5. Device des 1. SCSI Kontrollers rausschmei&szlig;en, m&uuml;&szlig;te der 
Befehl so aussehen:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
echo "scsi remove-single-device 0 0 5 0" &gt; /proc/scsi/scsi
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Umgekehrt funktioniert das Hinzuf&uuml;gen einer so verbannten Festplatte nat&uuml;rlich 
auch:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
echo "scsi add-single-device c b t l" &gt; /proc/scsi/scsi
</PRE>
</CODE></BLOCKQUOTE>
</P>

<H2><A NAME="ss12.6">12.6</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.6">&Uuml;berwachen der RAID-Aktivit&auml;ten</A>
</H2>

<P>Um einen &Uuml;berblick &uuml;ber den Zustand des RAID-Systems zu bekommen, gibt es 
mehrere M&ouml;glichkeiten:
<DL>
<DT><B>mdstat</B><DD>
<P>Mit einem </P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
cat /proc/mdstat
</PRE>
</CODE></BLOCKQUOTE>
 </P>
<P>haben wir uns auch bisher immer einen 
&Uuml;berblick &uuml;ber den aktuellen Zustand des RAID-Systems verschafft.</P>

<DT><B>vmstat</B><DD>
<P>Ist man an der fortlaufenden CPU und Speicher-Belastung sowie an der 
Festplatten I/O-Belastung interessiert, sollte man auf der Konsole einfach ein</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
vmstat 1
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>ausprobieren.</P>

<DT><B>Mit grep oder perl mdstat abfragen</B><DD>
<P>Wie &uuml;blich l&auml;&szlig;t sich unter Linux auch eine Abfrage von <CODE>/proc/mdstat</CODE> 
mit einem Skript realisieren. Hier k&ouml;nnte man z.B. die Folge »[UUUU]« nach einem 
Unterstrich regelm&auml;&szlig;ig per <CODE>cron</CODE> abfragen - der Unterstrich 
signalisiert ja eine defekte RAID-Partition - und l&auml;&szlig;t sich diese Information 
dann als E-Mail schicken. L&auml;&szlig;t man sich allerdings schon eine E-Mail schicken, 
kann man sich ebenso gut auch eine SMS an sein Handy schicken lassen. Dieser 
Weg ist dann auch nicht mehr weit. Ein passendes <CODE>grep</CODE>-Kommando zum 
Abfragen von <CODE>/proc/mdstat</CODE> k&ouml;nnte dieses Aussehen haben:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
grep '[\[U]_' /proc/mdstat
</PRE>
</CODE></BLOCKQUOTE>
</P>

<DT><B>xosview</B><DD>
<P>Die aktuelle Entwicklerversion dieses bekannten &Uuml;berwachungsprogrammes 
enth&auml;lt bereits eine Statussabfrage f&uuml;r RAID-1 und RAID-5 Verbunde. F&uuml;r 
den ordnungsgem&auml;&szlig;en Betrieb ist ein weiterer Kernel-Patch notwendig, 
der jedoch im tar-Archiv enthalten ist.</P>

</DL>
</P>

<H2><A NAME="ss12.7">12.7</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.7">Ver&auml;ndern des read-ahead-Puffers        </A>
<!--RAID!read-ahead-Puffer--></H2>

<P>Um den read-ahead-Puffer jeglicher Major-Devices unter Linux einfach &auml;ndern 
zu k&ouml;nnen, gibt es ein nettes kleines Programm:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
/* readahead -- set &amp; get the read_ahead value for the specified device
*/

#include &#34;stdio.h&#34;
#include &#34;stdlib.h&#34;
#include &#34;linux/fs.h&#34;
#include &#34;asm/fcntl.h&#34;

void usage()
{
  printf( &#34;usage:  readahead &lt;device&gt; [newvalue]\n&#34; );

}/* usage() */


int main( int args, char **argv )
{
  int fd;
  int oldvalue;
  int newvalue;

  if ( args &lt;= 1 ) {
    usage();
    return(1);
  }

  if ( args &gt;= 3 &amp;&amp; !isdigit(argv[2][0]) ) { 
    printf( &#34;readahead: invalid number.\n&#34; );
    return(1);
  }

  fd = open( argv[1], O_RDONLY );
  if ( fd == -1 ) {
    printf( &#34;readahead: unable to open device %s\n&#34;, argv[1] );
    return(1);
  }

  if ( ioctl(fd, BLKRAGET, &amp;oldvalue) ) {
    printf( &#34;readahead: unable to get read_ahead value from &#34;
            &#34;device %s\n&#34;, argv[1] );
    close (fd);
    return(1);
  }

  if ( args &gt;= 3 ) {
    newvalue = atoi( argv[2] );
    if ( ioctl(fd, BLKRASET, newvalue) ) {
      printf( &#34;readahead: unable to set %s's read_ahead to %d\n&#34;,
              argv[1], newvalue );
      close (fd);
      return(1);
    }
  }
  else {
    printf( &#34;%d\n&#34;, oldvalue );
  }

  close (fd);
  return(0);

}/* main */
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Damit kann man nat&uuml;rlich auch RAID-Devices tunen.</P>


<H2><A NAME="ss12.8">12.8</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.8">Bestehenden RAID-0 Verbund erweitern</A>
</H2>

<P>Um einen RAID-0 Verbund zu vergr&ouml;&szlig;ern, zu verkleinern oder aus einer 
einzelnen Festplatte ein RAID-0 zu erstellen, gibt es von Jakob Oestergaard 
einen Patch f&uuml;r die RAID-Tools:</P>
<P>
<BLOCKQUOTE><CODE>
<A HREF="http://ostenfeld.dk/~jakob/raidreconf/raidreconf-0.0.2.patch.gz">http://ostenfeld.dk/~jakob/raidreconf/raidreconf-0.0.2.patch.gz</A></CODE></BLOCKQUOTE>
</P>
<P>Dieser Patch mu&szlig; in den Source der RAID-Tools eingearbeitet werden und die 
RAID-Tools anschlie&szlig;end neu kompiliert und installiert werden. Das Erweitern 
eines RAID-0 Verbundes funktioniert dann durch zwei unterschiedliche 
<CODE>/etc/raidtab</CODE> Dateien, die miteinander verglichen werden und eine 
zus&auml;tzliche Partition innerhalb desselben Verbundes eingearbeitet wird. Nach 
dem stoppen des zu ver&auml;ndernden RAID-Verbundes, erfolgt der Aufruf durch:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
raidreconf /etc/raidtab /etc/raidtab.neu /dev/md0
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Hierbei mu&szlig; in der <CODE>/etc/raidtab.neu</CODE> f&uuml;r den Verbund <CODE>/dev/md0</CODE> 
eine weitere Partition im Gegensatz zu <CODE>/etc/raidtab</CODE> eingetragen sein.</P>


<H2><A NAME="ss12.9">12.9</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.9">Bestehenden RAID-5 Verbund erweitern</A>
</H2>

<P>Einen bereits initialisierten und laufenden RAID-5 Verbund kann man derzeit 
leider nicht mit weiteren Festplatten vergr&ouml;&szlig;ern. Die einzige M&ouml;glichkeit 
besteht darin, die Daten zu sichern, den RAID-5 Verbund neu aufzusetzen und 
die Daten anschlie&szlig;end zur&uuml;ck zu schreiben.</P>




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