据我所知,RAID 控制器负责管理对 RAID 阵列的读取/写入,因为某些配置(我想到的是 5 和 10)的数据可以分片到多个驱动器上。我知道许多高端服务器将包含一个独立的 RAID 卡,专门用于此管理,如果该卡坏了……你就有麻烦了。但是,我不确定如何通过 Linux 软件 RAID 跟踪此信息。
我将首先提供引发我的问题的硬件设置的示例。
- PC001 包含四个驱动器,drive001、drive002、drive003 和 drive004
- drive001 作为非 raid 配置中的 OS 驱动器(某种 Linux 版本)存在
- drive002、drive003 和 drive004 通过 linux 软件 RAID 配置为使用 RAID 5 的 array001
问题:
- Linux 需要 array001 运行的信息存储在哪个驱动器上?drive001 还是 array001?
- 如果 drive001 出现故障,您是否能够安装带有新版本 Linux 的新 OS 驱动器 (drive005) 并继续使用 array001,就像什么都没发生一样?
答案1
我有完全相同的设置,但实际上丢失了操作系统驱动器,并且无法通过移动到新硬件等进行恢复,这是我真正喜欢 mdadm/software raid 的原因之一。
RAID 阵列的配置位于 Drive001 上(作为操作系统的一部分,文件实际上是/etc/mdadm.conf
)。
如果操作系统驱动器坏了,请更换驱动器,重新安装操作系统,更新,安装mdadm
工具,使用阵列定义重新创建/etc/mdadm.conf
,并告诉系统激活它/重新组装它。您将很快恢复正常运行。
据我回忆,当我的驱动器坏了时,我只是使用 apt-get 安装 mdadm 管理程序,dpkg 配置步骤询问启动、自动启动等所需的卷。正确回答后重新启动。只能假设它运行了类似的扫描...
以及手册页中关于扫描和组装的说明 — — 尤其是第二句话……
什么时候- 集合用于- 扫描并且没有列出任何设备,mdadm 将首先尝试组装配置文件中列出的所有阵列。如果配置中没有列出任何阵列(标记为 的除外),它将在可用设备中查找可能的阵列并尝试组装它找到的任何阵列。标记为属于给定主主机的阵列将正常组装和启动。显然不属于此主机的阵列将被赋予名称,这些名称预计不会与任何本地内容冲突,并以“自动读取”方式启动,以便在写入阵列之前不会将任何内容写入任何设备。即自动重新同步等被延迟。