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:备份报告卡: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] (报告)EngineMessageListener #1:备份报告卡:22b4e14e-a7a9-4b49-a244-54336df9661f) 执行查询时出错:错误。查询为:
选择t0.f_agent_name为“t0f_agent_name”,t0.f_sub_name为“t0f_sub_name”,t0.f_group_name为“t0f_group_name”,t0.f_schedule_name为“t0f_schedule_name”,t0.f_client_name为“t0f_client_name”,t0.f_policy_name为“t0f_policy_name”,t0.f_workflow_name为“t0f_workflow_name”,t0.f_workflow_jobid为“t0f_workflow_jobid”, t0.f_action_name为“t0f_action_name”, t0.f_job_name为“t0f_job_name”,t0.f_domain_name为“t0f_domain_name”,t0.f_backup_set为“t0f_backup_set”,t0.f_session为“t0f_session”,t0.f_proxy为“t0f_proxy”,t0.f_queuestart为“t0f_queuestart”,t0.f_status为“t0f_status”,t0.f_starttime为“t0f_starttime”,t0.f_endtime为“t0f_endtime”, t0.f_ntries为“t0f_ntries”,t0.f_queuestart AS f_reporterstarttime,t0.f_queuestart AS f_reporterendtime,t0.f_id为
f_id FROM view_backupjob t0...


在数据存储区日志中,将找到类似消息:
2022-11-15 07:29:49.001 GMT [7443] 错误: 无法写入文件“base/pgsql_tmp/pgsql_tmp4401.6.sharedfileset/i19081of32768.p1.0”:设备

上没有剩余空间
在/dpa/services/datastore/data/base/pgsql_tmp 目录中检查数据存储区服务器时,有许多文件夹和文件构成许多 GB 大小。
pgsql_tmp目录中第一个文件上的日期可能与 DPA 软件的最近升级相对应。

Cause

在最近的升级期间,DPA 数据存储区未针对服务器上可用的 RAM 量进行正确调整。
运行以下命令将显示以下内容:
# dpa.sh ds tune
EMC Data Protection Advisor
[INFO] Current Datastore Service tuned expecting 512MB of host memory
Command completed successfully.

512MB 值是 PostgreSQL 服务器的默认设置的典型值。
这种低内存设置导致 DPA 将查询信息写入pgsql_tmp中的临时文件。
当文件系统已满时,系统会终止该查询,该查询将保留在 tmp 文件后面,最终填满文件系统上的所有可用空间。
这导致与 SELECT 查询相关的 server.log 中的错误无法在pgsql_tmp目录中创建临时文件。

Resolution

在数据存储区服务器上运行 tune 命令,了解服务器上的 RAM 量。
例如,如果服务器配置了 64 GB RAM,请运行以下命令:
 # dpa.sh ds 将 64 GB
EMC Data Protection Advisor
Set Datastore 服务内存使用率调整为 65536 MB:确认 [Y|N]
y
数据存储区服务已成功调整。
在重新启动数据存储区服务之前,数据存储区的新内存使用将不会生效。
命令已成功完成。

重新启动数据存储区服务。
重新启动后,postgresql 进程将自动清除pgsql_tmp中的文件。
监视最新的数据存储区服务日志,当显示以下消息时,可以启动应用程序。
2022-11-15 09:19:10.003 GMT [10897] 日志:  数据库系统已准备好接受连接

随着针对数据存储区服务调整更多内存,将不需要将查询数据写入pgsql_tmp中的临时文件。
有关更多信息,请联系戴尔技术支持。

Affected Products

Data Protection Advisor
Article 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.