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 / 问题 / 1160191
Accepted
Izzo
Izzo
Asked: 2024-05-31 00:33:02 +0800 CST2024-05-31 00:33:02 +0800 CST 2024-05-31 00:33:02 +0800 CST

RAID 控制器是否对各个磁盘上的分区表视而不见?

  • 772

我很好奇分区(和分区表)的概念如何与 RAID 阵列的概念共存。以下是我目前的理解(如有错误请指正):

物理硬盘驱动器磁盘可以分为多个段。分区表位于磁盘空间的开头,用于描述磁盘空间的分区方式。有多种分区表类型(MBR、GPT...)

RAID 阵列是由多个硬盘驱动器磁盘(即阵列)组成的单个“物理卷”。对于操作系统来说,这显示为单个物理设备。此外,该RAID阵列可以作为一个整体进行分区。

所以我的问题 - 如果您将物理磁盘添加到 RAID 控制器,该 RAID 控制器会自动劫持每个物理磁盘并清除/重写单个磁盘分区表,以便它控制整个设备吗?或者 RAID 控制器是否意识到单个驱动器可能会被分区?

raid
  • 4 4 个回答
  • 987 Views

4 个回答

  • Voted
  1. Best Answer
    tsc_chazz
    2024-05-31T00:53:39+08:002024-05-31T00:53:39+08:00

    通常,硬件 RAID 控制器不知道磁盘上的任何分区 - 它假设如果您将磁盘添加到阵列,它会完全拥有该磁盘,并在其想要的位置写入自己的(可能是专有的)控制结构。它不一定将插入的磁盘添加到阵列中 - 例如,您可以在一个硬件控制器上定义多个阵列,并且必须手动选择新磁盘进入哪个阵列 - 因此您可以在一个硬件控制器上拥有独立的单个磁盘许多硬件 RAID 控制器。 (我猜您可以将它们视为单驱动器 RAID0 阵列。)由于硬件 RAID 控制器位于物理驱动器硬件和操作系统最低级别之间,因此它将不知道操作系统选择遵循哪种分区方案。

    那么控制器会破坏您设置的任何分区吗?是的,但不是自动的;对于我曾经使用过的每个控制器,磁盘上的分区都会保留在那里,直到您手动告诉控制器将磁盘添加到现有阵列。 RAID 控制器是否意识到单个驱动器可能被分区这一事实?不,他们不是。

    • 5
  2. Nikita Kipriyanov
    2024-05-31T00:54:35+08:002024-05-31T00:54:35+08:00

    所以我的问题 - 如果您将物理磁盘添加到 RAID 控制器,该 RAID 控制器会自动劫持每个物理磁盘并清除/重写单个磁盘分区表,以便它控制整个设备吗?或者 RAID 控制器是否意识到单个驱动器可能会被分区?

    不,不。它们中的大多数并不关心磁盘的内容,除了 RAID 超级块。他们不解释分区表;分区表与 RAID 中的其他数据没有什么不同,它发生在 RAID 阵列数据区域中。

    他们关心的是,如果数据写入双磁盘 RAID1,则数据会同时写入两个磁盘,如果读取,则从其中一个磁盘读取数据,如果出现问题,读取将重定向到另一个磁盘。

    如果磁盘上有数据,则在创建阵列期间可能会擦除(通过“初始化”)或保留数据,您可以选择其中一种方式。如果保留,由于虚拟磁盘的大小与原始设备的大小不同(对于双磁盘 RAID1 来说稍小,或者对于双磁盘 RAID0 来说几乎是物理磁盘的两倍,等等),分区表可能会变得无效(这主要适用于 GPT)。如果磁盘有不同的数据并且您选择不擦除数据区域,则将随机决定读取哪个数据区域,并且 RAID 检查将揭示并报告这种可以说是非常不希望的情况。因此,如果您确定磁盘包含相同/同步的数据(特别是,它们是全新的且填充了零,并且您正在构建 RAID0 或 RAID1;对于 RAID5 和 6,您必须擦除/初始化全新的磁盘),您应该只选择不擦除。 ,因为当数组归零时它们的奇偶校验数据不为零)。

    • 3
  3. peterh
    2024-05-31T15:11:47+08:002024-05-31T15:11:47+08:00

    扩展其他答案:重要的是要看看什么是磁盘。

    磁盘是一组数据块,我们可以对其进行读写。

    仅此而已。任何更多的东西都只会成为麻烦的根源。

    我们没有义务在磁盘上拥有分区表(任何格式的分区表),但在许多情况下,事实并非如此。

    拥有分区表和分区已经是一个抽象:在单个物理磁盘上拥有多个类似磁盘的东西(分区)。

    Raid 并不需要这一切。它可以,并且可以想象一些噩梦般的raid控制器,其行为受到子节点分区表的影响,希望我们中没有人需要处理这样的事情。

    • 3
  4. Chris Cox
    2024-06-01T19:53:59+08:002024-06-01T19:53:59+08:00

    传统的硬件 RAID 与文件系统无关,它在块级别工作。它将其阵列作为单个设备呈现给操作系统,然后可以对其进行分区和格式化。

    当您添加磁盘时,控制器将根据阵列的模式向其写入数据,通常以 128-256kb 宽的条带跨磁盘写入。该条带包含分区表、分区本身以及所有内容。就操作系统而言,它处理的是单个磁盘,而就 RAID 控制器而言,它只是将数据分布在磁盘上,并不关心数据是什么。

    • 0

相关问题

  • 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