소프트웨어에 대한 I / O RAID6은 종종 약 30 초 동안 정지 된 후 모든 것이 정상으로 돌아옵니다.
동결이 끝나면 syslog에 넣습니다.
Mar 14 18:43:57 server kernel: [35649.816060] sd 5:0:23:0: [sdy] CDB: Read(10): 28 00 6c 52 68 58 00 04 00 00
Mar 14 18:43:58 server kernel: [35651.149020] mptbase: ioc0: LogInfo(0x31140000): Originator={PL}, Code={IO Executed}, SubCode(0x0000) cb_idx mptscsih_io_done
Mar 14 18:43:58 server kernel: [35651.151962] mptscsih: ioc0: task abort: SUCCESS (rv=2002) (sc=ffff8807b02dfe80)
Mar 14 18:43:58 server kernel: [35651.151967] mptscsih: ioc0: attempting task abort! (sc=ffff88002a7f30c0)
Mar 14 18:43:58 server kernel: [35651.151972] sd 5:0:23:0: [sdy] CDB: Read(10): 28 00 6c 52 6c 58 00 04 00 00
Mar 14 18:43:58 server kernel: [35651.151981] mptscsih: ioc0: task abort: SUCCESS (rv=2002) (sc=ffff88002a7f30c0)
Mar 14 18:43:58 server kernel: [35651.151984] mptscsih: ioc0: attempting task abort! (sc=ffff8804120e5ec0)
Mar 14 18:43:58 server kernel: [35651.151988] sd 5:0:23:0: [sdy] CDB: Read(10): 28 00 6c 52 70 58 00 04 00 00
Mar 14 18:43:58 server kernel: [35651.151996] mptscsih: ioc0: task abort: SUCCESS (rv=2002) (sc=ffff8804120e5ec0)
Mar 14 18:43:58 server kernel: [35651.151999] mptscsih: ioc0: attempting task abort! (sc=ffff880154afb280)
Mar 14 18:43:58 server kernel: [35651.152020] sd 5:0:23:0: [sdy] CDB: Read(10): 28 00 6c 52 74 58 00 04 00 00
Mar 14 18:43:58 server kernel: [35651.152029] mptscsih: ioc0: task abort: SUCCESS (rv=2002) (sc=ffff880154afb280)
나는 오류를 봤으며 누군가 3.0Gbps 대신 1.5Gbps를 사용하도록 제안했다. 사용 lsiutil
하여 링크 속도를 변경했습니다.
# lsiutil -p 1 -i
Firmware Settings
-----------------
SAS WWID: 500605b002c0f680
Multi-pathing: Disabled
SATA Native Command Queuing: Enabled
SATA Write Caching: Enabled
SATA Maximum Queue Depth: 32
Device Missing Report Delay: 0 seconds
Device Missing I/O Delay: 0 seconds
Phy Parameters for Phynum: 0 1 2 3 4 5 6 7
Link Enabled: Yes Yes Yes Yes Yes Yes Yes Yes
Link Min Rate: 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
Link Max Rate: 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
SSP Initiator Enabled: Yes Yes Yes Yes Yes Yes Yes Yes
SSP Target Enabled: No No No No No No No No
Port Configuration: Auto Auto Auto Auto Auto Auto Auto Auto
Target IDs per enclosure: 1
Persistent mapping: Enabled
Physical mapping type: None
Target ID 0 reserved for boot: No
Starting slot (direct attach): 0
Target IDs (physical mapping): 8
Interrupt Coalescing: Enabled, timeout is 16 us, depth is 4
도움이되지 못했습니다.
'Device Missing I / O Delay'를 32로 변경하려고 시도했지만 도움이되지 않았습니다.
/ sys / class / scsi_device / * / device / timeout을 30에서 100으로 변경 한 다음 3으로 변경하려고했습니다. 모두 실패했습니다.
$ uname -a
Linux server 3.2.0-0.bpo.1-amd64 #1 SMP Sat Feb 11 08:41:32 UTC 2012 x86_64 GNU/Linux
$ grep LSISAS1068E /var/log/messages
Mar 13 15:47:44 server kernel: [ 21.082363] scsi5 : ioc0: LSISAS1068E B3, FwRev=01210000h, Ports=1, MaxQ=483, IRQ=45
$ modinfo mptscsih
filename: /lib/modules/3.2.0-0.bpo.1-amd64/kernel/drivers/message/fusion/mptscsih.ko
version: 3.04.20
license: GPL
description: Fusion MPT SCSI Host driver
author: LSI Corporation
srcversion: 85D42A00FEBA3C95555E3AF
depends: scsi_mod,mptbase
intree: Y
vermagic: 3.2.0-0.bpo.1-amd64 SMP mod_unload modversions
$ cat /sys/block/sdae/device/model
ST3000DM001-9YN1
$ cat /sys/block/sdae/device/rev
CC4C
읽기 또는 쓰기 작업 만있는 경우에는 거의 문제가 발생하지 않습니다. 문제없이 1TB를 읽거나 쓸 수 있습니다. 읽기 및 쓰기 작업 이 모두 있을 때 문제가 발생하는 것 같습니다 . 스트라이프 크기보다 작은 파일을 작성하고 스트라이프를 캐시하지 않은 경우 발생하는 raid6에서 (이 경우 새 체크섬을 계산하려면 스트라이프를 읽어야 함).
시스템이 가상 머신이 아닙니다.
문제의 원인은 무엇입니까? 30 초의 동결을 제거하려면 어떻게해야합니까?
편집 : 추가 테스트
문제를 일으키는 멋진 테스트 세트를 찾았습니다. 여기에는 스트라이프 크기보다 작은 파일이 포함되므로 패리티를 다시 계산해야하므로 쓰기와 함께 많은 읽기를 수행해야합니다.
큐 스케줄러가이 문제점에 영향을 줄 것이라고 생각하지 않았다는 것을 인정해야합니다. 내가 틀렸어. deadline
다른 것보다 훨씬 나쁘다는 것이 분명합니다 . 그러나 어느 것도 문제를 해결하지 못합니다.
# cat /sys/block/sdaa/queue/scheduler
noop deadline [cfq]
noop
100-120 초 후에 문제점이 발생 하도록 스케줄러를 변경하십시오 .
parallel echo noop \> {} ::: /sys/block/sd*/queue/scheduler
deadline
20-30 초 후에 문제점이 발생 하도록 스케줄러를 변경하십시오 .
parallel echo deadline \> {} ::: /sys/block/sd*/queue/scheduler
cfq
120-300 초 후에 문제점이 발생 하도록 스케줄러를 변경하십시오 .
parallel echo cfq \> {} ::: /sys/block/sd*/queue/scheduler
편집 2
스케줄러가 효과가 있기 때문에 문제가 일정에 너무 많은 요청으로 인한 것인지 생각하고 있습니다. 어떻게 든 초당 전송 된 요청 수를 조절할 수 있습니까?