文章
Lele Yang · 八月 31 阅读大约需 3 分钟

FAQ 常见问题系列--系统管理篇 磁盘空间不足造成系统宕机——切忌手动删除Journal文件!

1 磁盘空间不足的常见情形
1)Journal所在磁盘空间不足。造成这种情况的原因有多种,比如,Mirror中备机未处于宕机状态,因此主机保留了Journal文件。
2)数据库所在磁盘空间不足。比如,集成平台上Ensemble/Health Connect/IRIS for Health的消息从未清除过,导致消息数据库DAT文件不断增大,直至将磁盘空间用尽。

我们可以看到以上两种情形下,Mirror都帮不上忙,也就是说一旦问题出现,主机和备机都没有办法立即承担起业务系统的运行,
第1)种,备机可能在故障出现前就已经宕机很长一段时间而没被发现,备机的数据很可能已经与主机严重不一致。实际上,主机之所以保留了大量的journal文件没有删除,就是为了让备机同步数据时使用。
第2)种,虽然配置了Mirror,但是消息主库正常情况下都是镜像库,在一个健康的Mirror中,备机和主机的镜像库数据保持同步,镜像库大小应当是相同的,假设主备机的硬件配置相同(这也是我们推荐的方式)那么磁盘空间不足在备机上同样存在。

2 应急措施 
切忌手动从文件系统中删除Journal文件!

以上两种情形我们都遇到过客户为了快速地腾出空间、恢复系统,第一时间手动从文件系统中将必要的Journal文件删除掉了,删除了这些Journal文件之后,尽管腾出了空间,但会造成系统无法启动,通常这个时候您会在日志文件中看到如下信息,

07/30/21-09:10:23:436 (19895) 1 1 errors during journal restore,
see messages.log file for details.
Startup aborted, entering single user mode.
Enter with 
     iris session HEALTHCONNECT -B
and Do ^STURECOV for help recovering from the errors.

您此时可以参照日志文件中的提示进行操作。如果对于以上操作有疑问,请立即联系WRC技术支持。

假如,没有更好的办法一定要删除Journal文件来腾出磁盘空间,则可尝试以下方法安全删除Journal文件,
a)使用系统工具D ^JOURNAL进行安全删除,如何使用该工具可参考如下在线文档,
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY...
b)可以手动运行一次清除Journal的定时任务。

3 如何预防?
1)日常监控系统磁盘空间使用
关于监控,在系统日志文件,IRIS版本在message.log中,其他产品版本在cconsole.log中,有关于磁盘空间使用不足的提示信息,

07/27/21-16:33:38:513 (30405) 1 [SYSTEM MONITOR] DiskPercentFull(***) Warning: DiskPercentFull = 95.00 ( Warnvalue is 95)

更多关于如何进行系统监控可参见在线文档,
Caché/Ensemble参见如下链接,章节“Caché Monitoring Guide”
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM

IRIS参见如下链接,章节“Monitoring Guide”
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM
2)定期清除消息平台上消息
您可以通过配置系统定时任务来达到这个目的,具体如何清理Production中的消息数据,可参见如下在线文档,
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG_purge

50
1 0 0 30
Log in or sign up to continue