Saya telah melakukan banyak penelitian tentang topik ini selama beberapa minggu terakhir - dan saya pikir saya hampir menyelesaikan pemulihan saya, sebanyak mungkin. Singkatnya, saya hanya akan menjelaskan masalahnya tanpa mengisi setiap detail teknis kecil.
Asumsikan Anda memiliki beberapa array RAID-5, masing-masing dengan 8 disk, dan kemudian membentangkannya menjadi satu volume logis LVM. Salah satu disk kemudian mati di salah satu array, dan selama membangun kembali Anda menemukan kesalahan baca yang tidak dapat dipulihkan pada disk kedua dalam array itu. Dan tentu saja, tidak ada cadangan.
Saya sudah menghapus data dari drive dengan URE ke drive baru, hanya 5K data yang rusak semua dikelompokkan ke dalam area disk yang sangat kecil. Saya juga berasumsi bahwa sekali saya memasang kembali perangkat MD menggunakan salinan ddrescue'd, bahwa saya akan mengalikan ukuran kehilangan data saya dengan jumlah drive non-paritas dalam array saya (jadi 35K kehilangan data), sebagai paritas perhitungan untuk garis-garis menggunakan blok-blok itu akan salah.
Saya telah membaca dan memahami prosedurnya di http://smartmontools.sourceforge.net/badblockhowto.html untuk menentukan file mana yang akan rusak oleh situasi seperti ini, tetapi masalah saya adalah mencari tahu persis apa blok yang akan rusak setelah md membangun kembali untuk digunakan sebagai input ke debugfs. Mencari tahu semua offset di mana md dan lvm menyimpan metadata juga tidak akan menyenangkan, tapi saya pikir saya bisa menangani bagian itu.
Bisakah saya mengalikan semua angka blok buruk saya dengan 7 dan kemudian berasumsi bahwa 6 blok berikut setelah masing-masing juga akan buruk, dan kemudian ikuti petunjuk LVM dalam panduan yang ditautkan di atas?
Dan untuk menjadi jelas - saya tidak peduli dengan memperbaiki atau memetakan ulang blok buruk seperti yang dijelaskan panduan ini, saya telah mengganti disk dan akan membiarkan md menangani hal semacam itu. Saya hanya ingin tahu file apa pada sistem file ext4 yang terpengaruh.
sumber