Saya mencari solusi untuk mirror atau mereplikasi satu direktori (atau satu filesystem) di beberapa server Linux. Solusi ideal adalah solusi yang mengizinkan semua server akses baca-tulis. Saya juga ingin agar saya tangguh, jika salah satu server turun, sisanya harus tetap bekerja tanpa kehilangan data sama sekali.
Saya telah melihat beberapa solusi:
- DRBD : replikasi tingkat blok, tampaknya sedikit berlebihan;
- lsyncd : terlihat sangat sederhana, tetapi saya ragu tentang kinerjanya;
- GlusterFS : sepertinya itu akan menjadi pertandingan yang bagus, belum tahu bagaimana tepatnya mode replikasi bekerja. Apakah ini memiliki karakteristik yang saya butuhkan?
Saran lain dipersilahkan.
Jawaban:
Pertanyaan pertama yang akan saya tanyakan adalah apakah Anda ingin ini direplikasi ke dua server atau lebih dari dua server? Untuk dua server saya akan menggunakan DRDB, untuk tiga atau lebih saya akan menggunakan gluster.
Jika latensi I / O bukan masalah kritis saya akan pergi dengan gluster. Pengaturannya cukup mudah dan dapat dengan jelas melakukan apa yang Anda butuhkan. Yang perlu Anda lakukan adalah membuat server gluster yang melayani file di ketiga kotak dan kemudian juga membuat setiap kotak bertindak sebagai klien gluster yang memasang file.
DRDB akan menjadi rumit untuk dapat bekerja dalam mode master <-> master dengan 3 server atau lebih. Anda harus mengonfigurasi pengaturan berbasis cincin dan saya tidak akan merekomendasikannya. Namun untuk dua server, DRDB luar biasa. Master <-> Mode master tidak rumit untuk diatur dan Anda tidak perlu mempelajari hal-hal sistem file.
lsycd bagus untuk pengaturan master / slave, tetapi Anda tampaknya tidak menginginkannya.
Ceph masih cukup baru, terakhir kali saya memeriksanya bahkan belum memiliki dukungan fsck. Saya lebih suka mendasarkan infrastruktur saya pada sesuatu yang lebih stabil.
Lustre adalah produk yang fantastis untuk penggunaan skala besar, tetapi Anda perlu mengatur detak jantung dan failover untuk server mds atau yang akan memiliki satu titik kegagalan. Mengingat terbatasnya jumlah server yang dibicarakannya, saya curiga hal ini berlebihan dalam kasus ini.
sumber
Bagaimana dengan Ceph atau Lustre ?
sumber
Anda harus melihat ke OpenAFS - ini adalah sistem file yang sebagian besar terdistribusi yang memungkinkan banyak salinan data terdistribusi di seluruh cluster dan semua orang dapat membaca / menulis ke FS pada saat yang sama.
Itu punya banyak fitur berguna lainnya (otentikasi yang baik, enkripsi pada kabel, built-in caching lokal pada klien, klien windows asli, portabel di banyak versi unix, dll)
Ini agak berat untuk diatur, meskipun.
sumber
NFS mungkin juga berfungsi dengan baik, tergantung kebutuhan Anda.
sumber
Mendapatkan ini untuk bekerja dengan DRBD akan menjadi sangat sulit - masalahnya bukan n8whnp tampaknya memikirkan masalah tentang replikasi multi-arah (Anda hanya membuat semua garis-garis node dalam set cermin) tetapi kontrol konkurensi - Anda ' d perlu menjalankan sistem file cluster di atas mirroring di atas DRBD.
lsyncd bahkan lebih buruk karena tidak ada solusi praktis untuk kontrol konkurensi.
Saya akan merekomendasikan solusi jenis AFS (AFS, OpenAFS) sebagai solusi yang matang, stabil, terbuka. Saya akan menghindari kilau sejak Oracle menutupnya. Tidak terlalu terbiasa dengan glusterfs tetapi karena ini bergantung pada penyimpanan terdistribusi daripada replikasi, saya sarankan Anda memiliki pandangan panjang tentang bagaimana ia akan berperilaku dalam operasi otak-terpisah (AFS OTOH dirancang untuk bekerja dalam mode terputus).
sumber