Untuk proyek saya memiliki tugas merencanakan pengaturan ketersediaan tinggi untuk toko web dan sistem CMS. Namun, tentu saja proyek ini dengan anggaran yang ketat. Jadi solusi kelas atas mungkin tidak ada dalam anggaran.
Akan ada dua mesin yang menjalankan server web (CMS, shop), satu mesin yang menjalankan database, dan satu mesin untuk menjalankan server faks yang diperlukan untuk mengirimkan pesanan ke mitra. Semua sistem menjalankan Linux. Semua komponen ini harus sangat tersedia dan harus mendukung kegagalan yang transparan.
Untuk mengurangi biaya perangkat keras saya memikirkan lingkungan yang tervirtualisasi. Ada banyak informasi di luar sana, tetapi saya tidak tahu persis harus mulai dari mana. Tampak jelas bahwa setidaknya untuk server diperlukan sebagai host untuk mesin virtual, sehingga tidak ada titik kegagalan tunggal.
Mana cara terbaik untuk mendukung ketersediaan tinggi?
Pertanyaan pertama adalah solusi virtualisasi mana yang terbaik dalam situasi ini. Perlu ada semacam antarmuka manajemen. Perlu ada cara untuk memindahkan mesin virtual yang berjalan dari satu host ke yang lain, sehingga pemeliharaan host dapat dilakukan. Perlu ada semacam mekanisme, sehingga mesin virtual masih tersedia jika satu host gagal. Bisakah Anda memberi saran tentang solusi yang valid di sini?
Penyimpanan file bersama tampaknya menjadi prasyarat ketersediaan tinggi dalam kebanyakan kasus (harapkan VMware vSphere yang agak mahal). Namun, lebih suka menaruh lebih banyak uang di host mesin virtual daripada menambahkan dua server lain ke pengaturan untuk menyediakan penyimpanan file NFS yang berlebihan. Apakah ada kemungkinan untuk bergaul dengan hanya dua host mesin virtual? Sebuah solusi mungkin menggunakan dua ini sebagai host NFS juga. Apakah ada banyak penalti kinerja untuk melakukan ini?
EDIT: Saya menargetkan ketersediaan 99,9%. Namun, tidak diperlukan ketersediaan 24/7 karena ada jam kerja reguler, yang memberikan ruang untuk bermanuver. Periode ketersediaan yang harus dijamin antara pukul 10:00 hingga tengah malam.