Tag Archives: raid

Drobo, DroboShare und Multiuser

Published / by gethash / 6 Comments on Drobo, DroboShare und Multiuser

drobo-and-droboshareVor ca. einer Woche habe ich mich zur Abdeckung des ständig wachsenden Speicherbedarfs für die Anschaffung einer Drobo und dem dazugehörigen DroboShare entschieden. Hauptgrund für die Alternative, welche nicht die Günstigste ist, war die Tatsache, dass ich mich um nichts kümmern muss und bei Bedarf einfach Platten nachstecken kann. Es gibt einige Lösungen am Markt die dies unterstützen, jedoch ist der laufende Upgrade durch das Ersetzen einer vorhandenen Platte schon eine Ausnahme und das bei gute Performance über das eingebaute Gigabit-Interface.

Die DroboShare ist eigentlich nicht notwendig um auf den Storage zuzugreifen, aber ich möchte kurzfristig einen Server abschaffen um zentral meine Daten zu erreichen. Die Installation der Drobo und der dazugehörigen DroboShare lief problemlos und obwohl ich die Konfiguration via Webinterface bevorzugen würde, kommt man mit dem Drobo-Dashboard auf Mac gut klar.

Aber nun zum eigentlichen Thema. Ich hatte mich nicht genauer informiert und bin einfach davon ausgegangen, dass die DroboShare die Freigabe verschiedener Verzeichnisse und fein granulierte Benutzerberechtigungen auf Diese zulässt, was jedoch genau nicht der Fall ist.

Die Oberfläche bietet hier nur die Möglichkeit einen Freigabenamen zu definieren und dann entweder für alle oder für einen Benutzer freizugeben, was mir einfach zu wenig ist. Auch die Knowledge Base gibt klar zu erkennen, dass out of the box nicht mehr möglich ist.

Natürlich würde ich mein technisches Versagen bei der Geräteauswahl hier nicht publizieren, wenn ich nicht ein Lösung gefunden hätte, welche wie nachfolgend beschrieben aussieht:

  1. DroboApps aktivieren
  2. Dropbear SSH einspielen
  3. Benötigte Benutzer auf der DroboShare anlegen
  4. Eigene SambaApp deployen und Basiseinstellungen überschreiben

Nachfolgend die notwendigen Schritte im Detail:

1. DroboApps aktivieren

Dies kann im Dashboard erfolgen und sorgt dafür, dass Apps welche in den Ordner DroboApps kopiert werden müssen, nach Neustart der DroboShare entpackt und danach gestartet werden.

2. Dropbear SSH einspielen

Nach Aktivierung der Apps und Neustart der Share ist der Ordner DroboApps vorhanden und die auf der Drobo-Website verfügbare App Dropbear SSH kann einfach in das Verzeichnis kopiert werden.

3. Benutzer anlegen

Sobald die DroboShare erneut gestartet wurde, kann man sich bequem via SSH auf der Drobo anmelden. Das Defaultpasswort “giveit2me” sollte man gleich zuerst ändern. Leider kann die vorhandene Samba-Konfiguration (/etc/smb.conf) sowie das dazugehörige Passwortfile zwar angepasst werden, alle Änderungen werden jedoch nach Neustart wieder überschrieben.

Erhalten bleiben jedoch Basiseinstellungen wie z.B. User in der /etc/passwd. Genau diese Benutzer benötigen wir für die spätere Erweiterung der Freigabefunktionalität und somit besteht der erste Schritt auf der DroboShare in der Anlage aller benötigten Benutzer. Die User-IDs sind hier wichtig, da Diese später mit der smbpasswd zusammenpassen müssen, welche wir im nächsten Schritt anlegen.

4. SambaApp deployen

Um ein Überschreiben der Einstellungen zu verhindern und die Konfiguration der Freigaben ohne spätere Konfigurationsfilemanipulation zu ermöglichen, habe ich mich dazu entschieden, eine eigene App zu erstellen. Dies ist grundsätzlich nur ein gezipptes Tar-Archive, welches ein Start- und Stopscript sowie die eigene smb.conf und das Passwortfile enthält.

Die einzelnen Dateien sehen wie folgt aus:

smb.conf (wichtig ist der Pfad zum smbpasswd-File)

[global]
workgroup = WORKGROUP
server string = DroboShare
netbios name = Drobo
socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
local master = no
encrypt passwords = yes
dns proxy = no
qos enable = yes
level1 file extensions = avi wmv wma
level2 file extensions = mpeg mpg
security = user
use mmap = yes
use sendfile = yes
max log size = 20
dns proxy = no
#map to guest = bad password
log file = /var/log/smb.log
log level = 0
show add printer wizard = no
load printers = no
smb passwd file = /mnt/DroboShares/Drobo/DroboApps/samba/private/smbpasswd
force user = root
force group = root
max stat cache size = 256

[Drobo]
comment = Drobo
valid users = berk
path = /mnt/DroboShares/Drobo
#public = yes
writable = yes
printable = no
#ok guest = yes

[music]
comment = Music
valid users = berk test1 test2
path = /mnt/DroboShares/Drobo/music
#public = yes
writable = yes
printable = no
#ok guest = yes

smbpasswd (wichtig ist die Übereinstimmung der IDs)

berk:501:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:fadfafdaadfafafafdaaaaafdafdafafadf:[U          ]:LCT-4b294433:
test1:502:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:fadfafdaadfafafafdaaaaafdafdafafadf:[U          ]:LCT-4B277FCE:
test2:503:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:fadfafdaadfafafafdaaaaafdafdafafadf:[U          ]:LCT-4B277FD8:

samba-start.sh (wichtig sind hier ebenfalls die Pfadangaben und das Killen der bereits laufenden Samba-Prozesse)

#!/bin/sh

killall nmbd
killall smbd
/usr/sbin/smbd -s /mnt/DroboShares/Drobo/DroboApps/samba/etc/smb.conf
/usr/sbin/nmbd -s /mnt/DroboShares/Drobo/DroboApps/samba/etc/smb.conf

samba-stop.sh

#!/bin/sh

killall nmbd
killall smbd

All diese Files müssen in eine entsprechende Ordnerstruktur gepackt werden, damit der Start richtig funktioniert:

– etc
|- smb.conf
– private
|-smbpasswd
– samba-start.sh
– samba-stop.sh

Nachdem kopieren des gepackten Archives in den DroboApps-Ordner und Neustart der DroboSahre mit dem Kommando “reboot”, werden die Änderungen übernommen und die eigene Samba-Konfigurationa aktiviert.

Anhand dieses Beispiels lässt sich erkennen, was man aus dem kleinen Linuxrechner alles machen kann und ich denke nicht, dass das die letzte Trickserei mit der Kiste war.

Soweit …. Daumen hoch!