@Oli - hai, saya Jim Salter, pria yang benar-benar menulis artikel itu. Saya bekerja dengan mesin virtual, yang membuat semuanya lebih sederhana. Apa yang saya lakukan dimulai dengan file JPEG, dan membukanya di hex editor. Yang khusus saya gunakan adalah Bless, yang dapat Anda instal di Ubuntu dengan apt-get install bless sederhana .
Setelah membuka JPEG di Bless, saya menekan halaman ke bawah beberapa kali untuk masuk ke dalam "daging" dari JPEG, dan kemudian hanya menyoroti data bernilai sekitar lima puluh byte, dan menyalin dan menempelkannya ke editor teks (di saya kasus, gEdit). Ini memberi saya sesuatu untuk dicari.
Sekarang saya menyimpan JPEG ke setiap array di VM. Penyimpanan di belakang array adalah serangkaian file .qcow2. Setelah saya menyimpan JPEG ke dalam array, saya dapat memuat file .qcow2 yang terkait dengan masing-masing array ke Bless, dan mencari mereka - mereka tidak terlalu besar, hanya JPEG dan beberapa metadata - untuk pola lima puluh byte itu Saya telah menyorot dan menyalin dari JPEG. Voila, saya punya blok untuk korup! Pada titik ini, saya hanya bisa mengedit byte individual dari JPEG yang disimpan di disk virtual VM menggunakan Bless - dan, yang penting, melakukannya dengan cara yang persis sama pada setiap array.
Satu-satunya kerutan adalah bahwa dalam kasus array RAID5 diuji dalam artikel, saya harus memastikan saya mengedit salinan data yang sebenarnya dalam strip, dan bukan paritas untuk strip itu sendiri - itu adalah gambar kecil pada sebuah jika tidak array kosong, jadi tidak ada data di blok BERIKUT di strip, membuat blok paritas berisi data tidak diubah dari blok data. Jika saya secara tidak sengaja mengedit blok paritas alih-alih blok data, gambar akan ditampilkan sebagai tidak berubah.
Satu catatan terakhir - Anda tidak PERLU mesin virtual untuk melakukan ini - Anda bisa melakukan hal yang sama dengan cara yang sama dengan bare metal; itu hanya akan lebih menyusahkan di pantat karena Anda harus bekerja dengan seluruh drive mentah alih-alih dengan file .qcow2 kecil yang bagus, dan Anda harus menarik drive dan meletakkannya di mesin yang berbeda, atau boot ke lingkungan langsung (atau hanya bergantian) untuk mengacaukannya. (Saya menguji penyembuhan data ZFS persis seperti ini, tetapi pada mesin logam telanjang nyata, 7-tahun lalu ketika saya pertama kali tertarik pada filesystem next-gen.)
Semoga ini membantu!