我有一台运行 Windows Server 2008 R2 的服务器,带有(Windows 原生)软件 raid-5 阵列。该阵列由 7 个 1TB 西部数据 RE3 和 RE4 驱动器组成。我有这个阵列的离线备份。
问题是这样的:几天前,我在将一个大文件复制到磁盘后注意到该文件存在完整性问题——我通过 uTorrent 下载了一个大约 12GB 的文件。将其移至raid 阵列后,我使用uTorrent 重新定位下载位置,并执行重新检查,以便我可以从该位置为其播种。复查发现复制文件只有6308/6310块完好无损。
我的下一步是编写一个快速的 powershell 脚本,将文件复制到数组,同时对原始文件和结果文件执行 SHA1 哈希并比较它们。较小的文件(100-1000MB)复制就好了。当我开始复制更大的数据(~15GB)时,我发现哈希检查失败了大约 2/3 的时间。损坏的文件有非常非常小的不一致 - 小于 0.01%(编辑 - 后来的实验表明,损坏的数据块的长度始终为 60 个字节,每个 15GB 复制文件通常会出现一到三个。损坏的数据出现随机,没有一致的翻转位模式)。我通过将这个大文件放在服务器的 C:\ 上,并从那里反复复制到阵列,进一步消除了网络或客户端问题的可能性,看到了类似的结果。
通过资源管理器、powershell 或标准 Windows 命令提示符复制数据会产生相同的结果。没有任何副本失败或报告任何问题。RAID 阵列本身在磁盘管理中被列为正常。
经过几次实验,我关闭了服务器并在一夜之间运行了 memtest。没有检测到错误。chkdsk 的基本运行没有发现任何问题,但我没有使用 /R 标志,因为我不确定这会如何影响软件 raid-5 卷。
我接下来运行 Crystal Disk Info 来检查驱动器上的智能数据 - 但发现 CDI 仅检测到阵列中 7 个磁盘中的 5 个。我不知道为什么。尽管如此,CDI 在单个驱动器上显示以下“警告”标志:
05 199 199 140 000000000001 Reallocated Sectors Count
C5 200 200 __0 …Run Code Online (Sandbox Code Playgroud) 大型企业中哪个更标准:RAID5 或 RAID10?
所以我得到了在 MDADM RAID5 中将较小的硬盘驱动器换成较大的硬盘驱动器的要点:
失败并移除一个驱动器。
mdadm -f /dev/md0 /dev/sdd1 mdadm -r /dev/md0 /dev/sdd1
关机,交换硬盘,分区并添加回阵列
mdadm --add /dev/md0 /dev/sdd1
等待重新同步并继续所有剩余的驱动器。
最后增长数组
mdadm --grow /dev/md0 --size=max
我的问题是你如何对新的更大的驱动器进行分区?我在网上看到了不同的说明,我知道它们中的大多数已经过时了,所以我想看看最近是否有人这样做了。
将新驱动器分区为与阵列中的旧驱动器大小相同
将新驱动器分区为驱动器的最大大小。
我有一个非常简单的设置,4 个驱动器,每个 RAID5 350GB。我在每个驱动器上只有一个分区并构建了一个阵列。这是一个数据存档磁盘,因此不需要多个阵列或分区。
我正在考虑的另一种方法是备份到一个驱动器,构建一个 3 驱动器阵列,将备份驱动器添加到阵列。那是:
这样更安全吗?快点?想法?
我有一台戴尔 2600,在 PERC 4 控制器上的 RAID 5 中配置了 6 个驱动器。2 个驱动器同时发生故障,据我所知,如果 1 个驱动器发生故障,RAID 5 是可恢复的。我不确定阵列中有六个驱动器的事实是否可以挽救我的皮肤。
我买了 2 个新驱动器并插入它们,但没有像我预期的那样重建。任何人都可以透露一些信息吗?
我有一个磁盘遇到预测性故障。结果,我卸下了驱动器并更换了它。
现在我已经卸下了驱动器,我想对其进行消毒。最简单的方法是什么?
我有一个 USB 转 SATA 转换器,但我不确定这是否可行。但我真正想做的就是执行安全擦除命令。
我有 3 个 4TB 驱动器用于 ZRAID1 配置(单奇偶校验驱动器)
运行后
zpool create data zraid1 sdb sdc sdd
Run Code Online (Sandbox Code Playgroud)
我有一个大小为 10.9T 的卷,这是我期望的条带配置,而不是 RAID5 配置。zpool status 声称它是 raidz1-0 配置(0 有意义,这是这台计算机上唯一的池)。
为什么我的尺寸不是7.2T?
弄清楚:zpool list显示池的总数,而不是最终的卷大小。df -h正确显示为 7.2T。
我的突袭失败了,我不确定要采取什么最佳步骤才能最好地尝试恢复它。
我有 4 个采用 raid5 配置的驱动器。看来,如果一个失败(sde1),但md不能把阵列,因为它说sdd1是不新鲜
我能做些什么来恢复阵列吗?
我在下面粘贴了一些摘录/var/log/messages和mdadm --examine:
/var/log/messages
$ egrep -w sd[b,c,d,e]\|raid\|md /var/log/messages
nas kernel: [...] sd 5:0:0:0: [sde]
nas kernel: [...] sd 5:0:0:0: [sde] CDB:
nas kernel: [...] end_request: I/O error, dev sde, sector 937821218
nas kernel: [...] sd 5:0:0:0: [sde] killing request
nas kernel: [...] md/raid:md0: read error not correctable (sector 937821184 on sde1).
nas kernel: [...] md/raid:md0: Disk failure on sde1, disabling device.
nas …Run Code Online (Sandbox Code Playgroud) 我在 dl360p gen8 HP 服务器中有一个带有 25 个 1Tb 磁盘和 P421 raid 卡的 D2700。
它被突袭为两个突袭5,每个突袭2个备用。我决定将其中的一个raid 5 删除,删除一个raid 并将磁盘添加到另一个raid。
现在几周后用 hpssacli(对我来说是新的)查看它们看起来很好,所有 25 个磁盘都显示正常,raid 显示正常,但我仍然只有 11.8 TB,它应该显示大约 23 TB ..?
这就是“sudo hpssacli ctrl all show config”给我的:
Smart Array P421 in Slot 1 (sn: XXX)
array A (SAS, Unused Space: 8974754 MB)
logicaldrive 1 (11.8 TB, RAID 5, OK)
physicaldrive 2E:1:1 (port 2E:box 1:bay 1, SAS, 1 TB, OK)
physicaldrive 2E:1:2 (port 2E:box 1:bay 2, SAS, 1 TB, OK)
physicaldrive 2E:1:3 (port 2E:box 1:bay …Run Code Online (Sandbox Code Playgroud) 我最近刚刚设置了一个 3 驱动器 4TB MDRAID 5 阵列,用于镜像和我们服务器的在线备份。
我正在为未来的硬件(驱动器)故障做准备,并希望减轻 URE 的恢复故障。
通常我认为重建数组的过程是:
据我了解,在降级的 RAID 5 阵列中,您仍然可以访问数据;但是当故障驱动器被更换并且阵列正在重建时,如果检测到 URE,则恢复将失败并且阵列上的数据将立即变得不可读和不可恢复。
如果我的理解是正确的,那么在复制所有(可读)数据之前恢复阵列似乎并不谨慎。
这给我留下了一个过程:
是否有另一个过程可以减轻重建失败(重建期间的第二个驱动器故障除外)?在不先复制数据的情况下重建阵列是否安全?我的假设是否错误,例如在 URE 上重新构建失败,但数据在降级状态下仍然可用?
RAID 5 最近获得了一些不好的评价,主要是因为磁盘变得如此之大,而且在重建的情况下,剩余磁盘可能会出现一些故障。
尽管如此,我还是对一些事情感到好奇:我读到,当将 RAID 5 与没有缓存的硬件控制器一起使用时,每次写入都需要从其他磁盘进行多次读取,这既糟糕又缓慢。
我很好奇在这种情况下具有奇偶校验的存储空间是否实际上会胜过硬件 raid 5,并且由于我假设它确实使用(基于内存的)缓存,因此写入时也需要更少的读取?
raid5 ×10
raid ×5
mdadm ×2
degraded ×1
hard-drive ×1
hp ×1
hp-proliant ×1
linux ×1
partition ×1
performance ×1
raidz ×1
redundancy ×1
sas ×1
swapping ×1
ubuntu-14.04 ×1
zfs ×1