/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ähnung, die teilweise selbst getest
wurden, als auch Besonderheiten, die nicht direkt durch die
RAID-Kernelerweiterungen ermöglicht werden, sondern allgemeiner Natur sind
oder zusätzlich integriert werden müssen. Einige der hier aufgelisteten
Vorgänge sind mit allerhöchster Vorsicht zu genießen und mehr oder minder
ausdrücklich <EM>nicht</EM> fü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ügbarkeitslösung unter
Linux zu bieten. Im Prinzip ist es eine Art RAID-1 Verbund, der über ein
Netzwerk läuft. Nä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ü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ß der so gepatchte Kernel
nach dem Kompilierlauf hervorragend mit allen RAID-Modi funktioniert. Wer sich
den 2.2.10er RAID-Patch ersparen möchte, kann sich einen Kernel-Patch von Alan
Cox fü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ü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ützung. Diese Kernel mü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äte anmelden--></H2>
<P>Für SCSI Devices aller Art - also nicht nur Festplatten - gibt es unter Linux
die Möglichkeit, sie während des laufenden Betriebes quasi vom SCSI Bus
abzuklemmen; dies allerdings ohne Hand an den Stromstecker oder
Wechselrahmenschlüssel legen zu müssen. Möglich ist dies durch den Befehl:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
echo "scsi remove-single-device c b t l" > /proc/scsi/scsi
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Die Optionen stehen fü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öchte man das 5. Device des 1. SCSI Kontrollers rausschmeißen, müßte der
Befehl so aussehen:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
echo "scsi remove-single-device 0 0 5 0" > /proc/scsi/scsi
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Umgekehrt funktioniert das Hinzufügen einer so verbannten Festplatte natürlich
auch:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
echo "scsi add-single-device c b t l" > /proc/scsi/scsi
</PRE>
</CODE></BLOCKQUOTE>
</P>
<H2><A NAME="ss12.6">12.6</A> <A HREF="DE-Software-RAID-HOWTO.html#toc12.6">Überwachen der RAID-Aktivitäten</A>
</H2>
<P>Um einen Überblick über den Zustand des RAID-Systems zu bekommen, gibt es
mehrere Mö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
Überblick ü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 üblich läßt sich unter Linux auch eine Abfrage von <CODE>/proc/mdstat</CODE>
mit einem Skript realisieren. Hier könnte man z.B. die Folge »[UUUU]« nach einem
Unterstrich regelmäßig per <CODE>cron</CODE> abfragen - der Unterstrich
signalisiert ja eine defekte RAID-Partition - und läßt sich diese Information
dann als E-Mail schicken. Läß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ö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 Überwachungsprogrammes
enthält bereits eine Statussabfrage für RAID-1 und RAID-5 Verbunde. Für
den ordnungsgemäß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ändern des read-ahead-Puffers </A>
<!--RAID!read-ahead-Puffer--></H2>
<P>Um den read-ahead-Puffer jeglicher Major-Devices unter Linux einfach ändern
zu können, gibt es ein nettes kleines Programm:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
/* readahead -- set & get the read_ahead value for the specified device
*/
#include "stdio.h"
#include "stdlib.h"
#include "linux/fs.h"
#include "asm/fcntl.h"
void usage()
{
printf( "usage: readahead <device> [newvalue]\n" );
}/* usage() */
int main( int args, char **argv )
{
int fd;
int oldvalue;
int newvalue;
if ( args <= 1 ) {
usage();
return(1);
}
if ( args >= 3 && !isdigit(argv[2][0]) ) {
printf( "readahead: invalid number.\n" );
return(1);
}
fd = open( argv[1], O_RDONLY );
if ( fd == -1 ) {
printf( "readahead: unable to open device %s\n", argv[1] );
return(1);
}
if ( ioctl(fd, BLKRAGET, &oldvalue) ) {
printf( "readahead: unable to get read_ahead value from "
"device %s\n", argv[1] );
close (fd);
return(1);
}
if ( args >= 3 ) {
newvalue = atoi( argv[2] );
if ( ioctl(fd, BLKRASET, newvalue) ) {
printf( "readahead: unable to set %s's read_ahead to %d\n",
argv[1], newvalue );
close (fd);
return(1);
}
}
else {
printf( "%d\n", oldvalue );
}
close (fd);
return(0);
}/* main */
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Damit kann man natü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ößern, zu verkleinern oder aus einer
einzelnen Festplatte ein RAID-0 zu erstellen, gibt es von Jakob Oestergaard
einen Patch fü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ß in den Source der RAID-Tools eingearbeitet werden und die
RAID-Tools anschließ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ätzliche Partition innerhalb desselben Verbundes eingearbeitet wird. Nach
dem stoppen des zu verä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ß in der <CODE>/etc/raidtab.neu</CODE> fü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ößern. Die einzige Möglichkeit
besteht darin, die Daten zu sichern, den RAID-5 Verbund neu aufzusetzen und
die Daten anschließend zurü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>
|