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

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    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.