基本上,我在程序化 RAID1 中有两个 WD HDD(没有特殊硬件):
$ lsscsi --verbose
[0:0:0:0] disk ATA WDC WD10EFRX-68F 0A82 /dev/sda
dir: /sys/bus/scsi/devices/0:0:0:0 [/sys/devices/pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0]
[1:0:0:0] disk ATA WDC WD10EFRX-68F 0A82 /dev/sdb
dir: /sys/bus/scsi/devices/1:0:0:0 [/sys/devices/pci0000:00/0000:00:17.0/ata2/host1/target1:0:0/1:0:0:0]
其中一个 ( /dev/sdb
) 开始产生奇怪的噪音。我使用 运行了SMART overall-health self-assessment test
,result: PASSED
输出如下:
$ sudo smartctl -a /dev/sdb
...
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 131 129 021 Pre-fail Always - 4450
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 201
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 100 253 000 Old_age Always - 0
9 Power_On_Hours 0x0032 075 075 000 Old_age Always - 18349
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 201
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 135
193 Load_Cycle_Count 0x0032 191 191 000 Old_age Always - 29322
194 Temperature_Celsius 0x0022 112 101 000 Old_age Always - 31
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 0 -
看起来还不错,对吧?请注意,这个 RAID 位于一台正常运行时间很长的服务器内,我相信,我已经有 70 天没有检查它了,它运行良好,所以当我亲自到那里时,我听到了听不到的声音,然后把它关掉了。
问题:
这是我的硬盘的声音(它没有发出咔哒声,只发出锯切般的声音,咔哒声是我移动时发出的),这可能是什么?
运行起来“安全”吗
sudo smartctl -t short /dev/sdb
?一个答案说它“和继续使用故障驱动器一样安全”,但是我的问题不是针对显而易见的问题,而是针对 RAID 的问题 - Linux 在检查已安装的 RAID 中的单个驱动器时是否可以做一些不受欢迎的事情?从未安装的驱动器?它是否会关闭电源一小段时间以进行测试?测试会影响两个驱动器吗?
答案1
我不能确定你的第一个问题,我以前从未听过硬盘发出这种声音。当我听到这种声音时,它肯定是转速低于磁盘驱动器的声音,通常是风扇发出的声音,通常是轴承故障。如果驱动器支架仍然牢固,并且没有任何东西接触驱动器本身(大多数 RAID 盒都使用橡胶支架将驱动器隔离一点),那么我能想到的唯一原因就是驱动器电机的轴承故障。我假设它在访问驱动器时不会发生变化。
我希望您将其设置为镜像设置 (RAID1),而不是简单的条带集。如果是这样,您可以丢失驱动器而不会影响您的数据。我相信 WD10EFRX 是一个 1TB 磁盘,不是吗?它们很便宜,如果您确定是磁盘问题,那么可能需要使用 MDADM 使其“故障”,物理替换它,然后将新磁盘添加到阵列。重新同步大约需要一个小时,根据我的经验,为了安心,这样做是值得的。然后,您可以取出故障驱动器并在单独的硬件上进行测试,以确保您的数据不会受到测试过程的损害。是的,我知道这也不能回答您的第二个问题,但这是一种避免短期或长期 SMART 测试中断的可能性的方法。
答案2
拥有 RAID 的意义在于您不必过于担心硬盘故障。
不过,您确实需要定期检查,每周或每两周一次就好,这些检查将读取所有磁盘的所有数据,比较它们是否一致,并重写任何无法读取的扇区(以便磁盘可以重新分配它们)。
SMART 属性看起来绝对没问题,只有两个属性通过运行“离线”测试进行更新,其余的都是对正常运行的运行评论。您可以(并且应该)在几乎没有发生任何情况时定期运行长时间的离线测试,因为驱动器活动会中断测试并使其返回到最后一个检查点(否则可以随时运行测试)。
所以如果该磁盘发生故障,它会突然发生故障,而不是逐渐发生故障。
您现在可以做的是添加第三个磁盘,将镜像数增加到三个,并让旧磁盘继续运行。这样您将获得更好的性能,并且如果一个磁盘发生故障,设置仍将是冗余的。
由于这是软件 RAID,您还需要调查您的引导加载程序是否在所有地方都正确安装。