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 / 问题 / 1063751
Accepted
Luca Polito
Luca Polito
Asked: 2021-05-17 12:39:32 +0800 CST2021-05-17 12:39:32 +0800 CST 2021-05-17 12:39:32 +0800 CST

用于管理 16 个磁盘冗余的 RAID 建议

  • 772

我需要有关如何为具有 16 个磁盘阵列的服务器设置 RAID 的建议(引导/操作系统磁盘在此阵列之外)。在这个 16 磁盘阵列中,所有磁盘都是相同的(12.8TB SSD)。

对我来说,理想的解决方案是至少有一半的可用空间(因此,204.8TB 中至少有 102.4TB),以及抵抗至少 8 个磁盘故障的能力(任何 8 个磁盘都应该能够在没有任何数据的情况下发生故障失利)。

无需将 102.4TB 可用空间视为单个连续卷,因此也可以将磁盘分组为单独的 RAID 卷等,只要任意 8 个磁盘可以中断而不会丢失任何数据。

我正在考虑几个解决方案,但没有一个解决方案真正让我完全满意:

  1. 第一个解决方案是具有 8 个跨度的单个 RAID 1+6 卷(76.8TB 容量,在最坏的情况下,任何 5 个磁盘都可以中断而不会丢失数据)。方案:RAID6( RAID1(D1,D2), RAID1(D3,D4), RAID1(D5,D6), RAID1(D7,D8), RAID1(D9,D10), RAID1(D11,D12), RAID1(D13,D14), RAID1(D15,D16) )

  2. 第二种解决方案是具有 2 个跨度的单个 RAID Z3+1 卷(容量为 64TB,在最坏的情况下,任何 7 个磁盘都可以中断而不会丢失数据)。方案:RAID1( RAID_Z3(D1,D2,D3,D4,D5,D6,D7,D8), RAID_Z3(D9,D10,D11,D12,D13,D14,D15,D16) )

对我来说,完美的 RAID 解决方案是八位奇偶校验 RAID(如 RAID 5 是单奇偶校验,RAID 6 是双奇偶校验,RAID Z3 是三重奇偶校验),因为这意味着 102.4TB 的可用空间和任何 8 个磁盘都可以在没有的情况下损坏数据丢失。但不幸的是,这个假设的“RAID Z8”并不存在。

提前感谢您的任何建议。

PS:在这种情况下,性能确实不是问题,因此不是要考虑的参数。

PPS:我寻求抵抗任何 8 磁盘故障的原因是因为这些磁盘将包含高度关键的任务数据。备份已经计划好了,但如果 R​​AID 卷停止工作,依赖它的几个关键任务服务器和服务也将停止工作。

PPPS:服务器本身的高可用性已经得到照顾。

raid storage high-availability
  • 2 2 个回答
  • 112 Views

2 个回答

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2021-05-19T05:01:57+08:002021-05-19T05:01:57+08:00

    尝试基于网络的冗余存储,例如 CEPH。您可以将其设置为存储每个块的 9 个副本并进行设置,以便将它们全部存储在不同的 OSD 上,因此每个副本都将在另一台设备上;在这种情况下,您确实可以移除 8 个 OSD,并且在剩余系统上仍然拥有每个块的至少一个副本。

    是的,在冗余存储方面效率非常低,但这正是您的要求。我认为这是非常夸张的,直到毫无意义。世界似乎达成共识,没有人真正需要这么多副本。火星漫游者拥有三台计算机,即使在条件极其恶劣且至少需要半年时间才能修好它们的地方,这也足够了。

    比拥有这么多静态副本更好地投资于具有实时修复能力的系统。CEPH 正是这样做的:您指定每个块需要 3 个副本,并且这些副本不能位于同一位置。现在,如果某个设备变得不可访问,系统会发现它,并且知道其中存储了哪些块;所以它立即开始重新分配它们,以便再次达到所需的冗余。您可以设置它,如果只剩下 1 个副本,它将阻止访问,因此它有机会修复(分发该副本并恢复访问)。您可以在单个集群中创建多个具有不同要求的池。如果您扩展存储,您只需添加更多 OSD。

    • 1
  2. Franco Corbelli
    2021-06-06T04:27:55+08:002021-06-06T04:27:55+08:00

    您没有指定操作系统,这是答案的基本要求。

    我个人不会采用这样的机制,因为冗余不够,恢复时间太慢。

    “备份已经计划好了,但如果 R​​AID 卷停止工作,一些依赖它的关键任务服务器和服务也将停止工作。”

    因此,我将在 FreeBSD 上使用 zfs 池(v12,不是 13 和 openzfs,对我来说还不够成熟)复制到另一台机器(如果可能的话)上的另一个池(例如使用 syncoid/sanoid)甚至便宜的 iSCSI NAS基于设备

    一种“硬件 RAID”,但“完整”(如果一台机器出现故障,可以使用另一台机器)

    事实上,单个断点/故障点不仅是体积,而且最重要的是它所连接的机器。

    此外,为了尽量减少出现任何问题的恢复时间,我从不推荐超过 8 个磁盘的卷,因为找到最多 8 个驱动器的 RAID 控制器(在 zfs 的非 RAID 模式下闪存)要容易得多。

    例如,如果具有 16 个连接器的 SAS 控制器出现故障,您会怎么做?

    您无法将磁盘连接到在紧急情况下购买的 500 美元计算机的 SATA 控制器。

    • 1

相关问题

  • Windows 文件服务器性能调优

  • SSD TRIM 的硬件 RAID 控制器支持

  • 了解磁盘队列长度

  • 使用混合磁盘突袭 0?

  • Windows Server 2008 Hyper-V 虚拟化服务器的最佳 RAID 配置?

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