zoukankan      html  css  js  c++  java
  • MongoDB备份工具 mongodb consistent_backup

    ##### https://github.com/Percona-Lab/mongodb_consistent_backup

    ##### 安装
    wget https://github.com/Percona-Lab/mongodb_consistent_backup/releases/download/1.1.0/mongodb_consistent_backup-1.1.0-1.el7.centos.x86_64.rpm
    rpm -ivh mongodb_consistent_backup-1.1.0-1.el7.centos.x86_64.rpm


    ** WARNING: Readahead for /home/mongodb/data1 is set to 4096KB
    ** We suggest setting it to 256KB (512 sectors) or less

    echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
    echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
    ** http://dochub.mongodb.org/core/readahead

    ###### 搭建副本集
    mongod --fork --dbpath /home/mongodb/data1 --logpath /var/log/mongodb1.log --replSet rs0 --port 27017
    mongod --fork --dbpath /home/mongodb/data2 --logpath /var/log/mongodb2.log --replSet rs0 --port 27018
    mongod --fork --dbpath /home/mongodb/data3 --logpath /var/log/mongodb3.log --replSet rs0 --port 27019


    rs.initiate( {
    _id : "rs0",
    members: [ { _id : 0, host : "127.0.0.1:27017" } ]
    })

    rs.add("127.0.0.1:27018")
    rs.add("127.0.0.1:27019")

    db.getSiblingDB("admin").createUser({
    user: "mongodb_consistent_backup",
    pwd: "123456",
    roles: [
    { role: "backup", db: "admin" },
    { role: "clusterMonitor", db: "admin" }
    ]
    })

    mongodb-consistent-backup 重要参数
    [-n BACKUP.NAME] 备份名称
    [-l BACKUP.LOCATION] 备份目录
    [-H HOST] 主机
    [-P PORT] 端口
    [-u USERNAME] 用户名
    [-p PASSWORD] 密码

    [root@localhost db]# mongodb-consistent-backup --help
    usage: mongodb-consistent-backup [-h] [-c CONFIGPATH]
    [-e {production,staging,development}] [-V]
    [-v] [-H HOST] [-P PORT] [-u USERNAME]
    [-p PASSWORD] [-a AUTHDB] [-L LOG_DIR]
    [--lock-file LOCK_FILE]
    [--sharding.balancer.wait_secs SHARDING.BALANCER.WAIT_SECS]
    [--sharding.balancer.ping_secs SHARDING.BALANCER.PING_SECS]
    [--archive.method {tar,zbackup,none}]
    [--archive.tar.compression {gzip,none}]
    [--archive.tar.threads ARCHIVE.TAR.THREADS]
    [--archive.zbackup.binary ARCHIVE.ZBACKUP.BINARY]
    [--archive.zbackup.cache_mb ARCHIVE.ZBACKUP.CACHE_MB]
    [--archive.zbackup.compression {lzma}]
    [--archive.zbackup.password_file ARCHIVE.ZBACKUP.PASSWORD_FILE]
    [--archive.zbackup.threads ARCHIVE.ZBACKUP.THREADS]
    [-n BACKUP.NAME] [-l BACKUP.LOCATION]
    [-m {mongodump}]
    [--backup.mongodump.binary BACKUP.MONGODUMP.BINARY]
    [--backup.mongodump.compression {auto,none,gzip}]
    [ --backup.mongodump.threads BACKUP.MONGODUMP.THREADS]
    [--notify.method {nsca,none}]
    [--notify.nsca.server NOTIFY.NSCA.SERVER]
    [--notify.nsca.password NOTIFY.NSCA.PASSWORD]
    [--notify.nsca.check_name NOTIFY.NSCA.CHECK_NAME]
    [--notify.nsca.check_host NOTIFY.NSCA.CHECK_HOST]
    [--oplog.compression {none,gzip}]
    [--oplog.flush.max_docs OPLOG.FLUSH.MAX_DOCS]
    [--oplog.flush.max_secs OPLOG.FLUSH.MAX_SECS]
    [--oplog.resolver.threads OPLOG.RESOLVER.THREADS]
    [--oplog.tailer.enabled OPLOG.TAILER.ENABLED]
    [--oplog.tailer.status_interval OPLOG.TAILER.STATUS_INTERVAL]
    [--replication.max_lag_secs REPLICATION.MAX_LAG_SECS]
    [--replication.min_priority REPLICATION.MIN_PRIORITY]
    [--replication.max_priority REPLICATION.MAX_PRIORITY]
    [--replication.hidden_only]

    [root@localhost mongodb]# mongodb-consistent-backup -H 127.0.0.1 -P 27017 -u mongodb-consistent-backup -p 123456 -n prodwebsite -l /home/data/db
    [2017-08-14 04:48:11,876] [INFO] [MainProcess] [Main:init:144] Starting mongodb-consistent-backup version 1.1.0 (git commit: 34818a208f53bac476c5d85c2466de8bb170ebc3)
    [2017-08-14 04:48:11,877] [INFO] [MainProcess] [Main:init:145] Loaded config: {"archive": {"method": "tar", "tar": {"compression": "gzip"}, "zbackup": {"binary": "/usr/bin/zbackup", "cache_mb": 128, "compression": "lzma"}}, "authdb": "admin", "backup": {"location": "/home/data/db", "method": "mongodump", "mongodump": {"binary": "/usr/bin/mongodump", "compression": "auto"}, "name": "prodwebsite"}, "environment": "production", "host": "127.0.0.1", "lock_file": "/tmp/mongodb-consistent-backup.lock", "notify": {"method": "none"}, "oplog": {"compression": "none", "flush": {"max_docs": 1000, "max_secs": 1}, "tailer": {"enabled": "true", "status_interval": 30}}, "port": 27017, "replication": {"max_lag_secs": 10, "max_priority": 1000}, "sharding": {"balancer": {"ping_secs": 3, "wait_secs": 300}}, "upload": {"gs": {"threads": 4}, "method": "none", "s3": {"chunk_size_mb": 50, "region": "us-east-1", "retries": 5, "secure": true, "threads": 4}}}
    [2017-08-14 04:48:11,877] [INFO] [MainProcess] [Stage:init:32] Notify stage disabled, skipping
    [2017-08-14 04:48:11,882] [INFO] [MainProcess] [State:init:135] Initializing root state directory /home/data/db/prodwebsite
    [2017-08-14 04:48:11,882] [INFO] [MainProcess] [State:load_backups:153] Found 0 existing completed backups for set
    [2017-08-14 04:48:11,883] [INFO] [MainProcess] [State:init:119] Initializing backup state directory: /home/data/db/prodwebsite/20170814_0448
    [2017-08-14 04:48:11,884] [INFO] [MainProcess] [Stage:init:32] Upload stage disabled, skipping
    [2017-08-14 04:48:11,885] [INFO] [MainProcess] [Main:run:269] Running backup in replset mode using seed node(s): 127.0.0.1:27017
    [2017-08-14 04:48:11,961] [INFO] [MainProcess] [Main:run:297] Backup method supports compression, disabling compression in archive step
    [2017-08-14 04:48:11,961] [INFO] [MainProcess] [Task:compression:38] Setting Tar compression method: none
    [2017-08-14 04:48:11,962] [INFO] [MainProcess] [Stage:run:83] Running stage mongodb_consistent_backup.Backup with task: Mongodump
    [2017-08-14 04:48:11,964] [INFO] [MainProcess] [Replset:find_primary:153] Found PRIMARY: rs0/127.0.0.1:27017 with optime Timestamp(1502698446, 1)
    [2017-08-14 04:48:11,964] [INFO] [MainProcess] [Replset:find_secondary:229] Found SECONDARY rs0/127.0.0.1:27018: {'priority': 1, 'lag': 0.0, 'optime': Timestamp(1502698446, 1), 'score': 100}
    [2017-08-14 04:48:11,965] [INFO] [MainProcess] [Replset:find_secondary:229] Found SECONDARY rs0/127.0.0.1:27019: {'priority': 1, 'lag': 0.0, 'optime': Timestamp(1502698446, 1), 'score': 100}
    [2017-08-14 04:48:11,965] [INFO] [MainProcess] [Replset:find_secondary:239] Choosing SECONDARY rs0/127.0.0.1:27018 for replica set rs0 (score: 100)
    [2017-08-14 04:48:11,967] [WARNING] [MainProcess] [Mongodump:threads:126] Threading unsupported by mongodump version 3.0.4. Use mongodump 3.2.0 or greater to enable per-dump threading.
    [2017-08-14 04:48:11,967] [WARNING] [MainProcess] [Mongodump:threads:126] Threading unsupported by mongodump version 3.0.4. Use mongodump 3.2.0 or greater to enable per-dump threading.
    [2017-08-14 04:48:11,967] [INFO] [MainProcess] [Mongodump:run:158] Starting backups using mongodump 3.0.4 (options: threads_per_dump=None, mongodump=3.0.4, git=efe71bf185cdcfe9632f1fc2e42ca4e895f93269, compression=auto)
    [2017-08-14 04:48:11,972] [INFO] [MongodumpThread-2] [MongodumpThread:run:140] Starting mongodump backup of rs0/127.0.0.1:27018
    [2017-08-14 04:48:11,982] [INFO] [MongodumpThread-2] [MongodumpThread:wait:107] rs0/127.0.0.1:27018: writing captured oplog to /home/data/db/prodwebsite/20170814_0448/rs0/dump/oplog.bson
    [2017-08-14 04:48:11,984] [INFO] [MongodumpThread-2] [MongodumpThread:run:176] Backup rs0/127.0.0.1:27018 completed in 0.01 seconds, 0 oplog changes
    [2017-08-14 04:48:15,974] [INFO] [MainProcess] [Mongodump:wait:110] All mongodump backups completed successfully
    [2017-08-14 04:48:15,975] [INFO] [MainProcess] [Stage:run:92] Completed running stage mongodb_consistent_backup.Backup with task Mongodump in 4.01 seconds
    [2017-08-14 04:48:15,976] [INFO] [MainProcess] [Stage:run:83] Running stage mongodb_consistent_backup.Archive with task: Tar
    [2017-08-14 04:48:16,008] [INFO] [MainProcess] [Tar:run:56] Archiving backup directories with pool of 1 thread(s)
    [2017-08-14 04:48:16,009] [INFO] [PoolWorker-3] [TarThread:run:41] Archiving directory: /home/data/db/prodwebsite/20170814_0448/rs0
    [2017-08-14 04:48:18,011] [INFO] [MainProcess] [Stage:run:92] Completed running stage mongodb_consistent_backup.Archive with task Tar in 2.04 seconds
    [2017-08-14 04:48:18,012] [INFO] [MainProcess] [Main:update_symlinks:167] Updating prodwebsite latest symlink to: /home/data/db/prodwebsite/20170814_0448
    [2017-08-14 04:48:18,013] [INFO] [MainProcess] [Main:run:473] Completed mongodb-consistent-backup in 6.13 sec

    ##### 恢复
    mongod --fork --dbpath /home/mongodb/data4 --logpath /var/log/mongodb4.log --port 27020
    cd /home/data/db/prodwebsite/20170814_0449
    tar -zvf rs0.tar 
    mongorestore --host 127.0.0.1 --port 27020 --oplogReplay --dir /home/data/db/prodwebsite/20170814_0531/rs0/dump/

  • 相关阅读:
    iOS10权限声明国际化
    用"僵尸对象"调试内存管理问题
    windows系统下的两个批处理命令
    解决windows系统下打开应用弹出丢失libmysql.dll的问题
    简单的cocos2dx笔试题
    解决cocos2dx 3.x 导入cocostudio的ui界面出现错位问题
    mac 使用homebrew 安装mysql
    cocos2dx for lua 简单的翻牌动画
    cocos2dx for lua A*寻路算法实现2
    解决升级mac os X EI Capitan后遇到LibclangError: dlopen(libclang.dylib, 6): image not found.的问题
  • 原文地址:https://www.cnblogs.com/hyming011/p/8251682.html
Copyright © 2011-2022 走看看