Níže uvedený příklad ukazuje, jak vytvořit skript systemd pro automatické připojení disku pod určitou cestu při restartu.
1. Zkontrolujte UUID souborového systému pomocí příkazu „blkid“.
# blkid /dev/sdb /dev/sdb: UUID="5813cd72-ff30-44bc-a7a3-27c68fe3e6c7" UUID_SUB="ccd243dc-1481-403f-aa51-1502a95cdf2f" TYPE="btrfs"
2. Potřebujeme vytvořit novou připojovací jednotku pro připojení souborového systému. Připojovací jednotky musí být pojmenovány podle adresářů přípojných bodů, které řídí. Například:bod připojení /var/lib/docker musí být nakonfigurován v souboru jednotky var-lib-docker.mount. Podrobnosti o escapovací logice používané k převodu cesty systému souborů na název jednotky naleznete na manuálové stránce 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
Možnost pro „Co“ může být UUID, LABEL, cesta k disku
3. Povolte spuštění systémové jednotky po spuštění.
# systemctl enable var-lib-docker.mount
4. Níže uvedený skript služby docker je upraven, aby bylo zajištěno, že služba by měla být spuštěna až po zavolání služby připojení.
# 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. Restartujte uzel a zkontrolujte stav servisní jednotky připojení.
# 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. Zkontrolujte bod připojení v příkazu „mount“.
# mount | grep docker /dev/sdb on /var/lib/docker type btrfs (rw,relatime,seclabel,space_cache)
Montážní jednotku nelze přidat jako součást jiné servisní operace. Dostupné systémové typy jednotek:
Soubor typu jednotky | Rozšíření | Popis |
---|---|---|
Servisní jednotka | .service | Systémová služba. |
Cílová jednotka | .target | Skupina jednotek systemd. |
Automatická montáž | .automount | Bod automatického připojení systému souborů. |
Jednotka zařízení | .zařízení | Soubor zařízení rozpoznaný jádrem. |
Montáž jednotky | .mount | Přípojný bod systému souborů. |
Jednotka cesty | .cesta | Soubor nebo adresář v systému souborů. |
Jednotka rozsahu | .scope | Externě vytvořený proces. |
Jednotka slice | .slice | Skupina hierarchicky organizovaných jednotek, které řídí systémové procesy. |
Jednotka snímku | .snímek | Uložený stav správce systemd. |
Zásuvková jednotka | .socket | Meziprocesní komunikační soket. |
Vyměnit jednotku | .swap | Odkládací zařízení nebo odkládací soubor. |
Jednotka časovače | .timer | Systémový časovač. |