FreeBSD 5.3 + vinum

Lunatic666

Jetz hastes kaputt gmacht
Hallo zusammen!

Ich habe gerade ein RAID-1 mit vinum erstellt. Ich bin wie folgt vorgegangen:
-Partitionierung der Festplatten
- Labeln der beiden Festplatten
- Editieren des Labels (4.2BSD durch vinum ersetzt)
- create mit folgender vinum.conf ausgeführt

Code:
drive a device /dev/ad0s1e
drive b device /dev/ad1s1e
 volume mirror60
  plex org concat
   sd length 57200m drive a
  plex org concat
   sd length 57200m drive b

Ich habe nun das Problem, daß ein Plex als faulty angezeigt wird. Die Festplatten sind aber in Ordnung.

Code:
vinum -> list
2 drives:
D b                     State: up       /dev/ad1s1e     A: 39/57239 MB (0%)
D a                     State: up       /dev/ad0s1e     A: 39/57239 MB (0%)

1 volumes:
V mirror60              State: up       Plexes:       2 Size:         55 GB

2 plexes:
P mirror60.p0         C State: up       Subdisks:     1 Size:         55 GB
P mirror60.p1         C State: faulty   Subdisks:     1 Size:         55 GB

2 subdisks:
S mirror60.p0.s0        State: up       D: a            Size:         55 GB
S mirror60.p1.s0        State: empty    D: b            Size:         55 GB

Wäre cool, wenn mir jemand erklären könnte, was ich falsch gemacht habe.

Danke schon mal!
Lunatic666
 
Dein Fehler ist, dass Du mit FreeBSD 5.3 und vinum rummachst...
Nimm ein 5.2.X und alles wird easy laufen...

Laut Developer soll man dann schon gvinum benutzen, das ist aber noch so buggy, dass man damit nicht arbeiten kann.
Sind Deine Platten SATA? *g Das Problem haben wir naemlich. Solang die Platten IDE oder SCSI sind alles kein Problem.

Deine Platten sind IDE sehe ich. Was ich an Deiner Stelle machen wurde die 2te Platte auf den anderen Bus haengen. Sonst haste arge Performance Einbussen.

Vieleicht bringt Dich ein update auf Releng5 weiter. Mit gvinum habe ich schon 3 Tage gespielt und ich kann es keinem empfehlen...
Selbst die BSD Gurus, die ich kenne sind ratlos.

CAT
 
Danke für die Antwort.
Ich werde mir das gvinum mal auf nem Testrechner ansehen. Achja, ich habe die Platten jetzt auch an zwei Controllern hängen. Danke für den Tip. Hatte ich übersehen... Ich habe übrigens den Fehler in meiner Config-Datei gefunden.

Wenn man das Wörtchen setupstate hinter den Volumenamen schreibt, klappt alles auf Anhieb. Sind die Platten nicht genau gleich, dann kann vinum das Volume nicht richtig createn. Und der Zusatz setupstate übergeht das ganze.

Die funktionsfähige vinum.conf Datei sieht jetzt wie folgt aus:

Code:
drive a device /dev/ad0s1d
drive b device /dev/ad1s1d
 volume mirror60 setupstate
  plex org concat
   sd length 57200m drive a
  plex org concat
   sd length 57200m drive b
 
Servus,

also ich hab hier auch ein 5.3 RELEASE laufen. Bei mir hängen 2x18 u160 10000upm am SCSI Kontroller. Vinum spiegelt das ganze und ich muss sagen, das läuft schon seit 5.3 Release draussen ist. Du darfst nur nicht vergessen in die loader.conf :

geom_vinum_load="YES"

einzutragen. gvinum auf der Kommandozeile hat zwar noch sehr wenige Funktionen, aber es reicht allemal.

mfg

Carb
 
cat1510 schrieb:
Dein Fehler ist, dass Du mit FreeBSD 5.3 und vinum rummachst...
Nimm ein 5.2.X und alles wird easy laufen...
"alles easy laufen.." .. wenn ich den Slang schon hör.... wie ernstzunehmen bist du?


Davon abgesehen:

Ich habe von 5.2 auf 5.3-RELEASE-p2 ( *default release=cvs tag=RELENG_5_3 ) geupdatet und das vinum läuft zum Glück noch immer problemlos.

Wo hast du deine Infos her, das auf 5.3 Gefahr lauert? Bitte genauer etwas.


Edit: Habe soeben festgestellt, das nun auch gvinum auf dem System drauf ist. Den info-Befehl gibts nichtmehr, aber mit "ls" / "l" konnte ich die Übersicht meiner drives sehen. Hab ich dann aber wieder schnell beendet, nacher kommen die sich in die Quere :apaul:

Weiss da jemand genaueres?!
 
Zuletzt bearbeitet:
Vinum und Jails Frage

Hallo liebe Leute!

Spricht eigentlich irgendetwas dagegen, vinum zu verwenden,
wenn man auf dem System dann noch exzessiv Jails verwenden
möchte?

Rein von meinem Verständnis her sollte es ja kein Problem sein,
sind ja 2 völlig verschiedene Paar Schuhe, aber da ich mich mit
beiden noch nicht auskenne, und bei dem Server da keine Überraschungen
erleben möchte, frag ich sicherheitshalber mal nach, ob es da Erfahrungen
gibt.

Und überhaupt wäre es interessant, ob so ein Setup irgendwie bedenklich ist:
FreeBSD 5.3-RELEASE
-> Vinum Mirroring mit 2 gleichen IDE - Platten
-> minimal + kernel sourcen, heavily stripped kernel (alles raus, bis aufs notwendige)
-> Auf dem "HOST-System" nur sshd und die Sicherheitswächter snort und co.
-> Ein Jail nur für sendmail oder postfix
-> Ein Jail für jedes "Subsetup" -> Apache, mysql, php4 und was jeder dann halt genau möchte.


Danke,
Sigmar
 
@ Sigmar

sollte alles kein Problem sein.
Ich wuerde nur hergehen und das 5.3 Release auf 5 stable updaten.

:)

CAT
 
5.3: vinum oder gvinum?

Danke mal vorerst.

Ich spiel jetzt schon 'ne Weile mit einer Installation mit 5.3-RELEASE und möchte
ein RAID-1 (hoffe das stimmt: mirroring) von /usr, /var, /home und noch ein /jails1
realisieren.

Bin dabei mal so vorgegangen wie in asg's howto, nur dass ich IDE-Platten habe,
sollte aber wurscht sein.

Das Ganze geht ja alles, solange ich das vinum nicht zur Bootzeit starten möchte.

Wenn ich in /etc/rc.conf VINUM_START="YES" reinschreibe, reißt das System
eine Panic, das Phänomen findet man auch an vielen Stellen in diversen Mailinglisten
oder im USENET. Da wird dann oft davon gesprochen, dass man ja gvinum nehmen soll,
weil das vinum nicht kann, solange nicht ein NON-Vinum Volume ( / ) gemounted ist.

Bei gvinum weiß ich aber jetzt wieder nicht, und kriegs auch irgendwie nicht raus,
wie (in)stabil das jetzt gehandelt wird.

Und dann ist noch die Frage, ob (für gvinum) das alles stimmt:
/boot/loader.conf
geom_vinum_load="YES"

/etc/rc.conf
VINUM_START="YES"

/etc/rc.d/vinum:
vinum_start_cmd="gvinum"
-> anstelle "vinum"

/etc/fstab
/dev/gvinum/usr /usr ufs rw 2 2
/dev/gvinum/var /var ufs rw 2 2
/dev/gvinum/home /home ufs rw 2 2
/dev/gvinum/jails1 /jails1 ufs rw 2 2

... ansonsten alles so wie in asg's howto vorgeschlagen.


Danke im Voraus (TIA),
Sigmar
 
Sigmar schrieb:
Und dann ist noch die Frage, ob (für gvinum) das alles stimmt:
/etc/rc.conf
VINUM_START="YES"

start_vinum="YES"

Und zwar ohne Caps.

/etc/rc.d/vinum:
vinum_start_cmd="gvinum"

Ich würde nicht in diesen Dateien etwas umstellen. Bei irgendeinem nächsten make world ist das sonst weg.

Außerdem gibt es nur gvinum jetzt. Keine man-Page, kein /etc/rc.d/gvinum. Die Entwickler werden wohl versuchen, geom_vinum transparent freizuschalten, wenn sie es für stabil genug halten.

Dazu ein Kommentar von Greg Lehey:
I know you know this, but for the benefit of the others: old Vinum is
dead in -CURRENT. To confuse everybody further, gvinum will be
renamed vinum. It was never intended that two versions should coexist
for any length of time.

Also. Du siehst, dass Du Dir selbst Probleme (für der Zukunft) bereitest.

So wie ich das verstanden habe, reicht es, den Eintrag in /boot/loader.conf zu machen. GEOM sollte dann eigentlich alles sonstige automatisch erledigen und nachladen/konfigurieren.

Ich hab's nicht ausprobiert, aber korrigiert mich, wenn ich mich irre.
 
ich hab NUR in den geom_vinum_load="YES" in der loader.conf! Das reicht völlig! Du musst nirgends noch was eintragen!

carb
 
Danke - ich Depp

Ja, das hab ich inzwischen auch schon eingesehen,
dass es funkt, wenn ich nur den /boot/loader.conf
Eintrag mach. Und natürlich die entsprechenden Zeilen
in der /etc/fstab.

Und da sitzt auch schon mein Fehler. Wenn man nach der Howto
von ASG vorgeht, schmiert sysinstall natürlich die eine Partition
(disk1) in die fstab, sodass das Teil mal zuallererst einfach so
per ufs gemountet wird. Da tut sich dann gvinum wohl schwer, das
Teil zu übernehmen. Also die muss man löschen die Zeile.

Soweit alles gut, nun bin ich beim Testen des "Disaster Recovery"
angelangt. Ich hoffte, dass ich nach dem übertragen des / and die
korrespondierende Stelle auf der anderen Platte und durch Installieren
einen Standard MBR auf der anderen Platte damit dort alleinstehend
bootfähig werde.

Weil:
Szenario 1:
1. Platte raucht völlig ab. -> Dann möchte ich ja von der 2. booten können.
Allen anderen Szenarien sind ja nicht so schlimm.


Was muss ich anstellen, dass die 2. Platte bootet.
(Mir ist klar, dass ich das immer wieder tun muss, wenn ich den Kernel neu
baue, die fstab ändere, oder was auch immer.)

LG,
Sigmar
 
Sigmar schrieb:
1. Platte raucht völlig ab. -> Dann möchte ich ja von der 2. booten können.
Allen anderen Szenarien sind ja nicht so schlimm.

Was muss ich anstellen, dass die 2. Platte bootet.

Von welcher Platte gebootet wird entscheidet das BIOS. Das Betriebssystem ist zu dieser Zeit noch nicht geladen. Wenn irgendetwas nicht zugreifbar ist (z.B. das rootfs), dann wirst Du danach gefragt.
 
Falsch ausgedrückt

Danke für die Antwort, komme mir eh schon blöd vor,
wegen meiner Fragerei.

Sorry, da hab ich mich wohl falsch ausgedrückt.

Ich meinte, was muss ich machen, damit die 2. Platte
BOOTFÄHIG wird?

Ich habe mit sysinstall auf der 2. Platte einen Standard MBR installieren
lassen.
Ich habe mit dump das Root-FS auf die 2. Platte kopiert, und dann erwartet,
dass die 2. Platte bootfähig ist. Dann ausprobiert (versucht zu booten) und
da hat das BIOS nur gesagt:
Searching for Boot-Record on HD-1: -> OK

Und dann war nix mehr.

Ich meine, einen Workaround hätte ich eh: 1. Platte auf die 2.Platte clonen.
Das sollte ja dem Rest (vinum-Volumes) egal sein, das mach ich einmalig.

Nur wollte ich nicht eine 80GB HD clonen, nur weil ich den MBR kopieren möchte.
Oder mach ich eh nix kaputt, wenn ich mit dd sagen wir nur die ersten paar KB kopiere?

Na ja, ich werds schon noch rauskriegen.

LG,
Sigmar
 
Add On

Ergänzend dazu folgendes:
1. Platte ist ad0
2. Platte ist ad2

Nun mach ich:
dd bs=512 count=1 if=/dev/ad2 of=/tmp/ad2mbr und
dd bs=512 count=1 if=/dev/ad0 of=/tmp/ad0mbr

Dann sehe ich, wenn ich mir die binären Dateien anschaue, dass
in ad0mbr sehr wohl erkennbare Spuren eines Bootloaders da sind,
bei ad2mbr aber nicht.

Offenbar macht sysinstall -> Configure -> FDisk
[ ] ad0 ad0
[X] ad2 ad2
-> OK -> q -> Standard -> OK
nicht das, was ich mir erwartet hätte. Dazu gibts aber eh schon ein
paar Threads in diesem Forum.

Danke allen, ich werd den MBR einfach mittels Knoppix rüberdrücken.

LG,
Sigmar
 
Dein Problem ist mir voellig unklar.

Lege einfach eine BSD CD ein und boote davon.
Dann sagste der soll einen Bootmanager installieren auf beiden Platten und fertig.
Den Bootmanager von BSD kann man auch von BSD aus steuern und er "merkt" sich, welches System zuletzt gebootet hat...

CAT
 
Des is es ja

Ich sag ihm eh, er soll einen BootMGR installieren, tut er aber nicht.

Ist mir jetzt auch schon ziemlich egal, weil den hab ich jetzt dank dd
eh schon rüberkopiert.
Und damit kann ich beim Booten im BIOS sagen:
Boote von Platte 1: und das System ist hoch oder
Boote von Platte 2: und das System ist hoch.

Mehr will ich ja gar nicht, weil wenn jetzt egal welche der beiden
Platten abraucht, rennt das System mal sowieso weiter. Und wenn
ich dann mit einer Ersatzplatte zu meiner Kiste hinfahre, boote ich von
der guten und richte die neue Platte für Vinum wieder ein und
bin wieder voll da.

Danke jedenfalls allen für die Antworten.

LG,
Sigmar
 
Moin!

Ich habe auch Probleme mit vinum, allerdings bei CURRENT!

Also:
Ich installiere

FreeBSD 5.2.1


konfiguriere vinum wei folgt:

drive a device /dev/ad0s1e
drive b device /dev/ad1s1d
drive c device /dev/ad2s1d
volume myvolume
plex org concat
sd length 378292094K drive a
sd length 382928478K drive b
sd length 230943945K drive c

Alles wunderbar!
Mache CVSUP mit tag=. src-all

make buildworld
make buildkernel
make installkernel

schreib in die /boot/loader.conf:
geom_vinum_load="YES"

starte neu und erhalte folgenden Fehler:

GEOM_VINUM: plex request failed for gvinum/plex/myvolume.p

Nun mir kommt es so vor als habe ich da was vergessen!?
Den Ordner gvinum/ gibt es ja auch gar nicht in meinem /dev !? Muss ich das manuell machen !? Muss ich vor dem Neustart ein 'gvinum create' ausführen damit dan aber auch ein 'newfs' (was ein bisschen dämlich wäre)!? Oder wie ist das alles nun mit vinum zu verstehen.

Vielen Dank schon einmal im Vorfeld!
 
Der Fehler bleibt!

Auch mit RELENG_5 und dem Eintrag in die fstab.

/etc/fstab:
...
/dev/gvinum/myvolume /usr
...


Ziemlicher mist!
 
*g ich wuerd sagen Dein Problem ist einfach, dass Du FreeBSD 5.3 mit einem vinum nutzen willst...

Ist alles scheisse zur Zeit sage ich.

CAT
 
Es stimmt, dass FreeBSD 5.3 imo bad reputations bekommt. Ich bin leider nicht ganz in der Lage das richtig zu beurteilen. Allein schon deshalb, weil ich 5.3 noch nicht so durch dieses dämlich vinum Problem noch nicht richtig zu laufen gekriegt habe. :)

Ich habe anderen orts sowohl eine Erklärung für mein Problem und ein Erklärung für die bad reputation die ich hier dann auch gelich einmal posten möchte:

<
Check your vinum partitions with bsdlabel.

Check if any of the vinum-type partitions have an offset of "0" (zero).

Partitions with an offset of "0" are known *not* to work with
GEOM_vinum. I consider this a feature and not a bug, because with
gvinum you can use whole disks or slices without the need of BSD- or
DOS-partitiontables. The back side of this is, that gvimum *must* be
able to distinguish a BSD-Partition from a DOS-Slice, which is not the
case if the BSD-Partition has an offset of "0". The partition type is
not evaluated by gvinum at all, because it doesn't need one.
>

Consider 5.3 as a feature and not as a bug.

In diesem Sinne!
 
sorry aber weiss jemand, wie ich ein Label mit offset hinbekomme?

Blicke nicht ganz durch bei bsdlabel mit der Anweisung type ?? Ist bsdlabel überhaupt der richtige weg? Denke mal schon!?

Danke!
 
Danke !
Ein offset scheint auch vorhanden zu sein :
Code:
root# bsdlabel /dev/ad2s1c
# /dev/ad2s1c:
8 partitions:
      size   offset    fstype   [fsize bsize bps/cpg]
 c: 78172227       63    4.2BSD     2048 16384 28552   # "raw" part, don't edit
partition c: partition extends past end of unit
bsdlabel: partition c is not marked as unused!
bsdlabel: partition c doesn't start at 0!
bsdlabel: An incorrect partition c may cause problems for standard system utilities

Nur ist bsdlabel nicht ganz happy mit der konfigurartion und ich weiss nicht so ganz warum!?

Vinum spuckt folgenden Fehler aus:
Code:
panic: umount: dangling vnode

Das soll immer dann vorkommen, wenn vinum mit dem configurations skript nicht zu recht kommt. Dieser Fehler ist seit der Version 1.27 und 1.75 von vfs_mount.c und geom_de.c whol so und man weiss wohl auch noch nicht so recht warum.

Müsst ich mir jetzt beide in dieser version holen compilieren und dann gehts!? Vielleicht !? Nur wie mach ich das !? Src-tree über ftp!?

Entschuldigt meine Unwissenheit aber ist mein erstes mal, dass ich am src-tree individuell rumbastel (außerhalt so build world sachen und hier ein bisschen makefile etc).

thx
 
ad2s1c darfst du ja aber nicht nehmen, leg' eine partition d an und benutze die. ausserdem ist in der konfig, die du oben gepostet hast, ja auch nicht c drin...
 
Ist dein Problem eigentlich immer noch, ein RAID1 zum laufen zu bekommen? (Wollte jetzt nicht alle Posts lesen, da schon so spät)

Wenn ja, nimm doch einfach gmirror! Läuft unter 5.3 und ist voll ins GEOM Framework integriert! GVinum muss noch reifen. Auf dem Board gibts ein gutes Howto für gmirror, einfach mal suchen.

Für 4.x ist wohl Vinum das non Plus ultra, aber fürs 5er würd ichs nur bedingt einsetzen!

mfg

Tobias
 
Zurück
Oben