Artikel ini memiliki beberapa saran berguna untuk rsync
setidaknya:
Masalah
Menggunakan rsync --sparse works
, tetapi menyebabkan banyak penulisan disk yang tidak perlu. Mengubah 10 byte pada 50GB panjang (1GB digunakan) harus menyebabkan hanya satu atau dua blok yang ditulis, ini menyebabkan 1GB ditulis. Ini lambat, dan mungkin tidak baik untuk umur disk yang panjang.
Menggunakan rsync --inplace
karya, tetapi membuat file non-jarang.
Anda tidak dapat menggunakan --sparse dan --inplace secara bersamaan :-( ini tidak diizinkan oleh rsync. Rsync: --sparse tidak dapat digunakan dengan --inplace
Larutan
Jika Anda menggunakan --inplace untuk memperbarui file sparse yang sudah ada sebelumnya, file akan tetap jarang dan hanya memiliki sejumlah kecil blok yang ditulis. Hanya ketika rsync --inplace membuat file yang membuatnya menjadi non-sparse.
Jadi solusinya adalah membuat file yang sesuai, dengan panjang yang benar, kosong, jarang pada mesin target untuk setiap file pada mesin sumber - jika file tersebut belum ada pada mesin target.
Kemudian rsync --inplace akan berfungsi sebagaimana mestinya, meninggalkan file jarang, dan hanya menulis blok yang diubah ke disk.
Jadi, jika saya membacanya dengan benar, Anda ingin terlebih dahulu membuat file kosong kosong pada target. Anda dapat melakukannya dengan
truncate -s 3G filename
Anda kemudian dapat menggunakannya rsync --inplace
untuk menyalin file. Ini seharusnya hanya perlu satu kali.
Artikel yang sama menyarankan menggunakan Virtsync yang
alat baris perintah Linux komersial senilai $ 49 untuk menyinkronkan konten file besar (seperti gambar disk virtual dan basis data mesin).
Ini mungkin solusi terbaik jika Anda bersedia membayar karena tampaknya ditulis khusus untuk situasi seperti ini.