GNU/Linux >> Znalost Linux >  >> Cent OS

Jak automaticky připojit souborový systém pomocí Systemd

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č.


Cent OS
  1. Jak spravovat systémové jednotky při spuštění

  2. Jak připojit souborové systémy NFS pomocí „autofs“ v CentOS/RHEL

  3. Nakonfigurujte směrovač MySQL na automatické restartování při selhání pomocí systemd

  1. Jak povolit uživatelům, kteří nejsou superuživateli, připojit jakýkoli souborový systém?

  2. Jak vypnout, když není systemd/init (např. pomocí init=/bin/bash)?

  3. Jak připojit souborový systém v prostředí pouze pro čtení?

  1. Jak připojit souborový systém, mapování uživatelských id?

  2. Jak získat klíč USB k automatickému připojení?

  3. Centos – Jak zmenšit kořenový souborový systém bez spouštění Livecd?