Apakah ada alat test drive penyiksaan yang baik?

17

Saya telah mengalami kerusakan filesystem aneh dan langka belakangan ini yang saya duga adalah kesalahan SSD saya. Saya mencari alat uji penyiksaan drive yang bagus. Sesuatu yang dapat menulis ke seluruh disk, lalu kembali dan membacanya mencari menulis terbang, blok rusak, blok dikembalikan ke revisi yang lebih lama, dan kesalahan lainnya. Ini akan lebih dari apa yang badblocksdilakukannya. Apakah ada alat seperti itu?

Catatan Saya tidak mencari tolok ukur kinerja dan sudah memeriksa status SMART; kata sehat dan tidak ada blok buruk yang dilaporkan.

psusi
sumber
1
Apakah kamu sudah mencoba? iozone.org
positron
1
Btw, Anda tidak menunjukkan OS / sistem perangkat keras yang Anda gunakan. SSD (s) telah dilaporkan mengalami kerusakan yang Anda bicarakan pada beberapa Mac OS X boxen ketika dikonfigurasikan untuk mematikan hard drive sering kali untuk menghemat daya. Ini akan menyebabkan korupsi. Saya akan membayangkan hal yang sama kemungkinan di combo OS / Hardware lainnya, jika drive dipaksa untuk tidur melalui hard drive power down dikeluarkan ke SSD. Saya akan memeriksa konfigurasi sistem Anda sebelum membakar SSD Anda dengan drive test.
Wing Tang Wong
1
@WingTangWong, wow. Saya sudah siap bahwa banyak SSD rusak ketika mereka kehilangan daya, tetapi ketika diminta untuk tidur? Itu satu drive kereta. Saya akan mengawasi untuk ini. Saya menggunakan Linux dan tidak memilikinya tidur kecuali mungkin ketika saya menangguhkan sistem ...
psusi

Jawaban:

10

Mungkin berlebihan tetapi ada Phoronix Test Suite . Ada juga bonnie++, serta hdparm.

Saya biasanya menggunakan hdparm, misalnya:

% 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

Saya tidak akan menyebut hdparmtes penyiksaan tetapi itu memberi Anda gambaran kasar tentang kinerja keseluruhan drive.

Menentukan kesehatan drive

Setelah Anda menyiksa drive, Anda dapat menggunakan perintah ini untuk memeriksa kesehatan drive secara umum:

% 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 

Alat kesehatan / pemeliharaan disk

Kami telah berhasil menggunakan 2 alat berikut tempat saya bekerja. HDAT2 & Spinrite . Yang terakhir adalah alat komersial tetapi yang pertama, HDAT2, adalah proyek opensource.

Berikut adalah beberapa screenshot HDAT2:

ss # 1 HDAT2

ss # 2 HDAT2

Anda harus mem-boot ulang sistem Anda ke kedua hal ini sehingga offline saat Anda melakukan operasi ini, tetapi mereka berdua telah memulihkan drive yang gagal atau mulai menunjukkan kegagalan. UI dalam HDAT2 sedikit sulit untuk dinavigasi, kami biasanya menggunakan pilihan default untuk sebagian besar dan mencoba untuk tidak berjalan terlalu jauh dari sana.

slm
sumber
Tiga yang pertama Anda sebutkan adalah tolok ukur kinerja. Sudah memeriksa status SMART dan bagus tanpa sektor yang buruk, jadi sepertinya HDAT2 juga bukan yang saya cari.
psusi
Saya tidak akan mengabaikan HDAT2, kami menjalankan chkdsks dan mereka bersih juga, namun disk masih tidak dapat di-boot, menjalankan HDAT2 dapat menemukan masalah permukaan dengan disk yang dapat diperbaiki cukup untuk membuat drive dapat di-boot.
slm
Komentar yang terlambat, tetapi saya mencoba untuk menemukan kode sumber ke HDAT2, tanpa hasil. Apakah ada perubahan lisensi baru-baru ini?
i336_
4

Bonnie ++ datang ke pikiran:

Jadi, tergantung pada konfigurasi perangkat keras kotak Anda:

bonnie++ -d /path/to/mounted/ssd -r your-system-ram-size-in-MB

Contoh:

# For a 32GB system with the SSD formatted and mounted at /mnt/mounted-ssd-001
bonnie++ -d /mnt/mounted-ssd-001 -r 32000

Seharusnya memberi perangkat Anda tes stres yang baik. Anda dapat menyesuaikannya juga.

Catatan, dengan SSD, ketika blok buruk terjadi, mungkin akan dipetakan ulang secara otomatis oleh perangkat keras drive, tergantung pada drive yang Anda gunakan. Juga, tes penyiksaan menggerogoti umur penulisan SSD Anda. Jadi, gunakan dengan kebijaksanaan Anda sendiri.

EDIT:

Menambahkan catatan tentang kegagalan SSD, karena telah ditunjukkan bahwa Bonnie ++ stress test, tetapi tidak melacak kesalahan. Cara SSD "memetakan blok buruk" berbeda dari cara hard drive melakukan pemetaan ulang. Bagaimana kelanjutannya tergantung sepenuhnya pada merek / merek / model SSD yang Anda miliki:

  • SSD murah gagal, karena mereka tidak memiliki kapasitas cadangan untuk memetakan kembali, atau karena mereka tidak memiliki cara untuk memisahkan blok-blok flash yang gagal. Mereka hanya akan hang atau offline dan tidak akan kembali online.
  • SSD midrange tanpa kapasitas cadangan dapat menghasilkan peringatan Smartd atau bahkan mungkin menghasilkan kesalahan perangkat blok tingkat OS ketika blok yang gagal terdeteksi. Namun, ketika kegagalan terjadi, ukuran SSD yang terdaftar akan berubah. Ini dapat menyebabkan kesalahan dan perangkat menjadi offline oleh OS atau dapat menyebabkan perangkat itu sendiri menggantung dan perlu ditarik keluar dan dimasukkan kembali agar dapat dikenali lagi. Saat mendaftar ulang, ukuran blok perangkat yang tersedia akan berkurang.
  • SSD kelas atas dengan kapasitas cadangan akan memetakan ulang blok buruk di belakang layar dan dapat menghasilkan peringatan / peringatan tingkat OS. Ketika kapasitas cadangan habis, perangkat mungkin akan gagal di sepanjang garis SSD Midrange.

Ketika SSD mengubah ukurannya sendiri karena blok buruk yang terisolasi, Anda mungkin perlu melakukan hal berikut untuk menghidupkan kembali drive, jika firmware drive tidak secara otomatis melakukan pembaruan yang tepat secara otomatis:

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

Kecuali jika stress test dan error logging tool dirancang secara khusus dengan SSD, Anda hanya menghabiskan masa pakai perangkat.

EDIT:

Berdasarkan info dari jawaban di atas, sarankan mengganti kabel dengan yang lebih baik atau mengganti drive (pengganti RMA / Warrantee), karena kesalahan tingkat sistem file OS semacam itu tidak normal.

Selain itu, jika drive Anda mendukungnya, Anda dapat menambah jumlah ruang yang disediakan untuk menangani kesalahan:

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

Wing Tang Wong
sumber
Itu tolok ukur kinerja. Ini mungkin memberikan drive latihan, tapi saya tidak berpikir itu mendeteksi kesalahan.
psusi
Cara SSD bekerja, deteksi kesalahan tersedia dalam salah satu dari beberapa bentuk, tergantung pada merek / model SSD: Kesalahan Smartd jika blok dipetakan ulang dan kapasitas cadangan digunakan (tidak ada kesalahan), kapasitas perangkat adalah berkurang karena sebagian penyimpanan flash rusak (dapat menyebabkan kesalahan smartd, dapat menyebabkan kesalahan sistem file, dapat menyebabkan perangkat menggantung bus dengan offline. Pada tarik / masukkan kembali, drive tersedia lagi, tetapi mungkin perlu diformat ulang ), dan SSD bisa langsung tampak menggantung tanpa memetakan ulang (perangkat menjadi tidak responsif bahkan setelah memasukkan kembali). Jalur kegagalan tidak sama dengan HD
Wing Tang Wong
1
kesalahan tidak terdeteksi oleh drive, maka kebutuhan akan alat uji. Itu memanifestasikan dirinya oleh filesystem sedang di-mount ulang, dan e2fsck menemukan dan memperbaiki banyak kesalahan dalam metadata. Juga saya punya beberapa file paket repositori git saya rusak. Itu adalah korupsi diam-diam yang terjadi mungkin sekali sebulan atau dua. Pada awalnya saya pikir itu mungkin bug yang melibatkan TRIM karena saya tidak ingat ini terjadi sebelum saya mengaktifkannya, jadi saya mematikannya dan itu masih terjadi.
psusi
Beberapa masalah potensial: kabel drive buruk atau drive buruk. Anda dapat menguji kabel drive buruk dengan mengganti kabel dengan yang lain. Saya sudah memiliki ini di masa lalu dan mengganti dengan kabel spec'd lebih baik bekerja. Dalam kasus drive yang buruk, RMA atau kirim untuk diperbaiki penerima garansi.
Wing Tang Wong
1
masalahnya membuktikan bahwa itu adalah drive yang buruk (atau benar-benar, bug di firmware) dan tidak mengatakan, bug di kernel. Jika itu kabel yang buruk, itu akan bermanifestasi sebagai kesalahan sata ecc daripada korupsi diam-diam acak.
psusi
3

Saya mengerti ini sudah lebih dari setahun, tetapi untuk kepentingan siapa pun yang membaca utas di masa depan, saya berharap perangkat lunak yang Anda butuhkan (d) belum ada di luar HP Labs:

"Memahami Robustness SSDs di bawah Power Fault" https://www.usenix.org/system/files/conference/fast13/fast13-final80.pdf

Mengganti injeksi kesalahan daya dengan kejadian pilihan (atau tidak sama sekali, dalam hal mendeteksi bug firmware yang terputus-putus), dan tampaknya perangkat lunak ini akan mendeteksinya. Sayangnya, saya tidak berpikir ada alternatif, kalau tidak mungkin HP tidak akan menulis sesuatu di rumah.

Sayang sekali, karena saya juga membutuhkan sesuatu seperti ini untuk membuktikan masalah di lingkungan virtual; di mana saya curiga berkomitmen menulis belum benar-benar membuat jalan mereka ke disk fisik. Akan lebih baik untuk dapat menguji coba tumpukan penyimpanan seperti ini, bukan hanya SSD. Saya belum menemukan sesuatu yang cocok.

Chris Murray
sumber
2
(dari komentar anonim) Sementara sisi perangkat keras dari hal-hal yang perlu direplikasi, saya tidak melihat alasan mengapa bagian verifikasi perangkat lunak dari makalah itu tidak dapat direproduksi menggunakan fio dalam mode klien / server dengan pemicu. Lihat github.com/axboe/fio/blob/master/HOWTO (10.0 Verifikasi dan pemicu) untuk detailnya. fio dapat dibuat untuk menggunakan I / O yang tidak dibuat-buat atau menyinkronkan secara berkala dalam berbagai pola berguna yang nantinya dapat diverifikasi (bahkan mungkin untuk menyimpan file status sehingga verifikasi dapat dilakukan setelah pemanggilan fio yang berbeda).
Archemar
1

Gunakan alat uji pembuat, ini adalah cara terbaik untuk menguji HD, karena dapat mengakses ke tes tingkat rendah, memetakan ulang sektor buruk, menguji semua status kesehatan pintar (khususnya untuk SSD, ada banyak register yang tidak diketahui sebagian besar dari kita. tetapi dapat membantu pembuat untuk melihat status hard disk)

hirensCD memiliki banyak alat pengujian, tetapi saya pikir itu tidak diperbarui ke yang diaktifkan SSD, jadi periksa langsung situs web pembuatnya. Beberapa memang mendukung linux, yang lain mungkin memerlukan windows liveCD (periksa hirenCd lagi) atau booting dari flashdisk (freedos, OS khusus, dll)

Sebagian besar alat HD yang lebih lama tidak baik untuk menguji SSD, karena suatu sektor tidak pernah berada di tempat yang sama, secara dinamis dipetakan oleh firmware untuk menyebarkan penulisan ke seluruh drive. Jadi jika mereka melakukan tes tulis, Anda hanya membakar siklus tulis alih-alih benar-benar menguji disk.

Tes baca tidak membakar SSD tetapi juga mungkin tidak menguji semua sektor SSD, karena firmware menyembunyikan tata letak yang sebenarnya.

higuita
sumber