전주곡:
저는 소규모 회사의 SysAdmin 업무를 점점 더 많이 수행하는 코드 원숭이입니다. 내 코드는 제품이며 점점 더 SaaS와 동일한 앱을 제공합니다.
약 18 개월 전에 서버를 프리미엄 호스팅 중심 공급 업체에서 Tier IV 데이터 센터의 베어 랙 랙 푸시 서버로 옮겼습니다. (말 그대로 길 건너편)이 소식은 네트워킹, 스토리지 및 모니터링과 같은 훨씬 더 많은 일을합니다.
큰 변화의 일환으로 호스팅 회사의 임대 직접 연결 스토리지를 교체하기 위해 SuperMicro 섀시, 3ware RAID 카드, Ubuntu 10.04, 24 개의 SATA 디스크, DRBD 및 기반의 9TB 2 노드 NAS를 구축했습니다. 모든 사랑스럽게 세 블로그 게시물에 문서화 : 최대 구축 및 새로운 9TB SATA RAID10 NFSv4의 NAS 테스트 : 부 , 파트 II 와 III 부 .
우리는 또한 Cacit 모니터링 시스템을 설정했습니다. 최근에는 SMART 값과 같이 점점 더 많은 데이터 요소를 추가했습니다.
나는없이이 모든 것을 할 수 없었던 멋진 발명가 의 에 Serverfault . 재미 있고 교육적인 경험이었습니다. 내 상사는 행복하다 (우리가 $$$의 버킷 부하를 저장) 고객이 행복하다, (스토리지 비용이 다운) , 나는 행복 해요 (재미, 재미, 재미) .
어제까지.
정전 및 복구 :
점심을 먹은 후 얼마 지나지 않아 온 디맨드 스트리밍 미디어 CMS 인 응용 프로그램에서 성능이 저하되었다는보고를 받기 시작했습니다. 거의 동시에 Cacti 모니터링 시스템은 블리자드 이메일을 보냈습니다. 더 많은 경고 중 하나는 iostat await의 그래프입니다.
Pingdom은 "서버 다운"알림을 보내기 시작하여 성능이 저하되었습니다. 전체로드는 적당하고 트래픽 급증은 없었습니다.
NAS의 NFS 클라이언트 인 응용 프로그램 서버에 로그온 한 후, 거의 모든 것이 매우 간헐적이고 IO 대기 시간이 길다는 것을 확인했습니다. 일단 기본 NAS 노드 자체로 홉핑 한 후에도 문제 배열의 파일 시스템을 탐색 할 때도 동일한 지연이 나타났습니다.
페일 오버 할 때가되었습니다. 20 분 안에 모든 것이 백업되고 완벽하게 작동하는 것으로 확인되었습니다.
검시:
모든 시스템 오류가 발생한 후 사후 검사를 수행하여 오류의 원인을 확인합니다. 내가 한 첫 번째 일은 상자에 다시 넣고 로그 검토를 시작했습니다. 완전히 오프라인 상태였습니다. 데이터 센터를 여행 할 시간입니다. 하드웨어 재설정, 백업 및 실행
에서 /var/syslog
나는이 무서운 찾고 항목을 발견 :
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 171 to 170
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 16 Currently unreadable (pending) sectors
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 4 Offline uncorrectable sectors
Nov 15 06:49:45 umbilo smartd[2827]: Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
Nov 15 06:49:45 umbilo smartd[2827]: # 1 Short offline Completed: read failure 90% 6576 3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 2 Short offline Completed: read failure 90% 6087 3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 3 Short offline Completed: read failure 10% 5901 656821791
Nov 15 06:49:45 umbilo smartd[2827]: # 4 Short offline Completed: read failure 90% 5818 651637856
Nov 15 06:49:45 umbilo smartd[2827]:
그래서 배열의 디스크에 대한 Cacti 그래프를 확인했습니다. 여기서 우리는 디스크 7이 syslog가 말한 것처럼 미끄러 져 가고 있음을 알 수 있습니다. 그러나 디스크 8의 SMART Read Erros가 변동하고 있음을 알 수 있습니다.
syslog에 디스크 8에 대한 메시지가 없습니다. 더 흥미로운 것은 디스크 8의 변동 값이 높은 IO 대기 시간과 직접적으로 관련되어 있다는 것입니다! 내 해석은 다음과 같습니다.
- 디스크 8에 이상한 하드웨어 오류가 발생하여 간헐적으로 긴 작동 시간이 발생합니다.
- 어떻게 든 디스크 의이 결함 상태가 전체 배열을 잠그고 있습니다
더 정확하거나 정확한 설명이있을 수 있지만 결과적으로 하나의 디스크가 전체 어레이의 성능에 영향을 미칩니다.
질문
- 하드웨어 SATA RAID-10 어레이의 단일 디스크가 어떻게 전체 어레이를 멈출 수 있습니까?
- RAID 카드가이 문제를 해결해야한다고 생각하십니까?
- 하나의 오작동 디스크가 전체 어레이에 영향을 미치지 않도록하려면 어떻게해야합니까?
- 뭔가 빠졌습니까?