Dengan pohon file besar yang saya maksud adalah sekitar 200 ribu file, dan terus bertambah setiap saat. Namun, sejumlah kecil file sedang diubah dalam jam tertentu.
Dengan bidirectional saya maksudkan bahwa perubahan dapat terjadi di kedua server dan perlu didorong ke yang lain, sehingga rsync tampaknya tidak sesuai.
Maksud saya adalah bahwa kedua server sama-sama berada di pusat data, tetapi secara geografis jauh dari satu sama lain. Saat ini hanya ada 2 server, tetapi itu dapat berkembang seiring waktu.
Secara real-time, boleh saja ada sedikit latensi antara sinkronisasi, tetapi menjalankan cron setiap 1-2 menit sepertinya tidak benar, karena sebagian kecil file dapat berubah dalam jam tertentu, apalagi menit.
EDIT : Ini berjalan di VPS jadi saya mungkin terbatas pada jenis hal-hal tingkat kernel yang bisa saya lakukan. Juga, VPS tidak kaya sumber daya, jadi saya akan menghindar dari solusi yang membutuhkan banyak ram (seperti Gluster?).
Apa pendekatan terbaik / paling "diterima" untuk menyelesaikan ini? Sepertinya ini akan menjadi kebutuhan bersama, tetapi saya belum dapat menemukan pendekatan yang diterima secara umum, yang mengejutkan. (Saya mencari keamanan massa. :)
Saya telah menemukan lsyncd untuk memicu sinkronisasi di tingkat perubahan sistem file. Tampaknya pintar meskipun tidak super umum, dan saya agak bingung dengan berbagai pendekatan lsyncd. Ada hanya menggunakan lsyncd dengan rsync, tetapi tampaknya ini bisa rapuh untuk dua arah karena rsync tidak memiliki gagasan tentang memori (mis. Untuk mengetahui apakah file yang dihapus pada A harus dihapus pada B atau apakah itu file baru pada B yang harus disalin ke A). lipsync tampaknya hanya implementasi lsyncd + rsync, kan?
Lalu ada yang menggunakan lsyncd dengan csync2 , seperti ini: https://icicimov.github.io/blog/devops/File-system-sync-with-Csync2-and-Lsyncd/ ... Saya condong ke arah pendekatan ini, tetapi csync2 sedikit aneh, meskipun saya berhasil melakukan tes. Saya sebagian besar khawatir bahwa saya belum dapat menemukan banyak konfirmasi komunitas dari metode ini.
Orang-orang di sini tampaknya sangat menyukai Unison, tetapi tampaknya itu tidak lagi dalam pengembangan aktif dan tidak jelas bahwa ia memiliki pemicu otomatis seperti lsyncd.
Saya telah melihat Gluster yang disebutkan, tetapi mungkin berlebihan untuk apa yang saya butuhkan?
UPDATE: fyi- Saya akhirnya pergi dengan solusi asli yang saya sebutkan: lsyncd + csync2. Tampaknya bekerja dengan cukup baik, dan saya suka pendekatan arsitektural untuk memiliki server yang sangat longgar, sehingga masing-masing server dapat beroperasi tanpa batasnya sendiri terlepas dari kualitas tautan di antara mereka.