Bagikan / beranda antara pusat data

15

Saya memiliki dua server, ditempatkan di pusat data di Belanda dan Perancis. Keduanya menjalankan Debian Wheezy. Saya perlu berbagi / pulang di antara mereka, dengan kinerja yang baik. Ada 300-an pengguna di server, sekitar 30 di antaranya harus dapat memiliki proses aktif pada server tertentu pada waktu tertentu, masing-masing memiliki 50 kbit membaca dan dan 20 kbit menulis / detik, dengan puncak pendek sekitar 2000 kbit / sedang membaca. tindakan dengan iotop pada penyimpanan lokal. Saya memiliki banyak file kecil, total sekitar 500000 dan membutuhkan latensi serendah mungkin. Ping antar server adalah 17 ms, dan koneksi dapat mencapai sekitar 20-30 MB / s saat menggunakan scp dan wget. Sepertinya harus ada banyak bandwidth yang tersedia untuk itu juga berfungsi, tetapi ...

Apa yang telah saya telusuri sejauh ini: sshfs: Sepertinya memiliki kinerja yang lebih baik daripada nfs, tetapi secara umum mengubah izin file untuk di-root, membuat aplikasi macet.

nfs: Cara untuk memperlambat, mencoba noatime banyak opsi lain, tetapi tetap bertindak lamban, bahkan ketika hanya beberapa proses yang aktif.

drbd: 5 jam kerja buntu, ketika saya menyadari saya tidak bisa benar-benar me-mount filesystem pada kedua sistem :-(

glusterfs: Memiliki salinan lokal dari semua data benar-benar terdengar menjanjikan, tetapi akses file acak benar-benar lambat dan setelah berjalan beberapa saat, itu menjadi lambat luar biasa dan hampir hang. noatime tidak membantu.

nfs lagi: Masih lesu.

Menangis ke keyboard: Tidak ada perbaikan sama sekali.

Apa yang harus dicoba selanjutnya? Setiap percobaan yang gagal telah berlangsung satu malam atau mungkin lebih selama minggu lalu, dan saya sangat ingin metode selanjutnya bekerja. Dan ya, sangat penting bahwa sistem file dibagi di antara kedua server.

Terima kasih atas gagasan baru tentang masalah ini.

pengguna3850506
sumber
6
"Menangis ke keyboard: Tidak ada perbaikan sama sekali." Oke, itu mendapat +1 dari saya.
ceejayoz
Anda mungkin menginginkan glusterfs, atau ceph. Sistem file terdistribusi. Juga, Anda dapat me-mount drbd beberapa kali, tetapi hanya satu baca-tulis, dan itu ide buruk yang menakutkan.
Sirex
Saya mencoba glusterfs, dan walaupun bekerja dengan baik dengan file besar, itu menjadi sangat lambat ketika membaca atau menulis file kecil. Tampaknya menjadi masalah umum dengan glusterfs, dan saya belum bisa menemukan perbaikan untuk itu. Saya akan melihat ke Ceph. Sudahkah Anda mencobanya sendiri?
user3850506
3
Memasang perangkat blok & sistem file yang sama, bahkan RO pada sistem yang berbeda adalah juju yang buruk kecuali jika driver sistem file memahami perangkat blok dukungan dapat berubah secara sewenang-wenang setiap saat. Perangkat blok dapat mengubah dan sepenuhnya membatalkan cache inode dan VFS akan dengan senang hati membaca data yang tidak lagi Anda pikirkan. Filesystem sadar shared-seperti GFS2 dan veritas dapat melakukannya pada DRBD atau disk seperti SAN. Saya tidak bisa mengatakan dengan pasti kinerja file kecil Anda akan dapat diterima.
Andrew Domaszek

Jawaban:

2

Ada beberapa solusi yang mungkin untuk ini:

  1. Anda bisa menggunakan penyimpanan blok yang direplikasi seperti DRBD (atau MARS seperti yang disebutkan di atas), tetapi Anda harus menyiapkan sistem file cluster di atas penyimpanan blok. Sistem file tersebut dapat berupa GFS2 atau OCFS2 yang keduanya tersedia di kernel Debian afaik. DRBD dapat menangani primer / primer dan Anda dapat memasangnya di kedua server secara bersamaan. Tetapi jika Anda melakukan ini dengan sistem file standar, satu server tidak tahu tentang yang lain dan Anda akan menghancurkan sistem file Anda dalam beberapa detik. Sistem file cluster di atas akan menangani komunikasi dan penguncian sehingga kedua node dapat menulis ke blok yang sama.

  2. Gunakan sistem file terdistribusi untuk / home. Anda akan menemukan daftar sistem file tersebut di http://en.wikipedia.org/wiki/Comparison_of_distributed_file_systems . Namun waspadalah dan pilihlah dengan bijak. Mereka semua tidak bisa melakukan sihir dan semua memiliki kekurangan. Gluster adalah sistem file seperti itu. Untuk beberapa sistem, Anda mungkin perlu lebih dari dua node.

  3. Jika itu tidak harus direplikasi secara real time dan sinkronisasi file yang hampir real-time sudah mencukupi, maka lihat BitTorrent Sync ( http://www.getsync.com/ ), Dropbox atau alternatif. Setiap server memiliki itu sendiri / rumah, tetapi perubahan bisa direplikasi berdasarkan file ke server lain.

mgabriel
sumber
1
rsync ftw 123456
dmourati