最近,我遇到了 Ubuntu Server 安装。在安装过程中,它询问我是否允许从降级的 RAID 阵列启动系统(可能是因为我将系统安装到 RAID1 /dev/md0 设备上)。对于只需要联机的无人值守服务器来说,这是非常有用的选项,无论它们的 RAID 阵列是否降级(只要它没有完全失效)。
快速查找后,我发现它可以通过读取/etc/initramfs-tools/conf.d/mdadm配置文件(BOOT_DEGRADED=true 选项)或读取内核引导行参数(bootdegraded=true)来工作。
问题:是否有类似的东西(一种使用降级阵列引导系统的方法)适用于 Debian?我不确定这种确切的方法是否适用,甚至不确定它是否具有此特定功能。
我问这个是因为我曾经在某些系统中使用 RAID5 阵列,并且在不正确关闭时无法启动,直到我手动“修复”阵列,这被证明是主要的 PITA,因为服务器在远程位置无人看管,没有UPS,并且确实发生了电源故障。所以,我问这样我可以在未来防止这种问题。
我在 Windows Server 2012 中使用新的存储空间功能。我有以下磁盘:
FriendlyName CanPool OperationalStatus HealthStatus Usage Size
------------ ------- ----------------- ------------ ----- ----
PhysicalDisk2 False OK Healthy Auto-Select 2.73 TB
PhysicalDisk3 False OK Healthy Auto-Select 2.73 TB
PhysicalDisk4 False OK Healthy Auto-Select 2.73 TB
PhysicalDisk5 False OK Healthy Auto-Select 2.73 TB
Run Code Online (Sandbox Code Playgroud)
还有一个单独的操作系统磁盘。上述磁盘是单个存储池的一部分:
FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
------------ ----------------- ------------ ------------ ----------
Pool OK Healthy False False
Run Code Online (Sandbox Code Playgroud)
在这个存储池中定义了一些虚拟磁盘,见下文:
FriendlyName ResiliencySettingNa OperationalStatus HealthStatus IsManualAttach Size
me
------------ ------------------- ----------------- ------------ -------------- ----
Docs Mirror OK Healthy False …Run Code Online (Sandbox Code Playgroud) 如果您从阵列中移除组件 HDD,它会掉入“(initramfs)”下的“busy box”外壳,并在 RAID1 阵列变为“非活动状态”时显示类似于“无法安装根设备”的内容。
可以使用以下方法启动它:
(initramfs): mdadm --run /dev/md0
(initramfs): exit
Run Code Online (Sandbox Code Playgroud)
之后,它使用启动的 RAID1 正常启动(文件系统在 RAID1 阵列上),并且将继续正常启动,直到您移除另一个驱动器(在这种情况下它会完全相同)。
Google 使用“ BOOT_DEGRADED=true ”吐出了一堆关于 UBUNTU 的帖子,但这对 DEBIAN 不起作用。
还有一篇关于使用“ md-mod.start_dirty_degraded=1 ”作为内核映像的引导参数的帖子。我试过在 GRUB 菜单选项中传递它,但无济于事。
可能有一些东西可以解释它,但我是一个新手来理解:(
有任何想法吗?
我的备份 NAS(基于 Arch)报告池性能降级。它还将降级磁盘报告为“正在修复”。我对此感到困惑。假设有缺陷比退化更糟糕,我应该担心吗?
zpool状态-v:
pool: zdata
state: DEGRADED
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub in progress since Mon Dec 16 11:35:37 2019
1.80T scanned at 438M/s, 996G issued at 73.7M/s, 2.22T total
1.21M repaired, 43.86% done, 0 days 04:55:13 to go
config:
NAME STATE READ WRITE CKSUM
zdata DEGRADED 0 …Run Code Online (Sandbox Code Playgroud) 我在戴尔服务器的 raid10 阵列中有 4 个磁盘。现在有 2 个驱动器出现故障。故障驱动器不在同一组(1+2 和 3+4),故障驱动器为 2 和 3。服务器仍在运行,但阵列已降级。我正在等待新驱动器的到来。
更换驱动器的最佳方法是什么?我可以同时更换两个磁盘吗?或者最好先重建第一组,然后再更换另一组?
我已经使用最新的 Ubuntu 版本 - 11.04 设置了软件 RAID1,使用两个 250GB 硬盘驱动器,最初运行良好。尝试拔下两者,计算机仍然以降级的突袭状态启动 - 重新连接和重新启动会使重新同步自动执行。到目前为止一切都很好。
不幸的是,今天早上,其中一个硬盘坏了,当打开磁盘工具或 gnome-disk-utility 时,主 RAID 链显示降级。
如果我跑到商店买一个新硬盘并将其插入计算机,一切都会按预期进行还是我需要像在使用 Alternate 安装程序安装 Ubuntu 时那样对内容进行分区?
我有一个 Synology DS213,在 RAID 1 中有两个 600GB 驱动器。
昨晚设备报告说我的第二个驱动器性能下降,我应该更换它。当我进行广泛的 SMART 测试时,结果表明驱动器没问题。
我如何确认驱动器实际上是坏的?是否有任何情况下降级的驱动器是好的驱动器,而实际上是另一个驱动器是坏的?
在工作中,我使用(真实的)硬件 RAID 控制器(带有电池支持的写入缓存)管理多台机器,当阵列由于磁盘故障而降级时,这些控制器有一个令人讨厌的习惯,即回退到直写行为。
我想不出任何原因,所以我将这些阵列配置为在使用热备件重建阵列时强制进入写回行为,现在一切似乎都运行良好。
任何人都可以想出为什么在阵列由于磁盘故障而以降级模式运行时切换到直写是个好主意的原因吗?(当然,如果 BBU 本身出现故障,则直写而不是回写是完全有意义的)。
我最近刚刚设置了一个 3 驱动器 4TB MDRAID 5 阵列,用于镜像和我们服务器的在线备份。
我正在为未来的硬件(驱动器)故障做准备,并希望减轻 URE 的恢复故障。
通常我认为重建数组的过程是:
据我了解,在降级的 RAID 5 阵列中,您仍然可以访问数据;但是当故障驱动器被更换并且阵列正在重建时,如果检测到 URE,则恢复将失败并且阵列上的数据将立即变得不可读和不可恢复。
如果我的理解是正确的,那么在复制所有(可读)数据之前恢复阵列似乎并不谨慎。
这给我留下了一个过程:
是否有另一个过程可以减轻重建失败(重建期间的第二个驱动器故障除外)?在不先复制数据的情况下重建阵列是否安全?我的假设是否错误,例如在 URE 上重新构建失败,但数据在降级状态下仍然可用?
有一个带有 Raid 1 镜像的物理 DC,2 个物理磁盘,每个 500GB。Dell Server Administrator 安装在 DC 上,并报告两个物理磁盘都正常、联机、状态良好等。 在 PERC S300 Raid 控制器上:
物理磁盘 0:0 物理磁盘 0:1
但是同时它报告虚拟磁盘已降级,这究竟是什么意思?虚拟磁盘指示其状态为 Raid 1 布局。设备名称:Windows 磁盘 0
如果我的理解是正确的,那么当您深入研究 Dell OpenManage 时,虚拟磁盘应该将两个物理磁盘作为成员,因为它是一个镜像?这样对吗?但是,当我深入查看虚拟磁盘时,它只显示虚拟磁盘 1 中包含的物理磁盘 0:0。
我对服务器端/突袭管理等很陌生。就在我们的服务器技术人员不在时!
谢谢!

第一个驱动器中的数据完好无损,第二个驱动器是“UNAVAIL”。覆盖的原因是我在应用 dd 命令时注意力不集中......
命令
sudo zpool replace -f hgst 4596995095197485503 /dev/sdd
给
invalid vdev specification
the following errors must be manually repaired:
/dev/sdd1 is part of active pool 'hgst'
我使磁盘脱机并使用 Gparted 删除了分区。重新启动后,它们重新出现,并且zpool replace-command 不起作用。
命令
dd if=/dev/zero of=/dev/sdd bs=1M count=2 seek=2048
和
dd if=/dev/zero of=/dev/sdd bs=512 seek=$(( $(blockdev --getsz /dev/sdd) - 1 )) count=1
Run Code Online (Sandbox Code Playgroud)
也没有帮助。
命令sudo zpool labelclear /dev/sdd
然后-zpool replace命令给出
cannot replace 4596995095197485503 with /dev/sdd: /dev/sdd is busy
Run Code Online (Sandbox Code Playgroud)
也忙着指挥
sudo zpool replace -f hgst …