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:备份报告卡: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 软件的最近升级相对应。

原因

在最近的升级期间,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目录中创建临时文件。

解決方法

在数据存储区服务器上运行 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中的临时文件。
有关更多信息,请联系戴尔技术支持。

対象製品

Data Protection Advisor
文書のプロパティ
文書番号: 000205495
文書の種類: Solution
最終更新: 25 5月 2023
バージョン:  3
質問に対する他のDellユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。