我有一台 Dell PowerEdge R430,从 SSD 启动 Debian。为了让系统“看到”第一个 SSD,我首先必须使用 BIOS 创建代表该物理磁盘的虚拟磁盘。这很令人沮丧 - 我不需要也不想要虚拟磁盘 - 但为了让服务器启动并运行,我很乐意接受它。
现在,我正尝试向服务器添加第二个 SSD,以获得更多存储空间。我已按照说明实际安装了驱动器这里,驱动器托架显示绿色状态灯,并且我已重新启动”万一“,但驱动器仍然没有出现在输出中lsblk
(这是我习惯于识别外部的然后使用mount
/挂载硬盘/etc/fstab
)。
我很惊讶地听到向服务器添加驱动器需要创建一个新的虚拟磁盘来代表它,因为 AFAICT 这需要访问 BIOS,而这又需要将显示器和键盘连接到服务器。
我咨询过的建议资源:
- 如何重新配置虚拟磁盘或添加其他硬盘- 描述如何添加硬盘到虚拟驱动器;但没有介绍如何直接将硬盘添加到服务器,绕过虚拟驱动器的概念。
- 之前所提热插拔说明
- PowerEdge 教程:服务器上的物理磁盘和 RAID 控制器 (PERC)是链接到前两页以及其他页面的索引。我注意到它说“RAID 控制器可以防止 [原文如此 - 大概是‘存在’] 物理磁盘组进入操作系统,可以定义数据保护方案(例如 RAID 5 或 RAID 10)来保护和保证数据完整性。“
- 这个问题这表明选择是“全有或全无”——我可以选择所有启用 RAID 的磁盘,也可以不启用。我在最初设置服务器时非常努力地绕过 RAID 设置,因此我怀疑此选项不适合我——而且,无论如何,我怀疑这会清除我在原始磁盘上现有的服务器设置,因此这不是一个有吸引力的选择(而且,再次,它需要挖出键盘和显示器才能访问 BIOS)
- 这个答案表明这是可能的,但没有说明如何实现。
- 这个答案这表明可以采取类似的方法——”它不会成为任何现有 RAID 阵列的一部分。它不会具有冗余。但 PowerEdge 将能够访问它“—(尽管这涉及的是不同型号的服务器,以及 3.5 英寸托架,而不是我正在使用的 2.5 英寸 SSD)
答案1
必填项:我在戴尔工作
为了让系统“看到”第一个 SSD,我首先必须使用 BIOS 创建代表该物理磁盘的虚拟磁盘。这很令人沮丧 - 我不需要也不想要虚拟磁盘 - 但为了让服务器正常运行,我很乐意接受它。
您所描述的是绝大多数(所有?)RAID 卡的正常行为。如果您不想要虚拟磁盘,那么理想情况下您就不需要带有 RAID 卡的服务器,因为虚拟磁盘是 RAID 卡的全部用途。不过正如 Nikita 提到的,您可以更改控制器模式。
在戴尔术语中,它被称为 HBA(主机总线适配器)模式。在 iDRAC 8 上,如果卡支持,您可以在此处执行此操作:
我很惊讶地听到向服务器添加驱动器需要创建一个新的虚拟磁盘来代表它,因为 AFAICT 这需要访问 BIOS,而这又需要将显示器和键盘连接到服务器。
不,您不必访问 BIOS 来配置 RAID。您通常分别通过 Dell/SuperMicro/HPE 的 iDRAC/IPMI/ILO 配置 RAID。
在大型数据中心,我们通常通过 redfish API 以编程方式进行配置。戴尔发布了 Terraform 模块、Ansible 模块、Python 以及标准 RESTAPI 指南 - 所有这些都将让您自动配置 RAID。您的任何大型生产环境都可以利用其中之一,通常是通过一种名为 OpenManage Enterprise 的东西。
这是一些 Python例如自动创建虚拟磁盘。
这个问题表明选择是“全有或全无” - 我要么拥有所有启用 RAID 的磁盘,要么根本没有。
正确,大多数 RAID 卡都是这样工作的。混合模式(同时执行 HBA 和 RAID 模式)确实存在,但很少见。在 2023 年,我真的想不出生产用例。以前你可能有一台用于视频处理的服务器,你可以为所有数据设置 RAID,并直接访问驱动器进行实时编辑,数据库服务器具有分层存储或缓存驱动器等,但 NVMe 驱动器成本的暴跌几乎消除了这种用例。
警告:打开 HBA 模式将清除所有现有数据。
RAID 工作原理简介
在大多数配备 RAID 的服务器中,您会看到所有驱动器都物理连接到服务器背面的 PCIe 卡中。这取决于您的具体配置,但对于戴尔,通常有一个我们称之为背板的东西,所有驱动器都从前面插入,然后有两根蓝色电缆(通常是 SAS 电缆)从该背板连接到 RAID 卡。
因此,您不能绕过 RAID 卡,因为它在电气上位于您和驱动器之间。
从 RAID 模式切换到 HBA 模式会损坏驱动器,因为 RAID 模式下数据的排列方式。RAID 的工作原理有点太长了,但 BLUF 版本是 RAID 卡根据算法以特殊方式排列数据以实现冗余。当您打开 HBA 模式时,您会禁用该算法的运行,然后直接访问驱动器。由于直接访问不知道如何读取之前存在的数据模式,它只会看到垃圾,不知道该如何处理,这意味着除了执行取证分析以重新创建原始数据之外,数据实际上已被销毁。