/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>
 |