저렴한 스토리지 서버를 위해 새로운 HDD를 테스트하는 가장 좋은 방법


31

스토리지 서버를 구축하고 싶었습니다 10 x 2TB WD RED's. HDD's단지 도착했다.

실제 데이터를 디스크에 복사하기 전에 불량 드라이브를 확인하거나 유아 사망률을 가장 잘 방지하기 위해 사용하는 도구가 있습니까?

많은 데이터를 복사하여 각 단일 항목을 확인 HDD하거나 배열 ( ZFS raid-z2) 을 테스트하는 것이 더 낫 습니까?


1
"WD Data LifeGuard Diagnostics"와 같은 공급 업체별 도구가 있다는 것을 알고 있습니다. 그러나 나는 사람들이 무엇을하는지 궁금합니다. 많은 양의 하드 디스크를 구입합니다. 나는 그들이 모든 단일 하드 드라이브를 검사하는 것을 의심한다.
— s1lv3r

3
드라이브에 쓰는 것은 무엇이든 테스트로 사용할 수 있습니다. 영아 사망률을 잡을 수있을 정도로 어레이를 완전히 스 와이프하거나 두 번 사용하면 충분합니다. 커플이 여러 개일 때 다른 공급 업체 / 배치에서 드라이브를 구입하는 것이 좋습니다. 비슷한 제조 결함으로 인해 여러 드라이브가 동시에 고장날 가능성이 크게 줄어 듭니다.
— Chris S

답변:


14

나는 2 개월 전에 같은 질문을했다. 고장난 디스크를 보낸 후 3 일 후에 교체 디스크가 NAS에서 고장났습니다. 그래서 새로운 교체품을 생산하기 전에 시험해보기로 결정했습니다. 구매 한 모든 새 디스크를 테스트하지는 않으며 완전히 새로이 신뢰되지 않는 '리퍼브 된'디스크에서만 테스트합니다.

이러한 디스크를 테스트 하려면 새 하드 디스크 에서 불량 블록 검사 및 확장 된 SMART 테스트를 실행하는 것이 좋습니다 .

2TB 디스크에서 최대 48 시간이 소요되며 badblock 명령은 디스크를 패턴으로 가득 찬 다음 블록을 다시 읽고 패턴이 실제로 있는지 확인한 후 4 가지 패턴으로 반복합니다.

요즘 디스크는 불량 블록을 재 할당하므로이 명령은 실제로 새 디스크에 불량 블록을 표시하지 않을 것입니다.

그래서이 전후에 나는 스마트 테스트를 실행하고 재 할당되고 현재 보류중인 섹터 수를 확인합니다. 이 중 하나라도 문제가 발생하면 디스크에 이미 불량 블록이 있으므로 신뢰할 수없는 것으로 판명 될 수 있습니다.

이 후 확장 SMART 테스트를 다시 실행합니다.

smartctl 또는 smartmontools를 먼저 설치할 수 있습니다.

경고 , badblocks -w 플래그는 디스크를 덮어 쓰지 않고 읽기 확인을 원할 경우 디스크의 모든 데이터를 덮어 씁니다.badblocks -vs /dev/sdX

sudo smartctl -a /dev/sdX
# record these numbers
sudo badblocks -wvs /dev/sdX
# let it run for 48 hours
sudo smartctl -a /dev/sdX
# compare numbers
sudo smartctl -t long /dev/sdX
# this might take another hour or 2, check results periodically with
sudo smartctl -a /dev/sdX

이 후에 스마트 값이 정상으로 보이면 디스크를 신뢰할 것입니다.

각 스마트 가치가 무엇을 의미하는지 알기 위해 여기를 살펴볼 수 있습니다.

http://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology


다른 사람들 이이 일을 많이 할 수도 있지만 10 개의 디스크 만 가지고 있고 확실히 할 수는 없기 때문에 지금 제안한 방식으로 모든 디스크를 확인하고 있습니다. 귀하의 포괄적 인 답변에 감사드립니다.
— s1lv3r

23

이들은 새로운 디스크입니다. 그들은 실패하거나 실패하지 않을 것입니다. ZFS 파일 시스템을 사용하면 이미 큰 발전 을 이룰 수 있습니다. 이는 습격 및 파일 시스템 상태에 대한 훌륭한 통찰력을 제공합니다 ...

나는 단지 배열을 구축하는 것 외에는 아무것도하지 않을 것입니다. 이것이 중복의 요점입니다. 나열된 다른 방법으로는 드라이브 고장을 유발할 수 없습니다.


1
이것과 동의-당신은 배열을 만들고 있습니다. 데이터 장착을 시작할 때 드라이브가 고장 나더라도 문제가되지 않으며 교체하고 어레이 자체 복구를 수행합니다. 드라이브를 사용하기 전에 드라이브의 문제를 테스트한다고해서 실제로는 실패 할 것인지에 대한 적절한 아이디어를 얻을 수는 없습니다. 실제는 테스트와는 다릅니다!
— Ashley

1
"실제 테스트와는 다른 것"에 동의하지만 불량 블록을 통해 두 개의 드라이브 오류가 발견되었습니다. 두 가지를 모두 RAID 1, 5 또는 10의 동일한 부분에 넣었다면 전체 RAID를 잃어 버렸을 것입니다.
— rjt

1
아마 @rjt. 불량 섹터가 재 할당되고 드라이브가 동시에 실패하지 않았을 것입니다. 또한 모든 드라이브 오류가 미디어이거나 불량 블록의 결과 인 것은 아닙니다. 구동 베어링이 마모되거나 오작동하면 어떻게합니까?
— ewwhite

아마도 미션 크리티컬 데이터에 대한 결정을 내리지 않을 것입니다 . Google 하드 드라이브 연구에 따르면 드라이브는 처음 90 일 또는 3 년 후에 마모됩니다. 배드 블록은 낮은 매달린 과일을 제거하는 데 도움이됩니다.
— rjt

1
@rjt 물론 "아마도"에 대한 미션 크리티컬 데이터에 대한 결정을 내립니다. 그렇지 않은 경우 테스트 횟수에 관계없이 모든 드라이브에 데이터를 저장할 수 없습니다.
— voretaq7

10

테스트를 위해 Bonnie ++를 사용할 수 있습니다. 파일 서버 동작 패턴을 완벽하게 에뮬레이트 할 수 있습니다.

예를 들면 다음과 같습니다.

# bonnie++ -u nobody -d /home/tmp -n 100:150000:200:100 -x 300

테스트는 사용자 'nobody'로 실행되며 / home / tmp 아래 100 개의 자동 생성 된 디렉토리 내에서 파일 당 200에서 150000 바이트까지 100 * 1024 파일을 생성 / 재 작성 / 삭제합니다. 그리고 테스트 수 = 300입니다. 파일 수 / 크기 및 테스트 반복 횟수를 중심으로 재생할 수 있습니다.


9

나는 보통 전체 RAID 초기화를 수행하고 해당되는 경우이 기간 동안 파일 시스템을 채우기 시작합니다. 이런 식으로, 나는 어쨌든 꽤 신뢰할 수없는 일종의 테스트를 위해 시간을 낭비하지 않으며 나는 실제로 약한 드라이브를 즉시 잡을 것입니다. 그 후에는 "유아 사망률"로 인한 드라이브 고장 가능성이 여전히 높지만이를 제거 할 실질적인 방법은 없습니다.

실제로, RAID에 사용한 마지막 수백 개의 디스크 중 첫 번째 작업 중 문제가 없었습니다.


8

나는 이런 종류의 테스트를 매일 매일 수행하는 회사에서 일합니다. 그리고 그렇습니다. 우리는 구매하는 모든 하드 드라이브를 테스트합니다. 우리의 프로세스는 HDAT2라는 무료 DOS 기반 프로그램을 통해 드라이브를 실행하는 것으로 시작합니다. 무료로 다운로드 할 수 있습니다. SMART 및 Windows 환경에서 액세스 할 수없는 드라이브의 다른 기능에 액세스 할 수 있습니다. 결과에 따라 여러 가지 특수 하드웨어 라인 중 하나를 통해 결과를 실행하지만 핵심적으로는 SMART 짧은 자체 테스트, Long Test, 보안 지우기 및 전체 읽기를 실행하여 섹터를 확인합니다. 내 제안은 전체 디스크를 안전하게 지우고 모든 읽기를 실행 한 다음 SMART 짧은 자체 테스트를 수행하는 것입니다. 테스트가 시작될 때 짧은 자체 테스트를 실행해도 아무것도 발견되지 않지만 디스크를 완전히 읽고 읽은 후에는 무언가를 선택할 수 있으므로이 순서는 중요합니다. 이것이 도움이되기를 바랍니다.


1
serverfault.com/a/501870/117546 이 나에게 가장 합리적이지만 전문가는 아닙니다. 귀사는 왜 하드 드라이브를 테스트합니까? 가장 효과적인 테스트는 실제로 드라이브를 사용하는 것이라고 생각합니다.
— emory

4

제조업체 테스트 스위트 또는 SpinRite 와 같은 것을 사용 하여 전체 디스크를 쓸 수 있습니다. 또한 불량 섹터 및 기타 노후 / 실패 징후 를 찾아 SMART 값 을 살펴 보는 것이 좋습니다 .


3

실제로 테스트하려면 badblocks쓰기 테스트 를 사용하십시오 . 디스크에 데이터 패턴을 쓴 다음 확인하기 위해 읽습니다. 이 동안에는 디스크에 약간의 스트레스가 가해집니다. 제 생각에는 성공적으로 실행되면 디스크를 신뢰할 수 있습니다.

그러나 ZFS와 백업이 충분하다고 생각합니다.

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