FreeBSD 9.0: HAST, Festplatte am Slave nutzen

Columbo0815

Kaffeemann
Teammitglied
Moin,

ich habe mit folgender Anleitung HAST eingerichtet:

http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/disks-hast.html

Funktioniert soweit. Als status bekomme ich am Master und am Slave "complete" angezeigt. Am Master wird ja /dev/hast/foobar angelegt. Das "Device" kann ich auch mounten und benutzen. Ich gehe davon aus, dass die Daten automatisch auf den Slave kopiert werden.

Am Slave habe ich jedoch (so steht es auch in der Anleitung) NICHT /dev/hast/foobar sondern nur das Device selbst (in meinem Fall /dev/md1). Die Anleitung sagt: newfs wird nur auf dem Master durchgeführt. Wenn ich am Slave nun /dev/md1 mounten möchte, erhalte ich die Meldung: "mount: /dev/md1 : Operation not permitted". Gibt es eine Möglichkeit die Daten am Slave zugänglich zu machen (idealerweise ohne, dass ich hastd beenden muss)?

Gruß und Danke!
 
Mal halb geraten: Da /dev/md1 auf Maschine A gemountet ist und vollständig geklont wird, wäre ein Mount auf Maschine B ein zweiter Mount. Und man kann ein Gerät nur einmal mounten. Zum drum herum frickeln fällt mir spontan leider nichts ein.
 
Hm. Ok. Testweise habe ich nun auf beiden Maschinen hastd gestoppt und danach versucht /dev/md1 zu mounten. Folgende Meldung:
mount /dev/md1 /mnt/
mount: /dev/md1 : Invalid argument
Irgendwie habe ich den Eindruck, dass der Grund hierfür ist, dass ich kein Dateisystem auf /dev/md1 erstellt habe (sondern nur auf dem Master). Wäre aber auch zu schön, hätte das funktioniert :)
 
auf dem slave kannst du das device auf jeden fall nicht mounten. Den HAST ist ja kein distributed file system. Das heißt es kann immer nur der Master auf das device zugreifen. Deswegen gibt es das HAST device auch nicht auf dem slave.

Das mounten des md device nach dem beenden von hastd geht meine ich deswegen nicht, weil HAST Metadaten auf die Platte schreibt. Deswegen findet mount sein Filesystem nicht da wo er es vermutet. Ob es da irgend welche tricks gibt, weiß ich nicht, aber zur note kann man da bestimmt was mit dd machen.

Aber so wirklich brauchst du das auch nicht, denn die Idee ist ja dahinter das du deine Daten über 2 Rechner synchron hast. Ist der Master nicht mehr erreichbar schaltest du HAST auf der slave Seite schaft und hast deine Daten wieder.

haegga
 
Moin,

danke für die Erläuterung. Ok. Mir ist klar wofür HAST ist und dass es nicht für meinen Zweck ist. Ich wollte es missbrauchen um Daten ohne großen Aufwand von A nach B zu bekommen. Es geht um 2 Rechner, die über das Internet via OpenVPN verbunden sind. Derzeit spiele ich mit NFS rum, hatte in der Vergangenheit aber miese Erfahrungen, wenn ich das durch OpenVPN tunnle. Die Geschwindigkeit derzeit ist ganz ok. Jetzt muss ich noch testen, wie das bei Verbindungsabbrüchen aussieht... :)

Danke!
Gruß
 
Moin,

danke für die Erläuterung. Ok. Mir ist klar wofür HAST ist und dass es nicht für meinen Zweck ist. Ich wollte es missbrauchen um Daten ohne großen Aufwand von A nach B zu bekommen. Es geht um 2 Rechner, die über das Internet via OpenVPN verbunden sind. Derzeit spiele ich mit NFS rum, hatte in der Vergangenheit aber miese Erfahrungen, wenn ich das durch OpenVPN tunnle. Die Geschwindigkeit derzeit ist ganz ok. Jetzt muss ich noch testen, wie das bei Verbindungsabbrüchen aussieht... :)

Danke!
Gruß

hi

schonmal ueber zfs und dessen send und receive nachgedacht ?

damit kann man recht gut ein replikation machen so wie du sie brauchst.

und das ganze kann dann auch via ssh getunnelt werden.

holger
 
Moin,
hm. Nein. Um ehrlich zu sein nicht. Das hat 2 Gründe:
- Auf der einen Seite steht ein i386-Rechner mit 2GB Ram
- Ich habe ufs im Einsatz (nach allem was ich gelese habe, ist das in Verbindung mit zfs eher kontraproduktiv
 
Mh, wenn du Lust auf ein verteiltes Filesystem hast, versuche es doch mal mit MooseFS. Habe das zwar schon lange nicht mehr angepackt, aber in den Ports ist alles was man braucht

%make -C /usr/ports/ search name=moosefs display=path,info,name
Port: moosefs-chunkserver-1.6.20_1
Path: /usr/ports/sysutils/moosefs-chunkserver
Info: Storing files data and synchronizing it among themselves

Port: moosefs-client-1.6.20
Path: /usr/ports/sysutils/moosefs-client
Info: Moosefs client tools

Port: moosefs-master-1.6.20
Path: /usr/ports/sysutils/moosefs-master
Info: Managing the whole filesystem and storing metadata

und Fuse (https://github.com/glk/fuse-freebsd).


Es sollten sich problemlos zwei im Prinzip symmetrische Nodes (auf der ersten Node Master, Chunkserver#1, Mountpunkt; auf der anderen Node Metalogger, Chunkserver#2, Mountpunkt) aufsetzen lassen.

Wenn's Probleme bei der Installation geben sollte und die Doku (http://www.moosefs.org/reference-guide.html) nicht weiter helfen sollte, ich kann mich auch gerne mal an die Testinstallation unter FreeBSD 9 machen; der aktuelle Stand vom 1.6.20 Port würde mich schon sehr interessieren.
 
Zurück
Oben