我今天重新启动了我的服务器,发现它挂了。我注释掉了 fstab 中加载 /dev/md0 的条目,然后机器继续启动。在重新启动之前,raid 是可以访问和工作的,我只是因为系统更新而重新启动。
服务器主板为Supermicro X9SAE,系统有14个磁盘,1个SSD启动盘和13个磁盘在一个raid6阵列中。阵列中的 5/13 个磁盘连接到板载 Sata。阵列中的 8/13 个磁盘连接到 IT 模式 LSI 9211-8i
sudo fdisk -l 显示所有 13 个驱动器,并且所有 13 个驱动器都通过了智能测试
尝试从命令行手动挂载:
sudo mount /dev/md0 /mnt/md0
mount: /mnt/md0: can't read superblock on /dev/md0.
cat /proc/mdstat
md0 : inactive sdh[13](S) sdc[8](S) sdm[0](S) sdb[7](S) sdj[14](S) sdd[9](S) sdk[5](S) sdg[12](S) sda[6](S) sdn[2](S) sdl[1](S) sde[10](S) sdf[11](S)
76185162872 blocks super 1.2
Run Code Online (Sandbox Code Playgroud)
接下来我尝试:
sudo mdadm --stop /dev/md0
mdadm: stopped /dev/md0
sudo mdadm --assemble /dev/md0 /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdj …Run Code Online (Sandbox Code Playgroud) 我创建了一个 ZFS RAIDZ2 / Raid 6 文件系统,我相信它将在 2 个磁盘上存储奇偶校验。
root@zfs-demo:/data# zpool status
pool: data
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
errors: No known data errors
Run Code Online (Sandbox Code Playgroud)
我有一个 1GB 的文件
root@zfs-demo:/data# ls -alh
total 1023M
drwxr-xr-x 2 root root 3 Dec 17 18:22 .
drwxr-xr-x 19 root root 4.0K Dec …Run Code Online (Sandbox Code Playgroud) 我有一个由五个 1TB 驱动器组成的 RAID6,工作状态良好。我想在我的系统中以不同的方式重新分配阵列(更改控制器卡上的驱动器分配)。我拉出第一个驱动器并将其放在我想要的位置;现在我只剩下一个驱动器可以移动了。既然是RAID6,就应该有两盘冗余;这会延长到重新同步期间的时间吗?即使阵列仍在重新同步到第一个移动的驱动器,我是否可以拉动第二个驱动器?如果是这样,我能否同时在两个移动的驱动器上重新启动重新同步?
我们在 RAID-6 上运行 HyperV 服务器(操作系统是 Windows Server 2008 R2)。硬件是 LSI MegaRaid SAS 8704EM2 控制器,带有 4 个 1TB 西部数据 SATA 驱动器。服务器已在此硬件上启动并运行 4 个月。
然而,每周都会在 MegaRAID 存储管理器仪表板中显示一条警告消息,我引用“无法启动巡逻读取,因为 PD 要么不在线,要么位于具有活动进程的 VD 中,或者处于排除的VD”。不要问我什么是 PD 或 VD - 我不知道。
我用谷歌搜索并发现了以下内容:
我应该担心我的数据吗?我该如何解决这个问题?
提前致谢!
我有一个由 8 个磁盘组成的 Linux RAID6 阵列 (mdadm)。
2 个磁盘出现故障。我更换了它们,现在我有 2 个新的空磁盘。我想重建raid
但是当我开始raid重建时,重建失败,因为第三个磁盘显示读取错误并被弹出阵列。
在产生读取错误的少数扇区上丢失数据是可以的。
(什么是| 有没有)恢复raid 阵列的方法?
因此,有多种 RAID 配置可供选择,我想知道,最终我预计大约 25-45% 的驱动器可能需要更换以进行保修维修。我知道来自 RAID1 配置的驱动器没有隐私希望。任何人都可以建议是否可以从属于 RAID5、RAID6 或 RAID0+1的单个RMAd 驱动器中收集任何数据?
通过数据,我指的是来自 *.doc、*.xls、纯文本文件等的操作数据。
将 RAID6 转换为 RAID60 容易吗?
现在,我有一个 8 驱动器 RAID6。我希望升级到 3U 16 托架系统并考虑拥有 16 驱动器 RAID60。是否可以将我的驱动器移至新系统启动 RAID6,然后在添加 8 个新驱动器时将其扩展为 RAID60?
一个 RAID60 只是两个 RAID6 阵列条带化,那么如果我构建一个新的 RAID6 然后在新的和现有的阵列上添加一个 RAID0 会发生什么?我会丢失现有 RAID6 上的所有数据吗?
根据定义
RAID 6 是一组独立的硬盘驱动器,配备了两个独立的分布式校验和方案
这是否意味着我可以使用普通(非 RAID)恢复软件一个一个地恢复每个硬盘驱动器?
如果没有,是否有免费且可靠的 RAID 恢复软件可用?通过快速的谷歌搜索,我找到了ReclaiMe Free RAID Recovery 软件。但我不确定它的声誉。
我在托管系统中出现磁盘故障,更换了故障驱动器。在恢复期间,不同驱动器上发生磁盘错误。
发生原始错误时:
md2 : active raid6 sdf3[5](F) sdd3[3] sdg3[6] sdc3[2] sdb3[7] sde3[4] sdd3[3] sda3[0]
104849920 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUU_U]
Run Code Online (Sandbox Code Playgroud)
修复后添加驱动:
root@rescue ~ # mdadm /dev/md2 -a /dev/sdf3
mdadm: added /dev/sdf3
root@rescue ~ # cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md2 : active raid6 sdf3[7] sda3[0] sdg3[6] sde3[4] sdd3[3] sdc3[2]
104849920 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/5] [U_UUU_U]
[>....................] recovery = 0.9% (200576/20969984) finish=5.1min speed=66858K/sec
Run Code Online (Sandbox Code Playgroud)
似乎 sda3 已经从数组中消失了 …
为什么我的 RAID-6 胜过我的 RAID-10?
Synology 上带有 8x4TB RAID-10 的 Docker 容器:
[root@centos Files]# bonnie++ -d /Files/tmp -r 16G -s 32G -n 1 -f -b -u root
Using uid:0, gid:0.
Writing intelligently...done
Rewriting...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per …Run Code Online (Sandbox Code Playgroud) 在我看来,人们使用 RAID 1+0、RAID 5+0 或 RAID 6+0 而不是使用具有 3 个或更多奇偶校验的 RAID(类似于 RAID 6)似乎是不正确的,因为后者具有更好的可靠性给定相同级别的冗余。
考虑 4 个相同的 1TB 驱动器的情况。在这种情况下,RAID 6 和 RAID 1+0 都具有 50% 的冗余和等效的理论最大读写吞吐量(不计算寻道时间或 RAID 控制器缺陷)。RAID 6 阵列可以承受任何 2 个驱动器故障。RAID 1+0 可以承受任何单个驱动器故障,但有 1/3 的几率在第二次出现阵列故障。
驱动器数量越多,奇偶校验越多,差异就越明显。对于 6 个相同的 1TB 驱动器和具有 3 个奇偶校验的 RAID 6,RAID 1+0 和这个 3 奇偶校验 RAID 将再次具有 50% 的冗余和等效的理论最大读写吞吐量。3 奇偶校验 RAID 阵列可以承受任何 3 个驱动器故障,而 RAID 1+0 可以承受任何单个驱动器故障,但有 1/5 的几率在第 2 次出现阵列故障,在第 3 次出现 3/5 阵列故障。
因此,通过一些计算,很明显增加奇偶校验的数量在理论上比嵌套 RAID 级别更有效地使用驱动器。那么,为什么制造商不为他们的 RAID 控制器添加更多奇偶校验,而不是支持嵌套的 RAID 布局呢?我可以在 Linux MD 软件 RAID 中创建至少具有 …
为 MD RAID 考虑硬件加速是否可能、可行甚至明智?
我在这里更多地指的是存在计算开销的 RAID6 类型级别。我的想法是仍然是磁盘将提供更大的瓶颈,但我猜测。
正如答案中指出的那样,这应该只是意味着获得硬件 RAID 卡。MD 相对于硬件的优势当然是避免了对硬件的需求——它是软件 RAID。然而,MD 的另一个优势是避免供应商锁定。我的理解是,您不能在不同的硬件 RAID 供应商产品之间移动磁盘集,并且希望它们无需重新开始就可以工作。而使用 MD,您可以在机器之间移动磁盘而不会出现问题。
在某些情况下,拥有可以提高 MD RAID 性能而不必求助于擦除、重建和恢复的硬件将是有益的。