Blog Digitalgesellschaft Verwaltungsbetrieb Textarchiv Textarchiv Walter Kirk (✝) Impressum
Installation Ubuntu-Server 22.04 mit Software-Raid 1 auf einem Tablet-PC
1 Vorbemerkung2 Mein Projekt3 Ausstattung4 Ubuntu Speicher Konfiguration5 Nacharbeiten5.1 Desktop installieren5.2 Statische IP-Adresse5.3 Samba Share5.3.1 Passwort5.3.2 Freigabe6 RAID Administration6.1 identifizierung der Harddisk6.2 Austausch der Harddisk6.3 Überwachung6.4 RAID vergrößern7 Datensicherung mit rsync8 Upgrade auf neue Version9 Checkliste Ubuntu Server 22.04 mit Software RAID 1 und Samba Share10 Fazit
Für die Einrichtung von Ubuntu-Server habe ich seit geraumer Zeit nach einer einfachen, genauen und zweckmäßigen Installationsanweisung im Netz gesucht.
Fündig wurde ich auf dem Blog von Thony Fernandez unter dem Beitrag Installing Ubuntu 20.04 with Software RAID 1. Auch er bezieht sich wiederum auf einen ursprünglichen anderen Blog-Beitrag, der von ihm mit eigenen Bemerkungen ergänzt ist.
Link: https://tonyfernandeztech.wordpress.com/2021/04/27/installing-ubuntu-20-04-with-software-raid-1/
Zu erst einmal: In der Praxis funktioniert die Einrichtung mit den dargestellten Schritten auch bei der Ubuntu Server Version 23.10 erstaunlich gut.
Anstelle eines unter SAMBA im Netzwerk freigegebenen Ordners soll ein Server mit einem Software RAID 1 die Aufgabe eines Backup-Speichers erfüllen (NAS). Dazu soll ein älterer Desktop-PC unter einer statischen IP-Adresse im LAN mit zwei Harddisk (HD) als Server eingerichtet werden.
Mit dem Befehl lsblk wird die beabsichtigte und vorgenommene Einrichtung wieder gegeben:
xxxxxxxxxx
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 61,8M 1 loop /snap/core20/1169
loop1 7:1 0 73,2M 1 loop /snap/lxd/21624
loop2 7:2 0 32,3M 1 loop /snap/snapd/13170
sda 8:0 0 1,8T 0 disk
├─sda1 8:1 0 512M 0 part
└─sda2 8:2 0 1,8T 0 part
└─md0 9:0 0 1,8T 0 raid1
└─md0p1 259:0 0 1,8T 0 part /
sdb 8:16 0 1,8T 0 disk
├─sdb1 8:17 0 512M 0 part
└─sdb2 8:18 0 1,8T 0 part
└─md0 9:0 0 1,8T 0 raid1
└─md0p1 259:0 0 1,8T 0 part /
mmcblk0 179:0 0 29,1G 0 disk
├─mmcblk0p1 179:1 0 512M 0 part /boot/efi
└─mmcblk0p2 179:2 0 28,6G 0 part /home
mmcblk0boot0 179:8 0 4M 1 disk
mmcblk0boot1 179:16 0 4M 1 disk
Zur Verdeutlichung:
- grub-bootlader und Home-Verzeichnis sind auf der eMMC-Karte des PC (mcblk0) gespeichert
- RAID 1 als md0 mit zwei 2 TB großen HD (sda, sdb)
- sda und sdb sind als root eingerichtet und starten im Bootvorgang mit.
Zum Betrieb werden als Hardware benötigt:
- Desktop-PC gebraucht, jedoch nicht älter als drei Jahre (ca. 60 EUR)
- USB-Stick als Startmedium
- 2 HD mit im Beispiel 2 TB Speicherkapazität (vorzugsweise NAS-Laufwerke)
Die Software ist kostenfrei und kann herunter geladen werden unter Get Ubuntu Server
Nach dem Download ist das Startmedium zu erstellen:
- Windows: Rufus
- Linux: Startmedienersteller
Sodann sollte die Hardware eingerichtet werden, in dem das Zubehör angeschlossen und die Funktion, insbesondere das Netzwerk, überprüft werden.
Tipp:
Damit ein schneller Datentransfer möglich ist, sollten alle an den PC angeschlossen Teile USB 3.X unterstützen. Die HD sollten beim Datentransfer dem aktuellen Stand der Technik entsprechen, z.B. SATA 6Gb/s.
Abhängig vom vorhandenen PC-Modell ist das Booten in das Startmenü über die vom Hersteller festgelegte Tastatur-Kombination vorzunehmen.
Die Installation sollte entsprechend den Schritten erfolgen, die in der vorgenannten Anleitung beschrieben sind, und zwar
- in der genauen Reihenfolge
- angepasst auf die geplante eigene Konfiguration (s. Abschn. 2).
Die deutsche Übersetzung des Textes der Blog-Seite kann als PDF-Dokument herunter geladen werden.
Besonderheiten:
- Bei der Einrichtung des Netzwerkes sollte die Vorgabe (dhcp4) erstmal belassen werden. Die Einrichtung des Netzwerkes erfolgt nach der Installation und einem Neustart.
- Zum Schluss erfolgt evtl. die Aktualisierung und ein Sicherheits-Update. Dieser Vorgang nimmt einige Zeit in Anspruch.
Nach dem Neustart erfolgt die Anmeldung mit eingerichtetem Nutzernamen und Passwort. Man befindet sich auf der Befehlsebene.
An dieser Stelle kann das RAID 1 überprüft werden.
cat /proc/mdstat
Siehe hierzu die Hinweise in Abschn. 6.3
Für eine nutzerfreundliche Administration des Server bietet es sich an, einen Desktop zu installieren. Im Beispiel wurde der Ubuntu-Budgie-Desktop eingerichtet. Es kann natürlich jeder geeignete andere Desktop nachträglich installiert werden.
Darüber hinaus sollten weitere Programme mit installiert werden. Dazu wird im geöffneten Terminal folgendes eingegeben:
a) Update/Upgrade
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get full-upgrade
sudo reboot
b) Installation
sudo apt-get install synaptic gparted samba net-tools nautlus nautilus-share grsync ubuntu-budgie-desktop
sudo reboot
Zur Erklärung:
- synaptic: Installationswerkzeug
- gparted: Partitionierungstool
- samba: zur Bereitstellung von Freigaben von Dateien/Ordnern im Netzwerk
- net-tools: zur Prüfung der eigenen IP-Adresse mit ifconfig
- nautilus: zur Freigabe mit Rechten von Dateien/Ordnern
- grsync: Backup und Datensicherung
Nach der Installation ist der Server neu zu starten:
sudo reboot
In Ubuntu erfolgt die Netzwerkverwaltung mit netplan. Deshalb ist die vorhandene *.yaml-Datei zu bearbeiten. Dafür öffnet man den Datei-Manager nautilus (root):
sudo nautilus
Jetzt wechselt man in das Verzeichnis /etc/netplan und öffnet die für das LAN vorhandene *.yaml-Datei - im Beispiel 00-installer-config.yaml - zum Bearbeiten. Vorher sollte die Datei gesichert werden.
Die Angaben sollten in etwa so aussehen:
xxxxxxxxxx
This is the network config written by 'subiquity'
network:
ethernets:
eigene Netzwerkschnittstelle:
dhcp4: false
addresses: [eigene IP-Adresse]
version: 2
Die eigene IP-Adresse ist in eckigen Klammern zu bezeichnen.
Weitere Angaben sind nicht unbedingt erforderlich.
Nach der Speicherung der geänderten Konfiguration ist netplan neu zu starten mit:
sudo netplan apply
Wenn die bearbeitete Datei ohne Hinweise angenommen wird, sollte der Rechner mit dem Internet verbunden werden können, sodass es deshalb auch sinnvoll erscheint, die Änderungen dabei zu belassen.
Der Zugriff im Netzwerk auf Dateien und Ordner auf dem Server erfolgt in Linux mit Hilfe von SAMBA. Im Beispiel wird für den bereits eingerichteten Nutzer deshalb das Passwort vergeben:
sudo smbpasswd -a nutzername
Der nutzername ist durch den eigenen Nutzernamen zu ersetzen.
Die Zulassung weiterer Nutzer ist natürlich möglich, wird hier aber nicht behandelt.
Dazu gibt man im Terminal ein:
sudo nautilus
Sodann wird folgendes Verzeichnis angelegt (Mountpoint):
/media/sync
Es ist jede andere Verzeichnisangabe nach eigenen Präferenzen möglich.
Mit dem rechten Mausklick öffnet man die Freigabe im Netzwerk und richtet die Freigabe ein. Damit für den eingerichteten Nutzer der Zugriff im LAN möglich ist, sind die Eigenschaften zu ändern von root auf eigenen Nutzernamen.
Danach ist Samba neu zu starten oder der PC zu booten.
In manchen Situationen kann es hilfreich sein, die Zuordnung der Laufwerksbezeichnungen wie sda, zu den einzelnen HD zu kennen. Gerade in der Überwachung des RAID ist bei einem Austausch einer HD diese Zuordnung wichtig.
In Linux lassen sich die Model- und Serien-Nummern mit folgendem Befehl auslesen:
sudo hdparm -I /dev/sd?|grep -E "Number|/dev"
Das Ergebnis könnte so aussehen:
xxxxxxxxxx
/dev/sda:
Model Number: TOSHIBA XXXXXXXXXXXXXX
Serial Number: 123N567890I12
Vorbereitung
Neue HD sind vor dem Einsatz in einem RAID mit der Partionstabelle GPT zu versehen und als primäres Laufwerk mit dem Filesystem ext4 zu formatieren: 1. weil damit ggf. alte Daten entfernt werden, 2. weil damit die HD auf Fehler überprüft werden kann. Unter Linux kann hierfür das Programm GParted genutzt werden.
Herausnahme
sudo mdadm /dev/md0 -r /dev/sda
Das r steht für remove
Hierduch wird die HD mit der Bezeichnung sda aus dem RAID md0 entfernt.
Hereinnahme
sudo mdadm /dev/md0 -a /dev/sda
Das a steht für add
Hierdurch wird die HD mit der Bezeichnung sda in das RAID md0 eingefügt.
Das Ergebnis sollte in etwa so aussehen:
xxxxxxxxxx
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[2] sda2[1]
1952856064 blocks super 1.2 [2/1] [_U]
[====>................] recovery = 24.1% (472106752/1952856064) finish=176.6min speed=139726K/sec
bitmap: 9/15 pages [36KB], 65536KB chunk
unused devices: <none>
Wenn eine neue HD eingefügt ist, beginnt der Prozess recovery automatisch. Damit wird ein genaues Abbild erzeugt, hier der sdb auf sda.
Zur Orientierung: Bei einer 2 TB HD dauert dieser Prozess im Beispiel ca. 4 Stunden.
Tipp:
Bei der beispielhaften Hardware-Konfiguration hat es sich als sinnvoll heraus gestellt, während des Recovery-Prozesses keinen zusätzlichen Datentransfer im Netzwerk auf das NAS zu vollziehen, da der Tablet-PC ansonsten an seine Leistungsgrenzen kommt und ungewollt neu startet. Dabei kann es evtl. zu Beschädigungen der HD kommen, die unbedingt vermieden werden sollten.
Mit dem folgenden Befehl wird der Status des RAID angezeigt:
cat /proc/mdstat
Das Ergebnis sollte in etwa so aussehen:
xxxxxxxxxx
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda2[1] sdb2[0]
1952856064 blocks super 1.2 [2/2] [UU]
[====>................] resync = 21.9% (429426688/1952856064) finish=2895.6min speed=8768K/sec
bitmap: 13/15 pages [52KB], 65536KB chunk
unused devices: <none>
Beide HD arbeiten im Verbund fehlerfrei. Wenn Dateien auf das NAS kopiert werden, wird die Synchronisation der HD im Verlauf angezeigt.
Zur dauerhaften Überwachung ist folgender Befehl im Terminal auszuführen:
watch -d cat /proc/mdstat
Ein Abbruch erfolgt
mit Strg -C.
Die beiden 2TB-HD sollen durch zwei 6TB-HD ersetzt werden:
Schritt 1: Backup der Partitionstabellen
sgdisk --backup=sda_parttable_gpt.bak /dev/sda
sgdisk --backup=sdb_parttable_gpt.bak /dev/sdb
Schritt 2: Austausch der HD
HD 1 entfernen:
mdadm /dev/md0 -r /dev/sda
Sodann die HD tauschen.
Partitionstabelle wieder herstellen:
sgdisk --load-backup=sda_parttable_gpt.bak /dev/sda
Integration der HD
mdadm /dev/md0 +a /dev/sda
Den Abschluss der Synchronisation abwarten.
HD 2 entfernen:
mdadm /dev/md0 -r /dev/sdb
Sodann die HD tauschen.
Partitonstabelle wieder herstellen:
sgdisk --load-backup=sdb_parttable_gpt.bak /dev/sdb
Integration der HD
mdadm /dev/md0 +a /dev/sdb
Überprüfung mit:
cat /proc/mdstat
Den Abschluss der Synchronisation abwarten.
Schritt 4: Kapazität anpassen
mdadm --grow /dev/md0 --size=max
Danach startet automatisch eine neue Synchronisation.
Überprüfung mit:
cat /proc/mdstat
Den Abschluss der Synchronisation abwarten, bevor Schritt 5 erfolgt.
Schritt 5: GParted
Wenn der Speicher noch nicht voll genutzt werden kann, weil das Filesystem ext4 nicht erweitert ist, bietet sich das Programm GParted zur Erweiterung von /dev/md0 auf die volle Festplattenkapazität an.
Zur Installation im Terminal ausführen:
sudo apt install gparted
Das Ergebnis der Erweiterung von /dev/md0 mit GParted im Beispiel:
Die Übertragung von Dateien und Ordnern auf das NAS - hier in den freigegebenen Ordner /media/sync - kann mit dem Befehl rsync schneller vollzogen werden, als mit den üblichen anderen Übertragungsprotokollen.
Zur Installation im Terminal ausführen:
sudo apt install rsync grsync
Syntax: rsync Option Quelle Ziel
rsync -aP /home/nutzername/sync nutzername@IP-Adresse:/media/sync
Nutzername, IP-Adresse sowie Verzeichnisangaben sind auf die eigenen Verhältnisse anzupassen.
Nach der Abfrage von ssh-Angaben und Eingabe des Passwortes für den Server erfolgt die Synchronisation. Der Zusatz -aP bewirkt, dass alle Dateien und Ordner einschließlich Unterordner übertragen und im Terminal gelistet werden (Archivierung).
Wer eine GUI zur Bedienung bevorzugt startet Grsync. Auf die an anderer Stelle veröffentlichte Anleitung zu diesem Programm wird besonders hingewiesen.
Ob eine neue Version freigegeben ist, kann mit folgendem Befehl ermittelt werden:
/usr/lib/ubuntu-desktop-upgrader/check-new-upgrade -d
Ist dies gegeben wird angezeigt, den folgenden Befehl auszüführen:
sudo do-release-upgrade -d
Im Installationsprozes wird folgendes abgefragt:
- Installation von Firefox aus dem snap-store
- Installation von grub-bootlader auf die HDD: hier unbedingt die beiden Raid-HDD anklicken.
Das Release-Upgrade auf die Version 22.04 dauert in der Beispielkonfiguration ca. 2,5 Std..
1. Hard- und Software
- benötigte Harware ermitteln und ggf. erwerben
- Server-Software herunter laden
- Startmedium erstellen (USB-Stick)
2. Installation
- ruhigen Ort aussuchen und ausreichend Zeit einplanen
- Netzwerkerkennung im Installationsprozess nicht manuell ändern
- Speichermedien und RAID nach eigenen Vorstellungen konfigurieren
- zum Schluss: die automatische Aktualisierung und das Sicherheits-Update erfordert zusätzliche Zeit. Im Beispiel ca. 20 Min.
- nach dem Neustart: RAID-Status ermitteln
3. Nacharbeiten
- statische Netzwerkadresse einrichten
- Samba-Share einrichten:
Speicherort festlegen (Einhängepunkt und freigegebener Ordner)
Freigabe für Nutzer und für Dateien/Ordner
- Update und Upgrade durchführen
- Ubuntu-Desktop der eigenen Wahl und zusätzliche Software installieren
4. Backup und Datensicherung
- mit rsync Dateien und Ordner übertragen
- ggf. die GUI Grsync nutzen
5. Erweiterung
- Partitionstabellen sichern
- Partitionstabellen übertragen
- ggf. mit GParted die Kapazität des RAID 1 erweitern.
Das Einrichten einer Server-Umgebung mit RAID 1 unter Linux ist nicht ganz so komfortabel einfach möglich wie unter dem Betriebssystem Windows. Dafür jedoch kosten- und lizenzfrei und eine community bietet breite Unterstützung bei der Problemlösung an.
Beispielhaft wird hier aufgezeigt, wie ein Ubuntu-Server mit einem RAID 1 auf einem Desktop-PC eingerichtet wird. Er lässt sich somit an jedem beliebigen Ort aufstellen, an dem eine Verbindung zum LAN möglich ist. Insbesondere in einem Arbeitszimmer, weil er kaum Geräusche verursacht.
Ermöglicht wird dies mit den Bordmitteln des kostenfreien Betriebssystems, modernem Zubehör und nur noch in wenigen Fällen mit Befehlen im Terminal. Überwiegend kann der vorgestellte Server mit bereitgestellten Bedienungsprogrammen gewartet werden. Lediglich die Administration des RAID geht nur über ein Terminal mit Befehlen.
Insgesamt kann deshalb die Einrichtung und Nutzung im Heimnetzwerk uneingeschränkt empfohlen werden, weil sie dazu beiträgt die IT-Infrastruktur und Datensicherheit im privaten Bereich deutlich zu verbessern.
Wolfgang Kirk
Veröffentlicht: 2023-04-20 aktualisiert: 2024-02-07, 15:44 Uhr