Debian을 실행하는 노트북에 SMART 알림이 활성화되어 있습니다. 기본적으로 디스크에 문제가 생기면 알림이 팝업으로 표시되기를 원합니다. 나는 이메일을 받고 싶지 않으며 내가 일하는 워크스테이션에 알림을 표시하는 것이 더 낫다고 생각합니다(물론 서버에는 이메일이 더 적합합니다).
작동하고 심지어 테스트도 했지만(정확히 무엇을 테스트했습니까?), 내가 올바른 방식으로 수행하고 있는지, 내가 하고 있는 작업이 실제로 작동하는지에 대해서는 여전히 의구심이 있습니다.
기본적으로 내가 한 일은 다음과 같습니다.
- 내가 설치
smartmontools
하고smart-notifier
# apt-get install smartmontools smart-notifier
- 그런 다음 메시지를
smartd
모니터링/dev/sda
하고 알리미에게 보내도록 데몬을 구성했습니다. 이 작업은/etc/smartd.conf
행이 1개만 있는 에서 수행됩니다 .
/dev/sda -a -m myUsername -M exec /usr/share/smartmontools/smartd-runner -M test
-M test
데몬을 다시 시작하면 이전 명령의 옵션에 테스트 알림 팝업이 표시됩니다(smartd
이 작업을 수행하려면 로그아웃했다가 다시 로그인해야 합니다). 작동하고smartd
데몬을 다시 시작하면 테스트 알림 팝업이 표시됩니다.- 마지막으로 옵션을 제거
-M test
하고smartd
다시 재부팅했습니다.
그렇다면 이제 마음이 편해질 수 있을까요? 이 설정을 사용하면 문제가 발생하자마자 팝업이 표시되나요 /dev/sda
? 답변되지 않은 질문이 많이 있습니다.
- 해당
-M test
옵션을 사용하면 재부팅할 때만 테스트 알림 팝업이 표시됩니다smartd
. 랩톱을 다시 시작하고 로그인하면 아무 것도 표시되지 않습니다(아마smartd
이 시점에서 이미 실행 중이기 때문일 것입니다).smartd
내 디스크에 문제가 감지 되면 알림이 팝업으로 표시되는지 확인할 수 있나요? - 이 팝업을 트리거하는 이벤트는 무엇입니까? 즉, "잘못되었습니다"는 무엇을 의미합니까?
$ man smartd
지적했다:
smartd는 ATA 장치에서 SMART 모니터링을 활성화하고(smartctl -s on과 동일) 30분마다 이러한 장치와 SCSI 장치(구성 가능)를 폴링하여 SYSLOG 인터페이스를 통해 SMART 오류 및 SMART 속성 변경 사항을 기록합니다.
실제로 확인한 후 /var/log/syslog
30분 후에 로그 항목을 볼 수 있습니다(마지막 줄).
Jul 30 13:17:06 precision7520 smartd[20258]: smartd 6.6 2016-05-31 r4324 [x86_64-linux-4.19.0-0.bpo.5-amd64] (local build)
Jul 30 13:17:06 precision7520 smartd[20258]: Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
Jul 30 13:17:06 precision7520 smartd[20258]: Opened configuration file /etc/smartd.conf
Jul 30 13:17:06 precision7520 smartd[20258]: Configuration file /etc/smartd.conf parsed.
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda, type changed from 'scsi' to 'sat'
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], opened
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], Samsung SSD 850 EVO 2TB, S/N:S2RMNB0J801642K, WWN:5-002538-c407b1fd2, FW:EMT02B6Q, 2.00 TB
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], not found in smartd database.
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], can't monitor Current_Pending_Sector count - no Attribute 197
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], can't monitor Offline_Uncorrectable count - no Attribute 198
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], is SMART capable. Adding to "monitor" list.
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], state read from /var/lib/smartmontools/smartd.Samsung_SSD_850_EVO_2TB-S2RMNB0J801642K.ata.state
Jul 30 13:17:06 precision7520 smartd[20258]: Monitoring 1 ATA/SATA, 0 SCSI/SAS and 0 NVMe devices
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], state written to /var/lib/smartmontools/smartd.Samsung_SSD_850_EVO_2TB-S2RMNB0J801642K.ata.state
Jul 30 13:47:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 67 to 68
그러나 아무것도 나타나지 않습니다. 로그 항목이 단지 2차 정보(온도 1도 증가)이기 때문일까요? 그러면 어떤 종류의 이벤트가 알림을 트리거해야 할까요?
- 마지막으로, 주어진 시간 간격으로 ( ) 짧은( ) 또는 확장된( ) 자체 테스트를 수행하는
/etc/smartd.conf
많은 예가 있습니다 . 그러한 자기 성찰이 꼭 필요한가요? SMART는 자체 모니터링 프로그램을 통합해야 하지 않나요(SMART의 SM은 Self-Monitoring을 의미함)? 자체 테스트 없이 결과가 얼마나 유용합니까?$ man smartd.conf
-s
-s S
-s L
참고로 내 # smartctl /dev/sda
결과는 다음과 같습니다.
$ sudo smartctl -a /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.19.0-0.bpo.5-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: Samsung SSD 850 EVO 2TB
Serial Number: S2RMNB0J801642K
LU WWN Device Id: 5 002538 c407b1fd2
Firmware Version: EMT02B6Q
User Capacity: 2 000 398 934 016 bytes [2,00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri Jul 30 14:15:22 2021 WAT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
(...)
자체 테스트는 수행되지 않는 것 같습니다.
(...)
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 0) seconds.
Offline data collection
capabilities: (0x53) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 265) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
(...)
자가 테스트 없이도 이 데이터가 여전히 유용합니까?
(...)
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
9 Power_On_Hours 0x0032 094 094 000 Old_age Always - 27805
12 Power_Cycle_Count 0x0032 098 098 000 Old_age Always - 1055
177 Wear_Leveling_Count 0x0013 099 099 000 Pre-fail Always - 21
179 Used_Rsvd_Blk_Cnt_Tot 0x0013 100 100 010 Pre-fail Always - 0
181 Program_Fail_Cnt_Total 0x0032 100 100 010 Old_age Always - 0
182 Erase_Fail_Count_Total 0x0032 100 100 010 Old_age Always - 0
183 Runtime_Bad_Block 0x0013 100 099 010 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0032 067 043 000 Old_age Always - 33
195 Hardware_ECC_Recovered 0x001a 200 200 000 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x003e 100 100 000 Old_age Always - 0
235 Unknown_Attribute 0x0012 099 099 000 Old_age Always - 71
241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 26330052507
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 14903 -
# 2 Short offline Completed without error 00% 14709 -
# 3 Short offline Aborted by host 70% 2733 -
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
255 0 65535 Read_scanning was never started
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
많은 질문이 있지만 기본적으로 모든 질문은 하나로 요약됩니다. Linux 워크스테이션에서 SMART 디스크 알림을 활성화하는 모범 사례는 무엇입니까? 이 질문을 인터넷 검색해도 유용한 정보가 제공되지 않았다는 사실에 조금 놀랐습니다.
답변1
테스트를 실행할 필요가 없습니다. SMART는 런타임 통계를 수집합니다.
장치가 지원되는 경우(전부는 아님) 속성 5 "Reallocation_Sector_Count"를 살펴보세요. 가끔 - 값이 0이 아닌 경우 갑작스러운 증가가 표시되지 않는지 확인하기 위해 더 자주 확인하는 것이 좋습니다.
재할당된 섹터가 있다는 것은 장치에서 쓰기에 안전하지 않은 일부 섹터를 발견하여 백업 섹터가 사용되었음을 나타냅니다. 어쩌면 교체를 고려해야 할 때일 수도 있습니다. 그러나 장치는 일부 불량 섹터로 인해 몇 달 동안 실행될 수 있습니다.
SMART는 단지 지표일 뿐입니다.가능한SSD의 경우 수명이나 기록된 데이터의 양이 임박한 오류를 나타내는 더 나은 지표일 수 있습니다.
해당 모델의 경우 Samsung에서는 Wear_Leveling_Count=21이라고 말합니다. 이는 SSD 드라이브에서 사용 가능한 셀의 21%를 사용해야 하며 LBA 수(512바이트)를 드라이브에 기록했다는 의미입니다.
"Unknown_Attribute" = 71은 시스템에 대한 계획되지 않은 정전 횟수입니다.