Saya memiliki sistem FreeNAS lokal dan ingin menggunakan snapshot ZFS untuk cadangan.
FreeNAS memiliki Tugas Replikasi bawaan yang digunakan
zfs send snapshot_name
untuk mengirim snapshot ke sistem jarak jauh. Tetapi ini membutuhkan sistem dengan ZFS di ujung yang lain.
Saya ingin mengirim snapshot ke file dan mengirim file terkompresi dan terenkripsi ini ke mesin jarak jauh.
Ini dimungkinkan dengan
zfs send snapshot_name | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl
Setiap hari saya membuat snapshot dari kumpulan penyimpanan dan menyimpan setiap snapshot selama 30 hari.
Dengan setiap snapshot yang diambil, saya akan mem-pipe snapshot ini ke file.
- snapshot_file 1 memiliki setiap file di dalamnya (katakanlah 2GB)
- snapshot_file 2 hanya memiliki perubahan ke snapshot_file 1 (katakanlah 5MB)
- snapshot_file 3 menyimpan perubahan pada snapshot_file 2; dan seterusnya.
Pada hari 31 snapshot_file 1 semakin dihapus (karena saya hanya ingin perubahan dari 30 hari terakhir)
Karena itu snapshot_file 2 perlu menampung setiap file (2GB dari snapshot_file 1 + 5MB perubahan)
Tetapi dengan pendekatan ini setiap hari (mulai hari ke 31) file 2GB baru harus dibuat dan dikirim ke sistem jarak jauh. Ini terlalu banyak overhead.
Apa yang akan menjadi pendekatan terbaik untuk menggunakan snapshots yang disalurkan ke file sebagai strategi cadangan dengan sejarah X hari?
PS: Saya tahu ada banyak perangkat lunak cadangan di luar sana (misalnya rdiff-backup), yang bisa saya gunakan. Tapi saya ingin tahu bagaimana ini bisa dilakukan.
zfs recv
di ujung yang lain (di kolam denganzfs set compression=gzip-9
misalnya). Menyimpan file snapshot terdengar sangat tidak efisien bagi saya.