Saya telah menjalankan misi untuk memulihkan file dari salah satu dari 2 drive NAS saya yang berfungsi dengan baik, tidak rusak, tidak dienkripsi yang dulu berada di RAID 1. NAS adalah Patriot Javelin S4, yang (seperti yang saya temukan dari penelitian saya ) menggunakan pengontrol serangan palsu Promise Fasttrack.
Informasi mengenai hal ini sangat langka, jadi bagi orang Google dalam situasi yang sama, berikut adalah beberapa fakta tentang NAS ini:
- Pengontrol RAID: Promise FastTrack (FakeRaid)
- Sistem volume: LVM2
- Filesystem: XFS dengan ukuran blok 64kb (65536 bytes)
- Arch: Prosesor AMPC PowerPC 800MHz, RAM 256MB (berkat riset Matthew)
Saya hanya memiliki komputer Windows 10 dan MacOS ketika melakukan ini, dan saya tidak menemukan perangkat lunak yang mampu memasang XFS dalam volume LVM2 (dengan 1 pengecualian, lebih lanjut tentang ini di bawah). Saya harus mengeluarkan netbook lama saya Acer Aspire One, dan menginstal puppy linux di atasnya (khusus rasa lxpup).
Di puppy linux saya berhasil me-mount sistem file ini menggunakan alat yang disebut dmraid
. Alat ini memiliki cara untuk memasang volume pdc, yang merupakan id untuk Promise FastTrack. Setelah saya berhasil melompati beberapa simpai yang memasangnya, saya memperoleh akses ke sistem file XFS yang sebenarnya, dan yang membuat saya kecewa, ternyata ukuran bloknya 64 kb.
Di sinilah saya mulai googling hal-hal seperti "baca ukuran blok xfs 64kb" dan tidak mendapatkan apa-apa. Hanya beberapa jawaban yang mengatakan: "linux tidak bisa membaca ukuran blok lebih besar dari 4kb, kecuali Anda menambal kernel". Saya tidak tahu bagaimana menambal kernel, dan saya bingung bahwa tidak ada jenis emulasi yang memungkinkan ini.
Saya menyebutkan 1 pengecualian di antara aplikasi yang tidak dapat membaca partisi ini di Win / Mac. Pengecualian itu adalah ufsexplorer. Ini adalah aplikasi $ 100, ia bisa menunjukkan kepada saya file dengan mulus. Saya menyalin beberapa file yang membuktikan bahwa itu berfungsi, tetapi versi percobaan hanya memungkinkan menyalin file kecil.
Saya menolak untuk percaya bahwa tidak ada alat open source gratis di luar sana dari setiap tingkat kompleksitas yang tidak dapat membantu saya membaca xfs 64kb.
Pertanyaan saya adalah: apakah ada yang tahu alat seperti itu? Setiap instruksi khusus tentang cara mendapatkan data menggunakan satu atau lebih alat, atau patching kernel, atau yang lainnya (gratis) sangat dihargai.
Satu hal lagi: Saya lebih suka tidak harus membuat gambar lokal dari drive ini (kecuali itu satu-satunya cara). Bagaimanapun, ini adalah 2TB data, saya mungkin tidak memiliki ruang sebanyak ini.
PS Jika ada linux yang dikenal yang dapat saya instal pada Acer saya yang dapat membaca 64kb xfs, itu juga solusi yang layak.
Pembaruan 1 : Saya baru belajar tentang https://www.cgsecurity.org/wiki/TestDisk . Mungkin layak dicoba. Akan melaporkan kembali begitu saya punya waktu untuk mencobanya.
Pembaruan 2 : TestDisk tampaknya mengenali keberadaan partisi XFS, tapi saya tidak yakin bagaimana untuk melanjutkan formulir di sana. Saya tidak melihat cara untuk mengekstrak file, jadi saya hanya meninggalkannya untuk saat ini, dan mencoba pendekatan qemu dalam jawaban Matthew.
Jawaban:
Saya telah melakukan sedikit riset tentang masalah Anda. Tidak mudah tetapi terlihat layak.
Area pemecah kode Anda adalah ini (well, dalam kernel yang lebih baru):
fs/xfs/libxfs/xfs_sb.c
Ini pada dasarnya mensyaratkan bahwa ukuran blok XFS setidaknya sama dengan ukuran halaman sistem.
Ini berarti dua hal.
Saya pergi dan memeriksa kernel yang benar-benar tua (EL4) dan pembatasan di atas masih ada. Ini berarti pada dasarnya tidak layak untuk melakukan apa yang ingin Anda lakukan pada arsitektur Anda (x86).
Mengingat Anda memberikan nama NAS, saya melakukan beberapa pencarian di Google dan menemukan ini: http://www.techwarelabs.com/patriot-javelin-s4-network-attached-storage/2/
Yang berarti menggunakan CPU PPC.
Memang, pada kernel PowerPC dapat dibangun untuk menggunakan halaman 64k atau 4k. Ini akan menjelaskan mengapa blok tersebut 64k dan juga mengapa Anda tidak dapat menjalankan sistem file pada mesin Anda, di mana ia bekerja pada NAS sendiri sebelumnya.
Jika Anda ingin mencoba untuk membuka filesystem - saya pikir pilihan terbaik Anda adalah menjalankan mesin virtual dalam hypervisor menggunakan PPC64LE (saya pikir itulah arsitektur sebenarnya dari CPU itu), Fedora membangun PPC64LE mereka dengan halaman 64k.
https://alt.fedoraproject.org/alt/
Anda dapat menggunakan qemu untuk melakukan ini. Orang ini tampaknya memberikan beberapa instruksi (tidak diuji) tentang bagaimana Anda akan melakukan ini.
https://rwmj.wordpress.com/tag/ppc64le/
Dari sana, langsung letakkan disk di VM dan lakukan dmraid / lvm / mount normal Anda untuk mendapatkan akses ke drive.
sumber
virt-builder fedora-25 --arch ppc64le -o fedora-25-ppc64le.img
. Saya menggunakan puppy linux dan mendapatkan "supermin: tidak dapat mendeteksi paket manager yang digunakan oleh sistem atau distro ini."