RAID类的物品

  1. 使用位图加速Linux MDADM RAID阵列重建时间

    2011年12月22日星期四


    2020年更新:请小心影响随机写I/O性能。

    请注意,在现代Linux发行版中,位图在默认情况下是启用的。它们不会帮助加速失败后的重建。但它将帮助重新同步由于电源故障或其他间歇原因而失去同步的阵列。


    当磁盘发生故障或被踢出RAID阵列时,通常需要花费大量时间来恢复该阵列。我自己的20个磁盘阵列需要5个小时才能恢复一个驱动器。

    如果能缩短时间不是很好吗?甚至到5秒?

    虽然默认不启用,但您可以启用所谓的“位图”。根据我的理解,位图基本上是你的RAID阵列的映射,它描绘了如果驱动器故障,哪些区域需要重新同步。

    这很好,因为我有问题,每30次重新启动,有时磁盘不会被识别,阵列降级。将磁盘添加回阵列将意味着系统将恢复5个多小时。

    我启用了位图,在将一个丢失的磁盘添加回阵列后,阵列恢复了立即

    这不是很酷吗?

    位mapsl有两种类型

    1. 内部:数组本身的一部分
    2. 外部:位于阵列外的外部驱动器上的文件

    内部位图集成在数组本身中。保持位图是最新的可能会影响数组的性能。然而,我没有注意到任何性能下降。

    外部位图是一个文件,它必须位于基于EXT2或EXT3的文件系统中,而不是在RAID阵列的顶部。所以这意味着你需要一个额外的驱动器来做这个,或者需要使用启动驱动器来做这个。我可以想象,这种解决方案对数组性能的影响较小,但维护起来有点麻烦。

    我在我的RAID阵列上启用了一个内部位图,就像这样:

    Mdadm——grow /dev/md5——bitmap=internal

    这就是它的全部。你可以这样配置一个外部位图:

    Mdadm——grow /dev/md5——bitmap=/some/directory/somefilename .使用实例

    可能会有一些性能损失,但它似乎不会影响顺序吞吐量,这是我的特殊情况下唯一重要的事情。

    对于大多数人,我建议配置一个内部位图,除非你真的知道为什么必须使用外部位图。

  2. 不买硬件RAID控制器供家庭使用

    2010年11月17日星期三

    硬件RAID控制器被认为是高性能和高可用性的“最佳”解决方案。然而,这并不完全正确。使用硬件RAID控制器甚至可能危及您宝贵的数据。

    对于性能至关重要的企业环境而言,数组持续高速交付数据更为重要。专业RAID控制器使用tl使用启用了tler的磁盘来限制恢复坏扇区的时间。如果磁盘遇到坏道,没有时间暂停并尝试修复它。磁盘在几秒钟后从RAID阵列中删除。此时,该阵列的性能仍然相对较好,但没有冗余。如果另一个磁盘失效(又一个坏扇区?),阵列连同所有数据都将丢失。

    越来越多的人正在建造NAS盒子,用于集中存储数据,供私人家庭使用。由于磁盘很便宜,因此可以用很少的钱创建大量的存储容量。然而,创建tb级的数据备份并不便宜。或者您必须创建两个NAS框。但这是非常昂贵的,不值得付出努力。

    人们似乎在昂贵的企业级硬件RAID卡上花了很多钱,而不了解整个tler机制会增加数据的风险。在企业环境中,预算相对较大,并且始终备份数据。由于这些备份,他们可以承担丢失RAID阵列的风险。但消费者通常没有足够的钱来创建tb级的数据备份。他们只是使用RAID 5或RAID 6,并期待最好的结果。

    对于消费者来说,如果RAID组失效,所有数据都将丢失。

    因此,消费者应该选择一种能够尽最大努力从硬件故障中恢复的RAID解决方案。性能不是太大的问题。可靠性。因此,如果这意味着RAID阵列能够存活,消费者确实希望磁盘花费“时间”来恢复坏扇区。

    Linux软件RAID和ZFS不使用TLER,因此对于数据来说,它们是比常规硬件RAID控制器更安全的选择。你仍然可以使用这样的控制器(但是请正确地测试它们),但只提供SATA端口和单独的磁盘,RAID部分应该由Linux处理。

    因此,在我看来,硬件RAID控制器更昂贵,需要更昂贵的(企业)磁盘,并且对您的数据不太安全。

    标记为: 未分类的
  3. Linux软件RAID基准测试脚本

    2010年9月29日星期三

    只是一个小帖子。

    要使用MDADM对Linux软件RAID阵列进行基准测试,请使用我的新的基准测试脚本.我使用这个脚本创建这些结果

    您可能需要在该文件的头文件中配置一些值,以使其适合您的环境。

    设备= " / dev / sd [f]”NO_OF_DEVICES = 6数组= / dev / md5chunk ="4 8 16 32 64 128 256 512 1024"山= /存储LOG = / var / LOG / raid-test.logLOGDEBUG = / var / log / raid-test-debug.logLevel ="0 5 6 10"测试文件= $ / test.bin山TESTFILESIZE=10000(以MB为单位,因此这是10gb)TRIES=5(运行基准测试的次数。)

    默认情况下,脚本将使用XFS格式化数组,也可以使用其他文件系统(如EXT4或EXT3或任何您想测试的文件系统)格式化数组。

    标记为: 未分类的

第1 / 3页

Baidu
map