우리 모두는 SSD의 의도된 수명이 제한되어 있다는 것을 알고 있습니다. Linux에서 SSD의 현재 상태를 확인하는 방법은 무엇입니까?
대부분의 Google 검색 결과에서는 Media_Wearout_Indicator라는 백분율 필드 또는 장기 데이터 내구성과 같은 기타 용어 메트릭(이러한 메트릭은 존재하지 않음)에서 SMART 정보를 찾도록 요청합니다. 예, 두 SSD를 모두 확인했습니다. 이 필드 를 찾을 수 없다. 세 번째 SSD를 계속 찾아볼 수도 있겠지만, 해당 분야가 표준화되지 않은 것 같은 느낌이 듭니다.
문제를 보여주기 위해 여기에 두 가지 예가 있습니다.
첫 번째 SSD의 경우 어느 필드가 마모 수준을 나타내는지 명확하지 않습니다. 그러나 RAW 값이 1에서 100 사이인 Unknown_Attribute는 하나만 있으므로 이것이 우리가 찾고 있는 것이라고 가정할 수 있습니다.
$ sudo smartctl -A /dev/sda
smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-14-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
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 0x0002 100 100 000 Old_age Always - 0
9 Power_On_Hours 0x0002 100 100 000 Old_age Always - 6568
12 Power_Cycle_Count 0x0002 100 100 000 Old_age Always - 1555
171 Unknown_Attribute 0x0002 100 100 000 Old_age Always - 0
172 Unknown_Attribute 0x0002 100 100 000 Old_age Always - 0
173 Unknown_Attribute 0x0002 100 100 000 Old_age Always - 57
174 Unknown_Attribute 0x0002 100 100 000 Old_age Always - 296
187 Reported_Uncorrect 0x0002 100 100 000 Old_age Always - 0
230 Unknown_SSD_Attribute 0x0002 100 100 000 Old_age Always - 190
232 Available_Reservd_Space 0x0003 100 100 005 Pre-fail Always - 0
234 Unknown_Attribute 0x0002 100 100 000 Old_age Always - 350
241 Total_LBAs_Written 0x0002 100 100 000 Old_age Always - 742687258
242 Total_LBAs_Read 0x0002 100 100 000 Old_age Always - 1240775277
그러면 이 SSD는 재작성 수명의 57%를 사용했습니다. 그렇죠?
다른 디스크의 경우 SSD_Life_Left ATTRIBUTE가 눈에 띄지만 원시 값은 0(남은 수명 0%를 의미)입니다. 이는 위험에 처하지 않는 한 겉으로 보기에 정상적인 SSD일 가능성이 낮습니다(이 내용은 나중에 살펴보겠습니다). , 그리고 "0% 사용 수명"이라고 표시되면 마모된 드라이브일 가능성도 없습니다(마모 = 1년 이상).
> sudo /usr/sbin/smartctl -A /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.11.6-4-desktop] (SUSE RPM)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 104 100 050 Pre-fail Always - 0/8415644
5 Retired_Block_Count 0x0033 100 100 003 Pre-fail Always - 0
9 Power_On_Hours_and_Msec 0x0032 100 100 000 Old_age Always - 4757h+02m+17.130s
12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 1371
171 Program_Fail_Count 0x0032 000 000 000 Old_age Always - 0
172 Erase_Fail_Count 0x0032 000 000 000 Old_age Always - 0
174 Unexpect_Power_Loss_Ct 0x0030 000 000 000 Old_age Offline - 52
177 Wear_Range_Delta 0x0000 000 000 000 Old_age Offline - 2
181 Program_Fail_Count 0x0032 000 000 000 Old_age Always - 0
182 Erase_Fail_Count 0x0032 000 000 000 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
194 Temperature_Celsius 0x0022 030 030 000 Old_age Always - 30 (Min/Max 30/30)
195 ECC_Uncorr_Error_Count 0x001c 104 100 000 Old_age Offline - 0/8415644
196 Reallocated_Event_Count 0x0033 100 100 000 Pre-fail Always - 0
231 SSD_Life_Left 0x0013 100 100 010 Pre-fail Always - 0
233 SandForce_Internal 0x0000 000 000 000 Old_age Offline - 3712
234 SandForce_Internal 0x0032 000 000 000 Old_age Always - 1152
241 Lifetime_Writes_GiB 0x0032 000 000 000 Old_age Always - 1152
242 Lifetime_Reads_GiB 0x0032 000 000 000 Old_age Always - 3072
답변1
첫 번째 예에서는 Intel 드라이브의 "Media Wear Indicator"(속성 233)를 언급하고 있는 것 같습니다. 예, 범위는 0~100입니다. 여기서 100은 사용되지 않은 새 드라이브이고 0은 완전히 마모된 드라이브입니다. 출력 결과에 따르면 이 필드는 존재하지 않는 것 같습니다.
두 번째 예에서는 다음을 읽으십시오.SSD_Life_Left에 대한 공식 문서입니다.모든 페이지:
이 속성의 RAW 값은 항상 0이며 의미가 없습니다. 정규화된 값을 확인하세요. 100부터 시작하며 SDD의 남은 수명에 대한 대략적인 백분율을 나타냅니다. 일반적으로 플래시 블록이 불량으로 표시되면 감소합니다. Retired_Block_Count의 RAW 값을 참조하세요.
smartctl(8)의 의미를 완전히 이해하고 가정을 하지 않는 것이 중요합니다. 불행하게도 SMART 도구는 최신 SSD 및 해당 속성을 항상 최신 상태로 유지하는 것은 아닙니다. 따라서 칩이 몇 번이나 기록되었는지 알 수 있는 명확한 방법이 항상 있는 것은 아닙니다. 가장 좋은 방법은 "Power_On_Hours"(귀하의 경우 "6568")를 살펴보고 평균 디스크 사용률을 결정하여 평균을 구하는 것입니다.
드라이버 사양을 찾아보고 칩 제조에 사용되는 프로세스를 확인할 수 있어야 합니다. 32nm 프로세스 칩은 24nm 프로세스 칩보다 쓰기 수명이 더 깁니다. 그러나 "평균적으로" 약 3,000~4,000회의 쓰기를 예상할 수 있으며 최소 1,000회, 최대 6,000회입니다. 따라서 64GB SSD를 사용하는 경우 웨어 레벨링을 가정할 때 SSD에 총 192TB~256TB의 데이터가 기록될 것으로 예상해야 합니다.
예를 들어, 드라이브가 11KBps의 사용률을 유지하는 경우 시간당 약 40MB를 쓸 것으로 예상할 수 있습니다. 전원을 켜고 6568시간이 지나면 약 260GB의 데이터가 디스크에 기록됩니다. 총 쓰기 용량이 약 200TB에 달할 수 있다는 점을 알면 칩 마모로 인해 오류가 발생하기까지는 약 600년이 걸립니다. 커패시터 마모 또는 전압 조정으로 인해 디스크가 고장날 수 있습니다.
답변2
Samsung SSD의 경우 SMART 속성 177(Wear Leveling Count)을 확인하세요.
ID#177 웨어레벨링 횟수
이 속성은 미디어 프로그램 및 지우기 작업 횟수(블록이 지워진 횟수)를 나타냅니다. 이 값은 SSD의 수명과 직접적인 관련이 있습니다. 이 속성의 원시 값은 총 P/E 주기 수를 표시합니다.
내가 아는 한, 마모 수준 표시기는 100에서 시작하여 선형적으로 1까지 내려갑니다. 1에서는 드라이브가 모든 정격 p/e 주기를 초과하지만 실제로는 드라이브의 총 내구성이 이 값을 크게 초과할 수 있습니다.
그 가치를 초과하는 것에 대한 마지막 진술을 소금 한 알로 받아들이는 것이 좋습니다.
답변3
Intel 브랜드 SSD가 없다면 주의하세요! 나는 삼성 SSD를 가지고 있는데 smartmontools /smartctl의 잘못된 속성 태그로 인해 완전히 오해를 받았습니다. 인텔이 아닌 다른 분야에 관심이 있다면 내 (어리석은) 고통에 대한 이야기를 다음에서 찾을 수 있습니다.https://askubuntu.com/a/460463/65722 도움이 되는.
당신의 정보 품질과 채굴 시간의 비율이 나보다 낫기를 바랍니다!
답변4
서버가 있습니다LSI RAID 카드, 삼성 SSD 7개를 설치했습니다.
정확히는
- /dev/sda는 Raid 컨트롤러에 의해 JBOD로 표시된 내 OS SSD입니다.
- 다른 7개의 SSD는 RAID 0(또는 RAID-?)이기 때문에 /dev/sdb로만 표시됩니다.
RAID 컨트롤러 뒤에 있는 디스크 정보 가져오기비결은
smartctl --scan
{output is}
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
/dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
/dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
/dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
/dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
/dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
/dev/bus/0 -d megaraid,14 # /dev/bus/0 [megaraid_disk_14], SCSI device
/dev/bus/0 -d megaraid,15 # /dev/bus/0 [megaraid_disk_15], SCSI device
그런 다음 smartctl 정보를 얻으십시오. 예를 들어
- WEAR_LEVELING_COUNT회
- 부팅 시간
- 온도_CELCIUS 그리고 다른 모든 좋은 것들
각 디스크에 대해 다음을 수행하십시오.
smartctl -d megaraid,8 -all /dev/bus/0
smartctl -d megaraid,9 -all /dev/bus/0
smartctl -d megaraid,10 -all /dev/bus/0
{down to}
smartctl -d megaraid,15 -all /dev/bus/0
통사론지능형 제어예smartctl [options] <device>
여러 디스크가 여러 장치로 표시되지 않을 때(예: /dev/sdb, /dev/sdc, /dev/sdd 등) RAID 카드에 들어오고 나가는 방법입니다.