Archive:Metacore/Datendienst
AFS
Eine kleine Nebenbemerkung: das verwendete Netzwerkfilesystem für den Datendienst ist OpenAFS. Leider braucht man, um es benutzen zu können, für jedes OS einen eigenen Client. Damit tut sich natürlich die Frage auf, warum nicht CIFS/SMB/NFS/[insertcrappy network filesystem here] benutzt wurde.
Was?
'AFS
- ... verwendet Kerberos zur Authentifizierung
- ... ist ein verteiltes Dateisystem und unterstützt damit weit mehr Möglichkeiten der Fileservergestaltung in Punkto Erweiterbarkeit, Verlässlichkeit und Skalierbarkeit als Alternativen wie CIFS oder NFS.
- ... verwendet unabhängig vom verwendeten Betriebssystem ein ziemlich intelligentes Caching. Warum ist das wichtig?
- Man kann so sein home im metalab auch daheim verwenden; und das mit einer Geschwindigkeit die zwar sicher nicht "lokal" entspricht, aber einen deutlichen Unterschied zu NFS oder CIFS herstellt.
- Die Netzwerklast innerhalb des Labs wird gesenkt
- Jeder kann sich selber entscheiden wieviel Cache er für seine Workstation verwenden möchte - und damit auch z.B. auf seinem Notebook im Metalab grosse Dateien cachen und dann daheim ueber Chello, GPRS oder sogar ISDN weiterverwenden ohne sie nochmal holen zu muessen.
- ... hat auch Nachteile:
- die Partition mit dem Client Cache muss unter linux ext2/ext3 sein
- es braucht einen eigenen Client
- die "Art zu arbeiten" ist anders - was aber nicht wirklich ein Nachteil ist, aber am Anfang doch so wirkt.
Wie?
- Benutzer im Provisioning holen
- VPN aufsetzen (falls nötig)
- NTP für sein Betriebssystem konfigurieren
- Kerberos erfordert eine genaue Syncronisierung der Uhrzeit zwischen Server und Client, daher ist es empfehlenswert NTP zu benutzen...
- Kerberos installieren und konfigurieren:
- Kerberos5 installieren
- in /etc/krb5.conf folgende Daten eintragen:
[libdefaults] default_realm = METALAB.AT [realms] METALAB.AT = { kdc=terabite.in.metalab.at:88 admin_server = terabite.in.metalab.at:749 default_domain = metalab.at } [domain_realm] .metalab.at = METALAB.AT metalab.at = METALAB.AT
- Beim Kerberos-Server ein "Ticket-granting-ticket" holen:
$ kinit benutzer@METALAB.AT
Mit diesem Ticket koennen wir uns dann Service Tickets holen ohne erneut das Passwort eingeben zu muessen(z.B. ein OpenAFS-Ticket, sh. unten)
- nun folgt die Installation und Konfiguration von AFS:
- OpenAFS Client installieren
- in /etc/openafs/ThisCell folgende Daten eintragen:
metalab.at
- in /etc/openafs/CellServDB:
>metalab.at 10.42.23.100 # terabite.in.metalab.at
- und mit
$ aklog -d metalab.at
das OpenAFS-Service-Ticket abholen.
- Filespace benutzen
Wo?
- /afs/metalab.at ist das root für alle metalab-bezogenen Dinge. Es kann sein dass unter /afs auch noch was anderes gemounted ist (momentan weil Philip von dort manchmal files braucht)
- /afs/metalab.at/user/<benutzername> ist das homeverzeichnis, in dem hat der jeweilige Benutzer alle Rechte, kann z.B. auch andere Rechte setzen.
- /afs/metalab.at/projects ist das Verzeichnis für Projekte aller Art, z.b. "metasense" oder "plob". Man kann als authentifizierter Benutzer dort selber Verzeichnisse anlegen und die ACLs so ändern dass es einem gefällt. Das ist natürlich auch mit fremden Projektverzeichnissen unter /afs/metalab.at/projects möglich, d.h. diese Freiheiten gibt es nur so lang bis jemand wem anderen was kaputt macht ... ;)
- /afs/metalab.at/media/* sind für audio, video und pictures. Die policies für dort existieren noch nicht, jedoch kann jeder angemeldete Benutzer Dinge einfügen, allerdings nicht löschen oder ändern. Das ist besonders wichtig bei Betriebssystemen die einen "Neuer Ordner" oder dgl anlegen bevor man diesen bennenen kann. Der bleibt dann nämlich ...
- /afs/metalab.at/service ist der Ordner für alles "Systembezogene", also Systemsoftware, configs und dgl.
- /afs/metalab.at/mirror ist wohl selbsterklärend, allerdings funktionieren diese Volumes wegen einem Hardwareproblem nicht.
Ausweichmöglichkeiten
Wer sich obiges durchgelesen hat und noch immer zum Schluss kommt, dass er das nicht braucht, kann auf zwei/drei andere Möglichkeiten zurückgreifen, den Datendienst zu nutzen. Diese Ausweichmöglichkeiten benutzen zwar auch AFS, aber nur als Backend.
Vergiss aber nicht: das ist nicht der optimale Weg, macht keinen echten Spass und ist wirklich nur als "ad-hoc" Notfalllösung gedacht.
HTTPS, WebDAV
Unter den Hosts vom VPN warten unter der https:// Adresse, also etwa https://vpn-sil.metalab.at (funkfeuer is ja grad offline) ein HTTP frontend (auf das nur lesend zugegriffen werden kann), und ein WebDAV.
Für den HTTP Zugang einfach die gewünschte URL (z.B. eben https://vpn-sil.metalab.at/) in einen Browser Deiner Wahl eingeben, und schon gehts los. Wenn Du nach Benutzername/Passwort gefragt wirst, so ist der Kerberos Benutzer gemeint den Du im Provisioning bezogen hast.
Für WebDAV nimmst Du, je nach Client, davs://vpn-sil.metalab.at oder https://vpn-sil.metalab.at
Nebenbemerkung: momentan gibts da einen kleinen Quirks, man kann das /afs/metalab.at/user Verzeichnis nicht listen. Gibst du aber im DAV Client die volle URI für Dein home an, also etwa davs:///afs/metalab.at/user/philip, dann kommst Du in Dein home.
SCP/SFTP
Über die Hosts in VPN kannst Du auch eine SSH/SFTP Verbindung zum Rechner space aufbauen. Dort bekommst Du über PAM ein Kerberos und AFS Token, und kannst auf AFS unter /afs zugreifen wie es Dir sonst auch möglich sein sollte.
Samba
Über Samba bekommst Du vom Rechner space (nur intern bzw über das VPN) nur den /afs/public ordner mit Schreibberechtigung. Benutzername und Passwort müssen dabei leer sein. Grund: Um Samba korrekt auf AFS mappen zu können (mit den richtigen Permissions) müsste man die Passwörter ungehashed an Samba übertragen.
Das ist keine Option. Don't dare to ask.