Data Protection Advisor: 데이터 저장소 서버의 pgsql_tmp 폴더에 있는 임시 파일이 빠르게 증가하여 파일 시스템에서 사용 가능한 모든 공간이 사용됨
Summary: 데이터 저장소 서버의 pgsql_tmp 폴더에 있는 파일이 빠르게 증가하여 디스크를 채웁니다.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
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 소프트웨어의 최근 업그레이드 날짜와 일치할 수 있습니다.
Cause
최근 업그레이드 중에 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 디렉토리에서 임시 파일을 생성할 수 없습니다.
Resolution
서버의 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 기술 지원 부서에 문의하십시오.
Affected Products
Data Protection AdvisorArticle Properties
Article Number: 000205495
Article Type: Solution
Last Modified: 25 May 2023
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.