Tutoriel Linux

Linux 환경에서 Smartctl을 사용하여 디스크 오류 발생 전 검사하기

Débutant2 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

디스크는 불안정한 섹터, 미디어 오류 또는 심각한 마모가 누적되는 중에도 명령에 계속 응답할 수 있습니다. 첫 번째 I/O 오류가 발생할 때까지 기다렸다가 상태를 확인하면 백업 프로세스가 이미 복잡해질 수 있습니다.

smartctl 스마트몬툴즈이 프로그램은 SATA, SAS 및 NVMe 드라이브의 SMART 정보를 읽습니다. 저는 의심스러운 부분을 확인하는 용도로 사용하지만, 드라이브 상태를 보장하는 용도로는 절대 사용하지 않습니다. 이는 갑작스러운 오류를 방지하지는 못합니다. 목표는 결정을 내리기 전에 전체 상태, 유용한 카운터, 자체 테스트 및 커널 로그를 상호 참조하는 것입니다.

Tux는 하드 드라이브가 고장나기 전에 SMART 상태를 검사합니다.
Smartctl은 디스크를 백업하거나 교체하기 전에 SMART 상태, 미디어 오류 및 자체 테스트 결과를 상호 참조하는 데 도움이 됩니다.

smartctl을 실행하기 전에 디스크를 식별하십시오.

문제의 디스크가 그렇다고 단정하지 마십시오. /dev/sda재부팅하거나 장치를 추가하면 이름이 변경될 수 있습니다. 모델, 일련 번호 및 연결 유형을 확인하세요.

lsblk -d -o NAME,SIZE,MODEL,SERIAL,TRAN,TYPE
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINTS,MODEL,SERIAL

첫 번째 명령은 물리적 블록 장치 목록을 보여줍니다. 두 번째 명령을 사용하면 디스크를 파티션 및 마운트 지점에 연결할 수 있습니다. 용량이 동일한 여러 모델의 경우 일련 번호를 통해 값비싼 오류를 방지할 수 있습니다. 자세한 내용은 가이드를 참조하십시오. Linux에서 lsblk 실행 조립 또는 포맷팅 전에 이 식별 정보를 자세히 기록합니다.

한 번 스마트몬툴즈 설치 후에는 해당 도구가 어떤 장치를 열 수 있는지 확인하십시오.

sudo smartctl --scan-open

예를 들어 디스크 전체에서 작업합니다. /dev/sda 또는 /dev/nvme0점수는 아니지만, /dev/sda1.

데비안 또는 우분투 시스템에서:

sudo apt 업데이트

Fedora, Rocky Linux 또는 AlmaLinux에서:

sudo dnf install smartmontools

sudo pacman -S smartmontools

sudo smartctl -i /dev/sda

제품 모델과 일련번호를 찾아야 합니다. lsblkUSB-SATA 외장 케이스에서 SMART 기능은 브리지를 통해 숨길 수 있습니다. 이 방식은 특정 어댑터와 호환됩니다.

sudo smartctl -a -d sat /dev/sdb

임의로 장치 유형을 지정하지 마십시오. 결과를 확인하십시오. --스캔-열기 RAID 인클로저 또는 컨트롤러에 대한 설명서도 필요합니다. 일부 컨트롤러는 각 물리적 디스크에 액세스하기 위해 특정 옵션이 필요합니다.

한 마디도 믿지 말고 전체적인 상황을 파악하라.

먼저 전반적인 건강 상태 검사부터 시작하세요:

sudo smartctl -H /dev/sda

결과 합격 이는 디스크가 제조업체가 정의한 고장 임계값을 넘지 않았다는 것을 의미합니다. 새 제품이거나 오류가 없거나 내일 고장 나지 않을 것이라는 의미는 아닙니다. 결과 실패한

그다음 전체 보고서를 표시하세요.

sudo smartctl -a /dev/sda
sudo smartctl -a /dev/nvme0

먼저 모델, 일련번호 및 용량이 대상 드라이브와 일치하는지 확인하십시오. 그런 다음 온도, 작동 시간, 오류 로그 및 자체 테스트 결과를 확인하십시오. -엑스 자세한 내용은 다음과 같습니다. -가지다 충분하지 않습니다:

sudo smartctl -x /dev/sda

의사결정에 영향을 미치는 지표를 파악하십시오.

SATA 드라이브의 경우 특히 다음 사항에 주의하십시오. 재할당된_섹터_Ct 그리고 오프라인 수정 불가수정 불가능한 섹터, 특히 그 수가 증가하는 섹터는 백업 및 교체 준비를 해야 합니다. 재할당된 섹터 수가 안정적이라고 해서 자동으로 장애를 의미하는 것은 아니지만, 지속적으로 모니터링해야 합니다.

UDMA_CRC_오류_카운트 이는 SATA 연결 문제(케이블, 커넥터, 전원 공급 장치 또는 컨트롤러)를 나타내는 경우가 많습니다. 이 카운터 값이 상승하면 연결 상태를 확인한 후 보고서를 다시 읽어보세요. 전송 오류와 불량 섹터를 혼동하지 마십시오.

NVMe SSD에서 살펴보세요. 심각한 경고, 사용 가능한 예비, 그리고 사용된 비율 이는 소모된 체력에 대한 추정치이며, 정확한 카운트다운이 아닙니다.

제조사에 따라 명칭, 임계값 및 원시 값이 다를 수 있습니다. 항상 동일한 드라이브에서 여러 번 측정값을 비교하십시오. 다른 모델의 원시 값을 복사하면 오진으로 이어질 수 있습니다.

간단한 테스트를 실행한 다음 결과를 가져옵니다.

디스크에 계속 액세스할 수 있고 입출력 오류가 발생하지 않는 경우 간단한 자체 테스트를 실행하십시오.

sudo smartctl -t short /dev/sda

smartctl 대략적인 완료 시간을 나타냅니다. 테스트는 디스크에서 실행되며 명령은 즉시 제어권을 반환합니다. 단, 저장 장치 부하가 심한 기간에는 실행하지 마십시오. 시간 초과가 발생하면 로그를 확인하십시오.

sudo smartctl -l 자가 테스트 /dev/sda
sudo smartctl -a /dev/sda

테스트 결과는 오류 없이 완료된 것으로 표시되어야 합니다. 테스트 중단은 시스템 종료, 절전 모드 또는 다른 테스트 명령으로 인해 발생할 수 있습니다. 테스트 실패와 함께 불안정한 섹터 또는 커널 오류가 발생하면 디스크 교체를 고려해야 합니다.

긴 테스트 smartctl -t long

SMART 정보와 커널 오류를 상호 참조

SMART는 Linux 로그를 대체하지 않습니다. 현재 부팅 과정 중에 바인딩 오류, 재설정 및 I/O 오류를 확인하십시오.

sudo journalctl -k -b -p warning..alert --no-pager
sudo dmesg -T | grep -Ei 'ata|nvme|i/o 오류|재설정|중간 오류'

튜토리얼 dmesg 및 커널 메시지 iostat를 사용하면 하드 드라이브 고장과 불안정한 USB 케이블, 컨트롤러 또는 전원 공급 장치를 구분하는 데 도움이 됩니다. 또한 iostat로 측정한 포화도 값은 물리적 고장의 증거가 아닙니다. 이는 저장 매체의 상태가 아닌 부하를 나타냅니다.

파일 시스템을 복구하기 전에 데이터를 백업하십시오.

던지지 마세요 fsck 장비를 테스트하기 위해. fsck 이 기능은 파일 시스템 일관성을 기반으로 작동하며, 이미 취약한 하드웨어에 상당한 부담을 줄 수 있습니다. 가이드에서는… 의도적으로 식별, 분해 및 비기록적 검사로 시작합니다.

가정용 NAS에 Linux 설치하기

거기 smartctl 매뉴얼 페이지 옵션, 장치 유형 및 자체 테스트에 대한 정보를 문서화합니다. smartmontools 프로젝트의 예시 주요 SATA 및 NVMe 보고서를 표시합니다. 다음 순서를 준수하십시오. 올바른 드라이브를 식별하고, 전체 상태를 읽고, 드라이브가 안정적인지 확인하는 간단한 테스트를 실행한 다음, 신호가 수렴되는 즉시 백업하거나 교체하십시오.

sudo apt update && sudo apt upgrade