标签: software-raid

使用 XFS 轻松扩展 Linux 软件 RAID 5。最佳实践?

我使用我的 Ubuntu 机器作为使用 Samba 共享的 Windows/Linux/Mac 客户端的文件服务器。我需要它只需添加更多硬盘即可轻松扩展,而无需来回移动任何数据。

到目前为止,我就是这样做的。我已经成功添加了第四个硬盘。现在很高兴知道这是应该如何做的?我做错了什么或我可以做得更好?

创建初始的 3 个驱动器阵列

我从三个空驱动器开始:/dev/sdb、/dev/sdc 和 /dev/sdd。

首先,我为所有驱动器创建了空分区:

$ fdisk /dev/sdX
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc
Run Code Online (Sandbox Code Playgroud)

当所有三个磁盘都创建了空的 RAID 分区后,我创建了一个 RAID5 阵列:

$ mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Run Code Online (Sandbox Code Playgroud)

现在 …

linux raid xfs software-raid raid5

13
推荐指数
1
解决办法
1万
查看次数

如何在硬盘处于“E”状态的 Synology NAS 上恢复 mdadm 阵列?

Synology 有一个定制版本的 md 驱动程序和 mdadm 工具集,它向内核中的 rdev->flags 结构添加了“DriveError”标志。

净效应 - 如果您不幸遇到阵列故障(第一个驱动器),并结合第二个驱动器上的错误 - 即使从驱动器读取正在工作,阵列也会进入不允许您修复/重建阵列的状态美好的。

在这一点上,从这个数组的角度来看,我并不是真的担心这个问题,因为我已经把内容拉下来并打算重建,但更多的是希望在未来有一个解决方案,因为这是我第二次被它咬了,我知道我在论坛上看到其他人问过类似的问题。

Synology 支持的帮助不大(而且大多没有响应),并且根本不会分享有关处理盒子上的 raidsets 的任何信息。

/proc/mdstat 的内容:

ds1512-ent> cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md2 : active raid5 sdb5[1] sda5[5](S) sde5[4](E) sdd5[3] sdc5[2]
      11702126592 blocks super 1.2 level 5, 64k chunk, algorithm 2 [5/4] [_UUUE]

md1 : active raid1 sdb2[1] sdd2[3] sdc2[2] sde2[4] sda2[0]
      2097088 blocks [5/5] [UUUUU]

md0 : active raid1 sdb1[1] sdd1[3] sdc1[2] sde1[4] sda1[0]
      2490176 blocks [5/5] [UUUUU]

unused …
Run Code Online (Sandbox Code Playgroud)

linux raid mdadm software-raid

13
推荐指数
1
解决办法
3万
查看次数

设备:/dev/sda [SAT], 1 当前不可读(待处理)扇区

我在 RHEL 上有一个软件 RAID 1 阵列。每天早上我都会收到此错误通过电子邮件发送给我:设备:/dev/sda [SAT], 1 当前不可读(待处理)扇区

当我在 sda(或 sdb)上运行测试时,一切似乎都通过了。我错过了什么吗?


mdstat 显示 RAID 阵列很好:

# cat /proc/mdstat 
Personalities : [raid1] 
md5 : active raid1 sdb5[1] sda5[0]
      108026816 blocks [2/2] [UU]

md1 : active raid1 sdb1[1] sda1[0]
      511936 blocks [2/2] [UU]

md2 : active raid1 sda2[0] sdb2[1]
      805306304 blocks [2/2] [UU]

md3 : active raid1 sda3[0] sdb3[1]
      62914496 blocks [2/2] [UU]

unused devices: <none>
Run Code Online (Sandbox Code Playgroud)

这是输出:# smartctl -q noserial -a /dev/sda

我也试过运行:# smartctl -t long /dev/sda


smartctl 5.43 2012-06-30 r3573 …
Run Code Online (Sandbox Code Playgroud)

raid software-raid

13
推荐指数
2
解决办法
2万
查看次数

RAID5 是否比 RAID1 更健壮

我即将用 Linux 软件 RAID1 阵列替换旧的硬件 RAID5 阵列。我正在和一个朋友交谈,他声称 RAID5 比 RAID1 更强大。

他声称对于 RAID5,读取奇偶校验数据以确保所有驱动器都返回正确的数据。他进一步声称,发生在驱动器上的 RAID1 错误不会被注意到,因为 RAID1 没有进行此类检查。

我可以看到这怎么可能是真的,但也可以看到这完全取决于所讨论的 RAID 系统是如何实现的。当然一个RAID5系统不具备阅读和检查读取和RAID1系统奇偶校验数据可以很容易地从读取所有驱动器读取检查他们都持有相同的数据,因此实现稳健的同一水平(相应的性能损失)。

所以问题是,现实世界中的 RAID5/RAID1 系统实际上是做什么的?RAID5 系统在读取时检查奇偶校验数据吗?是否有从所有驱动器读取并比较读取数据的 RAID1 系统?

raid software-raid hardware-raid raid5 raid1

12
推荐指数
2
解决办法
3027
查看次数

KVM/libvirt 主机和来宾之间共享的 LVM 卷组:这是一个坏主意吗?

我刚刚构建了一个全新的基于 KVM/libvirt 的虚拟机主机,包含 4 个 SATA II 硬盘驱动器,并运行 CentOS 5.5 x86_64。

我决定在作为 libvirt 存储池管理的 LVM 卷组中创建虚拟机磁盘作为逻辑卷,而不是将磁盘创建为 qcow 映像的通常做法。

我无法决定是应该在 VM 主机的卷组中还是在专用卷组中创建虚拟机逻辑卷。

我应该选择哪种方法,为什么?


方法 1:使用 VM 主机的卷组

执行:

  • md0包含/boot文件系统的小型 RAID1
  • md1占用剩余空间的大型 RAID10 ,其中包含一个 LVM 卷组vghostvghost包含 VM 主机的根文件系统和交换分区
  • vghost根据需要创建虚拟机磁盘作为逻辑卷

优点:

  • 如果 VM 主机的根文件系统空间不足,我可以vghost相对轻松地从中分配更多空间
  • 系统已经启动并运行(但重新开始没什么大不了的)

缺点:

尽管这种方法似乎有效,但我无法摆脱这样的感觉,即这在某种程度上是个坏主意。我觉得:

  • 这可能以某种方式存在安全风险
  • 在未来的某个时候,我可能会发现设置有一些限制,并希望我使用一个专门的组
  • 系统(CentOS、libvirt 等)可能并没有真正设计成这样使用,因此在某些时候我可能会意外损坏/丢失 VM 主机的文件和/或文件系统

方法 2:使用专用卷组

执行:

  • 同样的md0,并md1在方法1,除了化妆md1只是大到足以容纳VM主机(如5至10GB)
  • 大 RAID10md2占用剩余空间。md2包含一个 …

storage lvm centos software-raid kvm-virtualization

12
推荐指数
1
解决办法
8655
查看次数

12
推荐指数
1
解决办法
1万
查看次数

将linux软件raid从raid5转换为raid6

我目前在 RAID5 阵列中有一个带有 3 个 1.5TB 磁盘的文件服务器。由于它已经快满了,我得到了三个额外的磁盘(每个也是 1.5TB)。

现在我想切换到 RAID6,因为 6TB 空间已经足够了,我想拥有 RAID6 更高的安全性。虽然我确实有完整备份——即我可以简单地创建一个新阵列并恢复备份——但我更喜欢切换而不必恢复备份。这是可能的,如果是,如何?

software-raid raid5 raid6

12
推荐指数
3
解决办法
8064
查看次数

降级阵列。RAID 6 三盘故障

我有一个带有 RAID 6 和 16 驱动器的磁盘阵列。几天前,三个磁盘出现故障,阵列被标记为“降级”。我无法访问数据,也无法启动到操作系统。我需要访问数据,但我无能为力。有什么建议吗?如何恢复或访问数据?我可以使用 Live cd 来启动操作系统吗?我正在使用 SAS 磁盘。提前致谢

software-raid

12
推荐指数
6
解决办法
6179
查看次数

Raid-1 中的磁盘是否在 raid 之外运行?

Raid-1 正在镜像两个磁盘(如果我没有在这里完全搞砸:p)。这是否意味着我可以取出一张磁盘并将其放入另一台机器,它会像普通磁盘一样工作?或者它仍然只在突袭中有效?我可以理解 Raid-0 当然只能作为一个整体使用。但是通过镜像我不太确定它是如何工作的......

当然,之后将镜像磁盘放回突袭中是个坏主意,但只是将其取出......这将如何工作?raid 是否在需要的驱动器上存储任何特殊数据?或者raid控制器是否处理所有类似的事情并且硬盘驱动器像往常一样使用?

raid software-raid mirroring hardware-raid

10
推荐指数
1
解决办法
2145
查看次数

在 RAID 阵列降级时启动 Debian

最近,我遇到了 Ubuntu Server 安装。在安装过程中,它询问我是否允许从降级的 RAID 阵列启动系统(可能是因为我将系统安装到 RAID1 /dev/md0 设备上)。对于只需要联机的无人值守服务器来说,这是非常有用的选项,无论它们的 RAID 阵列是否降级(只要它没有完全失效)。

快速查找后,我发现它可以通过读取/etc/initramfs-tools/conf.d/mdadm配置文件(BOOT_DEGRADED=true 选项)或读取内核引导行参数(bootdegraded=true)来工作。

问题:是否有类似的东西(一种使用降级阵列引导系统的方法)适用于 Debian?我不确定这种确切的方法是否适用,甚至不确定它是否具有此特定功能。

我问这个是因为我曾经在某些系统中使用 RAID5 阵列,并且在不正确关闭时无法启动,直到我手动“修复”阵列,这被证明是主要的 PITA,因为服务器在远程位置无人看管,没有UPS,并且确实发生了电源故障。所以,我问这样我可以在未来防止这种问题。

linux ubuntu debian software-raid degraded

10
推荐指数
1
解决办法
7482
查看次数