Linux systemd Dienst warten bis Mount erfolgt ist NFS Gluster SMB: Unterschied zwischen den Versionen
Aus znilwiki
BLinz (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<u>'''Changelog:'''</u><br> * 18.06.2024 erste Version ---- ==Vorwort== In einem Projekt haben wir die Konfigurationsdateien von diversen Programmen, z.B. <code>php.ini</code> auf eine zentrale Freigabe ausgelagert.<br> Das Problem hier war das der Dienst php8.3-fpm.service schon gestartet wurde bevor die Freigabe geladen war.<br> ---- ==Schritt 1: Herausfinden wer den Mount durchführt== Der Mountpoint ist bei mir {{Key|/storage1}}, ein Gluster-Dateisys…“) |
BLinz (Diskussion | Beiträge) |
||
Zeile 9: | Zeile 9: | ||
---- | ---- | ||
==Schritt 1: Herausfinden wer den Mount durchführt== | ==Schritt 1: Herausfinden wer den Mount durchführt== | ||
Der Mountpoint ist bei mir {{Key|/storage1}}, ein Gluster- | Der Mountpoint ist bei mir {{Key|/storage1}}, ein Gluster-System | ||
systemctl list-units --type=mount | systemctl list-units --type=mount | ||
gibt eine Liste mit allen Diensten die mounten:<br> | gibt eine Liste mit allen Diensten die mounten:<br> | ||
Zeile 34: | Zeile 34: | ||
storage1.mount | storage1.mount | ||
bedient.<br> | bedient.<br> | ||
==Schritt 2: Dienst anpassen== | ==Schritt 2: Dienst anpassen== | ||
Wir bearbeiten die passende *.service Datei:<br> | Wir bearbeiten die passende *.service Datei:<br> |
Aktuelle Version vom 18. Juni 2024, 15:56 Uhr
Changelog:
- 18.06.2024 erste Version
Vorwort
In einem Projekt haben wir die Konfigurationsdateien von diversen Programmen, z.B. php.ini
auf eine zentrale Freigabe ausgelagert.
Das Problem hier war das der Dienst
php8.3-fpm.service
schon gestartet wurde bevor die Freigabe geladen war.
Schritt 1: Herausfinden wer den Mount durchführt
Der Mountpoint ist bei mir /storage1, ein Gluster-System
systemctl list-units --type=mount
gibt eine Liste mit allen Diensten die mounten:
UNIT LOAD ACTIVE SUB DESCRIPTION > -.mount loaded active mounted Root Mount boot-efi.mount loaded active mounted /boot/efi dev-hugepages.mount loaded active mounted Huge Pages File System dev-mqueue.mount loaded active mounted POSIX Message Queue File System proc-sys-fs-binfmt_misc.mount loaded active mounted Arbitrary Executable File Formats > run-user-1000.mount loaded active mounted /run/user/1000 storage1.mount loaded active mounted /storage1 sys-fs-fuse-connections.mount loaded active mounted FUSE Control File System sys-kernel-config.mount loaded active mounted Kernel Configuration File System sys-kernel-debug.mount loaded active mounted Kernel Debug File System sys-kernel-tracing.mount loaded active mounted Kernel Trace File System Legend: LOAD → Reflects whether the unit definition was properly loaded. ACTIVE → The high-level unit activation state, i.e. generalization of SUB. SUB → The low-level unit activation state, values depend on unit type. 11 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
und wir wir sehen wird dieser Mountpoint von
storage1.mount
bedient.
Schritt 2: Dienst anpassen
Wir bearbeiten die passende *.service Datei:
nano /usr/lib/systemd/system/php8.3-fpm.service
und ändern wie folgt (in Fettschrift):
[Unit] Description=The PHP 8.3 FastCGI Process Manager Documentation=man:php-fpm8.3(8) After=network.target storage1.mount [Service] Type=notify ExecStart=/usr/sbin/php-fpm8.3 --nodaemonize --fpm-config /etc/php/8.3/fpm/php-fpm.conf ExecStartPost=-/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.3/fpm/pool.d/www.conf 83 ExecStopPost=-/usr/lib/php/php-fpm-socket-helper remove /run/php/php-fpm.sock /etc/php/8.3/fpm/pool.d/www.conf 83 ExecReload=/bin/kill -USR2 $MAINPID [Install] WantedBy=multi-user.target
Also beim After=
mit Leerzeichen anhängen.
NFS Freigabe
Wie heißt der Dienst bei einer NFS-Verbindung?
systemctl list-units | grep 'nfs'
Ausgabe (vermutlich):
nfs-client.target loaded active active NFS client services
Kommentare
<comments />