El siguiente ejemplo muestra cómo crear un script systemd para montar un disco en una ruta específica al reiniciar automáticamente.
1. Verifique el UUID del sistema de archivos usando el comando "blkid".
# blkid /dev/sdb /dev/sdb: UUID="5813cd72-ff30-44bc-a7a3-27c68fe3e6c7" UUID_SUB="ccd243dc-1481-403f-aa51-1502a95cdf2f" TYPE="btrfs"
2. Necesitamos crear una nueva unidad de montaje para montar el sistema de archivos. Las unidades de montaje deben tener el nombre de los directorios de puntos de montaje que controlan. Por ejemplo:el punto de montaje /var/lib/docker debe configurarse en un archivo de unidad var-lib-docker.mount. Para obtener detalles sobre la lógica de escape utilizada para convertir una ruta de sistema de archivos en un nombre de unidad, consulte la página de manual 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
La opción para "Qué" puede ser UUID, ETIQUETA, ruta al disco
3. Permita que la unidad systemd se inicie después del arranque.
# systemctl enable var-lib-docker.mount
4. La siguiente secuencia de comandos del servicio docker se modifica para garantizar que el servicio solo se inicie después de llamar al servicio de montaje.
# 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. Reinicie el nodo y verifique el estado de la unidad de servicio de montaje.
# 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. Verifique el punto de montaje en el comando "montar".
# mount | grep docker /dev/sdb on /var/lib/docker type btrfs (rw,relatime,seclabel,space_cache)
La unidad de montaje no se puede agregar para que forme parte de otra operación de servicio. Tipos de unidades systemd disponibles:
Archivo de tipo de unidad | Extensión | Descripción |
---|---|---|
Unidad de servicio | .servicio | Un servicio del sistema. |
Unidad objetivo | .objetivo | Un grupo de unidades systemd. |
Unidad de montaje automático | .montaje automático | Un punto de montaje automático del sistema de archivos. |
Unidad de dispositivo | .dispositivo | Un archivo de dispositivo reconocido por el kernel. |
Unidad de montaje | .montar | Un punto de montaje del sistema de archivos. |
Unidad de ruta | .ruta | Un archivo o directorio en un sistema de archivos. |
Unidad de alcance | .ámbito | Un proceso creado externamente. |
Unidad de rebanada | .rebanada | Un grupo de unidades organizadas jerárquicamente que gestionan los procesos del sistema. |
Unidad de instantáneas | .instantánea | Un estado guardado del administrador systemd. |
Unidad de enchufe | .socket | Un socket de comunicación entre procesos. |
Intercambiar unidad | .intercambiar | Un dispositivo de intercambio o un archivo de intercambio. |
Unidad de temporizador | .temporizador | Un temporizador systemd. |