Démarrage: attendre le montage d'un disque USB Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

J'ai un "petit" soucis avec un mini serveur (une seedbox avec qbittorrent-nox) dont le contenu du dossier /home est sur un disque externe USB
Le démarrage va plus vite que le réveil du disque... Du coup la machine démarre sans des fichiers essentiels qui se trouvent dans /home.

J'avais une astuce pour que le système attende le "réveil" du disque USB au boot, mais je ne la retrouve pas...

Pour ceux qui se souviennent cette astuce me servait à l'époque ou le Wiki était hébergé sur une Alix 2d2 à la maison, il y a 10 ans... :005:
Ça doit se trouver quelque part dans un fil enterré sur .org, mais je n'ai pas trouvé...
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
Dunatotatos
Membre
Membre
Messages : 426
Inscription : 11 mai 2016, 20:56
Status : Hors-ligne

Tu peux créer un démon qui monte ce périphérique USB, et le mettre au bon niveau de init.d, ou changer tes dépendances entre services s'il tourne avec systemd. Ce serait ma façon de faire, mais certainement pas la meilleure.
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Avec systemd, normalement le démarrage attend que le disque soit accessible pendant au moins 90 secondes. Il lui faut plus de temps ?
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Merci pour vos réponse.
Le temps d'attente au démarrage n'est malheureusement pas toujours suffisant.
Je crois avoir trouvé une solution:

1) J'empêche le système de basculer sur un "recovery" si le disque n'est pas présent/monté:

# nano /etc/fstab

Code : Tout sélectionner

UUID=53e5962a-d41d-42c3-bfe5-1ab4f8d37474 /home ext4 nofail,defaults 0 2
2) J'empêche le service (qbittorrent-nox) de démarrer si la partition n'est pas montée dans /home.

# systemctl edit qbittorrent.service

Code : Tout sélectionner

[Unit]
ConditionPathIsMountPoint=/home
Le service démarre quand le montage est disponible.

J'ai trouvé une astuce intéressante dans fstab que je ne connaissais pas: x-systemd.automount
Je vais tester pendant un moment, mais apparemment ça monte automatiquement la partition sur un simple ls /point/de/montage...

L'entrée dans fstab crée un service:

Code : Tout sélectionner

# systemctl status home.automount
● home.automount
   Loaded: loaded (/etc/fstab; generated; vendor preset: enabled)
   Active: inactive (dead)
    Where: /home
     Docs: man:fstab(5)
           man:systemd-fstab-generator(8)
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

automount n'est pas vraiment fait pour attendre qu'un système de fichiers soit présent. Comme tu l'as vu, cela sert à monter un système de fichiers à la demande lors d'un accès. Il me semblerait plus logique de faire en sorte que le système de fichiers soit monté quand il est présent.

Mais je suis très surpris que le disque mette plus de 90 secondes pour être opérationnel. Je n'ai jamais vu cela dans des conditions normales (disque sain, alimentation et liaisons ok). Son alimentation ne serait pas un peu juste ? Il y a des messages du noyau pendant ce temps ?
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
Tu as raison pour automount, mais je ne connaissais pas et ça m'amusais de partager le truc.
Le disque est monté avec udev quand il est connecté. Et qbittorrent-nox démarre alors automatiquement.
Tu as raison aussi d'être surpris par le temps que le disque met parfois pour être opérationnel, c'est simplement du aux aléas du courant. J'ai souvent des coupures à la con successives. Même l'onduleur n'arrive pas toujours à suivre car le courant revient trop top ou trop tard...
Le disque est autonome pour son alimentation, donc pas de soucis de ce côté.
Je n'ai pas vu de messages particuliers dans les logs kernel.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5870
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

Solution d'un électricien: mettre un relais temporisé dans l'alim de la carte, comme ça elle ne sera alimentée que lorsque le DD aura démarré!
Pour faire plus "geek", tu pilote le relais via un RPI!
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Hello,
Ce n'est pas une mauvaise idée, mais
- je suis une quiche en électronique
- Faut rajouter un pc...
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5870
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

Tu trouves des relais temporisés tout fait. Un bon fer à souder, et ça roule ..
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Bonjour

Pour que le démarrage de ta machine attende que ton disque externe USB soit disponible,
il te suffirait simplement de ne pas utiliser l'option nofail
et donc, dans ton fichier /etc/fstab

remplacer la ligne :
UUID=53e5962a-d41d-42c3-bfe5-1ab4f8d37474 /home ext4 nofail,defaults 0 2
par :
UUID=53e5962a-d41d-42c3-bfe5-1ab4f8d37474 /home ext4 defaults 0 2
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
Non, car avec les options que tu propose si le disque n'est pas prêt au bout de 90 secondes le système démarre en mode rescue, et je ne le souhaite pas.
C'est une machine "headless" j'ai impérativement besoin d'avoir la main dessus en ssh - Sinon je galère à brancher écran/clavier dessus pour savoir ce qui déconne...
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Répondre