리눅스(명령어)
smartctl -[옵션] [장치명(영역)]-
smartctl (명령어 및 설명)
명령어 및 오류 설명
섹션 제목: “명령어 및 오류 설명”- Self-Monitoring, Analysis and Reporting Technology
- 1992년에 개발된 IBM의 “자가진단 분석 및 보고 기술”이라는 프로젝트에서 출발했다.
- [도움말 확인]
smartctl -h- [디스크 검색]
smartctl --scan- [상태 확인]
smartctl -H /dev/sd*- [디스크 정보 확인]
smartctl -i /dev/sd*- [S.M.A.R.T. 기능 on/off]
smartctl -s off /dev/sd*- [디스크의 모든 정보 확인(기본적으로 가장 많이 사용)]
smartctl -a /dev/sd*- disk는 sector(스핀들) / Page(nand) 단위로 ECC (Error Correcting Code) 영역을 둔다.
- ecc는 data 가 weite 될때 생성되어 스페어 영역(sector / page 스페어 영역을 말함)에 패리티 비트를 계산해 저장한다.
- 해당 영역에 read 발생시 data 영역을 읽은 후 ecc 패리티까지 write 할때와 맞는지 검증하게 된다.
- 이 과정에서 패리티가 틀린 경우 자동보정 (1 bit 까지)이 가능하다.
- 이렇게 1bit 패리티 에러를 correlated error (싱글비트 에러)라고 하며 이는 ECC 로 보정 가능하다.
- 만약 1bit 이상 즉 2bit (멀티비트 에러) 이상 보정은 불가 하며 이를 uncorrelated error 즉 보정 불가 (배드 섹터) 하고 한다.
- uncorrelated error 가 발생하면 Disk 펌웨어 레벨에선 해당 구역을 repair (reassign, remap) 즉 다른 정상 적인 sector로 치환 하며 배드섹터 영역은 fail 구획으로 마킹 (컨트롤러, 메타데이터 영역에 해당 섹터 넘버로 fail 상태로 마킹해 해당 섹터로 접근을 하지 않도록 구현)하여 처리한다.
- uncorrelated error sector data 는 손실 (복구불가) 되는 것 이다.
디스크 점검 결과 확인
섹션 제목: “디스크 점검 결과 확인”

SATA / SAS
참고 :
번외 - 레이드 카드가 장착된 모델과 그렇지 않은 모델은 smartctl 옵션 자체가 바뀌게 된다.
레이드카드(R/C)가 장착된 모델
섹션 제목: “레이드카드(R/C)가 장착된 모델”예)smartctl -a /dev/sda또는smartctl -a /dev/sg0 (prco 밑에서 확인 가능, dell 210의 경우 /dev/sf1 과 sg2)레이드카드(R/C)가 없는 모델
섹션 제목: “레이드카드(R/C)가 없는 모델”-
SAS
smartcttl -d megaraid,00 -a /dev/sda -
SATA
smartctl -d sat+megaraid,00 -a /dev/sda
sata의 경우 -d 옵션 뒤에 sat+ 옵션을 붙여야 한다.
megaraid 뒤에 00 ← 이건 디스크 순서 넘버이고, LSI와 같은 경우 아래와 같은 커멘드로 알 수 있다.
-a 뒤에 디바이스명은 R/C 달린 상태에서는 의미가 없다.
MegaCli64 -LDPDInfo -aAll | grep “Device ID”
ethtool eth0df -Th현재 디스크의 전체 용량 및 남은 용량을 확인
top운영체제 작업내역 모니터링
free메모리 모니터링
lspcinic 카드 장애 의심되는 상황에서 모델명 확인