우리는 SSD의 수명이 제한되어 있음을 알고 있습니다. Linux에서 SSD의 현재 상태를 어떻게 확인합니까?
대부분의 Google 검색 결과는 Media_Wearout_Indicator라는 백분율 필드 또는 존재하지 않는 Longterm Data Endurance와 같은 다른 전문 지표에 대한 SMART 정보를 조회하도록 요구합니다. 계속해서 세 번째 SSD를 찾을 수 있지만 필드가 표준화되지 않았다고 생각합니다.
문제를 설명하기 위해 여기 두 가지 예가 있습니다.
첫 번째 SSD에서는 어느 필드가 마모 수준을 나타내는 지 명확하지 않습니다. 그러나 RAW VALUE가 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
답변
첫 번째 예에서 내가 생각하는 것은 속성 233 인 Intel 드라이브의 “Media Wearout Indicator”입니다. 예, 범위는 0-100이며 100은 새롭고 사용되지 않은 드라이브입니다. 0이 완전히 마모되었습니다. 당신의 ouptut에 따르면,이 필드는 존재하지 않는 것 같습니다.
두 번째 예에서 SSD_Life_Left에 대한 공식 문서 를 읽으십시오 . 해당 페이지 당 :
이 속성의 RAW 값은 항상 0이며 의미가 없습니다. 대신 정규화 된 VALUE를 확인하십시오. 100에서 시작하여 남은 SDD 수명의 대략적인 백분율을 나타냅니다. 플래시 블록이 불량으로 표시되면 일반적으로 감소합니다. Retired_Block_Count의 RAW 값 참조
smartctl (8)의 말을 완전히 이해하고 가정하지 않는 것이 중요합니다. 불행히도 SMART 도구가 최신 SSD 및 해당 속성으로 항상 최신 상태 인 것은 아닙니다. 따라서 칩이 몇 번이나 기록되었는지 항상 알 수있는 방법은 없습니다. 최선의 방법은 “Power_On_Hours”(이 경우에는 “6568”)를보고 평균 디스크 사용률을 결정하고 평균을 구하는 것입니다.
드라이브 사양을 조회하고 칩을 만드는 데 사용되는 프로세스를 결정할 수 있어야합니다. 32nm 프로세스 칩은 24nm 프로세스 칩보다 쓰기 내구성이 더 길다. 그러나 “평균”인 경우 최소 1,000에서 최대 6,000 개의 쓰기로 약 3,000 ~ 4,000 개의 쓰기를 예상 할 수 있습니다. 따라서 64GB SSD를 사용하는 경우웨어 레벨링을 가정 할 때 SSD에 총 192TB ~ 256TB의 쓰기가 예상됩니다.
예를 들어, 드라이브에 11KBps의 사용률을 유지하는 경우 시간당 약 40MB의 쓰기가 예상 될 수 있습니다. 6568의 전원이 켜진 시간에 약 260GB의 디스크에 기록했습니다. 고장이 발생하기 전에 약 200TB의 총 쓰기를 유지할 수 있다는 것을 알면 칩이 마모되어 약 600 년이 걸립니다. 커패시터가 마모되거나 전압이 조정되어 디스크가 고장날 수 있습니다.
답변
Samsung SSD의 경우 SMART 속성 177 (웨어 레벨링 수)을 확인하십시오.
ID # 177 마모 레벨링 카운트
이 속성은 미디어 프로그램 및 지우기 작업 수 (블록이 지워진 횟수)를 나타냅니다. 이 값은 SSD의 수명과 직접 관련이 있습니다. 이 속성의 원시 값은 총 P / E주기 수를 나타냅니다.
마모 수준 표시기는 100에서 시작하여 내가 알 수있는 것에서 1로 줄어 듭니다. 1에서 드라이브는 모든 정격 p / e 사이클을 초과했지만 실제로 드라이브의 전체 내구성은 해당 값을 크게 초과 할 수 있습니다.
소금 한 알로 그 값을 초과하는 것에 대한 마지막 진술을 제안합니다.
답변
인텔 브랜드 SSD가없는 경우주의하십시오 !! 나는 삼성 SSD를 가지고 있으며 smartmontools / smartctl의 잘못된 속성 레이블링으로 완전히 오해되었습니다. 인텔 이외의 것이 있다면 https://askubuntu.com/a/460463/65722 에서 나의 고통스러운 이야기가 도움 이 될 수 있습니다.
정보 품질 대 소요 시간 발굴 비율이 내 것보다 낫기를 바랍니다!
답변
LSI RAID 카드 가 장착 된 서버를 사용하려면 7 개의 삼성 SSD가 설치되어 있습니다.
그것은 그런
- / dev / sda는 Raid Controller에서 JBOD로 표시된 운영 체제 SSD입니다.
- 다른 7 SSD는 RAID 0 (또는 RAID-?)이므로 / dev / sdb로만 표시됩니다.
컨트롤러 습격 뒤에 디스크의 정보를 얻을 수 트릭이다
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
- POWER_ON_HOURS
- TEMPERATURE_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 의 구문 은smartctl [options] <device>
여러 디스크가 / dev / sdb, / dev / sdc, / dev / sdd 등과 같은 여러 장치로 표시되지 않을 때 RAID 카드를 가져오고 통과시키는 방법입니다.