GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come montare automaticamente un filesystem usando Systemd

L'esempio seguente mostra come creare uno script systemd per montare un disco in un percorso specifico al riavvio automatico.

1. Verificare l'UUID del filesystem utilizzando il comando "blkid".

# blkid /dev/sdb
/dev/sdb: UUID="5813cd72-ff30-44bc-a7a3-27c68fe3e6c7" UUID_SUB="ccd243dc-1481-403f-aa51-1502a95cdf2f" TYPE="btrfs"

2. Abbiamo bisogno di creare una nuova unità di montaggio per montare il filesystem. Le unità di montaggio devono avere il nome delle directory del punto di montaggio che controllano. Ad esempio:il punto di montaggio /var/lib/docker deve essere configurato in un file unit var-lib-docker.mount. Per i dettagli sulla logica di escape utilizzata per convertire un percorso di file system in un nome di unità, vedere la pagina man di 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'opzione per "Cosa" può essere UUID, LABEL, percorso del disco

3. Abilita l'unità systemd da avviare dopo l'avvio.

# systemctl enable var-lib-docker.mount

4. Lo script del servizio Docker sottostante viene modificato per assicurarsi che il servizio venga avviato solo dopo la chiamata del servizio di montaggio.

# 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. Riavviare il nodo e verificare lo stato dell'unità di servizio di montaggio.

# 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. Verifica il punto di montaggio nel comando "mount".

# mount | grep docker
/dev/sdb on /var/lib/docker type btrfs (rw,relatime,seclabel,space_cache)

L'unità di montaggio non può essere aggiunta per far parte di un'altra operazione di servizio. Tipi di unità di sistema disponibili:

File del tipo di unità        Estensione Descrizione
Unità di servizio         .servizio Un servizio di sistema.
Unità di destinazione           .target Un gruppo di unità di sistema.
Unità a montaggio automatico        .automount Un punto di montaggio automatico del file system.
Unità dispositivo           .dispositivo Un file dispositivo riconosciuto dal kernel.
Monta unità            .mount Un punto di montaggio del file system.
Unità di percorso             .percorso Un file o una directory in un file system.
Unità ottica            .ambito Un processo creato esternamente.
Unità affettatrice            .fetta Un gruppo di unità organizzate gerarchicamente che gestiscono i processi di sistema.
Unità snapshot         .istantanea Uno stato salvato di systemd manager.
Unità presa           .socket Un socket di comunicazione tra processi.
Cambia unità             .scambia Un dispositivo di scambio o un file di scambio.
Unità timer            .timer Un timer di sistema.


Cent OS
  1. Come gestire le unità systemd all'avvio

  2. Centos:come ridurre il filesystem di root senza avviare un Livecd?

  3. Come creare un file e montarlo come filesystem?

  4. Come montare e smontare filesystem/partizione in Linux (esempi di comando di montaggio/smontaggio)

  5. Come montare i file system NFS usando "autofs" in CentOS/RHEL

Come montare Windows Share su Linux usando CIFS

Come eseguire uno script all'avvio in Debian 11

Come montare Dropbox in locale utilizzando Rclone in Linux

Come eseguire il backup del filesystem Linux utilizzando il comando dump

Come montare un filesystem Linux remoto usando SSHFS

Come installare WordPress utilizzando Auto Installer?