콘텐츠로 이동

리눅스(명령어)

상황별 명령어


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 는 손실 (복구불가) 되는 것 이다.

    스크린샷 2024-05-08 오후 3.01.34.png


    스크린샷 2024-05-08 오후 3.03.38.png


    SATA / SAS

    SATA

    SAS

    참고 :

    Menlo Security

    번외 - 레이드 카드가 장착된 모델과 그렇지 않은 모델은 smartctl 옵션 자체가 바뀌게 된다.

    )
    smartctl -a /dev/sda
    또는
    smartctl -a /dev/sg0 (prco 밑에서 확인 가능, dell 210 경우 /dev/sf1 sg2)
    • 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 | grepDevice ID
ethtool eth0
df -Th

현재 디스크의 전체 용량 및 남은 용량을 확인

top

운영체제 작업내역 모니터링

free

메모리 모니터링

lspci

nic 카드 장애 의심되는 상황에서 모델명 확인