안녕하세요. 주식회사 서버몬 입니다.
오늘은 리눅스에서 smartctl이라는 툴을 이용한 디스크 점검 방법에 대해 알아보겠습니다.
smartctl 은 디스크의 S.M.A.R.T. 라는 기능을 통해서 디스크에 대한 정보를 확인할 수 있는 프로그램입니다.
디스크가 올바르게 작동하는지 확인하는 것은 시스템의 안정성을 유지하는 데 매우 중요합니다.
이를 위해 smartctl 툴을 사용하여 상시적으로 디스크의 상태를 모니터링하고 오류를 확인하는 작업이 필요합니다.
smartctl 은 윈도우를 포함하여 다양한 OS를 지원하고 있지만 이번 시간에는 리눅스 환경 중 가장 많이 활용되는
레드헷 기반의 CentOS 7.9 환경에서 테스트 후 작성되었습니다.
S.M.A.R.T. 란?
S.M.A.R.T.는 Self-Monitoring, Analysis and Reporting Technology의 약어로
1992년에 개발된 IBM의 "자가진단 분석 및 보고 기술"이라는 프로젝트에서 출발했습니다.
초기에는 하드 드라이브에 발생하는 문제를 조기에 감지하고 이에 대한 진단 정보를 수집하는 것을 목표로 하였습니다.
이 후 이 기술은 다양한 하드웨어 제조사들에 의해 도입되어 하드 드라이브의 상태를 실시간으로 모니터링할 수 있는
기능을 제공합니다.
현재도 대부분의 디스크 제조사들은 제조 시 S.M.A.R.T. 기능을 추가하여 제공 중이며 많은 OS에서도
S.M.A.R.T.를 지원하고 있어서 각 OS에 맞는 프로그램을 통해 디스크 상태를 쉽게 파악할 수 있습니다.
S.M.A.R.T.기능은 하드 디스크 제조사에서 하드웨어적으로 구현되어 있으므로 사용자는 하드 디스크를 구입할 때
해당 기능이 지원되는지만 확인하면 됩니다.
만일 S.M.A.R.T. 기능이 활성화되어 있지 않은 경우, 일반적으로 BIOS 셋업에서 활성화하거나
하드웨어 제조사에서 제공하는 툴을 사용하여 설정할 수 있습니다.
smartctl 설치
smartctl 은 smartmontools라는 패키지에 포함되어있으며 해당 패키지는 OS 설치 시 기본적으로 포함된 경우도 있습니다.
아래와 같은 명령어로 smartmontools 패키지의 설치여부를 확인할 수 있습니다.
#rpm -qa | grep smartmontools
만일 smartmontools이 미설치로 확인될 경우 아래와 같은 명령어로 설치해주시면 됩니다.
#sudo yum install smartmontools
추가로 우분투 OS일 경우 아래와 같은 명령어로 설치하시면 됩니다.
#sudo apt-get install smartmontools
설치가 완료되었다면 본격적으로 smartctl로 디스크 점검을 진행해보겠습니다.
기본 명령어 및 점검 방법
smartctl에는 다양한 명령어가 있지만 주로 사용하는 몇가지만 확인해보도록 하겠습니다.
- 도움말 확인
- 디스크 검색
- 상태 확인
- 디스크 정보 확인
- S.M.A.R.T. 기능 on/off
- 디스크의 모든 정보 확인(기본적으로 많이 사용)
디스크 점검 결과 확인
smartctl의 다양한 명령어 중 모드 정보 확인 (-a) 명령어가 가장 많이 사용되므로
해당 결과를 토대로 점검 내용을 확인해보도록 하겠습니다.
(점검 결과의 경우 디스크 제조사, 모델 등에 따라 항목이 차이가 있을 수 있습니다.)
- START OF INFORMATION SECTION
디스크의 기본 정보를 확인할 수 있는 부분이며 (-i) 옵션과 출력 결과가 동일합니다.
모델명, 시리얼번호 및 SMART 기능 지원 여부 등을 확인할 수 있습니다.
- START OF READ SMART DATA SECTION
디스크 상태 확인 결과가 먼저 표시됩니다. (PASSED는 정상)
General SMART Values 는 S.M.A.R.T. 기능에서 제공하는 일부 정보를 설명합니다.
1. Offline data collection status: (0x00) Auto Offline Data Collection: Disabled
오프라인 상태에서 수집된 데이터, 해당 디스크에서는 수집 작업이 한번도 시작되지 않았으며,
자동 수집 기능도 비활성화 되어 있음을 나타냅니다.
2. Self-test execution status: (0)
자기 진단 테스트 실행 상태를 설명합니다. 현재 미실행 중인 상태입니다.
3.Total time to complete Offline data collection: (0) seconds.
이 항목은 오프라인 데이터 수집 작업을 완료하는데 걸리는 전체 시간을 초 단위로 보여줍니다.
4. Offline data collection capabilities: (0x7b)
오프라인 데이터 수집 작업의 가능한 기능을 설명하며, 다양한 오프라인 데이터 수집 작업을 지원함을 나타냅니다.
5. SMART capabilities: (0x0003)
S.M.A.R.T. 기능의 가능성을 설명, 해당 디스크에서는 전원 절약 모드로 전환하기 전에 S.M.A.R.T.
데이터를 저장할 수 있으며, S.M.A.R.T. 자동 저장 타이머를 지원함을 나타냅니다.
6. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported.
오류 기록 기능의 가능성을 설명하며, 해당 디스크에서는 오류 로깅과 일반 로깅을 모두 지원함을 나타냅니다.
7. Short self-test routine recommended polling time: (2) minutes.
짧은 자기 진단 테스트의 권장 폴링 시간을 분 단위로 나타냅니다.
8. Extended self-test routine recommended polling time: (111) minutes.
장기 자기 진단 테스트의 권장 폴링 시간을 분 단위로 나타냅니다.
9. Conveyance self-test routine recommended polling time: (5) minutes.
이 항목은 이동 검사 자기 진단 테스트의 권장 폴링 시간을의미합니다. 이 경우, 5분마다 테스트를 실행하는 것이 좋다는 것을 나타냅니다.
10. SCT capabilities : (0x2025)
SCT (SMART Command Transport)는 데이터 블록을 전송하는 데 사용되는 프로토콜입니다.
SCT Status supported는 SCT 명령을 사용하여 상태 정보를 제공할 수 있음을 나타냅니다.
SCT Data Table supported는 SCT 명령을 사용하여 데이터 테이블을 제공할 수 있음을 나타냅니다.
- Vendor Specific SMART Attributes with Thresholds
디스크 제조사에서 정의한 SMART 속성들이 나열되어 있습니다.
따라서 항목들은 디스크 제조사에 따라 차이가 있습니다.
각 속성의 이름, 플래그, 값(Value), 최저값(Worst), 경계값(Threshold), 유형(Type),
업데이트 시간(Updated), 실패 시기(When_Failed), raw 값(RAW_VALUE)으로 구성되어 있습니다.
1. SMART Attributes Data Structure revision number: 16
SMART Attribute 데이터 구조의 버전 번호입니다.
2. Raw_Read_Error_Rate:
디스크에서 데이터를 읽을 때 발생하는 오류. 정상 raw 값은 0 입니다.
3. Spin_Up_Time:
디스크가 회전하는데 필요한 시간을 나타내는 속성입니다.
4. Reallocated_Sector_Ct:
재할당된(sector remapping) 불량 섹터의 개수를 나타내는 속성입니다. 정상 raw 값은 0 입니다.
5. Seek_Error_Rate:
디스크에서 데이터를 찾을 때 발생하는 오류를 나타내는 속성입니다. 정상 raw 값은 0 입니다.
6. Power_On_Hours:
디스크가 작동한 시간을 나타내는 속성입니다.
7. Spin_Retry_Count:
디스크 회전 중 재시도한 횟수를 나타내는 속성입니다. 정상 raw 값은 0 입니다.
8. Unknown_Attribute:
이 항목은 제조업체가 임의로 지정한 속성입니다.
9. Unknown_HDD_Attribute:
이 항목은 제조업체가 임의로 지정한 속성입니다.
10. Temperature_Celsius:
디스크의 온도를 섭씨로 나타내는 속성입니다. raw 값이 낮을수록 좋습니다.
11. Reallocated_Event_Count:
섹터 재할당 이벤트의 발생 횟수를 나타내는 속성입니다. raw 값이 낮을수록 좋습니다.
- 그 외
1. SMART Error Log not supported:
SMART 오류 로그가 지원되지 않음을 나타냅니다.
2. SMART Self-test Log not supported:
SMART 자체 진단 로그가 지원되지 않음을 나타냅니다.
3. SMART Selective self-test log data structure revision number 1:
Selective self-test 로그의 데이터 구조 버전 번호입니다.
4. CURRENT_TEST_STATUS:
실행중인 자가 진단 상태를 나타냅니다. 여기서는 모두 Not_testing으로 나와 있으므로
현재 테스트가 실행되고 있지 않습니다.
5. Selective self-test flags (0x0):
선택적 자가 진단에 대한 플래그를 보여줍니다. 여기서는 선택적 자가 진단이 시작된 후 디스크의
나머지 부분을 읽어 스캔하지 말아야 함을 나타내는 것으로 설정되어 있습니다.
6. If Selective self-test is pending on power-up, resume after 0 minute delay.:
선택적 자가 진단이 대기 중인 경우 전원이 켜진 후 0분 지연 후 다시 시작하도록 설정되어 있습니다.
레이드 환경에서의 사용
레이드 컨트롤러가 장착된 서버 등에서 smartctl 조회 시 물리적인 디스크 정보가 아닌
논리적인 레이드 디스크만 확인되는 경우가 있습니다.
레이드 컨트롤러를 사용 중인 경우에는 해당 레이드 컨트롤러에 따른 옵션을 추가해줘야 합니다.
(테스트 환경도 HPE 서버 제품이고 레이드1이 구성된 상태지만 HW 레이드 컨트롤러가 아닌
SW 레이드인 VROC를 사용 중이므로 일반 명령어로 점검이 가능하였습니다.)
점검이 필요한 장비에 설치된 레이드 컨트롤러 종류와 점검하려는 디스크의 SCSI 번호도 필요하므로
사전 확인 후 진행 부탁드립니다. (SCSI 번호는 lsscis -g 등으로 확인 가능)
일반적으로 레이드 환경에서의 명령어 구조는 아래와 같습니다.
smartctl -a -d (디바이스 옵션) cciss (디바이스 타입), 1 (SCIS 번호) /dev/sda
아래 명령어 예시를 참고해주시기 바랍니다.
(동일한 디스크의 경우 레이드 유, 무 상관없이 점검 결과는 거의 동일합니다)
- HPE 서버, COMPAQ의 Smart Array 제품
- LSI 3ware 제품
- Areca 제품
- HighPoint Rocket 제품
- LSI MegaRAID(Dell PERC 5/i, 6/i ) 제품
- Adaptec(aacraid 에서 지원) 제품
마치며
오늘은 리눅스에서 smartctl이라는 툴을 이용한 디스크 점검 방법에 대해 알아보았습니다.
본 내용 참고하시어 주기적인 디스크 점검을 통해 안정적인 서버 운영에 도움이 되었으면 좋겠습니다.
읽어주신 모든 분들께 감사드리며 항상 좀 더 유용한 주제로 손쉽게 정리된 내용을 보여드릴 수 있도록 노력하겠습니다.
이상 [세상모든 서버를 집어삼킬 몬스터!!!] 서버몬이었습니다. 감사합니다.
1u서버 / APC / DB / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell워크스테이션 / dl20 / dl20gen10 / dl360 / dl360gen10 / dl380 / dl380g10 / dl380gen10 / ECC메모리 / EDFOG랙가격 / ESTSOFT / FIRMWARE / gpu서버 / gpu타워형서버 / HA솔루션 / hpdl20 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPE / HPE Service Pack for Proliant / HPE SPP / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz420 / hpz440 / hpz4g4 / hpz640 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버800 / hp서버800w / hp서버cto / hp서버pc / HP서버메모리 / hp서버컴퓨터 / HP서버펌웨어 / HP서버하드디스크 / hp워크스테이션 / hp프로라이언트 / HYPER BACKUP / ibm서버 / Intelligent Provisioning / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ML350GEN10 / ML360 / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / OS설치 / p17079-b21 / poweredger740 / poweredger750 / precision5820 / QUADRO / QUADRO그래픽카드 / r240 / r340 / r440 / r740 / RHEL설치 / RMS랙 / server / serverpc / SOPHOS / SPP / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / Windows서버설치 / z420 / z620 / z840 / z8g4 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 리욱스 / 미니서버 / 미니서버랙 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 서버 / 서버 기술지원비(비용) / 서버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버구매 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉마운트 / 서버메모리 / 서버몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버엔지니어 / 서버용pc / 서버용그래픽카드 / 서버용메모리 / 서버용컴퓨터 / 서버용하드디스크 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버호스팅 / 소포스 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 왼도우서버설치 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 작업장컴퓨터 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 쿼드로P400 / 타워형서버 / 페도라설치 / 프로라이언트 / GPU서버 / 미니서버렉 / 서버용PC / 젠서버 / AI서버 / 제온서버 / 서버가격 / 1U서버 / HPDL20Gen10 / HP서버8SFF800W / 가상서버 / 타워형서버 / HPDL360 / HPDL380Gen10 / 컴퓨터서버 / 미디어서버 / 타워서버 / DB서버 / HP서버580 / HP서버파워 / HPDL360Gen10 / 윈도우서버컴퓨터 / XEON서버 / 881457-B21
'설치 및 기술 자료 > Linux' 카테고리의 다른 글
[Linux] 리눅스 방화벽 firewalld의 소개 및 활용 (0) | 2023.05.26 |
---|---|
[Linux] RockyLinux 에서 삼바(samba) 설치와 설정 및 윈도우 공유 (0) | 2023.05.11 |
[Linux] Rsyslog 서버에 LogAnalyzer 구성하기 (0) | 2023.05.03 |
[Linux] Rockylinux 에서 Virtual Machine 설치 후 Win Svr 2022설치 (0) | 2023.04.24 |
[Linux] 리눅스 부팅 불가(파일시스템 복구) 방법 (0) | 2023.04.19 |
댓글