L'exemple ci-dessous montre comment créer un script systemd pour monter automatiquement un disque sous un chemin spécifique au redémarrage.
1. Vérifiez l'UUID du système de fichiers à l'aide de la commande « blkid ».
# blkid /dev/sdb /dev/sdb: UUID="5813cd72-ff30-44bc-a7a3-27c68fe3e6c7" UUID_SUB="ccd243dc-1481-403f-aa51-1502a95cdf2f" TYPE="btrfs"
2. Nous devons créer une nouvelle unité de montage pour monter le système de fichiers. Les unités de montage doivent être nommées d'après les répertoires de points de montage qu'elles contrôlent. Par exemple :le point de montage /var/lib/docker doit être configuré dans un fichier d'unité var-lib-docker.mount. Pour plus de détails sur la logique d'échappement utilisée pour convertir un chemin de système de fichiers en un nom d'unité, consultez la page de manuel de systemd.unit.
# vi /etc/systemd/system/var-lib-docker.mount [Unit] Description=Docker mount [Mount] What=/dev/disk/by-uuid/5813cd72-ff30-44bc-a7a3-27c68fe3e6c7 Where=/var/lib/docker Type=btrfs Options=defaults [Install] WantedBy=multi-user.target
L'option pour "Quoi" peut être UUID, LABEL, chemin d'accès au disque
3. Activez l'unité systemd à démarrer après le démarrage.
# systemctl enable var-lib-docker.mount
4. Le script de service docker ci-dessous est modifié pour s'assurer que le service ne doit être démarré qu'après l'appel du service de montage.
# cat /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network.target docker.socket var-lib-docker.mount ### Added mount unit for docker service to wait Requires=docker.socket ...
5. Redémarrez le nœud et vérifiez l'état de l'unité de service de montage.
# shutdown -r now
# systemctl status var-lib-docker.mount ● var-lib-docker.mount - Docker mount Loaded: loaded (/etc/systemd/system/var-lib-docker.mount; enabled; vendor preset: disabled) Active: active (mounted) since Tue 2016-06-07 02:06:07 IST; 54s ago Where: /var/lib/docker What: /dev/sdb Process: 416 ExecMount=/bin/mount /dev/disk/by-uuid/5813cd72-ff30-44bc-a7a3-27c68fe3e6c7 /var/lib/docker -n -t btrfs -o defaults (code=exited, status=0/SUCCESS) Jun 07 02:06:07 OL7-docker-TD systemd[1]: Mounting Docker mount... Jun 07 02:06:07 OL7-docker-TD systemd[1]: Mounted Docker mount.
6. Vérifiez le point de montage dans la commande "mount".
# mount | grep docker /dev/sdb on /var/lib/docker type btrfs (rw,relatime,seclabel,space_cache)
L'unité de montage ne peut pas être ajoutée pour faire partie d'une autre opération de service. Types d'unité systemd disponibles :
Fichier de type d'unité | Extension | Description |
---|---|---|
Unité de service | .service | Un service système. |
Unité cible | .cible | Un groupe d'unités systemd. |
Unité de montage automatique | .automount | Un point de montage automatique du système de fichiers. |
Unité de l'appareil | .appareil | Un fichier de périphérique reconnu par le noyau. |
Monter l'unité | .mount | Un point de montage du système de fichiers. |
Unité de chemin | .chemin | Un fichier ou un répertoire dans un système de fichiers. |
Unité de portée | .scope | Un processus créé en externe. |
Unité de tranche | .tranche | Un groupe d'unités organisées hiérarchiquement qui gèrent les processus système. |
Unité d'instantanés | .instantané | Un état enregistré du gestionnaire systemd. |
Unité de prise | .socket | Un socket de communication inter-processus. |
Changer d'unité | .swap | Un périphérique d'échange ou un fichier d'échange. |
Unité de minuterie | .timer | Une minuterie systemd. |