AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 434229
Accepted
Alex
Alex
Asked: 2012-10-03 13:50:56 +0800 CST2012-10-03 13:50:56 +0800 CST 2012-10-03 13:50:56 +0800 CST

PostgreSQL 灾难恢复选项

  • 772

我的客户有一个相当大的(总“数据”文件夹大小为 200G)的 PostgreSQL 数据库,我们正在制定灾难恢复计划。到目前为止,我们已经确定了三种不同类型的灾难:硬件中断、负载过多以及由于错误执行错误迁移(如 DELETE 或 ALTER TABLE DROP COLUMN)而导致的意外数据丢失。

前两种似乎很容易缓解,但我们无法为第三种制定好的缓解计划。我提议使用 ZFS 和频繁(每小时)快照,但如今“ZFS”意味着“OpenIndiana”,而我们的 Ops 工程师在这方面没有太多专业知识,因此使用 OpenIndiana 会带来另一个风险。同事们试图说服我,从 PostgreSQL PITR 备份恢复可以和从 ZFS 快照恢复一样快,但我非常怀疑重放,比如说,50G 的归档 WAL 可以被认为是“快速”。

我们还缺少哪些其他选择?ZFS 是唯一可行的选择吗?我们能否在 Linux 环境中获得快速的 Pg DB 恢复时间?

linux
  • 3 3 个回答
  • 1050 Views

3 个回答

  • Voted
  1. Gabriele Bartolini
    2012-10-11T15:47:28+08:002012-10-11T15:47:28+08:00

    我建议您看一下 Barman,PostgreSQL 的备份和恢复管理器,它是由我们编写的,并且在 GNU GPL 3 条款下作为开源提供。为了给您一个想法,我们在比您的数据库(7 TB)更大的数据库上使用它。1.0 版已于最近 7 月发布。已经有一个 RPM 版本,Debian 软件包正在开发中(Barman 将包含在 Ubuntu 12.10 中)。如需更多信息,请访问:www.pgbarman.org。

    • 4
  2. c2h5oh
    2012-10-03T14:27:03+08:002012-10-03T14:27:03+08:00

    重放存档的 WAL 是这里最好的选择,而且很可能是最快的。

    这是最好的,因为您可以获得整个时间表。完全没有数据丢失。对于所有类型的快照,您都会丢失数据。每小时快照意味着最坏的情况是您失去了 1 小时的数据库更改(灾难发生在下一个快照之前)。

    此外,如果您进行物理(非逻辑 - 也需要数据库快照,最适合恢复删除的表等)恢复,它是在块级别完成的并且非常快。

    • 3
  3. Best Answer
    Olav Grønås Gjerde
    2012-10-03T23:59:16+08:002012-10-03T23:59:16+08:00

    为什么 FreeBSD 不是运行 ZFS 和 PostgreSQL 的可行选择?FreeBSD ZFS 开发人员与 Illumos 团队密切合作,最近 Pawel Jakub Dawidek(第一个将 ZFS 移植到 FreeBSD 的人)添加了对 ZFS 的 SSD TRIM 支持。这很可能很快也会添加到 Illumos ZFS 代码中。

    FreeBSD 和 ZFS 的另一个优势是GEOM框架。在 Solaris 上,当整个磁盘添加到 ZFS 池时,ZFS 会自动启用它们的写缓存。当 ZFS 仅管理磁盘的离散片时不会这样做,因为它不知道其他片是否由非写缓存安全文件系统(如 UFS)管理。由于其GEOM框架,FreeBSD 实现可以处理分区的磁盘刷新,因此不受此限制。

    • 2

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve