Sistem file mana yang menawarkan fungsionalitas snapshot bagi pengguna untuk memulihkan data?

8

Saya sedang mengerjakan proyek yang akan mengajarkan linux kepada kaum muda. Mengetahui mereka akan memiliki kecenderungan untuk menghapus atau merusak item di direktori home mereka, kami mencari opsi snapshot yang baik. Kami tidak akan memiliki akses ke alat mewah yang tersedia dari vendor penyimpanan utama dan berharap dapat menemukan solusi di tingkat sistem file.

Saya sudah membaca banyak tentang btrf tetapi memiliki sedikit pengalaman. Saya memiliki beberapa pengalaman dengan LVM tapi saya tidak terbiasa dengan fitur snapshot-nya. Apakah sistem file atau yang lain memiliki opsi untuk membuat snapshot baik berdasarkan permintaan atau dijadwalkan? Lalu buat snapshot ini selalu tersedia tanpa root seperti folder .snapshot di masing-masing folder home?

Idealnya solusi ini memungkinkan pengguna untuk memulihkan sendiri cadangan sesuai permintaan dalam waktu 24 hingga 48 jam. Kami akan memiliki proses pencadangan lain untuk sistem dan lebih banyak cadangan global. Tetapi kami tidak ingin proses ini digunakan oleh siswa yang hanya membuat 'kesalahan'.

Ras abu-abu
sumber
LVM membuat snapshot perangkat blok. Sistem file (sebagian besar yang modern) pada partisi sedang syncdiedit sebelum snapshot dibuat. Untuk memulihkan beberapa data dari snapshot, Anda harus memasangnya. Namun perlu diperhatikan bahwa foto apa pun memiliki ukuran. Ruang yang digunakan untuk menyimpan perbedaan antara keadaan snapshot dan keadaan saat ini, itu sebabnya menyimpan snapshot sebagai cadangan bukanlah ide yang baik.
HUB
@Hub Terima kasih atas umpan baliknya. Mungkin 'cadangan' adalah kata yang salah. Karena ini bukan bentuk cadangan atau penyimpanan utama. Kami menyadari bahwa ruang akan diperlukan untuk diff atau mechnicsm apa pun yang digunakan oleh filesystem / volume palungan. Tujuannya adalah untuk memberikan snapshot sementara sehingga siswa yang melakukan kesalahan dapat dengan cepat mengembalikan dan mengambil informasi sebelumnya. Mereka tidak akan melakukan praktik terbaik untuk menyimpan cadangan mereka sendiri sebelum melakukan perubahan terlepas dari pelatihan kami dan karenanya ingin membantu mereka mengatasi hal ini.
Grey Race
1
Saya tidak memiliki pengalaman seperti ini tetapi saya pikir Anda memerlukan sesuatu seperti ini: en.wikipedia.org/wiki/Versioning_file_system LVM tidak cocok karena Anda harus memasang dan menyalin setiap file (atau melacak file yang diubah) untuk memulihkan. LVM tidak memiliki "pemulihan" internal.
HUB

Jawaban:

6

Di Linux, btrfs adalah opsi utama Anda untuk snapshot dalam sistem file, tetapi belum stabil, meskipun ia memiliki beberapa fsck dan alat perbaikan .

ZFS adalah pilihan lain, dari Solaris. Meskipun secara teori Anda dapat menggunakan ini di Linux, sebagian besar diimplementasikan di userland saja (meskipun ada beberapa pekerjaan pada implementasi berbasis kernel) dan tidak dalam distribusi Linux standar.

Jawaban LVM ini memiliki beberapa detail tentang pro dan kontra tentang penggunaan snapshot LVM, dan beberapa tautan btrfs / ZFS. Dengan beberapa filesystem (ext3 dan XFS), LVM akan menangani pembekuan FS sebelum mengambil snapshot, tetapi snapshot LVM dapat memiliki masalah kinerja dan masih memiliki beberapa bug.

Saya tidak berpikir LVM adalah solusi yang bagus untuk aplikasi 'snapshot cepat data pengguna' Anda, dan btrfs / ZFS belum cocok [pada 2011].

Sebagai gantinya, Anda mungkin ingin melihat rsnapshot , yang merupakan alat ruang pengguna yang secara efisien membuat foto menggunakan sistem file apa pun, tanpa menggunakan LVM. Karena menggunakan rsync dan menyimpan snapshot di bawah direktori berturut-turut, menggunakan hard link antara snapshot yang berbeda jika file tidak berubah, ia dapat berjalan secara mengejutkan dengan cepat bahkan pada set file yang cukup besar. Ini digunakan banyak untuk cadangan tetapi juga dapat digunakan untuk persyaratan snapshot data pengguna ini, dan dengan sedikit pengaturan dapat memungkinkan siapa pun untuk mengembalikan file snapshotted mereka, dengan menggunakan NFS atau Samba hanya baca - lihat bagian HOWTO ini di mengembalikan file . File dapat dipulihkan dengan alat Linux standar karena rsnapshot mencerminkan direktori sumber ke setiap direktori snapshot.

rsnapshot cukup fleksibel menggunakan fitur standarnya, dan karena ini ditulis dalam Perl, cukup mudah untuk menyesuaikannya, misalnya jika Anda ingin memberikan snapshot berdasarkan permintaan. Kelemahan utama dibandingkan dengan snapshot filesystem adalah kecepatan dan ruang disk - setiap file yang berubah menghasilkan salinan baru dalam snapshot, sedangkan snapshot filesystem hanya menyalin blok baru dalam file.

RichVel
sumber
Terima kasih banyak atas tindak lanjutnya. Saya akan melihat lebih dekat pada rsnapshot pada hari Senin.
Grey Race
2

Baru saja melihat halaman INI di wikipedia, ada kolom kemampuan snapshot - hanya ingin orang-orang mengetahui hal ini di masa depan.

Chopper3
sumber
1

Anda tidak boleh menggunakan snapshot LVM untuk tujuan ini karena mereka menjatuhkan penalti performa besar (terutama jika Anda memiliki beberapa snapshot "bergulir" aktif pada saat yang sama). Sayangnya Linux tidak memiliki sistem file yang matang dengan dukungan untuk snapshot.

Karena itu saya sarankan untuk menggunakan FreeBSD di server file Anda. Format sistem file UFS2 default mendukung snapshot. FreeBSD juga mencakup implementasi ZFS yang tepat (tidak seperti kludge jelek yang ditemukan di Linux) dengan snapshot dan banyak fitur yang sangat canggih lainnya. Ketika digabungkan dengan alat sederhana seperti ini sangat mirip dengan apa yang ditawarkan oleh vendor penyimpanan kelas atas seperti NetApp.

Jika Anda memiliki satu server yang didedikasikan untuk berfungsi sebagai server file, Anda mungkin ingin melihat FreeNAS yang mengemas FreeBSD dan ZFS dengan baik ke dalam sistem seperti alat.

jepret
sumber
1
Poin bagus, dan jelas UFS2 atau ZFS dapat digunakan di FreeBSD sedangkan mereka tidak (ZFS) di Linux. Namun, pertanyaan awal menyebutkan 'mengajarkan Linux kepada kaum muda', sehingga diperlukan FreeBSD NAS terpisah. Juga, saya tidak tahu apakah snapshotperintah FreeBSD yang ditautkan dapat digunakan oleh pengguna non-root. Karena para siswa akan belajar Linux, yang terbaik adalah jika snapshot dapat dibuat dan digunakan oleh pengguna non-root. rsnapshotmembuat ini cukup mudah, dan dengan beberapa pengaturan kerja masing-masing pengguna dapat memiliki pohon snapshot mereka sendiri.
RichVel
Saya berasumsi bahwa para pemuda tidak memiliki akses ke file server, tetapi itu sudah terpasang dengan NFS atau mirip dengan workstation Linux di mana mereka belajar Linux. Mereka tidak perlu tahu tentang arsitektur file server. snapshotUtilitas yang ditautkan memiliki fungsi yang memungkinkan membuat snapshot tersedia bagi pengguna, hampir sama dengan di NetApp. Tidak perlu dijalankan rsnapshotuntuk secara manual membuat imitasi snapshot ketika Anda dapat menggunakan OS yang lebih baik (untuk tujuan ini) yang mengimplementasikan snapshot dalam kode sistem file. Snapshots yang tepat adalah atom.
jepret
Ini adalah opsi yang layak dipertimbangkan. Saya khawatir tentang filesystem & overhead jaringan dengan NFS. Sebagai bagian dari 'belajar linux', siswa akan mengkompilasi kode, menjalankan database, dan proses intensif I / O lainnya. Mereka akan melakukan semua pekerjaan ini di direktori rumah mereka. Jika ini jaringan melalui NFS saya khawatir tentang penalti kinerja. Ini khususnya memprihatinkan dalam sistem homebrew karena NAS produksi kami tidak tersedia karena berbagai alasan politik. Fungsionalitas snapshot adalah sekunder untuk kinerja dasar karena kami memiliki sistem cadangan global tetapi menginginkan snapshot swalayan.
Grey Race
Basis data di atas NFS terdengar sedikit berbulu, meskipun tampaknya itu dapat bekerja jika bebannya tidak terlalu tinggi dan Anda menggunakan versi DBMS terbaru: serverfault.com/questions/30525/mysql-5-1-34-on-nfs-w- netapp . Anda juga harus menjalankan FreeBSD dan Linux di lab Anda, yang bisa bagus jika Anda memiliki lebih banyak siswa yang dapat membantu (sesuatu yang baru untuk dipelajari) atau buruk jika Anda melakukan semuanya sendiri dan kekurangan waktu.
RichVel
Berkenaan dengan pernyataan "kludge jelek ditemukan di Linux" Saya menganggap ini mengacu pada zfs-fuse.net (yang memang terdengar seperti cara yang kurang optimal untuk mengimplementasikannya). Namun perlu dicatat bahwa ZFS juga tersedia dalam implementasi "normal", zfsonlinux.org (walaupun tidak secara langsung dimasukkan dalam kernel karena masalah lisensi).
hlovdal