Smartctl로 Linux에서 디스크 상태를 확인하는 방법
12분 소요 - 2026년 5월 18일

Smartctl과 smartd를 사용하여 드라이브 상태를 모니터링하고, SMART 테스트를 실행하고, Linux 서버에서 자동 알림을 설정하세요. 태그: 스마트ctl, 스마트몬툴즈, SMART, 디스크 상태, 리눅스, 서버 모니터링, smartd, NVMe, SSD, HDD.
smartctl을 사용하여 Linux에서 디스크 상태를 확인하는 방법
smartctl 는 리눅스에서 스토리지 드라이브 상태를 모니터링하는 명령줄 도구입니다. 이 도구는 HDD, SSD 및 NVMe 드라이브에서 S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) 데이터를 읽어 재할당된 섹터, 온도, 오류 횟수 등의 지표를 추적합니다. 드라이브에 고장 징후가 나타나면 smartctl 데이터를 잃기 전에 경고 신호를 제공합니다. 이 가이드에서는 설치, 상태 점검 및 자가 진단 실행, 주요 SMART 속성 이해, 그리고 smartd.
smartmontools 설치
smartctl 는 smartmontools 패키지의 일부입니다. 설치 및 대부분의 smartctl 명령을 실행하려면 하드웨어에 직접 접근해야 하므로 루트 또는 sudo 권한이 필요합니다.
| 배포판 | 명령어 |
|---|---|
| 데비안 / 우분투 / 리눅스 민트 | sudo apt update && sudo apt install smartmontools -y |
| CentOS / RHEL / Rocky / Alma (8+) | sudo dnf install smartmontools -y |
| CentOS / RHEL 7 및 이전 버전 | sudo yum install smartmontools -y |
| Arch Linux / Manjaro | sudo pacman -S smartmontools |
| Fedora | sudo dnf install smartmontools |
다음 명령어로 설치를 확인하십시오 smartctl --version.
드라이브 식별 및 SMART 활성화
무엇을 확인하기 전에, 서버에 어떤 드라이브가 장착되어 있는지, 그리고 해당 드라이브가 SMART를 지원하는지 알아야 합니다.
모든 블록 장치 나열:
lsblkSMART 호환 드라이브 검색:
sudo smartctl --scan이렇게 하면 장치 이름, 유형 및 프로토콜(ATA, SCSI, NVMe)이 반환됩니다. SATA 및 SAS 드라이브는 /dev/sda, /dev/sdb등으로 표시됩니다. NVMe 드라이브는 /dev/nvme0n1, /dev/nvme1n1.
특정 드라이브에서 SMART가 사용 가능하고 활성화되어 있는지 확인:
sudo smartctl -i /dev/sda출력 결과에서 "SMART support is: Available" 및 "SMART support is: Enabled"를 확인하십시오. 사용 가능하지만 활성화되지 않은 경우, 활성화하십시오:
sudo smartctl -s on /dev/sda이 설정은 재부팅 후에도 유지됩니다.
RAID 컨트롤러 뒤에 있는 드라이브의 경우, -d 플래그를 사용하여 컨트롤러 유형을 지정하십시오. MegaRAID의 경우: -d megaraid,N. HP Smart Array의 경우: -d cciss,N. 이 플래그가 없으면 smartctl 개별 물리적 드라이브를 인식하지 못합니다.
VPS 환경의 가상 디스크나 대부분의 USB 플래시 드라이브에서는 SMART 모니터링을 사용할 수 없습니다. 가상화 계층이나 USB 인클로저가 하드웨어 원격 측정 데이터에 대한 액세스를 차단하기 때문입니다.
상태 점검 및 자체 테스트 실행
간단한 상태 점검은 드라이브의 펌웨어에 중대한 오류가 있는지 확인합니다:
sudo smartctl -H /dev/sda'PASSED' 결과는 드라이브가 내부 오류 임계값을 초과하지 않았음을 의미합니다. 'FAILED' 결과는 드라이브가 곧 고장날 것으로 예상됨을 의미합니다. 즉시 데이터를 백업하십시오.
모든 속성 및 오류 로그를 포함한 전체 SMART 데이터를 확인하려면:
sudo smartctl -a /dev/sda자가 진단
smartctl 세 가지 유형의 자가 테스트를 실행할 수 있으며, 이 모든 테스트는 시스템이 계속 작동하는 동안 백그라운드에서 수행됩니다:
- 단기 테스트(1~5분): 전기 및 기계적 구성 요소를 점검합니다.
sudo smartctl -t short /dev/sda - 장시간 테스트(수 시간): 드라이브의 모든 섹터를 스캔합니다.
sudo smartctl -t long /dev/sda - 운송 테스트 (~5분): 운송 중 발생한 물리적 손상을 감지합니다.
sudo smartctl -t conveyance /dev/sda
장시간 테스트를 시작하기 전에 예상 완료 시간을 확인하십시오:
sudo smartctl -c /dev/sda테스트 결과 확인:
sudo smartctl -l selftest /dev/sda"오류 없이 완료됨"이 표시되어야 합니다. 테스트에 실패하면 결과에는 LBA_of_first_error이 표시되며, 이는 디스크의 어느 위치에 손상이 있는지 정확히 알려줍니다.
주목해야 할 주요 SMART 속성
통과/불합격 방식의 상태 점검은 유용하지만 한계가 있습니다. 개별 속성의 상태가 악화되고 있음에도 드라이브가 '통과(PASSED)'로 보고될 수 있습니다. 다음은 가장 중요한 항목들입니다:
- 재할당된 섹터 수(ID 5): 드라이브가 예비 섹터로 교체한 불량 섹터입니다. 0이 아닌 값은 물리적 마모를 의미합니다. 오래된 드라이브에서 재할당된 섹터가 하나 있는 것은 반드시 긴급한 상황은 아니지만, 그 수가 증가하는 것은 분명한 경고 신호입니다.
- 현재 보류 중인 섹터 수(ID 197): 드라이브가 읽거나 쓸 수 없어 재매핑을 기다리고 있는 섹터입니다. 이 수치가 계속 증가하면 드라이브 상태가 악화되고 있는 것입니다.
- 오프라인 수정 불가능 오류(ID 198): 백그라운드 스캔 중에 발견된 수정 불가능한 오류입니다. 표면 손상을 나타냅니다.
- UDMA CRC 오류 수 (ID 199): 데이터 전송 오류입니다. 이는 일반적으로 드라이브 고장이 아닌 SATA 케이블 결함이나 커넥터 느슨함을 의미합니다. 먼저 케이블을 확인하십시오.
SSD 및 NVMe 드라이브의 경우, 대신 '사용 가능한 예비 공간'과 '사용률'을 확인하십시오. 사용률이 100%에 가까워지면 드라이브가 쓰기 내구도 한계에 도달한 것입니다.
온도도 중요합니다. HDD는 50°C 이상에서 신뢰성이 떨어집니다. SSD는 더 높은 온도를 견딜 수 있지만 70°C 미만으로 유지해야 합니다. smartctl -A /dev/sda를 사용하여 확인하거나, 최근 명령어 오류 내역을 smartctl -l error /dev/sda.
smartd를 활용한 모니터링 자동화
드라이브를 수동으로 확인하는 것은 일회성 진단에는 적합합니다. 지속적인 모니터링을 위해서는 smartdsmartmontools에 포함된 데몬인 smartd를 사용하십시오. 이 도구는 기본적으로 30분마다 드라이브를 폴링하고 속성 변경 사항을 syslog에 기록합니다.
다음 위치의 구성 파일을 편집하십시오 /etc/smartd.conf (또는 /etc/smartmontools/smartd.conf RHEL/CentOS의 경우)에 있는 구성 파일을 편집하십시오. DEVICESCAN 가 모든 것을 자동으로 감지하도록 하는 대신, 드라이브를 명시적으로 나열하십시오. 이렇게 하면 호환되지 않는 장치로 인한 시스템 멈춤 현상을 방지할 수 있습니다.
구성 예시:
/dev/sda -a -m [email protected] -s (S/../.././02|L/../../6/03) -W 4,45,55
/dev/sdb -a -m [email protected] -n standby,q각 플래그의 역할:
-a: 모든 SMART 속성 모니터링-m: 오류 발생 시 이메일 알림 전송-s: 매일 오전 2시에 짧은 테스트를, 매주 토요일 오전 3시에 긴 테스트를 예약-W 4,45,55: 4°C 온도 변화 기록, 45°C 시 경고, 55°C 시 중대 경보-n standby,q: 불필요한 스핀업 방지를 위해 대기 모드에 있는 드라이브는 폴링에서 제외
RAID 컨트롤러 뒤에 있는 드라이브의 경우, 드라이브별로 유형을 지정하십시오:
/dev/sda -d megaraid,0 -a -m [email protected]
/dev/sda -d megaraid,1 -a -m [email protected]서비스를 활성화하고 시작합니다:
sudo systemctl enable --now smartdDebian 기반 시스템에서는 다음 줄의 주석도 해제하십시오 start_smartd=yes 를 /etc/default/smartmontools.
이메일 알림을 테스트하려면 -M test 를 구성 줄에 추가한 후 smartd한 후, 해당 줄을 삭제하십시오. 서비스를 재시작하지 않고 구성 변경 사항을 다시 불러오려면 killall -HUP smartd.
매일 짧은 테스트를 수행하면 1~2분이 소요되며 대부분의 표면적인 결함을 포착할 수 있습니다. 매주 장시간 테스트를 수행하면 모든 섹터를 점검할 수 있습니다. 이를 이메일 알림과 결합하면 드라이브가 완전히 고장 나기 전에 신뢰할 수 있는 조기 경고를 받을 수 있습니다.

느린 배포나 대역폭 제한에 지치셨나요? FDC 서버는 즉각적인 전용 전원, 글로벌 범위, 모든 규모에 맞게 구축된 유연한 요금제를 제공합니다.
지금 업그레이드하기
Linux의 좀비 프로세스: 찾기, 제거, 방지
Linux에서 좀비 프로세스를 식별, 제거 및 방지하는 방법에 대해 알아보세요. 서버 관리자를 위한 명령어, 코드 수정 및 모니터링 팁.
15분 소요 - 2026년 5월 19일
Linux 서버 강화 체크리스트
15분 소요 - 2026년 5월 8일

질문이 있거나 맞춤형 솔루션이 필요하신가요?
유연한 옵션
글로벌 도달 범위
즉시 배포
유연한 옵션
글로벌 도달 범위
즉시 배포