Linux 서버 재부팅 후 DPA 서비스가 자동으로 시작되지 않음
요약: DPA가 루트가 아니거나 마운트된 파일 시스템에 설치된 경우 Linux 서버를 재부팅한 후 DPA(Dell Data Protection Advisor) 서비스가 자동으로 시작되지 않습니다.
증상
운영 체제 재시작 시 DPA(Data Protection Advisor) 서비스가 자동으로 시작되지 않습니다. 이 문제는 RHEL 7 이상 또는 SUSE 12 이상과 같이 systemd init 프로세스를 사용하는 Linux 시스템에 영향을 미칩니다.
이 문제는 DPA가 루트가 아니거나 마운트된 파일 시스템에 설치된 경우에 발생합니다.
원인
현재로서는 이 문제의 원인을 완전히 알 수 없습니다.
systemd 프로세스는 init.d 항목을 서비스 파일로 변환하지 않을 수 있습니다. systemd 프로세스는 원격 마운트 지점에 파일 시스템을 마운트하기 전에 먼저 서비스를 시작하려고 시도합니다. DPA가 원격 마운트 지점인 파일 시스템에 설치된 경우 DPA 서비스가 시작되지 않습니다.
해결
이 문제를 해결하려면 운영 체제가 DPA 서비스를 시작할 수 있도록 systemd 서비스 파일을 생성합니다.
환경의 APP 및 DS 서버 모두에서 다음 정보를 수집합니다.
systemctl | grep .mount
DPA가 설치된 파일 시스템을 찾습니다. 출력은 다음과 비슷한 형태입니다.
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)
다음 명령을 실행하여 DPA 초기화 파일의 위치를 확인합니다.
find / -name 'datasvc' -print
find / -name 'agentsvc' -print
find / -name 'applnsvc' -print
이러한 명령은 경로를 반환합니다. 대부분의 경우 경로는 "/etc/rc.d" 또는 "/etc/init.d"입니다.
다음 세 개의 systemd 서비스 파일을 생성합니다. 이러한 파일은 일반 텍스트 파일입니다.
datasvc.serviceapplnsvc.serviceagentsvc.service
datasvc.service
DS 서버에 datasvc.service 파일을 만듭니다. SourcePath, ExecStart 및 ExecStop 값을 시스템의 datasvc 위치로 설정합니다. "After=network-online.target"의 경우 "systemctl status |grep .mount" 명령에서 수집한 DPA가 설치된 마운트 지점의 끝에 마운트 지점을 추가합니다.
[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
APP 서버에 이 파일을 만듭니다. SourcePath, ExecStart 및 ExecStop 값을 시스템의 applnsvc 위치로 설정합니다. "After=network-online.target"의 경우 "systemctl status |grep .mount" 명령에서 수집한 DPA가 설치된 마운트 지점의 끝에 마운트 지점을 추가합니다.
[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
APP 서버와 DS 서버 모두에서 이 파일을 만듭니다. SourcePath, ExecStart 및 ExecStop 값을 시스템의 agentsvc 위치로 설정합니다. "After=network-online.target"의 경우 "systemctl status |grep .mount" 명령에서 수집한 DPA가 설치된 마운트 지점의 끝에 마운트 지점을 추가합니다. APP 에이전트와 DS 에이전트 모두에 대해 agent.service 파일을 만들어야 합니다.
[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
이러한 파일을 만든 후 datasvc.service 및 agentsvc.service 파일을 /etc/systemd/system 디렉터리 아래의 DS 서버에 복사하고 applnsvc.services 및 agentsvc.service 를 APP 서버의 /etc/systemd/system 디렉터리에 복사합니다. 모든 파일을 복사한 후 다음 단계를 순서대로 완료합니다.
-
APP 및 DS 서버 모두에서 DPA 서비스를 중지합니다.
-
시스템에서 다음 명령을 실행합니다.
systemctl enable datasvc.service systemctl enable agentsvc.service systemctl start datasvc.service systemctl start agentsvc.service
-
PowerProtect APP 어플라이언스에서 다음 명령을 실행합니다.
systemctl enable applnsvc.service systemctl enable agentsvc.service systemctl start applnsvc.service systemctl start agentsvc.service
-
DPA 서비스 상태를 확인하여 서비스가 실행 중인지 확인합니다.
-
APP 서버를 재부팅한 다음 DS 서버를 재부팅합니다.
-
다음 명령을 실행하여 서비스가 systemd:
DS server로 시작되었는지 확인합니다.systemctl status datasvc.service systemctl status agentsvc.service
APP 서버
systemctl status applnsvc.service systemctl status agentsvc.service
-
다음 명령을 실행하여 DPA 서비스 상태를 확인합니다.
dpa svc status -
DPA 서비스가 시작되지 않은 경우 3개의 파일(datasvc.service, applnsvc.service 및 agentsvc.service)에서 오류를 검토합니다.
-
오류를 수정한 후 1-7단계를 반복하여 다시 테스트합니다.