Storage Server Konfiguration I

vorhergehende Artikel in: Linux
31.01.2021

Ich habe zu Weiterbildungszwecken aus alten PC-Komponenten ein Serversystem zusammengebaut und stelle hier die Konfiguration als Storage-Server vor

Nachdem alle Komponenten zusammengesteckt waren habe ich zunächst Ununtu Focal Fossa (20.04 LTS) Server als Betriebssystem installiert und konfiguriert. Die alten Festplatten konstituierten zwei Software-Raid Verbünde, die durch das Betriebssystem im neu zusammengesteckten Server sofort erkannt wurden und daher von mir weiterverwendet wurden. Als Grundlage der weiteren Arbeiten wurden die beiden Raid-Verbünde in eine Volume Group zusammengeführt:

vgcreate vg_storage /dev/md0 /dev/md7

Darauf aufbauend habe ich zunächst zwei Logical Volumes erstellt - eine für administrative Zwecke und eine zweite als Speichermedium, das im Netz für Nutzer zur Verfügung stehen sollte:

lvcreate -L 1T vg_storage -n lv_attic
lvcreate -L 1T vg_storage -n lv_services

Anschließend legte ich entsprechende Verzeichnisse an:

mkdir /storage
mkdir /storage/attic
mkdir /storage/services

Im nächsten Schritt wurde die /etc/fstab um entsprechend benötigte Einträge ergänzt:

/dev/vg_storage/lv_attic        /storage/attic/    ext4    defaults        0       0
/dev/vg_storage/lv_services     /storage/services/    ext4    defaults        0       0

Nunmehr installierte ich zunächst die entsprechenden Pakete um den im Netz verfügbaren Speicher für Windows-Nutzer (Samba) und Linux-Nutzer (SFTP) zur Verfügung stellen zu können. Anschließend legte ich zunächst entsprechende Nutzergruppen an:

groupadd sftp_users
groupadd samba_users

Nutzer legte ich zu Testzwecken wie folgt an:

useradd sftpuser -s /sbin/nologin -M
useradd sambauser -s /sbin/nologin -M

Diese Nutzer ordnete ich ihren entsprechenden Grupoen zu:

usermod -a -G sftp_users sftpuser
usermod -a -G sftp_users sambauser

Diese Nutzer benötigten jeweils ein Systempasswort und ein Sambapasswort; beide werden wie folgt zugeordnet (am Beispiel von sambauser):

passwd sambauser
smbpasswd -a sambauser

Nun mussten benötigte Verzeichnisse angelegt und mit den entsprechenden Nutzerrechten versehen werden:

mkdir /storage/services/sftpuser
mkdir /storage/services/public
mkdir /storage/services/sambauser
mkdir /storage/samba/sambausers_shared
chmod 777 /storage/services/public/
chown sftpuser:sftp_users /storage/services/sftpuser
chown nobody:nogroup /storage/services/public/
chown sambauser:sambauser /storage/services/sanbauser/
chown root:samba_users /storage/services/sambausers_shared
chmod 775 /storage/services/sambausers_shared

Nun konnte an die Konfiguration der Services gegangen werden - zuerst wurde /etc/ssh/sshd_config wie folgt ergänzt:

Match Group sftp_users
        ChrootDirectory /storage/services/
        ForceCommand internal-sftp
        X11Forwarding no
        AllowTcpForwarding no
        PasswordAuthentication yes

Anschließend wurden folgende Share-Definitionen in /etc/samba/smb.conf hinzugefügt:

[samba_users_shared]
    comment           = Place for sharing for all members of user group sambausers
    path              = /storage/services/samba_users_shared
    read only = no
    writable = yes
    guest ok = no
    create mask = 0660
    directory mask = 0771
    valid users = @samba_users

[sambauser] comment = sambauser private area path = /storage/services/sambauser read only = no writable = yes guest ok = no valid users = sambauser

[public] path = /storage/services/public browsable =yes writable = yes guest ok = yes read only = no force user = nobody create mask = 0775 directory mask = 0775

Nach Neustart von Samba und sshd waren die entsprechenden Verzeichnisse und Shares von Windows und Linux aus erreich- und benutzbar. Weitere Nutzer können nach den angegebenen Mustern problemlos hinzugefügt werden.

Ich habe hier verschiedene Links angefügt, die als Hintergrund und weiterführende Lektüre zu diesem Thema dienen können:

Artikel, die hierher verlinken

Monitoring Raid Rebuild mit Grafana

22.07.2021

Nachdem eins meiner Raids neulich einen Check durchführen wollte habe ich überlegt, ob man den Fortschritt dabei (oder bei einem Rebuild) mittels Telegraf in Grafana abbilden könnte.

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.