it-swarm.com.de

Ubuntu Core mit Schlachtzug 1

Ich versuche meine Nextcloud auf einem Raspberry Pi 3 auf Ubuntu Core einzurichten. Ich möchte ein RAID 1-Setup haben, damit bei einem Festplattenfehler nicht alle Daten gelöscht werden (neben wöchentlichen Sicherungen wird auch eine andere Festplatte angeschlossen).

Das Problem im Moment ist, dass Ubuntu Core nicht mit mdadm geliefert wird, um das RAID zu erstellen. Außerdem scheint für mdadm kein Snap verfügbar zu sein, und natürlich können Sie das Paket nicht mit apt-get auf Ubuntu Core installieren. Ich habe jedoch festgestellt, dass ich mit "klassische Dimension" einrasten lassen apt-get verwenden kann, mdadm installieren und mdadm verwenden kann, um von meinen beiden Festplatten einen RAID 1 unter /dev/md0 Zu erstellen.

Auch in der nicht-klassischen Dimension kann ich dieses/dev/md0 verwenden und es mit systemd.mount mounten, wie beschrieben hier . So weit, ist es gut.

Das Problem ist, dass nach einem Neustart der /dev/md0 Nicht mehr existiert und systemd ausfällt - Betreff: Unit dev-md0.device ist ausgefallen - Defined-By: systemd

Ich vermute, das liegt daran, dass mdadm in dieser Umgebung nicht vorhanden ist und der Raid nach dem Neustart weg ist.

Meine Frage an Sie lautet: Gibt es überhaupt eine Möglichkeit, mit mdadm ein Raid auf Ubuntu Core zu erstellen? Und wenn ja, wie komme ich dazu? Arbeit?

Vielen Dank für Ihre Zeit.

Bearbeiten : Ich habe herausgefunden, dass ich nach einem Neustart die klassische Erweiterung mit Sudo classic Eingeben kann und in der klassischen Erweiterung den Überfall mit starten kann Sudo mdadm --assemble --scan. Gibt es vielleicht eine Möglichkeit, dies mit einem systemd-Skript zu tun?

6
Rino

Wir hatten vor einiger Zeit eine ziemlich aktive Diskussion, als wir die udisks2-Schnittstelle in snapd implementiert haben. Das Ergebnis war, dass wir keinen willkürlichen Snaps-Zugriff auf Block-Geräte gewähren wollen und allen Zugriff für diese direkt in die udisks2-Schnittstelle aufgenommen haben.

udisks2 bietet eine vermittelte Möglichkeit für alle anderen Snaps, mit Blockgeräten umzugehen, und ermöglicht im Allgemeinen auch das Arbeiten mit RAIDs. Ich sage allgemein, weil dies eine Funktion ist, die wir noch nicht überprüft haben, dass sie mit dem udisks2-Snap funktioniert, der derzeit im Store ist.

Wenn die Unterstützung für RAIDs in udisks2 funktioniert, sollten Benutzer in der Lage sein, ein RAID in einem Verzeichnis in /media Über einen dbus-API-Aufruf bereitzustellen.

Ein Nachteil ist, dass die udisks2-Schnittstelle explizit Steckverbindungen verweigert, da sie weiterhin einen privilegierten Zugriff auf das System gewährt. Jede über udisks2 gemountete Datei wird unter /media Angezeigt, und jeder Snap, der die Schnittstelle für Wechselmedien verwendet, erhält Zugriff auf dort gemountete Geräte, unabhängig davon, ob es sich um die Systempartition handelt oder nicht. So ist auch die Steckerseite eine sehr privilegierte Sache. Allerdings können Snaps eine Snap-Deklaration auf der Store-Seite anfordern, um Verbindungen zu udisks2 herzustellen.

Eine weitere Funktion, die wir mit dem udisks2-Snap unterstützen, ist das automatische Einhängen (die Dokumentation dazu wird in Kürze veröffentlicht https://docs.ubuntu.com/ ). Auf diese Weise kann ein Gerät angeben, dass Wechseldatenträger wie USB-Speichergeräte automatisch in /media Eingebunden werden sollen, wie Sie es von Consumer-Geräten wie Ubuntu Desktop kennen. Abhängig davon, wie das RAID eingerichtet ist, kann dies dazu führen, dass das RAID beim Booten in /media Eingebunden wird. Für den Automounter gelten derzeit folgende Anforderungen, um ein Gerät in Betracht zu ziehen:

  • Gerät ist kein Systemgerät (dh es ist keine Partition auf dem Gerät, von dem aus das System gebootet wird).
  • Gerät ist noch nicht montiert.
  • Gerät ist ein Wechselmedium (USB, CD/DVD).

Automounting kann aktiviert werden über:

$ snap set udisks2 automount.enable=true

wenn der udisks2 snap installiert ist.

Für eine sehr einfache, unbeschränkte Lösung können Sie einfach den udisks2-Snap installieren (vorausgesetzt, er erkennt RAID-Geräte und funktioniert gut) und eine systemd-Einheit in /etc/systemd/system/mount-my-raid.service Erstellen.

[Unit]
Description=Mount my RAID

[Service]
Exec=/snap/bin/udisks2.udisksctl mount -b /path/to/block/device

[Install]
WantedBy=multi-user.target

Dann aktiviere es über:

$ Sudo systemctl enable mount-my-raid.service

und das RAID sollte beim nächsten Systemneustart automatisch unter /media gemountet werden.

5
morphis