标签: replication

PostgreSQL 复制

我们不断地在办公室里讨论这个问题,这个问题不断出现。你如何处理 PostgreSQL 复制?我什至不一定在谈论高级集群,只是通过 Master-Slave、Master-MultiSlave 和 Master-Master 来保持简单。我发现为 MySQL 设置它通常非常简单。故障转移即使不完美也很简单,尤其是配置起来如此简单。我们玩过 Slony,但它有点过于动手(架构更改需要干预,新数据库需要干预等)。PGPool2 非常好,直到一个节点出现故障并且我们找不到一种优雅的方式(除了将所有东西都关闭并重新播种倒下的节点)来使复制恢复同步。基本上这就是我通常要寻找的:

  • 轻松设置(我会接受困难的设置,但易于扩展)
  • 简单的故障转移
  • 把一个倒下的节点带回来只需要时间(比如 mysql。服务器宕机了,你把它拉起来,然后等待复制赶上)
  • 架构更改不会破坏复制
  • 向服务器添加新数据库是无缝的(即像 mysql 一样,您可以复制整个数据库服务器,因此在主服务器上创建了一个新数据库,它会自动传播到从服务器)

MySQL 可以很好地处理其中的大部分,但我对 PostgreSQL 有一定的喜爱。此外,在某些情况下,这是我们唯一的选择,我们希望将复制添加到组合中。您目前使用的是什么,您对您的解决方案有何看法?我保证,这不是 MySQL 与 PostgreSQL 的对比,因为这不是我想要开始的。:)

postgresql linux replication

45
推荐指数
3
解决办法
6116
查看次数

重新加载 my.cnf 而不重启 MySQL 服务

我必须配置一个 MySQL 服务器来充当复制主机。

我修改了 my.cnf 以激活二进制日志,但现在为了重新加载配置,我必须使用/etc/init.d/mysqld restart. 问题是服务器每秒收到几个查询,我不想丢失同时到达的所有数据。

有没有办法在不重启服务的情况下重新加载配置文件my.cnf?

mysql replication

27
推荐指数
1
解决办法
4万
查看次数

在 glusterfs 中存储 Docker 卷是个好主意吗?

我目前正在考虑将我们的一些服务器和应用程序迁移到coreOS环境。我在这里看到的问题之一是持久数据的管理,因为在将容器移动到新机器时,coreOS 不处理 Docker 卷。经过一番研究,我发现glusterFS声称是一个可以解决我所有问题的集群文件系统。

我目前的想法是:我有一个 glusterFS 容器,它在我的每台 coreOS 机器上作为特权容器运行,并公开一个存储,/mnt/gluster例如。在我的Dockerfiles 中,我指定我的所有卷都应安装在此路径上。

我考虑的下一件事是哪些容器应该获得自己的卷,哪些应该共享一个。例如,每个mysql容器都有自己的卷,因为它能够自己处理复制。我不想惹这个。为同一网站提供服务的网络服务器将正确使用相同的卷来处理“用户上传的图像”等内容,因为它们无法复制这些数据。

有没有人尝试过这样的事情,或者我错过了什么?

cluster replication glusterfs docker coreos

24
推荐指数
2
解决办法
1万
查看次数

PostgreSQL 9:清空主数据库上的表是否会复制到镜像上?

运行 PostgreSQL 9.0.1,通过流式复制使一个只读镜像实例保持最新。为了减少工作时间的 IO,除了一些没有被 auto-vacuum 守护进程清理的表之外,自动清理在主数据库上是开启的。这些表是“物化视图”。

每天晚上午夜,我们都会对数据库进行清理,以清理那些被排除在自动清理之外的表。我想知道这个过程是否会复制到镜子上,或者我是否还需要在镜子上设置真空?

postgresql replication

20
推荐指数
1
解决办法
9469
查看次数

MySQL 复制有多快?

我正在考虑设置我们的 mysql 数据库的复制,以便能够在我们的每个分支机构拥有本地从设备,同时在主办公室拥有主设备以提高我们分支机构的应用程序性能(显着)。

db 本身并不是那么大(<1gb),但我想知道;考虑 200-300 条记录更新/分钟上限:复制速度有多快?(假设,首先,一个 5mb 通用 dsl 连接,必要时更快 - 试图保持尽可能低的成本,但钱是有更多的)

是否批量复制整个表?复制是否按需完成,因为表中的每条记录都被更新(从文档中,我想我看到它是可配置的)?

笔记:

  • 我正在考虑按照此处的文档设置 1 个主站、2 个从站(目前为 2 个分支机构),但它是一个应用程序,而不是 Web 客户端
  • 在主服务器上完成的任何更新都需要在 <10 分钟内复制到其他从服务器。
  • 所有这些都假设我可以让我们的 ORM(DevExpress XPO)对从从站读取和写入主站的概念感到满意。

mysql performance replication

18
推荐指数
1
解决办法
9708
查看次数

Postgres 的可用多主复制?

  1. 我尝试了 Postgres-XC,但它还没有实现完整的 SQL(如 SERIAL)

  2. Postgres-R 看起来很有趣,但根据开发人员的说法,它“尚未准备好生产”。

所以我使用了 pgpool-II 3.0.1。是的,它工作得很好。但据我所知,它仅适用于 2 个 PG 节点。

有没有什么东西实际上已经准备好生产并且能够与多个 PG 节点一起工作?

postgresql replication

16
推荐指数
2
解决办法
1万
查看次数

在世界的另一端开设分公司

在这个问题上切入正题,因为我正在寻求尽可能多样化的解决方案,所以不想过多地影响任何意见。

  • 客户是一家英国公司。
  • 组织是 95% 带有 AD 的 Windows
  • 他们的 IT 政策是尽可能少地保留“本地”基础设施,因此他们有一条 1Gbps 的线路连接到容纳所有服务器基础设施的数据中心。
  • 无法证明高速链接合理的英国分支机构运行本地服务器和 Windows DFS,以便通过同步快速访问文件 - 工作正常。
  • 该公司已决定在澳大利亚悉尼开设办事处。
  • 目前,他们在这个办公室有 20 人,还有 1 个人在全国“存在”。
  • 他们在访问英国的延迟和带宽方面都存在问题。他们办公室的典型测试在天气好的时候通常不超过 4Mbps 和 320ms。
  • 高延迟阻碍了终端服务的使用。
  • 他们需要访问许多与英国员工相同的数据。

我们已经有了很多想法,但我想知道 ServerFault 的用户将如何解决这个问题。随意问的问题 :)

windows replication wide-area-network network-share infrastructure

16
推荐指数
1
解决办法
579
查看次数

DRBD 是 Linux 唯一可行的块复制解决方案吗?

我发现自己需要块级别​​的冗余存储。文件级复制(Gluster、GFS 等)不适用于我的用例。

看起来 DRBD 是块复制的首选解决方案。似乎没有太多其他理智的选择。我的研究失败了,还是 DRBD 是城里唯一的游戏?

linux replication block-device

15
推荐指数
2
解决办法
2万
查看次数

MySQL 复制性能

我在两台机器之间的 MySQL 5.5 复制性能方面遇到了严重问题,主要是带有基于语句的复制的 myISAM 表。二进制日志和 mysql 数据目录都位于同一个 Fusion ioDrive 上。

最近当我们需要暂停复制大约时,这个问题是一个大问题。3小时。在没有其他负载的情况下,大约需要 10 个小时才能再次赶上。

10小时赶上

如何提高复制的性能?机器 B 基本上是空闲的(很少,IO,16 个内核中有 2 个最大化,大量空闲 RAM),因为只有 1 个 mySQL 线程正在写入数据。以下是我的一些想法:

  • 切换到基于行的复制。在测试中,这只产生了 10-20% 的性能提升
  • 使用多线程复制升级到 mySQL 5.6。我们可以轻松地将数据拆分到单独的数据库中,基准测试似乎表明这会有所帮助,但代码似乎还没有准备好投入生产。
  • 一些有助于加速复制的配置变量

主要问题是,如果在暂停 3 小时后需要 10 小时才能赶上,这意味着复制在 10 小时内写入 13 小时的数据,或者能够以数据传入速度的 130% 写入。我正在寻找近期至少要在Master机器上双写,所以迫切需要一种提高复制性能的方法。

机器A:

  • 掌握
  • 24GB 内存
  • 1.2TB Fusion ioDrive2
  • 2 个 E5620
  • 千兆互连

my.cnf

[mysqld]
server-id=71
datadir=/data_fio/mysqldata
socket=/var/lib/mysql/mysql.sock
tmpdir=/data_fio/mysqltmp

log-error = /data/logs/mysql/error.log
log-slow-queries = /data/logs/mysql/stats03-slowquery.log
long_query_time = 2
port=3306

log-bin=/data_fio/mysqlbinlog/mysql-bin.log
binlog-format=STATEMENT
replicate-ignore-db=mysql

log-slave-updates = true

# Performance …
Run Code Online (Sandbox Code Playgroud)

mysql performance myisam replication

15
推荐指数
1
解决办法
6780
查看次数

Windows Server:在没有 DFS 的情况下复制文件夹?

通过阅读 DFS 文档,AD 似乎是必需的。

这对我们来说是个问题,因为我们的服务器要么是独立的(不在 AD 中),要么是我们托管服务 AD 的一部分,而 AD 不在我们的掌控之中。

问题是:当服务器处于以下状态时,如何进行 DFS 或类似 DFS 的操作:

  1. 在不同的 DC 中,以及
  2. 不在任何有用的广告中

机器是 Win2012-R2 和/或 Server 2016

希望在接近分钟的基础上自动镜像跨机器的 tlog 备份和 sql 备份。

windows replication dfs windows-server-2012-r2

15
推荐指数
3
解决办法
5613
查看次数