최근에 이상하고 드문 파일 시스템 손상을 경험했는데 이것이 SSD에 문제가 있는 것 같습니다. 나는 좋은 운전자 고문 테스트 도구를 찾고 있습니다. 전체 디스크에 쓴 다음 다시 돌아가서 읽어 빠른 쓰기, 손상된 블록, 이전 버전의 블록으로 되돌리기 및 기타 오류를 찾을 수 있습니다. 이것은 완료된 것보다 훨씬 더 많은 일이 될 것입니다 badblocks
. 그런 도구가 있나요?
참고로 나는아니요성능 벤치마크를 찾고 SMART 상태를 확인했는데 정상이고 불량 블록이 보고되지 않았습니다.
답변1
좀 과할 수도 있겠지만,Phoronix 테스트 스위트. 게다가bonnie++
, 또한 hdparm
.
나는 보통 사용한다hdparm
, 예를 들어:
% hdparm -Tt /dev/hdb
/dev/hdb:
Timing buffer-cache reads: 128 MB in 1.25 seconds =102.40 MB/sec
Timing buffered disk reads: 64 MB in 16.70 seconds = 3.83 MB/sec
나는 이것을 고문 테스트라고 부르지는 않지만 hdparm
드라이브의 전반적인 성능에 대한 아이디어를 제공합니다.
드라이브 상태 확인
드라이브를 테스트한 후 이 명령을 사용하여 드라이브의 전반적인 상태를 확인할 수 있습니다.
% sudo udisks --dump | grep -A 24 Updates
Attribute Current|Worst|Threshold Status Value Type Updates
===============================================================================
raw-read-error-rate 103| 99| 34 good 5854752 Pre-fail Online
spin-up-time 100| 99| 0 n/a 0 Pre-fail Online
start-stop-count 98| 98| 20 good 2785 Old-age Online
reallocated-sector-count 100|100| 36 good 0 sectors Pre-fail Online
seek-error-rate 72| 60| 30 good 25872884688 Pre-fail Online
power-on-hours 89| 89| 0 n/a 424.4 days Old-age Online
spin-retry-count 100|100| 97 good 0 Pre-fail Online
power-cycle-count 98| 98| 20 good 2753 Old-age Online
attribute-184 100|100| 99 good 0 Old-age Online
reported-uncorrect 100|100| 0 n/a 0 sectors Old-age Online
attribute-188 100| 96| 0 n/a 0 Old-age Online
high-fly-writes 100|100| 0 n/a 0 Old-age Online
airflow-temperature-celsius 58| 42| 45 FAIL_PAST 42C / 108F Old-age Online
g-sense-error-rate 100|100| 0 n/a 124 Old-age Online
power-off-retract-count 100|100| 0 n/a 15 Old-age Online
load-cycle-count 1| 1| 0 n/a 248327 Old-age Online
temperature-celsius-2 42| 58| 0 n/a 42C / 108F Old-age Online
hardware-ecc-recovered 45| 38| 0 n/a 5854752 Old-age Online
reallocated-event-count 89| 89| 30 good 14877766723263 Pre-fail Online
current-pending-sector 100|100| 0 n/a 0 sectors Old-age Online
offline-uncorrectable 100|100| 0 n/a 0 sectors Old-age Offline
udma-crc-error-count 200|200| 0 n/a 0 Old-age Online
attribute-254 100|100| 0 n/a 0 Old-age Online
디스크 상태/유지 관리 도구
제가 일하는 곳에서는 다음 두 가지 도구를 사용하여 큰 성공을 거두었습니다.HDAT2&스핀 크리스탈. 후자는 상용 도구인 반면, 이전 HDAT2는 오픈 소스 프로젝트입니다.
다음은 HDAT2의 몇 가지 스크린샷입니다.
이러한 작업을 수행하는 동안 시스템이 오프라인이 되도록 두 가지 상태로 시스템을 재부팅해야 합니다. 그러나 두 가지 모두 실패했거나 실패하기 시작한 드라이브를 복구합니다. HDAT2의 UI는 탐색하기가 다소 거칠기 때문에 일반적으로 대부분의 경우 기본 옵션을 고수하고 거기에서 너무 멀리 벗어나지 않으려고 노력합니다.
답변2
Bonnie++에 대해 생각했습니다.
따라서 상자의 하드웨어 구성에 따라 다음과 같이 하십시오.
bonnie++ -d /path/to/mounted/ssd -r your-system-ram-size-in-MB
예:
# For a 32GB system with the SSD formatted and mounted at /mnt/mounted-ssd-001
bonnie++ -d /mnt/mounted-ssd-001 -r 32000
장치에 좋은 스트레스 테스트를 제공해야 합니다. 사용자 정의할 수도 있습니다.
SSD의 경우 불량 블록이 발생하면 사용 중인 드라이브에 따라 드라이브 하드웨어가 자동으로 이를 다시 매핑할 수 있습니다. 또한 가혹한 테스트로 인해 SSD의 쓰기 수명이 단축될 수 있습니다. 그러므로 각자의 판단에 따라 사용해 주시기 바랍니다.
편집하다:
누군가 Bonnie++가 스트레스 테스트를 수행하지만 오류를 추적하지 않는다고 지적하면서 SSD 오류에 대한 메모를 추가했습니다. SSD가 "불량 블록을 다시 매핑하는" 방식은 하드 드라이브가 다시 매핑하는 방식과 다릅니다. 작동 방식은 전적으로 귀하가 보유한 SSD의 브랜드/제조업체/모델에 따라 다릅니다.
- 저렴한 SSD는 다시 매핑할 여유 용량이 없거나 실패한 플래시 블록을 격리할 수 없기 때문에 실패할 뿐입니다. 그들은 단지 멈추거나 오프라인 상태가 될 것이며 온라인으로 다시 돌아오지 않을 것입니다.
- 여유 용량이 없는 미드레인지 SSD는 결함이 있는 블록이 감지되면 Smartd 경고를 생성할 수 있으며 심지어 운영 체제 수준의 블록 장치 오류를 생성할 수도 있습니다. 그러나 장애가 발생하면 SSD의 등록된 크기가 변경됩니다. 이로 인해 오류가 발생하고 운영 체제에서 장치를 오프라인으로 전환하거나 장치 자체가 중단되어 다시 인식되기 전에 플러그를 뽑았다가 다시 연결해야 할 수도 있습니다. 재등록 시 해당 기기의 사용 가능한 블록 크기가 줄어듭니다.
- 여유 용량이 있는 고급 SSD는 배후에서 불량 블록을 다시 매핑하고 OS 수준 경고/경고를 생성할 수 있습니다. 여유 용량이 소진되면 중형 SSD처럼 기기가 고장날 수 있다.
격리된 불량 블록으로 인해 SSD 크기가 자체적으로 조정될 때 드라이브의 펌웨어가 자동으로 올바른 업데이트를 수행하지 않는 경우 드라이브를 복구하기 위해 다음을 수행해야 할 수 있습니다.
https://web.archive.org/web/20130728024542/http://communities.intel.com/message/145676
스트레스 테스트 및 오류 로깅 도구가 SSD용으로 특별히 설계되지 않은 한 장치의 수명이 다 소모될 뿐입니다.
편집하다:
위 답변 내용을 토대로 이런 종류의 OS 파일 시스템 수준 오류는 정상적이지 않으므로 케이블을 더 좋은 것으로 교체하거나 드라이브를 교체(RMA/보증 교체)하는 것이 좋습니다.
또한 드라이브가 이를 지원하는 경우 오류 처리를 위해 예약된 공간의 양을 늘릴 수 있습니다.
http://www.thomas-krenn.com/en/wiki/SSD_Over-provisioning_using_hdparm
답변3
1년이 넘었다는 것을 알고 있지만 앞으로 이 게시물을 읽는 모든 분들을 위해 필요한 소프트웨어가 아직 HP 연구소 외부에는 존재하지 않을 것으로 예상합니다.
"정전 시 SSD 견고성 이해" https://www.usenix.org/system/files/conference/fast13/fast13-final80.pdf
정전 주입을 선택한 이벤트로 대체하면(또는 간헐적인 펌웨어 버그를 감지하는 경우 아무 작업도 수행하지 않음) 소프트웨어가 이를 감지하는 것처럼 보입니다. 불행하게도 다른 선택지는 없다고 생각합니다. 그렇지 않았다면 HP가 아마도 사내에서 무언가를 작성하지 않았을 것입니다.
가상 환경에서 문제를 증명하기 위해 비슷한 것이 필요하기 때문에 부끄러운 일입니다. 커밋된 쓰기가 실제로 물리적 디스크에 도달하지 않는 것 같습니다. SSD뿐만 아니라 이렇게 스토리지 스택에 대해서도 스트레스 테스트를 할 수 있다면 정말 좋을 것 같습니다. 나는 아직 옳은 것을 찾지 못했습니다.
답변4
압력판
스트레스를 테스트하도록 설계되었습니다.설치됨디스크를 찾아서 결함을 찾으십시오.
단점은 테스트가 실행 시간으로 구성되어 있으며 기본적으로 TBW가 아닌 24시간으로 설정되어 있다는 것입니다. 따라서 100TBW마다 테스트를 종료하고 드라이브의 관련 SMART 통계를 저장한 후 다음 100TBW를 계속할 수 없습니다.
https://github.com/ncw/stressdisk
Anvil의 저장 유틸리티
TechReport의 SSD 내구성 실험이 Windows 유틸리티를 사용하십시오. 벤치마크 메뉴에는 내구성 테스트가 포함되어 있습니다.
통합 MD5 해시 검사는 데이터 무결성을 확인합니다. Anvil의 내구성 테스트는 파일을 순차적으로 작성하기 때문에 이상적인 실제 시뮬레이션이 아닙니다. 이 유틸리티는 5가지 압축 수준으로 압축된 데이터를 쓸 수 있습니다.
참고: 내구성 테스트를 위해서는 AnvilPro.exe를 테스트 중인 장치에 복사하고 실행해야 합니다.
다운로드:https://www.guru3d.com/download/anvils-storage-utilities-download/
스핀레트
원래 드라이브에서도 작동하며 그냥 실행됩니다.오프라인수정된 FreeDos 운영 체제에서. 그러나 SpinRite는부서 수준.
일부 DOS 배치 파일 스크립트를 사용하면 SpinRite 고문 테스트를 자동으로 여러 번 실행할 수 있습니다. 최신 SpinRite 6.1 RC5는 기본적으로 FAT32 USB 썸 드라이브에 로그를 기록합니다.
레벨 5
레벨 5에서 SpinRite는 모든 데이터 섹터를 읽고 씁니다.두 배. 모든 데이터는 1에서 0, 0에서 1로 "전환"되어 모든 데이터가 성공적으로 쓰고 읽을 수 있는지 확인합니다. SpinRite 쓰기 프로세스는 데이터 손실을 일으키지 않습니다. 원본 데이터가 두 번 반전되어 원래 상태로 복원됩니다.
레벨 5는 또한 이전에 결함이 있는 것으로 확인된 드라이브 영역을 표시하지만 이제 다시 완전히 사용할 수 있으므로 안정적으로 테스트할 수 있습니다.