我们位于 W2K8R2 镜像软件raid 上的第二个 DC 失去了同步,并且磁盘管理显示了失败的冗余错误

在设备管理器的磁盘下,我看到两个磁盘,其中一个有一个图标:禁用,而另一个没有



问题是在设备管理器中,两个磁盘都位于“0”位置,这很奇怪

这可能是一个幼稚的问题,因为我是新手,我找不到任何关于 mdadm+zfs 的结果,但经过一些测试,它似乎可以工作:
用例是具有 RAID6 的服务器,用于某些不经常备份的数据。我认为 ZFS 或 RAID6 中的任何一个都可以很好地为我服务。平台是Linux。性能是次要的。所以我正在考虑的两个设置是:
为什么是 ZFS+RAID6?这主要是因为 ZFS 无法使用新磁盘扩展 raidz2。你可以用更大的磁盘替换磁盘,我知道,但不能添加另一个磁盘。您可以使用 mdadm 作为冗余层来实现 2 磁盘冗余和 ZFS 磁盘增长。
除了这个要点(否则我可以直接进入没有 RAID 的 raidz2),这些是我看到的每个选项的利弊:
所以,以一个适当的问题结束:
1) 是否有任何本质上不鼓励或排除 RAID6+ZFS 的东西?任何人都有这样的设置的经验?
2) 校验和和压缩是否有可能使 ZFS 变得不必要(保持文件系统增长的可能性)?因为 RAID6+LVM 组合似乎是认可的、经过测试的方式。
我试图找到重建软件raid6 的瓶颈。
## Pause rebuilding when measuring raw I/O performance
# echo 1 > /proc/sys/dev/raid/speed_limit_min
# echo 1 > /proc/sys/dev/raid/speed_limit_max
## Drop caches so that does not interfere with measuring
# sync ; echo 3 | tee /proc/sys/vm/drop_caches >/dev/null
# time parallel -j0 "dd if=/dev/{} bs=256k count=4000 | cat >/dev/null" ::: sdbd sdbc sdbf sdbm sdbl sdbk sdbe sdbj sdbh sdbg
4000+0 records in
4000+0 records out
1048576000 bytes (1.0 GB) copied, 7.30336 s, 144 MB/s
[... similar for each …Run Code Online (Sandbox Code Playgroud) 为了数据安全,我打算镜像两个相同的驱动器。这些是纯数据驱动器,而不是主操作系统驱动器。
在这样的系统中,Linux raid auto: type 0xfd在每个驱动器上创建单个分区 ( ) 并将每个驱动器的分区 (例如/dev/sdb1和/dev/sdc1)一起突袭是否更好?或者我应该直接创建未分区驱动器的镜像阵列(例如/dev/sdb和/dev/sdc)?
最终我打算从结果数组创建一个 LVM 容器来存储实际数据。是否有任何考虑可能会使一个或另一个选择更安全或更可取?
我有一台运行 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) 我不知道为什么,但是在我重新启动 ec2 实例后,/dev/md0 没有像往常一样启动。在我看到 /dev/md* 中的可用内容后,而不是看到 /dev/md0,那里有一个名为 /dev/md127 的设备。我更新了 fstab 以反映新设备,并且能够成功安装它。查看 /proc/mdstat,它使用了最初创建 RAID 的正确基础临时卷:
[root@ip-10-0-1-21 ~]# cat /proc/mdstat
Personalities : [raid0]
md127 : active raid0 xvdc1[1] xvdb1[0]
870336512 blocks super 1.2 512k chunks
unused devices: <none>
Run Code Online (Sandbox Code Playgroud)
然而,当我运行一个mdadm --detail --scan不同的设备名称时会出现:
[root@ip-10-0-1-21 ~]# mdadm --detail --scan
ARRAY /dev/md/ip-10-0-1-21:0 metadata=1.2 name=ip-10-0-1-21:0 UUID=543098de:1e9dc96e:4ce2444c:934bdfdf
Run Code Online (Sandbox Code Playgroud)
设备名称更改是否正常?我是否必须使用新设备名称更新 /etc/fstab?使用新信息重新运行 /etc/mdadm.conf 是否重要?这个设备名称是 /dev/md127 还是 dev/md/ip-10-0-1-21:0?我想我不确定这里发生了什么。一些见解会很棒。
我有一个要扩展的 RAID60。
当前为:2 个轴,每个轴有 9 个磁盘 + 2 个备件。
未来是:4 个轴,每个轴有 10 个磁盘 + 1 个备用。
所以我需要做一些 --grow 来重塑驱动器。
我认为这就足够了:
mdadm -v --grow /dev/md1 --raid-devices=10 --backup-file=/root/back-md1
mdadm -v --grow /dev/md2 --raid-devices=10 --backup-file=/root/back-md2
mdadm -v --grow /dev/md0 --raid-devices=4 --add /dev/md3 /dev/md4
Run Code Online (Sandbox Code Playgroud)
最后一个命令有效,但前 2 个命令失败:
mdadm: Need to backup 7168K of critical section..
mdadm: /dev/md2: Something wrong - reshape aborted
Run Code Online (Sandbox Code Playgroud)
我如何 --grow RAID6 以使用更多设备?
系统信息:
$ mdadm --version
mdadm - v3.2.5 - 18th May 2012
$ uname -r
3.5.0-17-generic
Run Code Online (Sandbox Code Playgroud)
Makefile 重现问题:
all: …Run Code Online (Sandbox Code Playgroud) 我正在运行 Ubuntu 12.04 LTS。昨天我在邮箱里发现了一条消息,说我的服务器被关闭了。我继续重新启动系统,但几分钟后它没有出现,而且我没有硬件 KVM 系统来查看内核正在向终端打印什么。所以我将系统重新启动到 Linux 救援映像,我发现软件 RAID 1 阵列不同步。救援系统也开始重建RAID阵列。
到目前为止,没有证据表明任何磁盘存在硬件错误。到目前为止,SMART 状态看起来不错。
我从未收到过 mdadm 的电子邮件通知,即使在 /etc/mdadm/mdadm.conf 中打开了电子邮件通知。
该服务器还配置为将所有系统日志消息转发到日志主机,因此我检查了我的日志主机。相关部分是:
5 月 20 日 15:38:40 内核:[1.869825] md0:检测到从 0 到 536858624 的容量变化 5 月 20 日 15:38:40 内核:[1.870687] md0:未知分区表 5 月 20 日 15:38:40 内核:[1.877412] md:绑定 5 月 20 日 15:38:40 内核:[1.878337] md/raid1:md1:不干净——开始背景重建 5 月 20 日 15:38:40 内核:[1.878376] md/raid1:md1:2 个镜像中有 2 个处于活动状态 5 月 20 日 15:38:40 内核:[1.878418] md1:检测到从 0 到 3000052808704 的容量变化 5 月 20 日 15:38:40 内核:[1.878575] md:重新同步 RAID …
编辑:问题已解决。有问题的队列已用于流量控制数据包。为什么 igb 驱动程序会传播 FC 数据包以将它们丢弃(并计数)是另一个问题。但解决方案是,没有任何东西会以数据丢失的方式丢失。
非常感谢syneicon-dj,您的指点dropwatch是金币!
===原始问题供进一步参考===
我们有以下情况:
系统:有问题的服务器是带有 4 个四核氙气 cpu、128GB ECC RAM 并且运行 debian linux 的戴尔 poweredge。内核是 3.2.26。
所讨论的接口是具有四个接口的特殊 iSCSI 卡,每个接口都使用 Intel 82576 千兆位以太网控制器。
背景:在我们的一台服务器上,许多 NAS(Thecus N5200 和 Thecus XXX)使用 iSCSI 连接到专用 1GB/s 接口。我们有 5 张卡,每张卡有 4 个端口。NAS 文件管理器直接连接,之间没有切换。
两周前,我们设法清除了四个 NAS 文件管理器,并使用它们使用 mdadm 构建了一个 raid6。使用 LVM,我们可以为各种项目动态创建、缩小和/或增加存储,而不是时不时地搜索所有 NAS 文件管理器以获取可用空间。
然而,我们几乎在每个接口上都出现了大量超限,并且大量数据包被丢弃。调查表明,必须增加网络堆栈的默认设置。我使用 sysctl 调整所有设置,直到不再发生超限。
不幸的是,用于 NAS 突袭的接口仍然会丢弃大量数据包,但只有 RX。
在搜索(这里,google,metager,intel,任何地方,任何地方)之后,我们发现有关 intel igb 驱动程序的信息存在一些问题,必须完成一些工作。
因此,我下载了最新版本(igb-4.2.16),编译了具有 LRO 和单独队列支持的模块,并安装了新模块。
使用此驱动程序的所有 20 (!) 个接口现在都有 8 个 RxTx 队列(未配对)并启用了 LRO。具体的选项行是:
options igb …Run Code Online (Sandbox Code Playgroud) 我需要知道如果 raid 1 磁盘之一无法工作/崩溃,我如何获得电子邮件警报。我有 CentOS 6.4 64 位,软件raid。
我在本教程之后犯了一些错误,因为它是一个底部注释
注意:已经发现,如果 /etc/mdadm.conf 文件中不存在 DEVICE partitions 部分,则 mdadm 不会发送电子邮件。如果这些部分不存在,可以使用以下命令创建新的 /etc/mdadm.conf 文件:mdadm –detail –scan > /etc/mdadm.conf”
我执行了那行,我的 mdadm.conf 文件是空的,来自 ssh 的响应是: "mdadm: An option must be given to set the mode before a second device (–scan) is listed"
我也不明白我必须使用这个 ssh 行来启动它:mdadm –monitor –scan –daemonize
但是我得到了这个响应"
mdadm: An option must be given to set the mode before a second device
(–scan) is listed
"
这是 'cat /proc/mdstat' :
Personalities : …Run Code Online (Sandbox Code Playgroud) software-raid ×10
linux ×5
mdadm ×5
raid ×3
raid6 ×2
debian ×1
expansion ×1
hard-drive ×1
iscsi ×1
lvm ×1
networking ×1
partition ×1
performance ×1
raid5 ×1
zfs ×1