小编use*_*303的帖子

MongoDb热备份 - 使用fsyncLock复制数据/ db VS replicaset

我读到了不用停机时间进行备份的不同MongoDB设置.哪种策略最好或甚至可以比较?

  1. 启用日记功能并简单地复制/data/db目录 - 我不清楚这是否足够 - 在MongoDB主页上它指出你必须"快照它"并且它在SAN和LVM上工作为例.

    问题:

    快照在此上下文中的含义是复制命令计为快照吗?是否可以使用NTFS在Windows服务器上复制日记MongoDB(2.0+)数据目录?您如何确保在您自己的文件系统和设置上安全?

  2. 建立具有2个服务器和仲裁器的副本集.然后使用rs.status()fsyncLock/解锁以确保在备份时只在辅助服务器上读取数据.

    > db.fsyncLock
    function () {
        return db.adminCommand({fsync:1, lock:true});
    }
    > db.fsyncUnlock
    function () {
        return db.getSiblingDB("admin").$cmd.sys.unlock.findOne();
    }
    
    Run Code Online (Sandbox Code Playgroud)

    问题:

    如果您在副本集中使用锁,那么似乎可以为整个副本集锁定写入和读取,并且此错误尚未修复?

    如果在备份进行过程中将辅助设备投票为主设备怎么办?备份过程是否会停止,或者副本集是否会停止响应写入请求,直到它被解锁?

    注意事项:

    现在我想要简单的解决方案,只需使用日志文件复制data/ db目录并等待副本集.MongoDB在64位Windows服务器(RackSpace Cloud)上运行.

database-backups mongodb

13
推荐指数
1
解决办法
4425
查看次数

标签 统计

database-backups ×1

mongodb ×1