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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Mandelbrot-Sets mittels Shadern berechnen

    17.05.2019

    Nachdem ich in den letzten verregneten Tagen auf Youtube in den Videos von Numberphile versunken bin, hat mich eines davon angestachelt, mich selbst mit dem Mandelbrotset zu beschäftigen. Als ich dann noch Code fand, der behauptete, das auf einer Graphikkarte mittels Shadern berechnen zu können, war es um mich geschehen...

    Weiterlesen...

Neueste Artikel

  • Erste Vor-Version eines Gis-Plugin für die sQLshell

    Wie bereits in einem früheren Artikel erwähnt plane ich, demnächst ein Plugin für die sQLshell anzubieten, das eine Visualisierung von Daten mit räumlichem Bezug im Stil eines Geoinformationssystems erlaubt.

    Weiterlesen...
  • bad-certificates Version 2.1.0

    Das bereits vorgestellte Projekt zur automatisierten Erzeugung von Zertifikaten mit allen möglichen Fehlern hat eine Erweiterung erfahren und verfügt über ein Partnerprojekt - beide sind nunmehr in der Version 2.1.0 freigegeben

    Weiterlesen...
  • SQLite als Geodatenbank

    Wie bereits in einem früheren Artikel beschrieben treibe ich derzeit Anstrengungen voran, die sQLshell attraktiver für Nutzer zu machen, die mit Geodatenbanken arbeiten.

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.