13개의 SATA 드라이브가 연결된 새로 설치된 Debian 6.0.6 시스템. 12개의 리퍼브 WD-10EARS 드라이브는 아직 파티셔닝되지 않았습니다. OS 및 스왑용으로 구성된 WD1500BLFS 드라이브 1개. /etc/fstab에 따라 /dev/sda5에 스왑 파티션을 구성합니다.
root@debian:~# cat /etc/fstab | grep swap
# swap was on /dev/sda5 during installation
UUID=641cc8ad-838d-4e92-8c2c-0b73359a5aa3 none swap sw 0 0
12개 드라이브에 디스크 활동이 없기 때문에 잠시 후 드라이브 상태가 활성/유휴에서 대기로 변경됩니다.
root@debian:~# hdparm -C /dev/sdm
/dev/sda:
drive state is: active/idle
root@debian:~# hdparm -C /dev/sdm
/dev/sda:
drive state is: standby
명령이 실행 되면 reboot
콘솔에 " Deactivating swap...
"가 표시되고 12개 드라이브가 모두 시차를 두고 회전하기 시작합니다. 이는 소리와 전력 소비로 확인됩니다. 드라이브 상태를 대기에서 활성으로 변경하는 데 최대 30초가 걸릴 수 있습니다. 즉, 이제 재부팅하는 데 3~7분이 소요됩니다. 70개의 드라이브를 연결하면 재부팅하는 데 얼마나 걸리나요?
업데이트 #1 이 문제는 "sd"(저장 장치)와 관련이 있습니다. "SCSI 캐시 동기화“모든 드라이브에서.
재부팅 시 모든 드라이브의 상태가 "대기"에서 "활성"으로 변경되는 것을 어떻게 중지합니까(대부분 "스왑 비활성화" 프로세스로 인해 발생)?
# uname -mrsn
Linux debian 2.6.32-5-amd64 x86_64
답변1
백포트 커널 3.2.0-0.bpo.3-amd64로 변경한 후에는 reboot
스왑 활성화 여부에 관계없이 메시지 발행과 발생 사이에 모든 드라이버가 더 이상 깨어나지 않습니다.Will now restart.
드라이브가 대기 상태일 때 콘솔 "end_request I/O 오류, dev sdb, 섹터 {0, 8, 16, 128, 4096}" 오류 메시지가 지속됩니다.
업데이트 #1
"재부팅 전 SCSI 캐시 동기화" 문제가 3.2.0-0.bpo에서 다시 나타납니다.4-amd64. 둘 다 mpt2sas 모듈의 동일한 버전을 공유하는 것처럼 보이지만:
# modinfo /lib/modules/3.2.0-0.bpo.{3,4}-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko | grep ^version
version: 10.100.00.00
version: 10.100.00.00
업데이트 #2
이 문제는 커널 및 저장소 모듈과 관련된 것으로 보이지 않습니다. 커널 2.6.32-5-amd64로 다시 변경하고 모든 드라이브를 대기로 설정하고 재부팅 명령을 내린 후에는 "SCSI 캐시 동기화"가 없고 드라이브 회전이 없으므로 지연이 발생하지 않습니다.
업데이트 #3
쓰기 캐시를 끄고 hdparm -W0 /dev/sd?
쓰기 캐시를 플러시한 후 sync && sdparm --command=sync /dev/sd? && sleep 1
마지막으로 드라이브를 대기 모드로 설정하면 실행 후 "Mounting root file system read-only... done" 출력이 표시된 후 hdparm -y /dev/sd?
각 드라이브에 "Synchronize SCSI 캐시"가 없습니다. reboot
그리고 "지금 다시 시작하겠습니다." 그것을 사용할 때:
- Linux debian 2.6.32-5-amd64 #1 SMP Sun Sep 23 2012 10:07:46 UTC 2012 x86_64
- Linux debian 3.2.0-0.bpo.3-amd64 #1 SMP Thu Aug 23 07:41:30 UTC 2012 x86_64
커널 3.2.0-0.bpo.4-amd64는 버그가 있으며 모든 reboot
.