Saya mencari solusi filesystem deduplicating copy-on-write untuk data pengguna umum seperti /home
dan cadangannya. Ini harus menggunakan deduplikasi online / inline / sinkron pada level blok menggunakan hashing aman (untuk peluang tabrakan yang dapat diabaikan) seperti SHA256 atau TTH . Blok duplikat bahkan tidak perlu menyentuh disk.
Idenya adalah saya harus bisa menyalin /home/<user>
ke HDD eksternal dengan sistem file yang sama untuk melakukan backup. Sederhana. Tidak main-main dengan backup tambahan di mana kerusakan pada salah satu snapshot hampir selalu akan merusak semua snapshot nanti, dan tidak perlu menggunakan alat khusus untuk menghapus atau 'checkout' snapshot. Semuanya harus dilakukan dari peramban file tanpa khawatir. Bisakah Anda bayangkan betapa mudahnya hal ini? Saya tidak pernah harus berpikir dua kali untuk membuat cadangan lagi!
Saya tidak keberatan masalah kinerja, keandalan adalah perhatian utama. Meskipun, dengan implementasi spesifik cp
, mv
dan scp
, dan plugin browser file, operasi ini akan sangat cepat, terutama ketika ada banyak duplikasi karena mereka hanya perlu mentransfer blok yang tidak ada. Secara tidak sengaja menggunakan alat penyalinan konvensional yang tidak berintegrasi dengan FS hanya akan memakan waktu lebih lama, buang beberapa bandwidth saat menyalin dari jarak jauh dan buang beberapa CPU, karena data duplikat akan dibaca kembali, ditransfer kembali dan di-hash ulang (walaupun tidak ada yang akan menjadi ditulis ulang), tetapi sama sekali tidak akan merusak apa pun. (Beberapa perangkat lunak filesharing juga dapat memperoleh manfaat dengan mengintegrasikan dengan FS.)
Jadi apa cara terbaik untuk melakukan ini?
Saya telah melihat beberapa opsi:
- lessfs - Terlihat tidak terawat. Ada yang bagus
- Opendedup / SDFS - Java? Bisakah saya menggunakan ini di Android ?! Apa SDFS berdiri?
- Btrfs - Beberapa tambalan beredar di arsip milis, tetapi tidak ada dukungan nyata.
- ZFS - Mudah-mudahan suatu hari mereka akan menikmati lisensi GPL yang kompatibel dengan Free / opensource.
Juga, 2 tahun yang lalu saya mencoba Python menggunakan Fuse di tingkat file untuk digunakan di atas FS padat yang khas seperti EXT4, tapi saya menemukan Fuse untuk Python tidak terdokumentasi dan tidak berhasil mengimplementasikan semua panggilan sistem.
Jawaban:
Ini terdengar sangat keras (seperti mahal).
datadomain menawarkan de-duplikasi data, dan mungkin netapp dengan sistem file wafl mereka. Tetapi dengan biaya tinggi.
Alternatif "bebas" bisa berupa zfs.
Menurut saya meskipun alternatif "terbaik" dan paling Linuxy, meskipun pada tingkat file, bukan "tingkat blok", akan menjadi rsnapshot. Ini menggunakan rsync dan hardlink untuk mengelola versi.
Saya lebih percaya alat yang sudah terbukti lama daripada menggunakan sistem file baru seperti Btrfs yang belum ada cukup lama bagi orang untuk menemukan semua jenis bug jahat.
sumber
rsnapshot
bukan sistem file, ini lebih merupakan peretasan untuk membawa fungsionalitas seperti snapshot ke sistem file lama, tidak membuat snapshot 'nyata' (snapshot seharusnya adalah atom ), dan bersifat inkremental (lihat paragraf 2). Saya lebih suka menggunakan FS yang relatif baru daripada sesuatu yang menggunakan incrementals.Saya mencari dan menyelidiki persis sama, saya bisa menyarankan https://attic-backup.org/quickstart.html#automating-backups untuk saat ini, tampaknya tenang sederhana dan bagus untuk cadangan linux.
Ada juga bacula dengan fitur ini, tetapi loteng tampaknya cukup bagus untuk sebagian besar kasus.
sumber