DPA-Services werden nach dem Neustart eines Linux-Servers nicht automatisch gestartet
Zusammenfassung: Dell Data Protection Advisor (DPA)-Services können nach einem Neustart des Linux-Servers nicht automatisch gestartet werden, wenn DPA auf einem Nicht-Root- oder gemounteten Dateisystem installiert ist. ...
Symptome
DPA-Services (Data Protection Advisor) können beim Neustart des Betriebssystems nicht automatisch gestartet werden. Dieses Problem betrifft Linux-Systeme, die den systemd-Init-Prozess verwenden, z. B. RHEL 7 und höher oder SUSE 12 und höher.
Dieses Problem tritt auf, wenn DPA auf einem Nicht-Root- oder gemounteten Dateisystem installiert ist.
Ursache
Die Ursache für dieses Problem ist derzeit nicht vollständig bekannt.
Der systemd-Prozess konvertiert init.d-Einträge möglicherweise nicht in Servicedateien. Der systemd-Prozess versucht zunächst, Services zu starten, bevor Dateisysteme auf Remote-Mount-Punkten gemountet werden. Wenn DPA auf einem Dateisystem installiert ist, das ein Remotebereitstellungspunkt ist, werden die DPA-Services nicht gestartet.
Lösung
Um dieses Problem zu beheben, erstellen Sie systemd-Servicedateien, damit das Betriebssystem die DPA-Services starten kann.
Erfassen Sie die folgenden Informationen von den APP- und DS-Servern in der Umgebung:
systemctl | grep .mount
Suchen Sie das Dateisystem, in dem DPA installiert ist. Die Ausgabe sollte der folgenden ähneln:
opt-data.mount - /opt/data Active: active (mounted) since Tue 2017-07-18 18:00:43 MSK; 5min ago Process: 742 ExecMount=/bin/mount -n -t xfs -o defaults /dev/disk/by-uuid/4d04e118-0d0a-49d4-b626-e58d1bb82a29 /opt/data (code=exited, status=0/SUCCESS)
Führen Sie die folgenden Befehle aus, um zu ermitteln, wo sich die DPA-Init-Dateien befinden:
find / -name 'datasvc' -print
find / -name 'agentsvc' -print
find / -name 'applnsvc' -print
Diese Befehle geben einen Pfad zurück. In den meisten Fällen lautet der Pfad entweder "/etc/rc.d" oder "/etc/init.d".
Erstellen Sie die folgenden drei systemd-Servicedateien. Bei diesen Dateien handelt es sich um reine Textdateien.
datasvc.serviceapplnsvc.serviceagentsvc.service
datasvc.service
Erstellen Sie die Datei datasvc.service auf dem DS-Server. Legen Sie die Werte SourcePath, ExecStart und ExecStop auf den datasvc-Speicherort auf dem System fest. Fügen Sie für "After=network-online.target" den Einhängepunkt am Ende für den Einhängepunkt hinzu, auf dem DPA installiert ist und der mit dem Befehl "systemctl status |grep .mount" erfasst wurde.
[Unit] SourcePath=/etc/init.d/datasvc Description=EMC DPA Datastore Service After=network-online.target opt-data.mount [Service] Type=forking Restart=no RemainAfterExit=yes ExecStart=/etc/init.d/datasvc start ExecStop=/etc/init.d/datasvc stop [Install] WantedBy=multi-user.target
applnsvc.service
Erstellen Sie diese Datei auf dem APP-Server. Legen Sie die Werte SourcePath, ExecStart und ExecStop auf den applnsvc-Speicherort auf dem System fest. Fügen Sie für "After=network-online.target" den Einhängepunkt am Ende für den Einhängepunkt hinzu, auf dem DPA installiert ist und der mit dem Befehl "systemctl status |grep .mount" erfasst wurde.
[Unit] SourcePath=/etc/init.d/applnsvc Description=EMC DPA Application Service After=network-online.target opt-emc-dpa.mount [Service] Type=forking Restart=no RemainAfterExit=yes ExecStart=/etc/init.d/applnsvc start ExecStop=/etc/init.d/applnsvc stop [Install] WantedBy=multi-user.target
agentsvc.service
Erstellen Sie diese Datei sowohl auf dem APP- als auch auf dem DS-Server. Legen Sie die Werte SourcePath, ExecStart und ExecStop auf den Speicherort agentsvc auf dem System fest. Fügen Sie für "After=network-online.target" den Einhängepunkt am Ende für den Einhängepunkt hinzu, auf dem DPA installiert ist und der mit dem Befehl "systemctl status |grep .mount" erfasst wurde. Sie müssen eine agent.service-Datei sowohl für den APP-Agent als auch für den DS-Agent erstellen.
[Unit] SourcePath=/etc/init.d/agentsvc Description=EMC DPA Agent Service After=network-online.target opt-emc-dpa.mount [Service] Type=forking Restart=no RemainAfterExit=yes ExecStart=/etc/init.d/agentsvc start ExecStop=/etc/init.d/agentsvc stop [Install] WantedBy=multi-user.target
Kopieren Sie nach dem Erstellen dieser Dateien die Dateien datasvc.service und agentsvc.service auf den DS-Server in das Verzeichnis /etc/systemd/system und applnsvc.services und agentsvc.service in das Verzeichnis /etc/systemd/system auf dem APP-Server. Nachdem alle Dateien kopiert wurden, führen Sie die folgenden Schritte der Reihe nach aus.
-
Beenden Sie die DPA-Dienste auf den APP- und DS-Servern.
-
Führen Sie die folgenden Befehle auf dem DS-Server aus:
systemctl enable datasvc.service systemctl enable agentsvc.service systemctl start datasvc.service systemctl start agentsvc.service
-
Führen Sie die folgenden Befehle auf dem APP-Server aus:
systemctl enable applnsvc.service systemctl enable agentsvc.service systemctl start applnsvc.service systemctl start agentsvc.service
-
Überprüfen Sie den DPA-Servicestatus, um sicherzustellen, dass die Services ausgeführt werden.
-
Starten Sie den App-Server und dann den DS-Server neu.
-
Führen Sie die folgenden Befehle aus, um zu bestätigen, dass die Services mit systemd:
DS server gestartet wurdensystemctl status datasvc.service systemctl status agentsvc.service
APP-Server
systemctl status applnsvc.service systemctl status agentsvc.service
-
Überprüfen Sie den DPA-Servicestatus mit dem folgenden Befehl:
dpa svc status -
Wenn die DPA-Services nicht gestartet wurden, überprüfen Sie die drei Dateien (datasvc.service, applnsvc.service und agentsvc.service) auf Fehler.
-
Wiederholen Sie nach der Behebung von Fehlern die Schritte 1 bis 7, um den Test erneut durchzuführen.