web-dev-qa-db-fra.com

Ubuntu Core avec Raid 1

J'essaie d'installer mon Nextcloud sur un Raspberry Pi 3 sur Ubuntu Core. Je veux avoir une configuration Raid 1, donc une panne de disque n'effacera pas toutes les données (à côté des sauvegardes hebdomadaires, je le ferai avec un autre disque connecté)

Le problème actuel est que Ubuntu Core ne vient pas avec mdadm pour créer le RAID. De plus, il ne semble pas y avoir de snap disponible pour mdadm, et vous ne pouvez évidemment pas installer le paquet en utilisant apt-get sur Ubuntu Core. Cependant, j'ai trouvé qu'avec snap "dimension classique" , je peux utiliser apt-get, installer mdadm et utiliser mdadm pour créer un Raid 1 sur /dev/md0 à partir de mes deux disques.

Également dans la dimension non classique, je peux utiliser/dev/md0 et le monter à l'aide de systemd.mount, comme décrit ici . Jusqu'ici tout va bien.

Le problème est qu’après le redémarrage, le /dev/md0 n’existe plus et l’échec de systemd - Sujet: L’unité dev-md0.device a échoué - Defined-By: systemd

J'imagine que c'est parce que mdadm n'existe pas dans cet environnement et que le raid a donc disparu après le redémarrage.

Ma question est la suivante: Existe-t-il une possibilité de créer un raid sur Ubuntu Core à l'aide de mdadm? Et si oui, comment puis-je l'obtenir travail?

Merci pour votre temps.

Edit : J'ai découvert qu'après un redémarrage, je pouvais entrer l'extension classique avec Sudo classic, et dans l'extension classique, lancer le raid avec Sudo mdadm --assemble --scan. Est-il possible de faire cela en utilisant un script systemd quelconque?

6
Rino

Nous avons eu une discussion assez active il y a quelque temps lorsque nous avons implémenté l'interface udisks2 dans snapd. Le résultat était que nous ne voulions pas donner un accès instantané arbitraire à des périphériques en mode bloc, mais en ajoutant tous les accès directement à l'interface udisks2.

udisks2 offre un moyen de médiation pour tous les autres snaps afin de traiter les périphériques en mode bloc et permet généralement également de travailler avec des RAID. Je dis généralement, parce que c’est une fonctionnalité que nous n’avons pas encore vérifiée qu’elle fonctionne avec le composant logiciel enfichable udisks2 actuellement dans le magasin.

Si la prise en charge des RAID dans udisks2 fonctionne, les utilisateurs doivent pouvoir monter un RAID sur un répertoire de /media via un appel d'API dbus.

Un inconvénient est que l'interface udisks2 refuse explicitement les connexions plug car elle donne toujours un accès privilégié au système. Chaque montage effectué via udisks2 apparaîtra au-dessous de /media et chaque capture utilisant l'interface de média amovible aura accès aux périphériques montés à cet emplacement, qu'il s'agisse ou non de la partition système. Donc, même le côté prise est une chose très privilégiée. Cela dit, les instantanés peuvent demander une déclaration instantanée du côté du magasin pour obtenir des connexions à udisks2.

Une autre fonctionnalité que nous supportons avec le composant logiciel enfichable udisks2 est le montage automatique (la documentation à ce sujet sera bientôt disponible sur https://docs.ubuntu.com/ ). Cela permet à un périphérique d'indiquer qu'il souhaite que les périphériques amovibles, tels que les périphériques de stockage USB, soient automatiquement montés dans /media comme vous le connaissez depuis des périphériques grand public tels que le bureau Ubuntu. Selon la configuration du RAID, il est possible que le RAID soit monté au démarrage dans /media. Les conditions requises pour qu'un automonteur considère un périphérique sont actuellement les suivantes:

  • Le périphérique n’est pas un périphérique système (c’est-à-dire que ce n’est pas une partition sur le périphérique à partir duquel nous démarrons le système).
  • L'appareil n'est pas déjà monté.
  • Le périphérique est un périphérique amovible (USB, CD/DVD).

Le montage automatique peut être activé via:

$ snap set udisks2 automount.enable=true

lorsque la capture udisks2 est installée.

Pour une solution très simple et non confinée, vous pouvez simplement installer le composant logiciel enfichable udisks2 (étant donné qu'il détecte et fonctionne correctement avec les périphériques RAID) et créer une unité systemd dans /etc/systemd/system/mount-my-raid.service

[Unit]
Description=Mount my RAID

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

[Install]
WantedBy=multi-user.target

Puis activez-le via:

$ Sudo systemctl enable mount-my-raid.service

et le RAID doit être monté automatiquement sous /media lors du prochain redémarrage du système.

5
morphis