Data Protection Advisor: 데이터 저장소 서버의 pgsql_tmp 폴더에 있는 임시 파일이 빠르게 증가하여 파일 시스템에서 사용 가능한 모든 공간이 사용됨
요약: 데이터 저장소 서버의 pgsql_tmp 폴더에 있는 파일이 빠르게 증가하여 디스크를 채웁니다.
이 문서는 다음에 적용됩니다.
이 문서는 다음에 적용되지 않습니다.
이 문서는 특정 제품과 관련이 없습니다.
모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.
증상
Postgres가 있는 데이터 저장소 서버의 파일 시스템이 거의 가득 찼습니다.
애플리케이션 서비스가 성공적으로 시작되지만 데이터를 처리하지 못하고 곧 충돌합니다.
다음 메시지는 애플리케이션 서버의 server.log에서 발견되었습니다.
2022-11-15 08:41:00,700 WARN [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (ReportEngineMessageListener #1:Backup Report Card:22b4e14e-a7a9-4b49-a244-54336df9661f) IJ000305: 연결 오류 발생:
org.postgresql.util.PSQLException: ERROR: could not create temporary file "base/pgsql_tmp/pgsql_tmp921.5.sharedfileset/i165of8192.p0.0": 디바이스
에 남은 공간이 없음위의 경고:
2022-11-15 08:41:00,704 ERROR [com.emc.apollo.jdbc.exec.SQLExecutor](ReportEng)에 오류가 발생합니다.ineMessageListener #1:Backup Report Card:22b4e14e-a7a9-4b49-a244-54336df9661f) 오류 실행 쿼리: 오류. 쿼리는 다음과 같습니다.
t0.f_agent_name "t0f_agent_name", "t0f_sub_name"로 t0.f_sub_name, "t0f_group_name"로 t0.f_group_name, "t0f_schedule_name"로 t0.f_schedule_name, "t0f_client_name"로 t0.f_client_name, "t0f_policy_name"로 t0.f_policy_name, "t0f_workflow_name"로 t0.f_workflow_name, "t0f_workflow_jobid"로 t0.f_workflow_jobid "t0f_action_name"로 t0.f_action_name t0.f_job_name "t0f_job_name", "t0f_domain_name"로 t0.f_domain_name, "t0f_backup_set"로 t0.f_backup_set, "t0f_session"로 t0.f_session, "t0f_proxy"로 t0.f_proxy, "t0f_queuestart"로 t0.f_queuestart, "t0f_status"로 t0.f_status, "t0f_starttime"로 t0.f_starttime, "t0f_endtime"로 t0.f_endtime. "t0f_ntries", t0.f_queuestart AS f_reporterstarttime, t0.f_queuestart as f_reporterendtime, view_backupjob t0에서 f_id t0.f_id "t0f_ntries
"로 t0.f_ntries.
데이터 저장소 로그에서 유사한 메시지가 표시됩니다.
2022-11-15 07:29:49.001 GMT[7443] ERROR: could not write to file "base/pgsql_tmp/pgsql_tmp4401.6.sharedfileset/i19081of32768.p1.0": 디바이스
에 남은 공간이 없음/dpa/services/datastore/data/base/pgsql_tmp 디렉토리의 데이터 저장소 서버를 확인하면 크기가 많은 GB를 구성하는 수많은 폴더와 파일이 있습니다.
pgsql_tmp 디렉토리의 첫 번째 파일의 날짜는 DPA 소프트웨어의 최근 업그레이드 날짜와 일치할 수 있습니다.
애플리케이션 서비스가 성공적으로 시작되지만 데이터를 처리하지 못하고 곧 충돌합니다.
다음 메시지는 애플리케이션 서버의 server.log에서 발견되었습니다.
2022-11-15 08:41:00,700 WARN [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (ReportEngineMessageListener #1:Backup Report Card:22b4e14e-a7a9-4b49-a244-54336df9661f) IJ000305: 연결 오류 발생:
org.postgresql.util.PSQLException: ERROR: could not create temporary file "base/pgsql_tmp/pgsql_tmp921.5.sharedfileset/i165of8192.p0.0": 디바이스
에 남은 공간이 없음위의 경고:
2022-11-15 08:41:00,704 ERROR [com.emc.apollo.jdbc.exec.SQLExecutor](ReportEng)에 오류가 발생합니다.ineMessageListener #1:Backup Report Card:22b4e14e-a7a9-4b49-a244-54336df9661f) 오류 실행 쿼리: 오류. 쿼리는 다음과 같습니다.
t0.f_agent_name "t0f_agent_name", "t0f_sub_name"로 t0.f_sub_name, "t0f_group_name"로 t0.f_group_name, "t0f_schedule_name"로 t0.f_schedule_name, "t0f_client_name"로 t0.f_client_name, "t0f_policy_name"로 t0.f_policy_name, "t0f_workflow_name"로 t0.f_workflow_name, "t0f_workflow_jobid"로 t0.f_workflow_jobid "t0f_action_name"로 t0.f_action_name t0.f_job_name "t0f_job_name", "t0f_domain_name"로 t0.f_domain_name, "t0f_backup_set"로 t0.f_backup_set, "t0f_session"로 t0.f_session, "t0f_proxy"로 t0.f_proxy, "t0f_queuestart"로 t0.f_queuestart, "t0f_status"로 t0.f_status, "t0f_starttime"로 t0.f_starttime, "t0f_endtime"로 t0.f_endtime. "t0f_ntries", t0.f_queuestart AS f_reporterstarttime, t0.f_queuestart as f_reporterendtime, view_backupjob t0에서 f_id t0.f_id "t0f_ntries
"로 t0.f_ntries.
데이터 저장소 로그에서 유사한 메시지가 표시됩니다.
2022-11-15 07:29:49.001 GMT[7443] ERROR: could not write to file "base/pgsql_tmp/pgsql_tmp4401.6.sharedfileset/i19081of32768.p1.0": 디바이스
에 남은 공간이 없음/dpa/services/datastore/data/base/pgsql_tmp 디렉토리의 데이터 저장소 서버를 확인하면 크기가 많은 GB를 구성하는 수많은 폴더와 파일이 있습니다.
pgsql_tmp 디렉토리의 첫 번째 파일의 날짜는 DPA 소프트웨어의 최근 업그레이드 날짜와 일치할 수 있습니다.
원인
최근 업그레이드 중에 DPA 데이터 저장소가 서버에서 사용 가능한 RAM 양에 맞게 올바르게 조정되지 않았습니다.
다음 명령을 실행하면 다음이 표시됩니다.
512MB 값은 PostgreSQL 서버에 대한 기본 설정의 일반적인 값입니다.
이 낮은 메모리 설정으로 인해 DPA는 pgsql_tmp 임시 파일에 쿼리 정보를 씁니다.
파일 시스템이 가득 찼을 때 시스템은 tmp 파일을 남겨 두고 있는 쿼리를 끊어 결국 파일 시스템의 모든 사용 가능한 공간을 채우게 되었습니다.
이로 인해 SELECT 쿼리와 관련된 server.log 오류가 pgsql_tmp 디렉토리에서 임시 파일을 생성할 수 없습니다.
다음 명령을 실행하면 다음이 표시됩니다.
# dpa.sh ds tune
EMC Data Protection Advisor
[INFO] 512MB의 호스트 메모리
명령이 성공적으로 완료될 것으로 예상되는 현재 데이터 저장소 서비스 조정.
EMC Data Protection Advisor
[INFO] 512MB의 호스트 메모리
명령이 성공적으로 완료될 것으로 예상되는 현재 데이터 저장소 서비스 조정.
512MB 값은 PostgreSQL 서버에 대한 기본 설정의 일반적인 값입니다.
이 낮은 메모리 설정으로 인해 DPA는 pgsql_tmp 임시 파일에 쿼리 정보를 씁니다.
파일 시스템이 가득 찼을 때 시스템은 tmp 파일을 남겨 두고 있는 쿼리를 끊어 결국 파일 시스템의 모든 사용 가능한 공간을 채우게 되었습니다.
이로 인해 SELECT 쿼리와 관련된 server.log 오류가 pgsql_tmp 디렉토리에서 임시 파일을 생성할 수 없습니다.
해결
서버의 RAM 양에 대해 데이터 저장소 서버에서 tune 명령을 실행합니다.
예를 들어 서버가 64GB RAM으로 구성된 경우 다음 명령을 실행합니다.
데이터 저장소 서비스를 다시 시작합니다.
재시작하면 pgsql_tmp 파일은 postgresql 프로세스에 의해 자동으로 지워지게 됩니다.
최신 데이터 저장소 서비스 로그를 모니터링합니다. 다음 메시지가 나타나면 애플리케이션을 시작할 수 있습니다.
2022-11-15 09:19:10.003 GMT[10897] 로그: 데이터베이스 시스템이 연결을 수락할 준비가 됨
데이터 저장소 서비스에 더 많은 메모리를 튜닝하면 쿼리 데이터를 pgsql_tmp 임시 파일에 쓸 필요가 줄어듭니다.
자세한 내용은 Dell 기술 지원 부서에 문의하십시오.
예를 들어 서버가 64GB RAM으로 구성된 경우 다음 명령을 실행합니다.
# dpa.sh ds tune 64GB
EMC Data Protection Advisor
Set Datastore service memory usage to 65536MB: [Y| 확인N]
y
데이터 저장소 서비스가 성공적으로 튜닝되었습니다.
데이터 저장소 서비스가 재시작될 때까지 데이터 저장소에 대한 새 메모리 활용도가 적용되지 않습니다.
명령이 성공적으로 완료되었습니다.
EMC Data Protection Advisor
Set Datastore service memory usage to 65536MB: [Y| 확인N]
y
데이터 저장소 서비스가 성공적으로 튜닝되었습니다.
데이터 저장소 서비스가 재시작될 때까지 데이터 저장소에 대한 새 메모리 활용도가 적용되지 않습니다.
명령이 성공적으로 완료되었습니다.
데이터 저장소 서비스를 다시 시작합니다.
재시작하면 pgsql_tmp 파일은 postgresql 프로세스에 의해 자동으로 지워지게 됩니다.
최신 데이터 저장소 서비스 로그를 모니터링합니다. 다음 메시지가 나타나면 애플리케이션을 시작할 수 있습니다.
2022-11-15 09:19:10.003 GMT[10897] 로그: 데이터베이스 시스템이 연결을 수락할 준비가 됨
데이터 저장소 서비스에 더 많은 메모리를 튜닝하면 쿼리 데이터를 pgsql_tmp 임시 파일에 쓸 필요가 줄어듭니다.
자세한 내용은 Dell 기술 지원 부서에 문의하십시오.
해당 제품
Data Protection Advisor문서 속성
문서 번호: 000205495
문서 유형: Solution
마지막 수정 시간: 25 5월 2023
버전: 3
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.