当一个驱动器发生错误时,假设它总是被检测并报告给OS(如果软件RAID如mdadm)或者RAID控制器(如果是硬件RAID)作为失败的读取报告是正确的(即它不会静默地返回损坏的数据),然后RAID软件/控制器将采取这一事实,并使用RAID中的其他驱动器读取数据,而不是(假设它是一种冗余的RAIDtypes)? 据我所知,现代企业级驱动器有错误检测机制,所以我认为是这样的,但是在网上find任何结论都很困难。 我想这个答案取决于驱动器内置的错误检测的质量,所以如果有问题的话,我最关心的是Intel DC S3500系列SSD。 编辑5-Jun-2015 – 澄清: 具体来说,我想知道今天用于检测错误的algorithm是否可靠。 举一个简单的例子,如果错误检测只是对扇区中的所有位进行XOR,那么如果两位被翻转,错误将不被检测到。 我想他们比这更先进,但是我想知道错误发生的可能性是多less,如果它太低,我们甚至不需要担心,如果在这个地方有一些权威的来源或值得信赖的文章,被引用。 编辑10-Jun-2015 更新了问题标题和问题主体,以使其对磁盘错误的概念更为通用(不像以前那样以mdadm为中心)。
我有一台运行Ubuntu 12.04 LTS的服务器,只有一个驱动器。 机箱中还有2个空的热插拔托架。 我想添加一个RAID 1给系统添加一点冗余。 目前的单磁盘分区与ubunutu LVM。 / boot分区是一个单独的ext2分区。 The LVM partitions: /dev/mapper/vg-home /dev/mapper/vg-usr /dev/mapper/vg-usr /dev/mapper/vg-root 我显然不想丢失任何数据,我试图阻止重新安装操作系统和重新configuration一切。 (该机器用于科学计算,它有一个附加的数据存储QNAP系统)。 在/ home上执行读/写操作时,我的一个用户正在获取I / O错误。 我怀疑sata控制器是失败的,过去有一些sata电缆不好的问题。 我决定添加一个SATA控制器,现在我正在设置一个RAID 1以防万一错误是由一个失败的硬盘产生的。 我打开更多的select,但我想用一个RAIDarrays中的2个新的完全replace可能失败的驱动器。 我在想:现在,我在系统中安装了2个新的驱动器。 我将在两个新驱动器上configuration硬件RAID 1arrays。 使用clonezilla或dd并克隆当前单个操作系统磁盘到RAIDarrays删除原来的操作系统磁盘并启动到新的arrays 这会工作吗? 我需要修改/ boot分区才能启动到新的RAID? 不知道是否有可能,因为有LVM分区 谢谢,任何input赞赏。 也打开其他选项。
我有我的自定义NASconfiguration为空转20分钟后减速驱动器。 刚才我检查了/proc/mdstat ,注意到一个驱动器被标记为失败,但是SMART显示驱动器处于非常好的状态。 因此我怀疑md-raid认为spin-up时间太长,标志着drive失败。 重新添加和重build似乎也不成问题。 dmesg显示以下有趣的线条,我在Google上找不到太多东西。 [97144.228682] sd 0:0:2:0: attempting task abort! scmd(ffff97f7b14ce948) [97144.228688] sd 0:0:2:0: [sdc] tag#0 CDB: opcode=0x12 12 00 00 00 24 00 [97144.228692] scsi target0:0:2: handle(0x000c), sas_address(0x5001438020b9ee12), phy(18) [97144.228694] scsi target0:0:2: enclosure_logical_id(0x5001438020b9ee25), slot(49) [97148.184253] sd 0:0:2:0: task abort: SUCCESS scmd(ffff97f7b14ce948) [97148.235864] mpt2sas_cm0: log_info(0x31110101): originator(PL), code(0x11), sub_code(0x0101) — last message repeated a […]
我们有一台运行着软件RAID1的Linux服务器。 我们在/var/log/messages看到一些问题: 不可读的扇区 。 我想在驱动器上执行一个完整的fsck来获得更多的信息,但是由于之间的软件RAID层, fsck /dev/md0带来了一个清理。 我怎样才能检查真正的硬盘驱动器? 我是否需要拆卸整个RAID? 由于额外的软件RAID标头,我该如何处理分区的不一致? 有没有人有这个好主意?
我的数据中心告诉我,所有HW raid,特别是LSI 9260-4i硬件RAID控制器,都不支持SSD TRIM命令。 我的问题是,是否有严重的长寿/速度问题? 我的数据中心表示,使用软件RAID会更好,但是在4x256Gb三星830 RAID10arrays上运行软件RAID时,单驱动器的写入速度并不理想。 最后,MegaRAID FastPath软件在某种程度上是否满足SSD TRIM的需求?
我们有一个旧的RAID 1 Linux服务器(Ubuntu Lucid 10.04),有四个分区。 前几天/ dev / sdb失败了,今天我们注意到/ dev / sda有不及格的SMART标志(约4000个重新分配扇区数)。 我们今天早上replace了/ dev / sdb,并按照本指南重新构build了新驱动器上的RAID: http://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array 一切都很顺利,直到最后。 当它看起来像是完成同步最后一个分区,另一个老的失败。 在这一点上,我很不确定这个系统的状态。 一切似乎都正常工作,文件似乎都是可访问的,就像它同步一切,但我是新来的RAID,我担心发生了什么事情。 / proc / mdstat输出是: Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md3 : active raid1 sdb4[2](S) sda4[0] 478713792 blocks [2/1] [U_] md2 : active raid1 sdb3[1] sda3[2](F) 244140992 blocks [2/1] [_U] […]
我正在使用mdadm在CentOS 5.5上构build一个带有3个1.5TB驱动器的raid 5arrays。 一切似乎都工作正常,除了它是永久的,我不知道这是否正常。 现在是6个小时,而/ proc / mdstat说只有6%(@〜37MBps)。 按照这样的速度,一周的半个月就能完成了。 我从来没有设置过袭击,所以我不知道我是否做错了什么。 由于没有任何驱动器上的数据,因此似乎初始设置应该快很多。 另外,在我设置了raid后,我有数据从驱动器转移过来,然后我将它添加到数组中。 是否需要花费相似的时间来增长arrays? 我知道他们是巨大的硬盘驱动器,但这似乎是荒谬的。
/ proc / mdstats将一个设备标记为closures,注意到一个降级的raid。 所以我想设置错误的驱动器故障,并重新附加它。 不知怎的,我得到了错误的驱动,离开了我一个unworking raid。 我试图用–assume-clean重新创buildraid,但是这不起作用。 我能做些什么来恢复我的数据? 如下图所示,似乎sdd仍然包含了关于退化RAID信息的超级块。 raid5包含一个cryptsetup luks分区。 [root@archiso ~]# mdadm –examine /dev/sda1 /dev/sda1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : d0e85136:224b9fce:71d459c2:3d4c7c82 Name : archiso:0 (local to host archiso) Creation Time : Thu Sep 9 09:26:17 2010 Raid Level : raid5 Raid Devices : 4 […]
我有一个现有的raid5设备,我使用Linux上的mdadm创build。 当我创build设备时,我将块大小设置为64,但我想testing各种大小的性能,但我不想重build我的整个系统来这样做。 如果无法实现,那么是否可以通过使用救援磁盘启动? 任何意见的步骤如何做到这一点,无论是现场或与救援盘,将不胜感激。
我正在尝试设置一个RAID1arrays,如下所示: djc@miles dev $ sudo mdadm -v –create /dev/md0 –level=1 –raid-devices=2 /dev/sdb1 /dev/sdc1 mdadm: Defaulting to version 1.2 metadata mdadm: RUN_ARRAY failed: Invalid argument 这是两个全新的硬盘和全新的(83型)分区(都有一个分区)。 这里可能会出现什么问题? 谷歌没有提供太多的帮助,我不明白这里的错误信息。