我购买了两个 WD Gold 4TB,并在单个 RAID1 分区 md0 上安装了带有 kde 的 debian sid:
# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5]
[raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
3906885632 blocks super 1.2 [2/2] [UU]
bitmap: 5/30 pages [20KB], 65536KB chunk
unused devices: <none>
# mount | grep md0
/dev/md0 on / type ext4 (rw,noatime,nodiratime,errors=remount-ro,data=ordered)
现在的问题是,hddtemp
即使在空闲时,报告的温度也非常高(通过触摸磁盘确认)
# hddtemp /dev/sda /dev/sdb
/dev/sda: WDC WD4002FYYZ-01B7CB1: 59 C
/dev/sdb: WDC WD4002FYYZ-01B7CB1: 57 C
那比室温高出30多度!我尝试打开机箱的侧面板以进一步冷却,但没有帮助。
我几乎每秒都能听到磁盘访问的声音,并且有少量的读/写,我想这可以防止旋转。还iotop
每隔一/两秒报告几 kB/s 的写入。原则上这样的写入应该被缓冲,但看起来它们是瞬时写入的。
因此我尝试增加缓冲区大小:
# echo cfq > /sys/block/sda/queue/scheduler
# echo 10000 > /sys/block/sda/queue/iosched/fifo_expire_async
# echo 250 > /sys/block/sda/queue/iosched/fifo_expire_sync
# echo 80 > /sys/block/sda/queue/iosched/slice_async
# echo 1 > /sys/block/sda/queue/iosched/low_latency
# echo 6 > /sys/block/sda/queue/iosched/quantum
# echo 5 > /sys/block/sda/queue/iosched/slice_async_rq
# echo 3 > /sys/block/sda/queue/iosched/slice_idle
# echo 100 > /sys/block/sda/queue/iosched/slice_sync
(与 sdb 相同),并且还更改hdparm
电源管理标志(请参阅https://ubuntuforums.org/showthread.php?t=795327):
# hdparm -B /dev/sda
/dev/sda:
APM_level = 255
# hdparm -B 64 /dev/sda
/dev/sda:
setting Advanced Power Management level to 0x40 (64)
APM_level = 64
我还注意到Load_Cycle_Count
计数器增加了大约 5/分钟:
# date; sudo smartctl -a /dev/sda | grep 'Load_Cycle_Count'
Tue Apr 24 16:14:00 CEST 2018
193 Load_Cycle_Count 0x0012 100 100 000 Old_age Always - 338
# date; sudo smartctl -a /dev/sda | grep 'Load_Cycle_Count'
Tue Apr 24 16:15:03 CEST 2018
193 Load_Cycle_Count 0x0012 100 100 000 Old_age Always - 343
以这样的速度,磁盘将在不到 1 年的时间内损坏(声明为 600000 次循环)。
这是来自以下的信息hdparm
:
# hdparm -i /dev/sda
/dev/sda:
Model=WDC WD4002FYYZ-01B7CB1, FwRev=01.01M03, SerialNo=K3H05BLL
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=56
BuffType=DualPortCache, BuffSize=unknown, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=7814037168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-2,3,4,5,6,7
* signifies the current active mode
这BuffSize=unknown
让我怀疑缓冲区有问题。怎么才能知道硬盘为什么温度这么高?
答案1
对我来说,每秒磁盘访问的原因是 hddtemp 本身。一旦我停止守护进程,磁盘访问就停止了。