본문 바로가기
IT생활

TrueNAS에서 디스크 상태를 모니터링하는 방법

by 우물 밖 개구리. 2025. 3. 11.
반응형

TrueNAS에는 CrystalDiskInfo 같은 GUI 기반의 SMART 모니터링 툴이 기본 내장되지는 않았지만, SMART (Self-Monitoring, Analysis, and Reporting Technology) 데이터를 확인할 수 있는 여러 가지 방법이 제공된다.


1. TrueNAS에서 디스크 상태를 모니터링하는 방법

TrueNAS 웹 UI를 통한 SMART 모니터링

  • TrueNAS의 웹 인터페이스에서 Storage → Disks → S.M.A.R.T. 탭을 통해 개별 디스크의 상태를 모니터링할 수 있음.
  • 온도, 읽기/쓰기 오류, 전원 켜진 시간 등 기본적인 SMART 데이터를 제공함.
  • 하지만 CrystalDiskInfo처럼 직관적인 UI는 아님.

CLI(Command Line Interface)에서 SMART 데이터 조회

TrueNAS는 FreeBSD 기반이므로, smartctl 명령어를 사용해 SMART 상태를 직접 확인할 수 있음.

smartctl -a /dev/da0   # da0 대신 실제 디스크 장치명을 사용

출력되는 정보:

  • 전반적인 SMART 상태 (PASSED / FAILED)
  • 디스크 온도
  • 읽기/쓰기 오류 수
  • 전원 켜진 시간
  • 리매핑된 섹터 수

이 데이터를 보면 CrystalDiskInfo에서 확인하는 주요 정보들을 거의 동일하게 볼 수 있다.

TrueNAS의 디스크 상태 알림 기능

TrueNAS에는 디스크 오류가 감지되면 자동으로 이메일을 보내는 기능이 내장되어 있음.

  • System → Alerts → Reporting에서 설정 가능.
  • 특정 임계값 (온도, 오류 발생 횟수 등)을 넘으면 자동으로 관리자에게 알림이 전송됨.

2. CrystalDiskInfo와 비슷한 추가 모니터링 툴을 TrueNAS에서 사용할 수 있을까?

CrystalDiskInfo처럼 직관적인 그래픽 UI를 제공하는 대체 툴은 기본 제공되지 않지만, 몇 가지 추가적인 방법이 있음.

Grafana + Prometheus + SMART Exporter (TrueNAS에 설치 가능)

  • TrueNAS에서 SMART 데이터를 Prometheus로 수집하고 Grafana를 통해 시각적으로 모니터링 가능.
  • CrystalDiskInfo보다는 더 강력한 기능을 제공하지만, 설치 과정이 다소 복잡함.

Home Assistant + TrueNAS API 연동

  • Home Assistant 같은 모니터링 툴을 활용하면, TrueNAS의 SMART 정보를 수집하여 대시보드 형태로 볼 수 있음.

TrueCommand 사용

  • TrueNAS 공식 관리 툴인 TrueCommand를 이용하면 여러 대의 NAS를 통합 관리하고 디스크 상태를 모니터링할 수 있음.
  • 하지만 개별 디스크의 세부적인 SMART 데이터를 CrystalDiskInfo처럼 간편하게 보기에는 다소 부족할 수 있음.

🎯 결론

TrueNAS에는 CrystalDiskInfo 같은 GUI 기반 SMART 모니터링 툴이 기본 내장되어 있지는 않지만,

  • 웹 UI에서 기본 SMART 데이터를 확인할 수 있고,
  • CLI (smartctl) 명령어를 사용하면 더 상세한 정보를 볼 수 있으며,
  • TrueCommand / Grafana 같은 추가 솔루션을 사용하면 더 직관적인 모니터링이 가능함.

CrystalDiskInfo처럼 단순하고 직관적인 UI는 없지만, 필요한 정보는 대부분 TrueNAS에서 직접 제공할 수 있다. 🚀

 

 

TrueNAS에서 RAID(ZFS) 구성에서 장애가 있는 디스크를 찾아내는 방법은 여러 가지가 있다. 완전히 고장난 디스크뿐만 아니라, 배드 섹터로 인해 일부 구간에서 성능이 저하되는 디스크도 감지할 수 있는 방법을 설명하겠다.


1. TrueNAS 웹 UI에서 장애 디스크 찾기

TrueNAS의 웹 인터페이스에서 Storage → Pools → Status로 이동하면, RAID(ZFS) 풀의 상태를 확인할 수 있다.

  • 장애 디스크가 있으면 "DEGRADED", "FAULTED" 등의 경고가 표시됨.
  • 특정 디스크에서 읽기/쓰기 오류가 발생하면, UI에 경고 메시지가 나타남.
  • 하지만, 배드 섹터로 인해 성능이 저하되는 경우라면, UI에서 즉시 감지되지 않을 수도 있음.

🔍 체크할 것: "Read Errors", "Write Errors", "Checksum Errors" 수치를 확인하면 문제가 있는 디스크를 쉽게 찾을 수 있음.


2. CLI(Command Line)에서 디스크 상태 확인 (smartctl)

TrueNAS는 FreeBSD 기반이므로, CLI에서 smartctl 명령어를 사용하면 디스크의 SMART 상태를 더 정밀하게 확인할 수 있다.

① 개별 디스크의 SMART 정보 확인

smartctl -a /dev/da0   # da0 대신 실제 디스크 장치명을 사용

출력되는 정보에서 다음 항목을 중점적으로 확인:

  • Reallocated_Sector_Ct → 리매핑된 섹터 수 (배드 섹터가 발생한 경우 증가)
  • Current_Pending_Sector → 현재 불안정한 섹터 (이 값이 0 이상이면 주의)
  • Offline_Uncorrectable → 수정할 수 없는 오류 (값이 높으면 디스크 교체 고려)
  • Temperature_Celsius → 디스크 온도 (비정상적으로 높으면 문제 가능)
  • UDMA CRC Errors → 케이블 문제 또는 인터페이스 오류

🔹 배드 섹터 문제를 일으키는 디스크는 Reallocated_Sector_Ct 값이 증가하는 경우가 많음.
🔹 Current_Pending_Sector 값이 계속 증가하면 디스크 교체를 고려해야 함.


3. ZFS 명령어로 RAID(ZFS) 풀 상태 확인

ZFS는 자체적인 데이터 무결성 검사를 수행하므로, 특정 디스크에서 오류가 발생하면 이를 감지할 수 있음.

① ZFS 풀 상태 확인

zpool status -v

출력 예시:

pool: mypool
 state: DEGRADED
status: One or more devices are experiencing errors.
action: Replace the affected device.
  scan: scrub repaired 512K in 1h25m with 0 errors
config:
    NAME        STATE     READ WRITE CKSUM
    mypool      DEGRADED
      raidz1-0  DEGRADED
        da0     ONLINE
        da1     FAULTED    10   5      2
        da2     ONLINE
  • READ/WRITE/CKSUM 값이 높은 디스크가 문제 디스크
  • FAULTED 상태가 뜨면 해당 디스크는 거의 사용 불가능한 상태
  • DEGRADED 상태는 RAID(ZFS) 풀은 작동하지만 일부 디스크가 문제 있는 상태

🔍 zpool status -v는 RAID(ZFS) 풀의 디스크 상태를 직접 보여주므로, 장애 디스크를 빠르게 찾을 수 있음.


4. TrueNAS Scrub 기능을 이용한 검사

Scrub은 ZFS의 자체 무결성 검사 기능으로, 디스크에서 오류를 감지하고 복구할 수 있음.

  • TrueNAS 웹 UI → Storage → Pools → Scrub 실행
  • 또는 CLI에서 실행 가능:
    zpool scrub mypool
    
  • 실행 후 **zpool status**로 오류 확인:
    zpool status -v mypool
    

🔍 Scrub을 통해 RAID(ZFS) 풀 내에서 손상된 데이터나 성능이 떨어지는 디스크를 감지할 수 있음.
🔍 특히, "checksum errors"가 많다면 해당 디스크를 교체하는 것이 좋음.


5. 디스크 성능 테스트로 속도 저하 확인

디스크가 완전히 고장나지는 않았지만, 특정 섹터에서 속도가 급격히 저하되는 경우 dd 또는 fio 같은 툴로 테스트해볼 수 있음.

① dd로 개별 디스크 속도 테스트

dd if=/dev/da0 of=/dev/null bs=1M count=10000 status=progress
  • 특정 디스크의 읽기 속도를 측정함.
  • 어느 구간에서 속도가 급격히 떨어진다면, 해당 디스크에 문제가 있을 가능성이 높음.

② fio를 이용한 랜덤 읽기 테스트

fio --name=randread --ioengine=libaio --rw=randread --bs=4k --numjobs=1 --size=1G --runtime=60 --time_based --iodepth=32 --filename=/dev/da0
  • 랜덤 읽기 성능을 테스트하여, 배드 섹터가 있는 경우 속도가 비정상적으로 떨어지는지 확인 가능.

🎯 결론: 장애 디스크를 찾아내는 최적의 방법

장애 디스크를 빠르게 찾는 방법

  1. TrueNAS 웹 UI → Storage → Pools → Status에서 DEGRADED, FAULTED 상태 확인.
  2. zpool status -v 명령어를 사용해 ZFS에서 장애 디스크 감지.
  3. **smartctl -a /dev/daX**를 사용하여 SMART 데이터를 확인하고, 배드 섹터 발생 여부 체크.
  4. Scrub 실행 (zpool scrub mypool) 하여 데이터 무결성 검사 진행.
  5. **디스크 성능 테스트 (dd, fio)**로 특정 섹터에서 성능 저하가 있는지 확인.

장애 디스크 교체 기준

  • SMART 값에서 Current_Pending_Sector나 Reallocated_Sector_Ct 증가
  • ZFS scrub 후 "checksum errors"가 지속적으로 증가
  • dd나 fio 테스트 시 특정 구간에서 성능 급락
  • zpool status에서 "DEGRADED", "FAULTED" 상태 감지

이런 문제가 있는 경우, 장애 디스크를 빠르게 교체하는 것이 중요하다.
RAID-Z1의 경우 디스크 하나가 고장나면 복구 가능하지만, 두 개가 고장 나면 데이터 손실 위험이 있음.


결론적으로, TrueNAS에서는 zpool status, smartctl, scrub 등의 기능을 활용하면 배드 섹터로 인한 성능 저하도 포함하여 장애 디스크를 효과적으로 찾아낼 수 있다. 🚀

반응형