Articles of 主从

使用Amazon RDS(或类似的)作为奴隶

正式情况下 ,RDS实例不能直接设置为从属非RDS数据库。 我的生产大师是在Hetzner上运行的MySQL,我希望RDS实例能够紧跟其后,用于备份目的,包括在灾难恢复的情况下实际使用RDS作为临时主服务器的能力(例如,通过创build完整生产的脚本在Hetzner发生重大故障的情况下,在AWS上进行设置)。 时间点恢复能力也非常重要。 我们可以在生产主数据和RDS备份之间持续5-10分钟的时间。 我正在寻找一些关于如何通过使用一些附加工具和/或中间过程来达到或多或less相同的效果的想法。 我也开放给一个非RDS解决scheme,可以提供类似的好处(但不是在一个更高的价格)。

主从式自动故障转移策略Mysql复制 – 为什么这不起作用?

我想为这个故障转移策略提供一些反馈意见,这些故障转移策略是针对一个集群而devise的一些MySQL服务器的,我想检查一下是否有什么明显的我不会在这里丢失。 一个应用程序服务器在日常操作中连接到一个mysql主服务器,并且有一个mysql-server作为从服务器来进行主从复制。 如果mysql服务器失败,我想让web应用程序尝试连接到主服务器,然后在尝试n失败后执行以下操作: 假定主人将不再可用 向从服务器发送信号以停止复制 发送一个信号给从服务器,告诉它作为新的mysql主服务器 再次开始连接到服务器,从现在起就像主人一样对待它 一旦应用程序重新启动并为用户提供服务,我希望能够在后台启动一个新的从服务器,一旦它准备好为请求提供服务,再次设置主从服务器复制以提供相同的故障转移支持之前。 我很确定这是以前做过的,但是我看不到任何的指导,所以我假设一定有一些明显的原因,你不会尝试这个,我还没有想到。 采用这种方法提供像MySQL这样的自动故障转移有哪些缺陷? 顺便说一句,我意识到主 – 主复制,但是a)我已经看到它出错了,而且b)似乎令人担忧地过于复杂。 谢谢

如何在不重新启动进程的情况下更改MongoDB集群中的主节点?

阅读MongoDB有关如何configuration集群的主从configuration文档(我们的集群将有超过12个节点,所以不幸的是我们不能有一个副本集configuration),我怎么能促进一个奴隶没有掌握不得不停止任何进程? 有没有我们可以使用的命令,比如Redis的slaveof命令,它可以让我们在不需要重启进程的情况下促使一个奴隶主宰呢? 这是我们在MongoDB文档中find的( http://docs.mongodb.org/manual/core/master-slave/ ): 要从不可用或损坏的主站(以下示例中的A)永久故障切换到从站(B): closuresA.停止B上的mongod。备份并从dbpath中移动以B上的本地开头的所有数据文件。 警告删除本地。*是不可撤销的,不能撤消。 请谨慎执行此步骤。 使用–master选项重新启动m上的B。 注意这是一次性操作,不可逆。 A完成重新同步之前,不能成为B的奴隶。 这真的是唯一的方法吗?

你可以有多个可写的,权威的BIND DNS服务器为同一个区域,如AD集成的DNS?

在AD集成的DNS系统中,实际上并不存在一个“主”DNS服务器的概念, 所有AD集成的区域都是权威的,可以在所有DNS服务器上更新,并定期向对方发送更新。 BIND中是否有类似的方法/选项/function? 所有我读到的是设立主/从,但我不想这样做。

起搏器DRBD资源没有升级到任何节点上的主站

首先,我不是Linux专家,我一直在跟随教程,并一直在谷歌的帮助下,这工作到现在为止罚款,但目前我坚持一个问题。 我正在使用CentOS 6.5和DRBD 8.4.4版。 我有两个运行起搏器的节点,到目前为止一切正常,我build立了DRBD,我可以手动将一个节点设置为主节点,并安装DRBD资源,这样也可以工作。 现在我创build了一个起搏器资源来控制DRBD,但是它并没有促使两个节点中的任何一个节点掌握这个节点,这也阻止了它的安装。 个人电脑状态如下所示: Cluster name: hydroC Last updated: Wed Jun 25 14:19:49 2014 Last change: Wed Jun 25 14:02:25 2014 via crm_resource on hynode1 Stack: cman Current DC: hynode1 – partition with quorum Version: 1.1.10-14.el6_5.3-368c726 2 Nodes configured 4 Resources configured Online: [ hynode1 hynode2 ] Full list of resources: ClusterIP […]

BIND从站不会与主站同步,直到重新启动

我有两台运行BIND9的DNS服务器,一台主机和一台从机。 当区域文件在主服务器上更新时,我想让从服务器立即开始服务更改的logging,但是BIND给了我一些guff。 主区域和从区域之间的DNS区域传输已经正常工作。 我可以login到从服务器并运行dig @dnsmaster myzone. AXFR dig @dnsmaster myzone. AXFR并打印出该区域的全部内容。 为了做到这一点,DNS主服务器configuration了notify yes和also-notify { dnsslave } 。 同样,从站configuration了allow-transfer { dnsmaster } 。 当dnsmaster更新时,我运行rndc reload ,它告诉我通知正在发送。 这在slave上通过检查/var/named/slavedata/ 。 他们包含最新的数据,匹配主人所知道的。 现在来了怪异的一部分。 从属服务器将继续提供旧的,陈旧的DNSlogging,完全忽略在主服务器收到通知后磁盘上有新数据的事实。 我正在用dig命令检查结果: dig @slaveserver record.zone.tld 。 我以为BIND可能会保留其权威区域的内存caching,所以我设置max-cache-size和max-cache-ttl为0,但是没有效果。 我尝试了其他方法来刷新这个所谓的caching,通过在从服务器上运行诸如rndc flush和rndc reload类的命令,但它仍然返回旧的陈旧logging。 最后,我注意到该区域的MINTTL被设置为86400(24小时),所以我暂时将MINTTL改为15秒,然后重新启动从属服务器。 没有效果 – 从属服务重新启动后,只会提供更新的DNS结果。 这里发生了什么? 当接收到区域更新的通知时,BIND9的预期行为是什么? 它是否始终尊重TTL和MINTTL ? 我会假设它总是使用最新的可用数据。 在我的机智的结尾,我正在考虑设置一个crontab来重新启动BIND奴隶小时,只是为了避免提供陈旧的数据。 有更好的吗?

没有主站停机时间的MySQL从站复制重置(使用MyISAM)

问题的根源:在运行主服务器上创build从服务器的所有指令都要求flush tables with read lock 。 我们使用MyISAM,所以我们不能只使用 – 单个事务来获得一致的表数据。 奴隶失败的各种“正常”的原因 – 平均每周一次。 所以我把这个站点取消了,用读locking主表db,mysqldump(单个事务,带主logging),push到slave,复位master(用log对象),启动slave等。 要做到这一点没有主停机时间,我已经基本上尝试了相同的步骤,然后使用START SLAVE UNTIL – 然后暂停实时数据库几秒钟,而我运行SELECT MASTER_POS_WAIT(); 在奴隶。 我似乎不能让奴隶赶回去。 什么是从下面的步骤缺less(或不必要的),让从DB再次赶上主? 一个简单的start slave工作? #!/bin/bash ## mysqldump –allow-keywords –add-drop-table –comments –extended-insert –master-data \ –debug-info –single-transaction -u $LOCALDB_USER_NAME -p$LOCALDB_PASS $LOCALDB_NAME > $DBFILENAME ## get master position from file for use later echo echo "############# MASTER STATUS […]

BIND,Master,Slaves和Notify

这似乎是一个非常基本的问题,但是,主DNS服务器如何知道它的从服务器? 我的意思是,它是否parsing区域文件,并确定在哪里发送NOTIFY消息? 如果是这样的话,NOTIFY机制在隐藏的主设置中被破坏了,不是吗?

MySQL的简单复制问题:“显示主状态”产生“空集”?

我一直在按照这些说明忠实地设置MySQL主复制(在Debian 6.0.1上): http : //www.neocodesoftware.com/replication/ 我还有: mysql > show master status; 但不幸的是产生了以下结果,而不是任何有用的结果: Empty set (0.00 sec) /var/log/mysql.err的错误日志只是一个空文件,所以没有给我任何线索。 有任何想法吗? 这是我在/etc/mysql/my.cnf在一台服务器(适当地修改了其他服务器): server-id = 1 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 master-host = 10.0.0.3 master-user = <myusername> master-password = <mypass> master-connect-retry = 60 replicate-do-db = fruit log-bin = /var/log/mysql-replication.log binlog-do-db = fruit 我已经build立了用户,可以使用上面的用户名/密码/ ipaddress从服务器A上的MySQL连接到服务器B上的数据库。

是否可以使用EC2 RDS MySQL实例作为外部主设备的从设备?

我有一个主要的MySQL实例在我们的本地networking上运行,但我想知道如果我可以得到一个EC2 RDS实例复制主或被亚马逊locking?