Seagate Momentus XT 하이브리드 하드 드라이브가 Linux에서 파일을 손상시키고 있습니다. 다른 사람의 도움에 감사 드리지만 다른 Momentus XT 사용자가이 문제를 재현 할 수 있는지 알고 싶습니다. Seagate 커뮤니티 포럼 에서이 문제를 재현하기위한 단계별 지침을 제공했습니다 .
지금까지 4 명의 사용자가 다음 랩톱 및 OS / 배포에서이 문제를 재현했습니다.
- 5 대의 노트북 : Lenovo Thinkpad T60, T61, T510, MSI MS-1656-ID1 및 MacBook Pro (2009 년 말 15 인치).
- 4 가지 OS / 배포 : Ubuntu 11.04, Fedora 15, openSUSE 및 Mac OS X
문제를 재현하는 방법은 간단합니다. 간단한 구두 설명은 다음과 같습니다.
- 큰 테스트 파일을 만들어 Momentus XT가 아닌 다른 저장 장치에 저장 한 다음 SHA-1 체크섬을 계산하십시오.
- 테스트 파일을 Momentus XT에 씁니다.
- Momentus XT에서 테스트 파일을 읽고 SHA-1을 계산 한 후이 체크섬을 원본의 체크섬과 비교하십시오. 우리는 일치해야합니다. 일치하지 않으면 문제를 재현했을 것입니다. 다른 문제로 인해 불일치가 발생할 수 있기 때문에 '아마도'아마도 '입니다
cmp -l
. 파일을와 비교하여이 특정 문제를 식별하는 방법은 Seagate 스레드를 참조하십시오 . - 2 단계부터 반복하십시오.
씨게이트 스레드는 자세한 내용이 있습니다. 내 테스트에서 얻은 참고 사항은 다음과 같습니다 (Momentus XT 드라이브 3 개 에서이 문제를 재현 할 수있었습니다.
- 일어나고있는 것 같습니다. Momentus XT는 때때로 드라이브에 데이터를 쓰지 않기 때문에 드라이브에서 읽을 때 원래 데이터가 아닌 섹터에 있던 것을 얻습니다. 이것은 크기가 다른 블록에서 발생합니다. 일반적인 크기는 1 MiB 및 512 KiB입니다.
- ext2, ext4, Btrfs, NTFS 및 FAT32에서 문제가 발생합니다. 이상하게도 ext3에서이 문제를 재현 할 수 없었습니다.
oflag=direct
출력 플래그를 사용하여 쓰면dd
이 문제 를 피할 수 있습니다. 데이터를 디스크에 빠르게 커밋while true; do sync; sleep 0.01; done
하면 문제가 방지됩니다.- SATA와 eSATA 인터페이스를 통해서만이 문제를 재현 할 수있었습니다. USB 연결이 문제를 방지하는 것 같습니다. (이것이 전송 속도 때문인지 확실하지 않습니다.)
- 큰 파일 (> 2GB)에서 문제가 더 자주 발생합니다. 약 85MB보다 작은 파일에서는 문제가 발생하지 않았습니다.
- NTFS를 사용하는 Windows XP에서 문제를 재현 할 수 없었습니다.
- Seagate 포럼의 Gazoi는 UFS2 가 있는 FreeBSD 8.2 에서 문제를 재현 할 수 없었습니다 .
- Momentus XT는 확장 된 SMART 테스트와
badblocks -w
문제없이 통과합니다 . - 내 랩탑 (MS-1656-ID1)이 Memtest86 +, Memtest86, memtester 및 MPrime 각각 24 시간을 성공적으로 통과했습니다.
- 동일한 절차를 사용하여 두 개의 다른 저장 장치 (Seagate Momentus 7200.4 및 Intel 320 시리즈 SSD)를 테스트했으며 모두 문제없이 통과했습니다.
Momentus XT가있는 경우이 문제를 재현 해보고 어떻게되는지 알려주십시오.
문제를 진단하기 위해 다른 무엇을 할 수 있습니까?
iflag=direct
dd로 입력 플래그를 읽음으로써 페이지 캐시를 무시하고 있습니다. dd를 사용하지 않을 때는 다음과 같이 캐시를 플러시합니다.sudo sh -c "sync && echo 1 > /proc/sys/vm/drop_caches"