Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – MongoDB针对持续电源故障的最佳实践大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

背景: 我在移动教练的一台机器上有一些AIO应用程序机器(运行带有rails mongodb chromium的ubuntu)来显示信息,偶尔用户可能会将某些数据中的chuck更改为mongodb. 现在,机器的电源是恒定的,教练司机可以随时关闭机器.机器有2个分区,首先是aufs for /,另一个是ext4 for mongodb / data目录.但是在停电的瞬间,没有数据输入到数据库中.
背景:

我在移动教练的一台机器上有一些AIO应用程序机器(运行带有rails mongodb chromium的ubuntu)来显示信息,偶尔用户可能会将某些数据中的chuck更改为mongodb.

现在,机器的电源是恒定的,教练司机可以随时关闭机器.机器有2个分区,首先是aufs for /,另一个是ext4 for mongodb / data目录.但是在停电的瞬间,没有数据输入到数据库中.

问题:

每次由于断电(每隔几个小时)重启机器,mongodb将在其目录中留下@L_155_4@mongod.lock文件.在/etc/rd.local中我试图在每次启动时删除锁定文件,但它有时仍然拒绝启动.导致我的应用程序失败的开始.

根据官方文件http://www.mongodb.org/display/DOCS/Durability+and+Repair,我仍有一些机会无法启动.

在上述常规电源故障情况下运行mongodb的最佳做法是什么?不抛弃额外的硬件.

解决方法

所有mongod.lock文件都告诉你,数据库一个不干净的关闭,即没有被管理员停止等.

当单独运行–repair操作时,mongod将尝试读取现有文件,写入新文件然后交换它们.完成后,它应该@L_307_8@mongod.lock文件,并启用数据库.

如果与–repairpath参数一起使用,则修复的字段将被放置在指定的修复路径中,并且可能不会删除锁定文件,因为原始数据文件尚未修复,而是已使用修复的数据和指定的路径.

使用–repairpath的可能流程:

>服务启动,日志消息通知您锁定问题,退出.

@H_304_40@mongod --dbpath=/data/db

>您运行类似于此的修复命令:

@H_304_40@mongod --dbpath=/data/db --repair --repairpath=/data/db2

并等待它完成.
>完成后,从修复的文件路径启动mongod:

@H_304_40@mongod --dbpath=/data/db2

>确认工作后,如果需要,可以删除/ data / db目录.

所有这些都可以通过不使用–repairpath选项“替换”/ data / db /中的文件来消除.

关于恢复,请查看Journaling – 这将创建一个每100毫秒刷新到持久磁盘的操作日志,当mongod启动并检测到未应用的日志文件并应用它们时,删除锁定文件,然后启动服务器.

大佬总结

以上是大佬教程为你收集整理的linux – MongoDB针对持续电源故障的最佳实践全部内容,希望文章能够帮你解决linux – MongoDB针对持续电源故障的最佳实践所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。