Saat ini saya sedang berpikir tentang migrasi beberapa server dan aplikasi kami ke lingkungan coreOS . Salah satu masalah yang saya lihat di sini adalah pengelolaan data persisten karena coreOS tidak menangani volume Docker saat memindahkan wadah ke mesin baru. Setelah beberapa penelitian saya menemukan glusterFS yang mengklaim sebagai sistem file cluster yang bisa menyelesaikan semua masalah saya.
Gagasan saya saat ini adalah ini: Saya memiliki wadah glusterFS yang berjalan sebagai wadah istimewa di setiap mesin coreOS saya dan memperlihatkan penyimpanan, /mnt/gluster
misalnya. Dalam Dockerfile
s saya , saya menentukan bahwa semua volume saya harus dipasang di jalur ini.
Hal berikutnya yang saya pertimbangkan adalah wadah mana yang harus mendapatkan volume mereka sendiri dan mana yang harus dibagikan. Misalnya, setiap mysql
wadah akan mendapatkan volumenya sendiri karena dapat menangani replikasi dengan sendirinya. Saya tidak ingin dipusingkan dengan itu. Pengamat web yang melayani situs web yang sama akan menggunakan volume yang sama untuk hal-hal seperti "gambar yang diunggah pengguna", dll. Karena mereka tidak dapat mereplikasi data tersebut.
Adakah yang pernah mencoba sesuatu seperti ini atau ada sesuatu yang saya lewatkan?
Jawaban:
Kami telah menggunakan pengaturan serupa dengan Atomic ( http://www.projectatomic.io/ ) alih-alih CoreOS ke sistem penyimpanan GlusterFS non-terdeplikasi yang direplikasi dengan tiga set replika-2. Ini bekerja dengan sangat baik.
Namun, Anda perlu mengingat beberapa karakteristik khusus GlusterFS. Seperti yang sudah disebutkan Brian, Gluster menempatkan konsistensi dan keandalan di atas segalanya. Semakin sering perubahan terjadi, semakin banyak replikasi yang terjadi. Ini menempatkan banyak, dan maksud saya BANYAK, tekanan pada sistem Anda.
Berhati-hatilah bahwa subsistem IO Anda cepat (ya, penyimpanannya), sambungkan node Gluster Anda dengan koneksi jaringan tercepat yang tersedia. Jika Anda hanya memiliki GBit, gabungkan! Last but not least, sistem penyimpanan harus olahraga kekuatan komputasi yang serius, Gluster melakukan banyak perhitungan untuk memeriksa keadaannya. Yang sedang berkata, bahkan di bawah beban tinggi, Gluster memberikan.
Pertimbangkan kembali strategi MySQL Anda. Gluster melakukan replikasi untuk Anda dan juga menyediakan semacam penyeimbangan beban dalam pengiriman. Mungkin sebenarnya lebih cepat menggunakan Gluster.
sumber
Penggunaan glusterfs akan bergantung pada backend penyimpanan yang Anda gunakan. Sebagai sistem file cluster ini dimaksudkan untuk mengelompokkan penyimpanan fisik sehingga muncul sebagai satu volume kontinu yang besar. IniPanduan memulai cepat resmi memiliki penjelasan yang baik tentang prosesnya.
Jika setup Anda menggunakan dua atau lebih server penyimpanan backend terpisah atau sesuatu yang serupa untuk menyimpan semua volume buruh pelabuhan, maka menggunakan glusterfs atau beberapa sistem file paralel serupa lainnya dapat menawarkan keuntungan kinerja yang signifikan. Jika demikian, Anda juga dapat mempertimbangkan untuk menggunakan Lustre , yang banyak digunakan sebagai sistem file paralel di komunitas HPC.
Dengan mengatakan hal itu, menyetel, men-debug dan mengkonfigurasi sistem file paralel / kluster dapat menjadi tugas yang memakan waktu yang membutuhkan banyak keahlian, kesabaran, dan kadang-kadang kesediaan untuk memulai kembali dari awal. Akan lebih bijaksana untuk memastikan bahwa manfaat kinerja yang ditawarkan sistem file paralel sepadan dengan jumlah upaya yang diperlukan untuk mengatur dan memeliharanya.
sumber