我们有一台运行 CentOS 的 Dell PowerEdge T410 服务器,其 RAID-5 阵列包含 5 个希捷 Barracuda 3 TB SATA 磁盘。昨天系统崩溃了(我不知道具体是怎么回事,也没有任何日志)。
启动到 RAID 控制器 BIOS 后,我看到在 5 个磁盘中,磁盘 1 标记为“丢失”,磁盘 3 标记为“降级”。我强制备份磁盘 3,并用新硬盘驱动器(相同大小)替换磁盘 1。BIOS 检测到这一点并开始重建磁盘 1 - 但是它卡在了 %1。旋转进度指示器整晚都没有移动;完全冻结。
我在这里有哪些选择?除了使用一些专业的数据恢复服务,还有什么方法可以尝试重建?两个硬盘怎么会同时出现故障?似乎过于巧合。是否有可能是磁盘 1 发生故障,从而导致磁盘 3“不同步”?如果是这样,是否有任何实用程序可以用来“同步”恢复它?
当我在 Linux 中时,我可以从lsblk(从输出中删除不相关的驱动器)获取以下信息:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298G 0 disk
sdb 8:16 0 2.7T 0 disk
Run Code Online (Sandbox Code Playgroud)
当我手动将驱动器从服务器中拉出时,我可以看出我实际使用了以下驱动器:
0 Seagate 320GB
1 Seagate 320GB
2 Hitachi 1TB
3 Hitachi 1TB
4 Hitachi 1TB
5 Hitachi 1TB
6 [empty]
7 [empty]
Run Code Online (Sandbox Code Playgroud)
因为服务器中的物理存储空间多于 Linux 中的可用空间,这意味着我显然在使用某种形式的 RAID 系统。通过一些数学运算,我通常可以弄清楚正在使用哪种类型的 RAID 系统。
有没有办法让我检测我是否在 Linux 内部使用硬件 RAID ,并找出有关它的所有信息(例如 RAID 类型、可用驱动器),而无需关闭服务器、物理拔出驱动器,并阅读他们的标签?
这些信息可以从 Linux 内部收集,还是硬件 RAID 的目的是使底层系统对操作系统“不可见”?
我正在设置两个新的 4TB 硬盘驱动器的 RAID1 阵列。
我以前在某个地方听说过,将同时购买的新相同硬盘驱动器制作成 RAID1 阵列会增加它们在相似时间点发生故障的可能性。
因此,我正在考虑单独使用其中一个硬盘驱动器一段时间(可能是几周),以尝试减少两者在短时间内出现故障的可能性。(未使用的驱动器将保持断开连接在抽屉中)
这似乎是一种合理的方法,还是我更有可能只是在浪费时间?
我们最近注意到我们的数据库查询运行时间比平时长得多。经过一些调查,看起来我们的磁盘读取速度非常慢。
过去我们遇到过类似的问题,由 RAID 控制器在 BBU 上启动重新学习周期并切换到直写。这次似乎不是这样。
我在bonnie++几天内跑了几次。结果如下:
22-82 M/s 的读取速度似乎非常糟糕。dd在原始设备上运行几分钟,显示读取速度为 15.8 MB/s 到 225 MB/s(请参阅下面的更新)。iotop并不表示有任何其他进程在竞争 IO,所以我不确定为什么读取速度如此可变。
RAID 卡是 MegaRAID SAS 9280,具有 RAID10 中的 12 个 SAS 驱动器(15k,300GB)和 XFS 文件系统(在 RAID1 中配置的两个 SSD 上的操作系统)。我没有看到任何 SMART 警报,阵列似乎也没有降级。
我也运行过xfs_check,似乎没有任何 XFS 一致性问题。
接下来的调查步骤应该是什么?
Ubuntu 12.04.5 LTS
128GB RAM
Intel(R) Xeon(R) CPU E5-2643 0 @ 3.30GHz
Run Code Online (Sandbox Code Playgroud)
的输出xfs_repair -n:
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- …Run Code Online (Sandbox Code Playgroud) 我想在旧电脑上构建一个低端 6TB RAID 1 存档。
MB: Intel d2500hn 64bit
CPU: Intel Atom D2500
RAM: 4GB DDR3 533 MHz
PSU: Chinese 500W
NO GPU
1x Ethernet 1Gbps
2x SATA2 ports
1x PCI port
4x USB 2.0
Run Code Online (Sandbox Code Playgroud)
我想在 Linux 上构建一个 RAID1 存档(我认为是 CentOS 7,然后我会安装我需要的所有东西,我认为ownCloud或类似的东西),我将在我的家庭本地网络中使用它。
10-20 美元的RAID PCI 控制器还是软件RAID 更好?
如果软件raid比较好,我在CentOS上应该选择哪个?是将系统放在外部 USB 上并在连接器上使用 2 个磁盘,还是应该将系统放在一个磁盘中然后创建 RAID?
如果我要做 3 个磁盘的 RAID 5,我应该选择硬件 raid PCI 还是简单的 PCI SATA 连接器?
我有几台运行 Windows 2008 和 Red Hat 5 的服务器,它们能够进行硬件 RAID。如何检查是否配置了硬件 RAID?
我想知道 BBU 的目的是什么。我的第一个理解是,它使缓存能够在断电期间将数据写入磁盘。但是一些规范说 BBU 可以保存其数据长达 72 小时。我希望数据能在几毫秒内写入光盘(假设光盘仍然有电)。
那么,BBU 是否应该不仅保护缓存,还要保护整个磁盘几秒钟?这不是更安全,因为缓存数据被写入磁盘而不是在缓存中等待再次通电吗?大约一秒钟后,光盘可以关闭。
我试图理解为什么要在突袭卡中添加电池组。在我看来,如果断电,只运行 RAID 卡不会有什么好处:如果没有为 HD 和主板供电,写入内存数据无论如何都行不通,对吧?
此外,没有 UPS 会促进这一点吗?
我所在的环境包含许多配备Adaptec和LSI MegaRAID硬件 RAID 控制器的Supermicro服务器。这些控制器包含电池供电的缓存模块,以帮助提高写入性能并保护传输中的数据。
常见的支持问题是 RAID 控制器电池故障。此偏移从阵列回写到写通模式。由于系统以降低的写入速度运行,这显然会对性能产生负面影响。这种情况一直存在,直到可以建立停机时间窗口以关闭系统电源并更换电池。
这对我们来说是非常常规的操作;几乎每周在数千个物理服务器上...我们甚至有充电站来准备更换电池,以便可以在没有充电周期的情况下更换电池。
也许我被 HP ProLiant 服务器和Smart Array RAID 控制器的悠久历史所宠坏,但 HP 系统的电池寿命通常为 4-6 年。他们最终在 2009 年左右取消了 RAID 电池的使用。它们被超级电容器支持的内存模块(闪存支持的写缓存,或 FBWC)所取代,并且不需要更换、处理或漫长的初始充电周期。
由于我看到 Adaptec 和 LSI 控制器电池故障有时发生在使用时间不到12 个月的系统上,我想知道这在其他环境中是否常见。
如果这是常见的,其他大型服务器环境如何处理?
LSI 产品资料概述了一种使用寿命超过 1 年的新一代电池。

HP ProLiant DL585 G2 服务器,具有 1000 多天的正常运行时间和令人满意的 RAID 电池...
# uptime
05:38:08 up 1031 days, …Run Code Online (Sandbox Code Playgroud) 我刚刚在我的 HP ProLiant DL320G6 服务器中安装了一个 HP SmartArray P410 控制器。控制器似乎被服务器 BIOS 检测到(它显示在 BIOS 设置的控制器列表中),硬盘驱动器 LED 闪烁,但在引导期间从未提供控制器配置。当它说没有可启动磁盘并返回时,它就出现了。
文档说我应该在被要求输入 ORCA(阵列的选项 ROM 配置)时按 F8,但实际上我从未被要求按 F8。
任何想法如何设置它?
hardware-raid ×10
raid ×9
hardware ×2
raid1 ×2
battery ×1
bbu ×1
cache ×1
centos7 ×1
controller ×1
hard-drive ×1
hp ×1
hp-proliant ×1
linux ×1
megaraid ×1
performance ×1
raid5 ×1
storage ×1
ups ×1