Démontage paresseux ou démontage d'un disque occupé sous Linux

19

J'ai lu qu'il est possible de «démonter» un disque qui est autrement occupé en utilisant l'option «paresseux». La page de manuel a ceci à dire à ce sujet:

umount - démonter les systèmes de fichiers

-l Démontage paresseux. Détachez maintenant le système de fichiers de la hiérarchie du système de fichiers et nettoyez toutes les références au système de fichiers dès qu'il n'est plus occupé. Cette option permet de démonter un système de fichiers "occupé". (Nécessite le noyau 2.4.11 ou une version ultérieure.)

Mais à quoi cela servirait-il? J'ai réfléchi à la raison pour laquelle nous démontons les partitions:

  1. Pour retirer le matériel
  2. Pour effectuer des opérations sur le système de fichiers qui ne seraient pas sécuritaires lors du montage

Dans l'un ou l'autre de ces cas, tout ce qu'un démontage «paresseux» sert à mon humble avis est de rendre plus difficile de déterminer si le disque est vraiment démonté et vous pouvez réellement procéder à ces actions. La seule application pour umount -lsemble être pour les utilisateurs inexpérimentés de «sentir» qu'ils ont accompli quelque chose qu'ils n'ont pas fait.

Pourquoi utiliseriez-vous un démontage paresseux?

deed02392
la source

Réponses:

10

Parce que vous êtes paresseux - vous souhaitez démonter une fois les opérations sur le disque terminées.

Voici un scénario plausible:

Vous utilisez rsyncpour effectuer vos sauvegardes et vous en aller. Vous pouvez umount -lle disque et une fois qu'il est terminé de copier et synchronisé, il se démonte, de sorte que lorsque vous revenez après une pause (vous savez que cela prendra plus de temps que la sauvegarde), vous pouvez simplement débrancher le disque au lieu d'avoir à tripoter à nouveau le clavier .

Broam
la source
Si vous étiez paresseux, vous voudriez sûrement gagner PLUS de temps en n'ayant pas à utiliser l'argument, car une fois que vous êtes revenu, vous saviez que vous pouviez le démonter immédiatement maintenant que la sauvegarde était terminée? Ou faire démonter la partie disque des opérations post-sauvegarde?
deed02392
Pensez-y de cette façon: le disque n'est plus occupé - démontez-le maintenant. Il n'est plus monté, donc rien d'autre ne peut y écrire. C'est "fais ça quand tu peux" au lieu de commettre des erreurs.
Broam
Alors, comment savez-vous quand les opérations sur le disque sont terminées? Voir cet exemple (bug?) De pouvoir écrire un fichier sur un système de fichiers déjà non monté
Tom Hale
5

Ceci est en fait implémenté pour gagner plus de temps pour effectuer des tâches de suivi dans les tâches administratives.

Si d'autres tâches, indépendantes de celle-ci, sont en attente dans le pipeline, alors vous pouvez démonter paresseusement et continuer avec d'autres dans le lot.

Exemple : la tâche 1 et la tâche 2 sont deux tâches administratives planifiées consécutivement.

Tâche 1 Sauvegarde quotidienne

Celui-ci copie un grand nombre de fichiers d'une partition de projet vers une partition de sauvegarde, par exemple, / mnt / backupProj, qui sera montée à la volée et démontée à la fin de cette tâche. La copie prend beaucoup de temps.

Tâche 2 Mettre à jour les vues SQL

Effectue une série de mises à jour de la vue de la base de données sur un serveur dédié.

La tâche 2 est évidemment complètement indépendante de la tâche 1, nous pouvons donc lazy-unmount / mnt / backupProj sans attendre la fin de la tâche de sauvegarde.

Bora
la source
1
Pouvez vous donner un exemple? Dans quelle situation cela gagnerait-il / gagnerait-il du temps?
deed02392
4

J'utilise umount paresseux dans les cas où il était évidemment bloqué pour diverses raisons (comme le serveur nfs en panne), également lorsque j'ai besoin de voir le contenu original du répertoire qui a été monté par le montage. Dans les deux cas, la monture est occupée. Je pense qu'il existe d'autres cas de bord, mais ces 2 sont les raisons les plus courantes pour lesquelles j'ai utilisé l'option.

johnshen64
la source
Le recommande --forcepour le cas NFS.
Tom Hale
3

Considérez un montage de liaison comme vous pouvez le voir lorsque vous travaillez avec chroot:

mount --rbind /proc /mnt/proc
# do stuff
umount /mnt/proc

Si vous avez un démon sur votre système qui interroge constamment /proc(je vous regarde ksysguardd), vous ne pourrez pas umount /mnt/proc. Lazy vous laissera umountdans ce cas.

goertzenator
la source
Pourquoi ne pas utiliser --forceici à la place?
Tom Hale
2

Les clés USB sont parfois bloquées en raison d'une défaillance matérielle. Même si vous reconnectez physiquement le lecteur, vous obtenez un autre nom d'appareil. L'ancien nom d'appareil ne peut pas être démonté normalement. montant -l a forcé l'entrée morte à disparaître.

user296968
la source
1

Supposons que vous ayez vraiment besoin de modifier le volume sur lequel un logiciel écrit un journal, par exemple un serveur Web, mais il a beaucoup de trafic et ne peut pas être désactivé pour l'opération, ni le chemin de journalisation ne peut être modifié.

Avec le démontage paresseux, vous pouvez démonter le volume en toute sécurité pendant que le logiciel est toujours en cours d'exécution, monter un autre volume sur ce même point de montage et commander au logiciel de rouvrir les fichiers.

Idéalement, puisque vous n'avez pas eu besoin d'éteindre le logiciel, aucune demande n'a été perdue et essentiellement aucune entrée de journal n'a été perdue non plus, car elles étaient toujours écrites sur l'ancien montage jusqu'à la réouverture des fichiers (dans quelle mesure le logiciel gère-t-il la réouverture du dépend du logiciel).

En paraphrasant la page de manuel, cela signifie que si le volume a des fichiers ouverts lorsqu'il est démonté paresseux, en réalité il reste monté mais n'est pas accessible via le système de fichiers et n'est vraiment démonté que lorsque le dernier fichier ouvert est fermé.

Tuomas Salomäki
la source
1
Merci, cela ressemble à une application utile. Est-ce que lsofmontrer les fichiers ouverts sur l'ancien point de montage? Je me demande aussi comment différencierait-il les fichiers ouverts de l'ancien volume et du nouveau?
deed02392
0

J'utilise encfs pour crypter une partie de mes données sensibles.

Lorsque le disque est monté, nautilus crée des aperçus (je pense, je ne suis pas sûr) et verrouille les fichiers. Lorsque je veux le démonter, il indique qu'il est verrouillé par un autre processus.

En le démontant paresseusement, le dossier disparaît de ma hiérarchie et est caché. Et lorsque le processus d'arrière-plan se termine, il est démonté avec succès.

jehon
la source