我正在尝试在 LSI MegaRAID 控制器上设置 RAID10。我不清楚 RAID 控制器将如何在物理驱动器上实际布置 RAID 集。
部分问题是 MegaRAID 使用的术语似乎非常不一致;同一个想法经常有多个术语,似乎有时他们使用相同的术语来指代多个想法。我将尝试使用 MegaCli 命令似乎最常用的术语。
MegaRAID 要求 RAID10 组中有两到八个阵列。每个阵列必须包含两个的倍数的物理驱动器。RAID10 组中的每个阵列必须具有相同数量的物理驱动器。
是不是每个阵列都是一个RAID10集,然后阵列连接在一起?如果是这样,数组必须具有相同大小的事实是否意味着数组正在被条带化?如果是这样,鉴于每个阵列都是条带化的,然后在其之上还有一个额外的条带化层,我是否应该担心性能方面的冗余?(或者这会是一件好事吗?)
如果每个阵列都是一个 RAID10 组,为什么 MegaRAID 要求您至少有两个?
如果每个阵列都不是 RAID10 集,为什么它要求阵列具有两个的倍数的物理驱动器?
在文档中,它将数组称为跨度,它在其他地方定义如下:
磁盘跨越允许多个驱动器像一个大驱动器一样工作。跨接克服了磁盘空间不足的问题,并通过组合现有资源或添加相对便宜的资源来简化存储管理。例如,四个 20 GB 驱动器可以组合在一起,在操作系统中显示为单个 80 GB 驱动器。单独的跨越并不能提供可靠性或性能增强。跨区虚拟驱动器必须具有相同的条带大小并且必须是连续的。
对我来说,这意味着串联,或者充其量是条带化。让我们慷慨地称之为RAID0。
因此,如果我必须定义两个阵列,并且阵列是跨度,而跨度是 RAID0,那么我定义了两个 RAID0 集。如果我必须定义其中的两个,那么它反映了它们是有道理的。但这将是两个 RAID0 的 RAID1,或 RAID0+1,这很糟糕。
那么,我希望如果我定义了三个阵列,那将创建一个 RAID0 集的三向镜像,但如果我真的这样做了,逻辑驱动器的容量仍然是所有驱动器总量的一半,而不是三分之一。所以这个结论也没有道理。
问题是我在 RAID10 组中有 18 个我想要的驱动器。在我使用过的所有其他 RAID 系统中,我只会创建 9 个双驱动器镜像,然后对它们进行条带化,但是使用 MegaRAID 则无法做到这一点。因为必须有 2 到 8 个阵列,而且每个阵列必须有偶数个驱动器,所以我能想出的唯一可行的配置是三个阵列,每个阵列有 6 个驱动器,但我觉得这样做很奇怪,没有更好地了解这些磁盘实际上将如何布置。
我是不是想多了?我是否应该让 MegaRAID 完成它的工作并只希望驱动器布局最佳?
我在 RAID5/10 中遇到了 HP P410 256mb 缓存控制器和 4 倍消费级固态硬盘(三星 EVO 850)的奇怪写入 iops 限制。升级到 HP P410 控制器的最新固件 (6.64) 后,它继续出现问题。
iostat 输出:
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 1.00 158.00 36.00 15631.00 197.07 12.16 75.84 6.00 76.28 6.30 100.10
158 writes/s and 100 % util.
Run Code Online (Sandbox Code Playgroud)
我的 hpacucli 输出:
=> ctrl all show config detail
Smart Array P410 in Slot 2
Bus Interface: PCI
Slot: 2
Serial Number: PACCR9SYLZ34
Cache Serial Number: …Run Code Online (Sandbox Code Playgroud) 我有一个 HP P2000 G3 阵列,其中有两个 10Gbit iSCSI 控制器,用于为我的虚拟化集群提供存储。它很快将通过两个 D2700 盘架进行扩展,每个盘架都装有 25 个 10k RPM 300GB 6G SAS 磁盘以提高性能。
目前,我在第一个架子上的两个虚拟磁盘每天都被“清理”,可能不止一次,我没有检查过......日。
磁盘清理对阵列性能的影响有多大?我知道它是一个磁盘一致性检查,因此很重要,但是我应该调低它以便它们的阵列不会如此积极地擦洗吗?
我目前正在为新服务器开发需求规范,并试图权衡可用技术的好处和缺陷。我们当前的服务器使用 RAID-5 磁盘布局,最近出现严重故障,导致大量数据丢失。
到目前为止,存储池/空间似乎值得对我所阅读的内容进行调查,但是搜索 ServerFault 导致提出了一些问题。
我的问题是,存储池/空间背后的技术是否已经发展到足以成为企业级存储和数据服务的可行选择,我应该坚持使用 RAID-5 还是考虑另一种 RAID 解决方案?我目前的偏好是使用 RAID-10,但是我不确定我是否可以将其作为可行的费用。
非常感谢
Linux mdadm 有一些怪癖,其中之一是仅用两个磁盘构建 raid10。有一些报告说它比 RAID1 快得多(读取和写入都快两倍):
(raid1 与 raid10f2)
两个磁盘上的raid10 和raid1 一样安全吗?使用这种解决方案而不是“适当的”raid1 有什么危险?
如果磁盘有 512 字节的物理扇区,并且您有 10 个使用 RAID 50 且条带大小为 1MB的磁盘,这在磁盘级别如何工作?
如果我错了,请纠正我,但从概念上讲,将有 2 个跨度,每个跨度由 5 个磁盘的 RAID-5 阵列组成,一个镜像到另一个。因此,“条带”将包含 4x256KB 的数据块,以及每个条带的单个 256KB 奇偶校验数据?还是“条纹”包括奇偶校验?
如果您考虑 12 个磁盘的 RAID 10 阵列会怎样?将有 6 对镜像磁盘,并在这些镜像上进行条带化。因此,对于 1MB 的条带大小,条带将被除以 6,每个磁盘 174,762.666 字节,这相当于每个条带 341.333 个物理扇区。每个条带真的有 342 个物理扇区吗?
对于那些想知道我为什么要问的人;我试图确定相对于 RAID 类型最有效的磁盘数量,以及最佳条带大小。
另外,在问这个问题之前,我已经看过https://en.wikipedia.org/wiki/Nested_RAID_levels。事实上,我在大量 SCSI / SAS / RAID / SAN 供应商站点上进行了大量工作以寻找低级设计细节,但没有看到任何讨论实际磁盘上条带格式的内容。条纹只是在高度概念化的层面上讨论,这很好,但并没有真正回答问题。
我有一个 LSI Megaraid 9271-8i 使用 6x samsung 850 pro SSD,我无法修改它在任何虚拟磁盘的属性中变灰的“磁盘缓存策略”。
这是为什么,兼容性矩阵中列出了 850 专业版?
这是否对性能有重大影响(我错过了)?
这里有一篇很棒的文章:https : //www.servethehome.com/raid-controller-batteries-time-bombs-you-need-to-replace/
RAID 控制器锂离子电池是否是您服务器中的定时炸弹?在过去的这个周末,我们看到了一个看起来不祥的 IBM ServeRAID 电池组。大家都知道RAID控制器电池需要定期更换。这是 RAID 卡上超级电容器的关键驱动因素之一。在本周末之前,我们假设这是在发生电源故障时保持数据安全的问题。在这个周末之后,我们现在认为这可能是一个安全问题。
我的问题是,哪些现代 RAID 控制器已经取消了电池,现在严格使用超级电容器(并且免维护)?
谷歌将我指向这个@ https://www.ibm.com/support/knowledgecenter/POWER9/p9ed5/ared5pcie3comp.htm,但如果可能的话,我正在使用非 OEM 设备,以避免我不得不购买供应商锁定的硬盘。
首先,对不起,如果问题已经被问到并正确回答,我没有找到任何让我满意的东西。
我在数据中心租了一台专用机器,该机器运行 Debian 10 并在 RAID 1 中有两个驱动器,有 3 个分区:一个用于引导,一个用于交换,一个用于其余部分。
第三个 (/dev/md2) 使用 ext4 文件系统,我想改用 XFS。
我不习惯更改文件系统,这是我第一次拥有带有 RAID 的机器,所以我不知道该怎么做。
这是一个新安装,因此没有丢失数据的风险。
我尝试了一个,mkfs.xfs /dev/md2但没有用:
root@Debian-105-buster-64-minimal ~ # mkfs.xfs /dev/md2
mkfs.xfs: /dev/md2 contains a mounted filesystem
Run Code Online (Sandbox Code Playgroud)
而且我不知道由于 RAID 应该如何卸载/挂载。
预先感谢您的帮助。
该df -Th命令:
root@Debian-105-buster-64-minimal ~ # df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 32G 0 32G 0% /dev
tmpfs tmpfs 6.3G 516K 6.3G 1% /run
/dev/md2 ext4 437G 1.2G 413G 1% /
tmpfs tmpfs 32G …Run Code Online (Sandbox Code Playgroud) 我在 RAID 0 配置中有四个 NVMe 驱动器。
我正在尝试确定阵列正在处理多少 IOPS。
当我运行时iostat,似乎一个驱动器处理的 IO 比其他三个驱动器多。
这是iostat收集数据方式的错误、mdadm 的已知问题,还是我错误地配置了阵列?
使用详情。
# iostat
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
nvme0n1 1669.12 22706.35 13975.13 63422465065 39034761844
nvme3n1 753.28 13228.56 12185.39 36949483692 34035736524
nvme1n1 635.93 13781.47 14014.10 38493855272 39143630456
nvme2n1 744.35 14704.94 14283.13 41073264648 39895068820
md0 4291.15 72863.78 56468.04 203520212237 157724286024
Run Code Online (Sandbox Code Playgroud)
软件 RAID 设备详细信息
# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Feb 19 22:45:06 2021
Raid Level : raid0
Array …Run Code Online (Sandbox Code Playgroud)