좋은 드라이브 고문 테스트 도구가 있습니까?


17

최근 SSD의 결함으로 의심되는 파일 시스템이 이상하고 드물게 손상되었습니다. 좋은 드라이브 고문 테스트 도구를 찾고 있습니다. 전체 디스크에 쓸 수 있고 다시 돌아가서 플라잉 쓰기, 손상된 블록, 이전 수정본으로 되돌아 간 블록 및 기타 오류를 찾아 본다. 이것은 것보다 훨씬 더 많은 것 badblocks입니다. 그런 도구가 있습니까?

참고 성능 벤치 마크를 찾지 않고 SMART 상태를 이미 확인했습니다. 건강하고 나쁜 블록이보고되지 않았다고 말합니다.


1
시도해 보았 니? iozone.org
양전자

1
Btw, 사용중인 OS / 시스템 하드웨어를 나타내지 않았습니다. SSD는 하드 드라이브의 전원을 자주 꺼서 전력을 절약하도록 구성 할 때 일부 Mac OS X boxen에서 말하는 손상을 경험 한 것으로보고되었습니다. 손상이 발생할 수 있습니다. SSD에 발급 된 하드 드라이브 전원을 통해 드라이브를 강제로 절전 모드로 전환하면 다른 OS / 하드웨어 콤보에서도 마찬가지 일 것입니다. 드라이브 테스트로 SSD를 굽기 전에 시스템 구성을 확인합니다.
Wing Tang Wong

1
@WingTangWong, 와우. 많은 SSD가 전원 공급이 중단 될 때 나사를 조일 준비가되었지만 절전 모드로 전환하라는 요청을 받았습니까? 하나의 버기 드라이브입니다. 이 점을 주시하겠습니다. Linux를 사용하고 있으며 시스템을 일시 중단했을 때를 제외하고는 잠을 자지 않습니다.
psusi

답변:


10

과잉 일 수도 있지만 Phoronix Test Suite가 있습니다. 이 또한입니다 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 

디스크 상태 / 유지 보수 도구

우리는 내가 일하는 다음 두 가지 도구를 사용하여 성공했습니다. HDAT2Spinrite . 후자는 상용 도구이지만 전자 인 HDAT2는 오픈 소스 프로젝트입니다.

HDAT2 스크린 샷은 다음과 같습니다.

ss # 1 HDAT2

ss # 2 HDAT2

이러한 작업을 수행하는 동안 시스템이 오프라인 상태가되므로 둘 다로 시스템을 재부팅해야하지만 실패했거나 오류가 발생하기 시작한 드라이브를 모두 복구했습니다. HDAT2의 UI는 탐색하기가 다소 거칠기 때문에 일반적으로 대부분 기본 선택을 사용했으며 너무 멀리 가지 않기로했습니다.


처음 세 가지는 성능 벤치 마크입니다. 이미 SMART 상태를 확인했으며 불량 섹터가없는 것이 좋으므로 HDAT2가 내가 찾고있는 것이 아닌 것 같습니다.
psusi

나는 HDAT2를 닫지 않고 chkdsks를 실행 중이며 깨끗하게 정리했지만 디스크를 여전히 부팅 할 수 없었습니다 .HDAT2를 실행하면 디스크의 표면 문제를 발견하여 드라이브를 부팅 가능하게 만들 수 있습니다.
slm

늦은 의견이지만 성공하지 못한 HDAT2의 소스 코드를 찾으려고합니다. 최근 라이센스 변경이 있었습니까?
i336_

4

보니 ++가 떠오른다 :

따라서 박스의 하드웨어 구성에 따라 :

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 경고를 생성하거나 실패한 블록이 감지 될 때 OS 레벨 블록 장치 오류를 생성 할 수도 있습니다. 그러나 장애가 발생하면 SSD의 등록 된 크기가 변경됩니다. 이로 인해 오류가 발생하고 장치가 OS에 의해 오프라인 상태가되거나 장치 자체가 정지되어 다시 인식 될 수 있도록 장치를 빼고 다시 삽입해야 할 수 있습니다. 재 등록시 장치의 사용 가능한 블록 크기가 줄어 듭니다.
  • 여분의 용량을 가진 고급 SSD는 배후의 불량 블록을 다시 매핑하여 OS 수준 경고 / 경고를 생성 할 수 있습니다. 여분의 용량이 부족하면 미드 레인지 SSD 라인을 따라 장치가 고장날 수 있습니다.

불량 블록이 분리되어 SSD가 자체 크기를 조정할 때 드라이브 펌웨어가 자동으로 적절한 업데이트를 자동으로 수행하지 않는 경우 드라이브를 다시 활성화하려면 다음을 수행해야합니다.

http://communities.intel.com/message/145676

스트레스 테스트 및 오류 로깅 도구가 SSD로 특별히 설계되지 않은 경우 장치 수명을 다 사용하는 것입니다.

편집하다:

위의 답변 정보를 기반으로 케이블을 더 나은 것으로 교체하거나 드라이브를 교체 (RMA / 보증 교체)하십시오 .OS 파일 시스템 수준 오류는 정상이 아니므로 권장합니다.

또한 드라이브에서 지원하는 경우 오류 처리를 위해 예약 된 공간을 늘릴 수 있습니다.

http://www.thomas-krenn.com/en/wiki/SSD_Over-provisioning_using_hdparm


이것이 성능 벤치 마크입니다. 드라이브에 운동을 줄 수 있지만 오류를 감지하지 못한다고 생각합니다.
psusi

SSD의 작동 방식, 오류 감지는 SSD의 제조업체 / 모델에 따라 여러 형태 중 하나로 제공됩니다. 블록을 다시 매핑하고 예비 용량을 사용하는 경우 스마트 오류 (장애 없음), 장치 용량은 다음과 같습니다. 플래시 스토리지의 일부 결함으로 감소 ), SSD는 리 맵핑없이 바로 정지 된 것처럼 보일 수 있습니다 (다시 삽입 한 후에도 장치가 응답하지 않음). 실패 경로는 HD와 동일하지 않습니다
Wing Tang Wong

1
드라이브에서 오류를 감지하지 못하므로 테스트 도구가 필요합니다. 파일 시스템이 다시 마운트되고 e2fsck가 메타 데이터에서 많은 오류를 찾아 수정함으로써 나타납니다. 또한 git 저장소 팩 파일 중 일부가 손상되었습니다. 매월 한두 번 정도 발생하는 조용한 부패입니다. 처음에는 TRIM과 관련된 버그 일 수 있다고 생각했습니다. 활성화하기 전에이 문제를 기억하지 못했기 때문에 다시 해제했지만 여전히 발생합니다.
psusi

몇 가지 잠재적 인 문제 : 드라이브 케이블 불량 또는 드라이브 불량. 케이블을 다른 것으로 교체하여 불량 드라이브 케이블을 테스트 할 수 있습니다. 나는 과거에 이것을 가지고 있었고 더 나은 사양의 케이블로 교체했습니다. 불량 드라이브의 경우 RMA를 보내거나 보증 수리를 요청하십시오.
Wing Tang Wong

1
문제는 그것이 나쁜 드라이브 (또는 실제로는 펌웨어의 버그)이며 커널의 버그가 아니라는 것을 증명합니다. 케이블이 불량한 경우 무작위 자동 손상이 아닌 sata ecc 오류로 나타납니다.
psusi

3

나는 이것이 1 년이 지난 것을 알고 있지만 나중에 스레드를 읽는 사람의 이익을 위해 필요한 소프트웨어가 아직 HP Labs 외부에 존재하지 않을 것으로 기대합니다.

"전원 오류시 SSD의 견고성 이해" https://www.usenix.org/system/files/conference/fast13/fast13-final80.pdf

전원 오류 주입을 선택한 이벤트 (또는 간헐적 인 펌웨어 버그를 감지하는 경우 아무것도 아님)로 교체하면이 소프트웨어가이를 감지하는 것으로 보입니다. 불행히도 대안이 없다고 생각합니다. 그렇지 않으면 HP가 사내에서 무언가를 쓰지 않았을 것입니다.

나는 가상 환경에서 문제를 증명하기 위해 이와 같은 것이 필요했기 때문에 부끄러운 일입니다. 커밋 된 쓰기가 실제로 실제 디스크로 이동하지 않았다고 생각합니다. SSD뿐만 아니라 이와 같은 스토리지 스택을 스트레스 테스트 할 수 있다면 좋을 것입니다. 아직 적합한 것을 찾지 못했습니다.


2
(익명 주석에서) 하드웨어 측면의 복제가 필요하지만 클라이언트 / 서버 모드에서 fio를 사용하여 해당 문서의 소프트웨어 검증 부분을 트리거 할 수없는 이유는 없습니다. 자세한 내용은 github.com/axboe/fio/blob/master/HOWTO(10.0 확인 및 트리거)를 참조하십시오. fio는 버퍼링되지 않은 상태로 사용하거나 I / O를 주기적으로 동기화하여 여러 가지 유용한 패턴으로 나중에 확인할 수 있습니다 (상태 파일을 저장하여 다른 fio 호출 후 확인을 수행 할 수도 있음).
Archemar

1

HD를 테스트하는 가장 좋은 방법 인 메이커 테스트 도구를 사용하십시오. 낮은 수준의 테스트에 액세스하고 불량 섹터를 다시 매핑하며 모든 스마트 건강 상태를 테스트 할 수 있습니다. 메이커가 하드 디스크 상태를 볼 수 있도록 도와 줄 수 있습니다.)

hirensCD에는 많은 테스트 도구가 있지만 SSD 지원 도구로 업데이트되지 않았다고 생각하므로 제조업체 웹 사이트를 직접 확인하십시오. 어떤 사람들은 리눅스를 지원하고, 다른 사람들은 Windows liveCD (임시 CD를 다시 확인)가 필요하거나 펜 드라이브 (freedos, 특별한 OS 등)로 부팅해야 할 수도 있습니다.

섹터가 같은 곳에 있지 않고 펌웨어에 의해 동적으로 매핑되어 쓰기를 드라이브 전체에 분산시키기 때문에 대부분의 구형 HD 도구는 SSD 테스트에 적합하지 않습니다. 따라서 쓰기 테스트를 수행하는 경우 실제로 디스크를 테스트하는 대신 쓰기주기를 굽는 것입니다.

읽기 테스트는 SSD를 태우지는 않지만 펌웨어가 실제 레이아웃을 숨기고 있기 때문에 실제로 모든 SSD 섹터를 테스트하지는 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.