Benutzer-Werkzeuge

Webseiten-Werkzeuge


os4_bsd_freebsd_vinum
                                     vinum


 BACK ..

 Ein RAID-1 aus zwei IDE-HDD's mit "vinum" konfigurieren.
 ========================================================

 bash-2.05b# fdisk -I ad2
 bash-2.05b# fdisk -I ad3
 bash-2.05b# disklabel -r -w ad2 auto
 bash-2.05b# disklabel -r -w ad3 auto
 bash-2.05b# disklabel -W ad2
 bash-2.05b# disklabel -W ad3
 bash-2.05b# disklabel -e /dev/ad2
 bash-2.05b# disklabel -e /dev/ad3
 # Die Zeile mit "e: ..." auf beiden Laufwerken hinzufühgen:
 # c: 30033360        0    unused        0     0         # (Cyl.    0 - 29794)
 # e: 30033360        0     vinum        0     0     0   # (Cyl.    0 - 29794)
 bash-2.05b# disklabel -N ad2
 bash-2.05b# disklabel -N ad3

 #
 # vi vinum.conf:
 # --------------
 drive m11 device /dev/ad2e
 drive m12 device /dev/ad3e
 volume mirror1 setupstate
 plex org concat
 sd length 0 drive m11
 plex org concat
 sd length 0 drive m12

 bash-2.05b# vinum create -f vinum.conf  # NUR EINMAL AUSFÜHREN!
 bash-2.05b# vinum list

 2 drives:
 D m11                   State: up       /dev/ad2e       Ä 0/14664 MB (0%)
 D m12                   State: up       /dev/ad3e       Ä 0/14664 MB (0%)

 1 volumes:
 V mirror1               State: up       Plexes:       2 Size:         14 GB

 2 plexes:
 P mirror1.p0          C State: up       Subdisks:     1 Size:         14 GB
 P mirror1.p1          C State: up       Subdisks:     1 Size:         14 GB

 2 subdisks:
 S mirror1.p0.s0         State: up       D: m11          Size:         14 GB
 S mirror1.p1.s0         State: up       D: m12          Size:         14 GB


 # die RAID-1 - Platte formatieren:
 bash-2.05b# newfs /dev/vinum/mirror1

 # Soft-Update einschalten:
 bash-2.05b# tunefs -n enable /dev/vinum/mirror1

 # die "/etc/fstab" aktualisieren:
 bash-2.05b# vi /etc/fstab
 /dev/vinum/mirror1      /RAID1          ufs     rw              0       0

 # Mountpoint anlegen:
 bash-2.05b# mkdir /RAID1

 # mounten:
 bash-2.05b# mount /RAID1

 # kontrollieren:
 bash-2.05b# mount;df

 # in die rc.conf eintragen
 bash-2.05b# vi /etc/rc.conf
 start_vinum="YES"       # set to YES to start vinum



 ################################################################################



 Wenn die 6GB-Platte mal ausgebaut war, wird der dazugehoehrige mirror deaktiviert.
 ----------------------------------------------------------------------------------

 bash-2.05b# vinum list
 4 drives:
 D m11                   State: up       Device /dev/ad1s1e      Avail: 0/6149 MB (0%)
 D m13                   State: up       Device /dev/ad1s1f      Avail: 0/1628 MB (0%)
 D m12                   State: up       Device /dev/ad2s1e      Avail: 0/6149 MB (0%)
 D m14                   State: up       Device /dev/ad3s1e      Avail: 0/1628 MB (0%)

 2 volumes:
 V mirror1               State: down     Plexes:       2 Size:       6149 MB
 V mirror2               State: up       Plexes:       2 Size:       1628 MB

 4 plexes:
 P mirror1.p0          C State: faulty   Subdisks:     1 Size:       6149 MB
 P mirror1.p1          C State: faulty   Subdisks:     1 Size:       6149 MB
 P mirror2.p0          C State: up       Subdisks:     1 Size:       1628 MB
 P mirror2.p1          C State: up       Subdisks:     1 Size:       1628 MB

 4 subdisks:
 S mirror1.p0.s0         State: stale    PÖ        0  B Size:       6149 MB
 S mirror1.p1.s0         State: crashed  PÖ        0  B Size:       6149 MB
 S mirror2.p0.s0         State: up       PÖ        0  B Size:       1628 MB
 S mirror2.p1.s0         State: up       PÖ        0  B Size:       1628 MB



 anzeigen der Konfigurationen, die auf den Laufwerken gespeichert sind
 ---------------------------------------------------------------------
 bash-2.05b# vinum dumpconfig

 oder nur vom Laufwerk "ad2

 bash-2.05b# vinum dumpconfig /dev/ad2"



 bash-2.05b# vinum start -w mirror1 mirror1.p1 mirror1.p1.s0
 Can't start mirror1: Device busy (16)
 mirror1.p1.s0 is already up



 bash-2.05b# vinum start -w mirror1 mirror1.p0 mirror1.p0.s0
 mirror1 is already up
 vinum[343]: reviving mirror1.p0.s0

 ... Das kann jetzt ein paar Minuten dauern.

 vinum[343]: mirror1.p0.s0 is up
 mirror1.p0.s0 is already up



 ################################################################################



 anhalten eines Mirrors:
 -----------------------
 bash-2.05b# vinum stop -f mirror1 mirror1.p0 mirror1.p0.s0
 bash-2.05b# vinum stop -f mirror1 mirror1.p1 mirror1.p1.s0


 starten eines Mirrors:
 ----------------------
 bash-2.05b# vinum start -w mirror1 mirror1.p0 mirror1.p0.s0
 bash-2.05b# vinum start -w mirror1 mirror1.p1 mirror1.p1.s0


 Loeschen eines Mirrors:
 -----------------------
 bash-2.05b# vinum rm -f mirror1 mirror1.p0 mirror1.p0.s0
 bash-2.05b# vinum rm -f mirror1 mirror1.p1 mirror1.p1.s0
 bash-2.05b# vinum rm -f mirror1


 loeschen der kompletten Mirror-Konfiguration:
 ---------------------------------------------
 (alle Daten gehen verloren)
 bash-2.05b# vinum resetconfig



 ################################################################################



 Beispiel "so tauscht man eine defekte Platte aus einem RAID aus"
 ----------------------------------------------------------------
 (hier sind aber alle Platten heil, wir tauschen aber mal "ad3" aus)
  siehe auch: http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/raid.html


 Wenn in der /var/log/messages oder in der Ausgabe von dmesg Meldungen wie die
 folgenden auftauchen:
 ad3 on monster1 suffered a hard error.
 ad3: READ command timeout tag=0 serv=0 - resetting
 ad3: trying fallback to PIO mode
 ata1: resetting devices .. done
 ad3: hard error reading fsbn 1116119 of 0-3 (ad3 bn 1116119; cn 1107 tn 4 sn 11) status=59 error=40
 ar0: WARNING - mirror lost

 Dann ist die Platte "ad3" aus dem Mirror "ar0" gerade ausgefallen und muss
 ausgetauscht werden...
 So geht das (selber aber noch nie gemacht...):


 channel's anzeigen
 ------------------
 bash-2.05b# atacontrol list
 ATA channel 0:
     Master:  ad0  ATA/ATAPI rev 4
     Slave:   ad1  ATA/ATAPI rev 5
 ATA channel 1:
     Master:  ad2  ATA/ATAPI rev 5
     Slave:   ad3  ATA/ATAPI rev 5


 den Status des defekten Raid überpru:fen
 ---------------------------------------
 bash-2.05b# atacontrol status ar0


 channel mit defekter Platte aus dem Verbund lösen
 -------------------------------------------------
 bash-2.05b# atacontrol detach 1


 Platte austauschen!



 die neue Platte in den Verbund aufnehmen
 ----------------------------------------
 bash-2.05b# atacontrol attach 1


 Organisation des Verbunds wieder herstellen
 -------------------------------------------
 Dieses Kommando funktioniert nur an einem RAID-1! (laut "man atacontrol" FreeBSD 5.2.1 / May 17, 2001)

 bash-2.05b# atacontrol rebuild ar0

 Jetzt ist das Terminal blockiert, bis der Verbund wieder hergestellt ist.
 Den Fortgang kann man auf einem anderen Terminal mit

 bash-2.05b# dmesg | tail

 beobachten.


 Um zu sehen in welchem Mode die Platten eines channel's laufen,
 nutzt man das folgende Kommandö
 ---------------------------------------------------------------

 bash-2.05b# atacontrol mode 0
 Master = PIO4
 Slave  = PIO4

 bash-2.05b# atacontrol mode 1
 Master = PIO4
 Slave  = PIO4

 Im PIO-Mode halten die Platten wesentlich länger und die Daten sind somit sicherer!


 Um den Mode, in dem die Platten eines channel's laufen,
 zu ändern, nutzt man das folgende Kommandö
 ---------------------------------------------------------------

 bash-2.05b# atacontrol mode 0 PIO4 PIO4
 bzw.
 bash-2.05b# atacontrol mode 1 PIO4 PIO4


   [IMG]
/home/http/wiki/data/pages/os4_bsd_freebsd_vinum.txt · Zuletzt geändert: von 127.0.0.1