Wenn es um den Raspberry Pi und DynDNS geht, empfehle ich gerne, wie im Artikel „Nextcloud auf dem RasPi – Teil 4“ beschrieben, als DynDNS-Anbieter den Dienst dnsHome.de. Privatanwender kommen hier in den Genuss, eine kostenlose DynDNS für kleinere Projekte nutzen zu können. Dieser Dienst arbeitet einwandfrei und sorgt dafür, dass u. a. eigene Cloud-Server nach der Zwangstrennung des Internetanbieters stets erreichbar bleiben. Durch den ständigen Abruf der öffentlichen IP und der Übermittlung bei Änderung dieser an den DynDNS-Anbieter wird sichergestellt, dass der Server über eine Subdomain immer erreichbar bleibt.
Darstellung DynDNS. Quelle: Wikipedia
Nun kam es aber bei einer von mir aufgesetzten Installation in einem Telekom-Netz vor, dass die von dnsHome empfohlene Konfiguration
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
protocol=dyndns2
ssl=yes # Erst ab ddclient Version 3.7 möglich, bitte prüfen
daemon=3600
use=web, web=ip.dnshome.de
server=www.dnshome.de
login=SUBDOMAIN.DOMAIN.TLD
password=PASSWORT
SUBDOMAIN.DOMAIN.TLD
des ddclients nicht funktionierte. Wo lag das Problem? Der Eintrag
web=ip.dnshome.de
ermittelt in diesem Netz nicht wie gewünscht die IPv4-, sondern die IPv6-Adresse und leitet diese an dnsHome weiter. Somit wurde die Verbindung der Subdomain zum Server gestört. Natürlich gibt es auch hierfür eine einfache Lösung. Durch den Austausch des zuvor erwähnten Eintrags durch
Microsoft hat in Amsterdam neue Maßnahmen für mehr digitale Souveränität angekündigt. Konzernchef Satya Nadella stellte ein erweitertes Cloud-Modell vor, das europäischen Kunden mehr Kontrolle über ihre Daten bieten soll. Zentraler Bestandteil ist die Microsoft Sovereign Cloud. Diese umfasst öffentliche, private und nationale Cloud-Angebote. Kundendaten verbleiben ausschließlich in Europa und unterliegen europäischem Recht. Zugriff und Betrieb […]
Die zwei bekannten deutschen Tech-Unternehmen wollen den europäischen Softwaremarkt verändern. Nextcloud und Ionos entwickeln gemeinsam eine neue Bürosoftware, die speziell auf Datenschutz und europäische Standards zugeschnitten ist. Das Ziel ist eine echte Alternative zu Microsofts Cloud Lösungen zu schaffen. Die neue Lösung soll nicht nur offen und transparent sein. Sie richtet sich auch gezielt an Behörden […]
Beim diesjährigen GrafanaCON in Seattle präsentierte Grafana Labs mehrere bedeutende Neuerungen für ihre Open-Source-Tools. Die Veranstaltung gilt als Treffpunkt der Observability-Community und brachte Entwickler, Experten und Enthusiasten zusammen. Mit Grafana 12 erscheint die neueste Version des beliebten Monitoring-Werkzeugs. Sie bringt unter anderem ein klareres JSON-Format, dynamische Dashboards, GitHub-Synchronisation und 15 neue Datenquellen wie Azure CosmosDB […]
Der Android-Client von Nextcloud kann seit Monaten keine vollständigen Datei-Uploads mehr durchführen. Betroffen sind alle Dateitypen außer Fotos und Videos. Grund ist eine Entscheidung von Google, die laut Nextcloud ohne Vorwarnung getroffen wurde. Im September 2024 entzog Google der App eine zentrale Berechtigung. Diese war nötig, um auf alle Dateien zugreifen zu können. Seitdem erlaubt […]
In diesem Beitrag berichte ich über mein Wochenend-Projekt „Ansible Collection tronde.opencloud“, welche ihr seit dem 4. Mai 2025 in Version 1.0.0 auf Ansible Galaxy sowie bei Codeberg.org findet.
Ich habe die Collection mit den folgenden Zielen erstellt:
Deployment von OpenCloud mittels Ansible in einer rootless Podman-Umgebung
Backup der OpenCloud und Speicherung des Backups auf dem Ansible Control Node
Restore der OpenCloud aus einem zuvor erzeugten Backup
Aktuell läuft eine OpenCloud-Instanz auf einem meiner Server unter Debian Bookworm.
Nicht so schnell! Was sind Ansible, OpenCloud und Podman?
Derjenige, dem diese Begriffe bereits geläufig sind, kann direkt zum Abschnitt Motivation springen. Für alle anderen gibt es hier eine knappe Erklärung mit Verweisen zu weiteren Informationen, um sich mit der Materie vertraut zu machen.
Ansible
Ansible hat sich zu einem beliebten Schweizer Taschenmesser für Automation, Konfigurations-Management, Deployment und Orchestrierung entwickelt. Über folgende Links findet ihr reichlich informationen dazu:
OpenCloud ist die Filesharing & Kollaborations-Lösung der Heinlein Gruppe.
Durch intelligentes Datei-Management und eine starke Open Source-Community werden Dateien zu wertvollen Ressourcen – effektiv strukturiert und langfristig nutzbar.
Ich betreibe und nutze privat eine Nextcloud, um Dateien über mehrere Geräte zu synchronisieren, mit anderen zu teilen und um Backups verschiedener Geräte und Dienste darin abzulegen. Dazu betreibe ich neben dem Reverse Proxy (NGINX) einen Container mit einer MySQL-Datenbank und einen Anwendungscontainer mit Nextcloud selbst. Nextcloud verfügt über ein reichhaltiges Plugin-Ökosystem zur Erweiterung der Funktionalität, welche ich persönlich allerdings nicht benötige.
Mir gefällt, dass OpenCloud ganz ohne Datenbank auskommt und sich auf die Synchronisation und das Teilen von Daten fokussiert. Dies entspricht genau meinem Anwendungsfall. Wenn ich dadurch einen Dienst weniger betreiben kann (MySQL), ist das umso besser.
Nur passt der gewählte Technologie-Stack nicht zu meiner persönlichen Vorliebe. Während OpenCloud auf die Verwendung von Docker Compose mit Traefik als Reverse Proxy setzt, bevorzuge ich, Container mit Podman zu betreiben und verwende (noch) NGINX als Reverse Proxy.
Um OpenCloud etwas kennenzulernen, habe ich beschlossen, analog zu meiner Ansible Collection tronde.nextcloud eine Collection tronde.opencloud zu erstellen, um OpenCloud deployen und verwalten zu können.
Ob sich der Aufwand lohnt, werde ich mit der Zeit sehen. Wenn es mir zuviel wird oder ich den Gefallen daran verliere, werde ich dieses Wochenendprojekt wieder einstellen bzw. gern in die Hände motivierter Menschen geben, die es weiterführen möchten.
Informationen zur Collection
Das Wichtigste zu dieser Collection habe ich bereits zu Beginn dieses Textes geschrieben. Neben den für Ansible Collections und Roles typischen README.md-Dateien habe ich auch ein paar Zeilen Dokumentation erstellt:
Die Collection steht unter einer freien Lizenz und ich gebe keinerlei Garantie oder Gewähr, dass euch deren Verwendung nicht direkt in den Untergang führt. ;-)
Die Collection kann (noch) nicht viel. Das Wenige scheint jedoch robust zu funktionieren. Wenn ihr neugierig seid, probiert sie gerne aus. Auch euer konstruktives Feedback ist mir stets willkommen.
Für mich ist dies ein Wochenend-Projekt, das mit etlichen anderen Themen um meine Zeit konkurriert. Erwartet daher keine schnellen Entwicklungsfortschritte. Wenn ihr gern daran mitwirken möchtet, bin ich dafür offen. Werft einen Blick in den kurzen Contribution Guide und legt los. Falls ihr Fragen habt oder euch mit mir über die Collection austauschen möchtet, könnt ihr
eure Frage als Issue mit dem Label „Question“ im Repository stellen oder
Das noch recht junge Projekt macht einen aufgeräumten Eindruck. Die Benutzeroberfläche ist nicht überladen und ich finde mich schnell darin zurecht. Das Entwicklerteam antwortet bereitwillig auf Fragen und kümmert sich in angemessener Zeit um Issues. Dies ist zumindest mein subjektiver Eindruck.
Einziger Wermudstropfen ist wie so oft die Dokumentation, welche mit der Entwicklung offenbar nicht Schritt halten kann. Diese lässt leider noch viele Fragen offen, welche über GitHub Discussions oder Suche im Quelltext geklärt werden können/müssen. Ich empfinde dies etwas ermüdend und es drückt die Motivation.
Nun werde ich OpenCloud erstmal einige Zeit nutzen und ein paar Versions-Upgrades hinter mich bringen. Anschließend werde ich dann einen Meinungsartikel schreiben, wie es mir gefällt.
Mit Version 1.33 bringt Kubernetes ein umfangreiches Funktionspaket. Die neue Version trägt den Codenamen „Octarine“ – eine Anspielung auf die unsichtbare Zauberfarbe aus Terry Pratchetts Scheibenwelt. Insgesamt umfasst das Update 64 Änderungen, darunter 18 stabile Features. Besonders hervorzuheben ist die Stabilisierung des Sidecar-Patterns. Damit lassen sich Zusatzcontainer für Logging, Netzwerk oder Monitoring fest in den […]
Heute möchte ich kurz erzählen, welche Schwierigkeiten ich beim Upgrade auf Nextcloud 31 Hub 10 zu bewältigen hatte.
Das Upgrade auf Nextcloud 31 war in meinem Fall mal wieder von einigen Hürden umstellt. Meine ersten Versuche, die Nextcloud auf Version 31.0.0 Stable zu heben, waren zwar von Erfolg gekrönt, jedoch sperrte ich damit meinen WebAuthn-Zugang zu meinen Daten. Weitere Versuche bei den Neuerscheinungen 31.0.1 und 31.0.2 liefen ebenfalls ins Leere.
Nun, mit Version 31.0.3, wurde das WebAuthn-Problem jedoch gefixt. Nach der Reparatur der Datenbank und dem Einspielen fehlender Indizes blieb noch eine zu beseitigende Fehlermeldung übrig. Es handelt sich um ein falsches Zeilenformat in der Datenbank.
Dieser Konflikt kann aber schnell gelöst werden, indem man ein Skript mit folgendem Inhalt erstellt und dieses im Nachgang im Home-Verzeichnis ausführt. Dazu wechselt man in dieses:
cd ~/
Dann öffnet man den Editor:
sudo nano database.sh
fügt folgenden Inhalt ein und speichert mit Ctrl + o:
#!/bin/bash
# Prompt for database credentials
read -p "Enter Database Name: " DB_NAME
read -p "Enter Username: " DB_USER
read -s -p "Enter Password: " DB_PASS
echo
# Generate ALTER TABLE statements and execute them
mysql -u "$DB_USER" -p"$DB_PASS" -e "
SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` ROW_FORMAT=DYNAMIC;')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '$DB_NAME'
AND ENGINE = 'InnoDB';
" -B -N | while read -r sql; do
mysql -u "$DB_USER" -p"$DB_PASS" -e "$sql" "$DB_NAME"
done
Mit Ctrl + x verlässt man den Editor wieder. Nun wird das Skript mit
sudo chmod +x database.sh
ausführbar gemacht und mit
sudo ./database.sh
gestartet. Während der Ausführung werden Datenbankname, Benutzername und Passwort abgefragt. Sind die Eingaben richtig, sind die Datenbank am Ende gefixt und die Fehlermeldung verschwunden.
Beim Wiederherstellen eines Backups zurück auf eine MicroSD unter Linux ist der Befehl dd ein bewährtes Werkzeug. Jedoch fehlte in der Vergangenheit die Anzeige des Fortschritts, sodass der Benutzer nicht genau wusste, wie lange der Vorgang noch dauert. Mit der Option status=progress ändert sich das. In diesem Artikel zeige ich, wie man ein Backup komfortabel mit dd auf eine MicroSD schreibt und dabei den Fortschritt im Blick behält.
Der Befehl im Detail
Um das Image backup.img aus dem Home-Verzeichnis von intux auf die MicroSD zu schreiben, wird folgender Befehl genutzt:
Die Eingabe muss natürlich an die Gegebenheiten des eigenen Systems (Verzeichnisse) angepasst werden.
Hier eine kurze Erläuterung der Parameter:
sudo – Da dd direkten Zugriff auf die Speichergeräte benötigt, sind Administratorrechte erforderlich.
if=/home/intux/backup.img – Das if (input file) gibt das Image an, das auf die Karte geschrieben werden soll.
of=/dev/mmcblk0 – Das of (output file) gibt das Zielgerät an. Hier ist es die MicroSD (/dev/mmcblk0).
bs=1M – Die Blockgröße beträgt 1 Megabyte. Dies beschleunigt das Schreiben im Vergleich zur Standardblockgröße.
status=progress – Zeigt während des Kopiervorgangs den Fortschritt an.
Fortschrittsanzeige in Echtzeit
Einer der größten Nachteile von dd war lange Zeit das fehlende Feedback über den aktuellen Status. Durch die Option status=progress erhalten wir eine dynamische Anzeige, die kontinuierlich angibt, wie viele Daten bereits übertragen wurden.
Während der Kopiervorgang läuft, wird eine Zeile mit der Anzahl der geschriebenen Bytes und der aktuellen Transferrate ausgegeben. Das könnte dann so aussehen:
Diese Anzeige aktualisiert sich in regelmäßigen Abständen, sodass man jederzeit sieht, wie weit der Vorgang fortgeschritten ist.
Fazit
Dank status=progress ist dd nicht mehr die Blackbox, die es früher war. Die Live-Anzeige sorgt dafür, dass man stets über den aktuellen Fortschritt informiert bleibt. Wer regelmäßig Backups auf MicroSDs schreibt, sollte diesen praktischen Zusatz unbedingt nutzen.
Heute möchte ich über ein Thema schreiben, das sicher den einen oder anderen Leser meines Blogs beschäftigt. Es geht um die Frage, wie man auf einer auf einem Raspberry Pi installierten Nextcloud ein RAID-System aufbaut, um Daten redundant auf dem Massenspeicher abzulegen.
Als Vorlage diente mir hierbei eine Anleitung von Daniel von der Firma apfelcast, die ich in Teilen etwas abgeändert habe.
Installation
Zuerst wird die Software mdadm auf dem Raspberry Pi installiert.
sudo apt-get install mdadm
Um diese zu aktivieren, muss der Raspberry Pi nach der Installation von mdadm neu gestartet werden.
sudo reboot
Danach schaut man nach den angeschlossenen Datenträgern. Ich setze voraus, dass man sich zuvor ausreichend mit dieser Materie auseinandergesetzt hat. Ein RAID-Level 1 erfüllt in unserem Fall alle Voraussetzungen für dieses Unterfangen.
Wenn zwei baugleiche SSDs mit identischer Speicherkapazität (z. B. 1 TB) angeschlossen sind, können diese mit folgendem Befehl identifiziert werden:
sudo lsblk
Beide Laufwerke werden als /dev/sda und /dev/sdb ausgegeben.
RAID-System
Raid-System
Nun werden alle Daten und Partitionen der SSDs gelöscht. Hierzu werden beide Befehle nacheinander ausgeführt:
sudo parted /dev/sda "rm 1"
sudo parted /dev/sdb "rm 1"
Ein abschließender Check gibt Gewissheit.
sudo lsblk
Bei Festplatten < 2 TB werden nun die MSDOS-Partitionstabellen erstellt.
sudo parted /dev/sda "mklabel msdos"
sudo parted /dev/sdb "mklabel msdos"
Bei Festplatten > 2 TB verwendet man hingegen folgende Befehle für GPT-Partitionstabellen.
sudo parted /dev/sda "mklabel gpt"
sudo parted /dev/sdb "mklabel gpt"
Anschließend werden die ext4-Partitionen auf beiden Datenträgern erstellt.
sudo parted /dev/sda "mkpart primary ext4 1M -1"
sudo parted /dev/sdb "mkpart primary ext4 1M -1"
Nun wird RAID auf beiden Partitionen aktiviert.
sudo parted /dev/sda "set 1 raid on"
sudo parted /dev/sdb "set 1 raid on"
Anschließend kann der Status überprüft werden (siehe Screenshot).
sudo parted -s /dev/sda print
sudo parted -s /dev/sdb print
Check des Status nach Aktivierung der einzelnen Raid-Partitionen
Jetzt wird ein RAID-Level 1 erstellt, sodass beide Laufwerke zu einem zusammengeführt und so die Daten redundant gespeichert werden können. Falls eine SSD ausfällt, sollten somit keine Daten verloren gehen.
In den vergangenen Jahren wurden des Öfteren Open-Source-Lizenzen durch striktere Lizenzen ersetzt. So auch bei HashiCorp, das jetzt von IBM erworben wurde.
Nextcloud hat Hub 10 veröffentlicht – die neueste Version der Open-Source-Kollaborationsplattform. Das Update bringt zahlreiche Verbesserungen, darunter deutlich schnellere Dateiübertragungen, erweiterte Sicherheitsfunktionen und eine tiefere Integration von Künstlicher Intelligenz (KI). Ein wichtiger Punkt vorweg: Nextcloud Hub ist mehr als nur Cloud-Speicher. Während Nextcloud Files reine Datei-Synchronisation bietet, erweitert Nextcloud Hub das System um Funktionen wie […]
Microsoft hat seine EU-Datengrenze für Cloud-Dienste offiziell abgeschlossen. Damit bleiben die Daten europäischer Geschäftskunden und des öffentlichen Sektors nach Angabe von Microsoft innerhalb der EU. Die Umsetzung erfolgte schrittweise, nun meldet das Unternehmen den vollständigen Abschluss. Betroffen sind Microsoft 365, Dynamics 365, Power Platform und die meisten Azure-Dienste. Sowohl Nutzdaten als auch pseudonymisierte personenbezogene Daten […]
Im Januar kündigten mehrere Mitarbeiter bei der OwnCloud GmbH, wechselten zu einem neu gegründeten Unternehmen und entwickeln dort die OCIS genannte Cloud-Speicher-Lösung weiter.
Im Januar kündigten mehrere Mitarbeiter bei der OwnCloud GmbH, wechselten zu einem neu gegründeten Unternehmen und entwickeln dort die OCIS genannte Cloud-Speicher-Lösung weiter.
Nach einem Update auf Nextcloud 31.0, Hub 10, hatte ich im Backend folgende Meldung die Meldung: Falsches Zeilenformat in Ihrer Datenbank gefunden. ROW_FORMAT=Dynamic bietet die beste Datenbankleistung für Nextcloud. Bitte aktualisieren Sie das Zeilenformat in der folgenden Liste:… Folgender SQL-Befehl fixt die Datenbank Ich empfehle vorher ein Datenbankbackup mit z.B. mydumper vorzunehmen
Das Gentoo-Team stellt vorinstallierte Fassungen ihrer Distribution als Images bereits. Die wiederum liegen im Qcow2-Format vor und sind auf den Betrieb in der Cloud zugeschnitten.
Das Gentoo-Team stellt vorinstallierte Fassungen ihrer Distribution als Images bereits. Die wiederum liegen im Qcow2-Format vor und sind auf den Betrieb in der Cloud zugeschnitten.
Ein neuer adminForge Service kann ab sofort genutzt werden. Ente – Private Cloud für deine Fotos und 2FA Codes Mit der kostenlosen Open Source Lösung erpel.cloud sicherst du Ende-zu-Ende verschlüsselt deine Foto und Video Erinnerungsstücke. Gleichzeitig hast...
Mit diesem Artikel möchte ich meine Nextcloud-Serie schließen. Um die installierte Cloud nun noch mit einer Videokonferenz-Funktion zu erweitern, möchte ich heute zeigen, wie man einen TURN-Server auf das bestehende System aufsetzt. Dies hatte ich im Mai diesen Jahres im Artikel „Coturn TURN-Server für Nextcloud Talk“ zwar schon erklärt, aber es gehört aus meiner Sicht einfach in diese Artikelserie hinein.
Installation
Ein TURN-Server wird von Nextcloud Talk benötigt, um Videokonferenzen zu ermöglichen. Der TURN-Server bringt die Teilnehmer, welche sich in verschiedenen Netzwerken befinden, zusammen. Nur so ist eine reibungslose Verbindung unter den Gesprächspartnern in Nextcloud Talk möglich.
Wer bisher meinen Anleitungen zur Installation von Nextcloud auf dem Raspberry Pi gefolgt ist, kann nun die eigene Cloud für Videokonferenzen fit machen. Zu bedenken gilt aber, dass ein eigener TURN-Server nur bis maximal 6 Teilnehmer Sinn macht. Wer Konferenzen mit mehr Teilnehmern plant, muss zusätzlich einen Signaling-Server integrieren.
Nun zur Installation des TURN-Servers. Zuerst installiert man den Server mit
sudo apt install coturn
und kommentiert folgende Zeile, wie nachfolgend zu sehen in /etc/default/coturn aus.
sudo nano /etc/default/coturn
Dabei wird der Server im System aktiviert.
#
# Uncomment it if you want to have the turnserver running as
# an automatic system service daemon
#
TURNSERVER_ENABLED=1
Nun legt man die Konfigurationsdatei zum TURN-Server mit folgendem Inhalt an.
Hier werden u.a. der Port und das Passwort des Servers sowie die Domain der Cloud eingetragen. Natürlich muss hier noch der Port im Router freigegeben werden. Ein starkes Passwort wird nach belieben vergeben.
Hierbei kann das Terminal hilfreich sein. Der folgende Befehl generiert z.B. ein Passwort mit 24 Zeichen.
gpg --gen-random --armor 1 24
Jetzt wird der Server in den Verwaltungseinstellungen als STUN- und TURN-Server inkl. Listening-Port sowie Passwort eingetragen.
Nextcloud – Verwaltungseinstellungen – TalkEintrag der Domain für STUN- und TURN-Server (sowie Passwort)
Damit der TURN-Server nach einem Reboot auch zuverlässig startet, müssen ein paar Einstellungen am Service vorgenommen werden. Mit
sudo systemctl edit coturn.service
wird der Service des Servers editiert. Folgender Eintrag wird zwischen die Kommentare gesetzt:
### Editing /etc/systemd/system/coturn.service.d/override.conf
### Anything between here and the comment below will become the new contents of the file
[Service]
ExecStartPre=/bin/sleep 30
### Lines below this comment will be discarded
### /lib/systemd/system/coturn.service
Dies ermöglicht den TURN-Server (auch nach einem Upgrade) mit einer Verzögerung von 30 Sekunden zu starten.
Zum Schluss wird der Service neu gestartet.
sudo service coturn restart
Ein Check zeigt, ob der TURN-Server funktioniert. Hierzu klickt man auf das Symbol neben dem Papierkorb in der Rubrik TURN-Server der Nextcloud. Wenn alles perfekt läuft ist, wird im Screenshot, ein grünes Häkchen sichtbar.
Check TURN-ServerCheck bestanden
Damit endet die Artikelserie Nextcloud auf dem RasPi. Viel Spaß beim Nachbauen!
Als ich mit der Artikelserie zur Nextcloud auf dem Raspberry Pi begann, war mein Ziel, ein Tutorial zu erstellen, das es ermöglicht, eine Nextcloud auf dem Einplatinencomputer so zu installieren und zu konfigurieren, dass diese produktiv genutzt werden kann. Nextcloud ist mittlerweile mehr als nur eine Cloud. Nextcloud hat sich zu einem professionellen Büroprodukt entwickelt, das ich selbst täglich nutze.
In diesem Artikel zeige ich, wie man den Datenspeicher von der MicroSD auf eine SSD auslagert, um die Speicherkapazität der Nextcloud zu erweitern. Ich verwende dafür eine SanDisk Extreme mit einer Kapazität von 2TB.
Die Leser, die dieser Artikelreihe bisher gefolgt sind und alles auf dem Raspberry Pi nachgebaut haben, sollten die Version 29 installiert haben. Diejenigen, die etwas mutiger waren, haben bereits ein Upgrade auf Version 30 in den Verwaltungseinstellungen durchgeführt.
Installation
Bevor wir starten, sollte unbedingt ein Backup des gesamten Systems durchgeführt werden, um Datenverlust zu vermeiden, falls etwas schief geht.
Zuerst wird die externe SSD mit dem Raspberry Pi über den USB 3.0-Anschluss verbunden. Anschließend wird die SSD mithilfe des folgenden Befehls identifiziert.
sudo fdisk -l
Das System zeigt nun an, dass die SSD als /dev/sda1 eingehängt wurde. Durch die Eingabe von
sudo mkfs.ext4 /dev/sda1
Identifizierung der SSD im System
kann die SSD in Ext4 formatiert werden. Auf meinem System erschien eine Fehlermeldung, dass die SSD bereits eingehängt ist und daher nicht formatiert werden kann.
Fehlermeldung – /dev/sda1 is mounted
Daher muss die SSD zuerst wieder ausgehängt werden.
sudo umount -fl /dev/sda1
Anschließend wird die SSD, gemäß der bereits erwähnten Methode im Artikel, Ext4-formatiert. Die Abfrage wird durch die Eingabe von „y“ bestätigt.
sudo mkfs.ext4 /dev/sda1
Formatierung der SSD (Ext4)
Nun wird das Verzeichnis /media/ssd erstellt, in dem später das Datenverzeichnis auf der externen SSD liegen wird.
sudo mkdir /media/ssd
Danach wird das Verzeichnis mit dem Inhalt der SSD gemountet.
sudo mount /dev/sda1 /media/ssd
Damit die SSD auch nach einem Neustart korrekt eingebunden wird, trägt man sie mit der richtigen UUID in die /etc/fstab ein. Die benötigte UUID findet man über den Befehl:
sudo blkid /dev/sda1
Auslesen der UUID der SSD
Nun kann die fstab mit der entsprechenden Zeile ergänzt werden. Dieser Eintrag erfolgt direkt unter den beiden Hauptpartitionen (siehe Screenshot).
sudo nano /etc/fstab
Die hier von mir angegebene UUID ist natürlich durch die UUID der eigenen Festplatte zu ersetzen.
Dabei muss man mit größter Sorgfalt vorgehen, da das System bei einer falschen Eingabe möglicherweise nicht mehr starten wird. Ein vorheriges Backup bietet (wie oben schon erwähnt) Sicherheit. Nachdem alles korrekt eingegeben wurde, kann der Raspberry Pi neu gestartet werden.
sudo reboot
Wenn das System fehlerfrei neu gestartet ist, wird das Datenverzeichnis von der MicroSD-Karte auf die SSD verschoben. Dieser Vorgang kann je nach Größe einige Minuten dauern.
sudo mv /var/www/html/nextcloud/data /media/ssd
Nun muss der Nextcloud noch mitgeteilt werden, wo sich das Datenverzeichnis befindet. Dazu gehen wir in die config.php.
Das Data-Verzeichnis befindet sich jetzt auf der externen SSD. Falls ein Upgrade ansteht, kann dieses gleich durchgeführt werden.
Nextcloud – Upgrade auf Version 30.0.2Nextcloud – DashboardFestplatte sda1
Vorschau
Im nächsten und letzten Artikel dieser Reihe möchte ich zeigen, wie man Nextcloud mit einem TURN-Server erweitert, um Videokonferenzen mit Nextcloud Talk nutzen zu können.