DPA Services Do Not Automatically Start After Reboot of a Linux Server
Summary: Dell Data Protection Advisor (DPA) services fail to start automatically after a Linux server reboot when DPA is installed on a non-root or mounted file system.
Symptoms
Data Protection Advisor (DPA) services fail to start automatically on restart of the Operating System. This issue affects Linux systems that use the systemd init process, such as RHEL 7 and later or SUSE 12 and later.
This issue is observed when DPA is installed on a non-root or mounted file system.
Cause
The cause of this issue is not fully known at this time.
The systemd process may not convert init.d entries to service files. The systemd process first attempts to start services before mounting file systems on remote mount points. If DPA is installed on a file system that is a remote mount point, the DPA services do not start.
Resolution
To resolve this issue, create systemd service files to allow the operating system to start the DPA services.
Gather the following information from both the APP and DS servers in the environment:
systemctl | grep .mount
Find the file system where DPA is installed. The output should be similar to the following example:
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)
Run the following commands to determine where the DPA init files are located:
find / -name 'datasvc' -print
find / -name 'agentsvc' -print
find / -name 'applnsvc' -print
These commands return a path. In most cases, the path is either "/etc/rc.d" or "/etc/init.d."
Create the following three systemd service files. These files are plain text files.
datasvc.serviceapplnsvc.serviceagentsvc.service
datasvc.service
Create the datasvc.service file on the DS server. Set the SourcePath, ExecStart, and ExecStop values to the datasvc location on the system. For the "After=network-online.target," add the mount point at the end for the mount point where DPA is installed which was gathered from the "systemctl status |grep .mount" command.
[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
Create this file on the APP server. Set the SourcePath, ExecStart, and ExecStop values to the applnsvc location on the system. For the "After=network-online.target," add the mount point at the end for the mount point where DPA is installed which was gathered from the "systemctl status |grep .mount" command.
[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
Create this file on both the APP and DS servers. Set the SourcePath, ExecStart, and ExecStop values to the agentsvc location on the system. For the "After=network-online.target," add the mount point at the end for the mount point where DPA is installed which was gathered from the "systemctl status |grep .mount" command. You must make an agent.service file for both the APP agent and the DS agent.
[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
After creating these files, copy the datasvc.service and the agentsvc.service files to the DS server under the /etc/systemd/system directory and the applnsvc.services and agentsvc.service to the /etc/systemd/system directory on the APP server. After all files have been copied, complete the following steps in order.
-
Stop the DPA services on both the APP and DS servers.
-
Run the following commands on the DS server:
systemctl enable datasvc.service systemctl enable agentsvc.service systemctl start datasvc.service systemctl start agentsvc.service
-
Run the following commands on the APP server:
systemctl enable applnsvc.service systemctl enable agentsvc.service systemctl start applnsvc.service systemctl start agentsvc.service
-
Check the DPA services status to ensure that the services are running.
-
Reboot the APP server then the DS server.
-
Run the following commands to confirm that the services started with systemd:
DS serversystemctl status datasvc.service systemctl status agentsvc.service
APP server
systemctl status applnsvc.service systemctl status agentsvc.service
-
Check the DPA services status with the following command:
dpa svc status -
If the DPA services did not start, review the three files (datasvc.service, applnsvc.service, and agentsvc.service) for errors.
-
After correcting any errors, repeat steps 1 through 7 to test again.