Pemadaman dan kegagalan sistem menyakitkan bagi DBA, tetapi terlebih lagi bagi pelanggan. Pengguna saat ini mengharapkan ketersediaan hampir 100 persen, dan apa pun yang kurang akan menyebabkan iritasi jika Anda beruntung dan kehilangan pelanggan jika tidak.
Salah satu tujuan utama DBA adalah membantu memastikan instans dan database SQL Server tetap online dan berfungsi setelah terjadi kegagalan atau pemadaman. Salah satu metode untuk menopang ketersediaan adalah menyiapkan Windows Server Failover Clusters dengan SQL Server.
Sebuah cluster failover adalah sekelompok server yang bekerja sama untuk menjaga ketersediaan aplikasi dan layanan Anda jika terjadi pemadaman atau kegagalan. Pada dasarnya, kluster failover mengambil semua data yang disimpan di instance SQL Server dan menginstalnya di repositori penyimpanan bersama—biasanya di SAN—yang dapat diakses dari server yang berbeda.
Untuk membantu Anda memulai jalan menuju ketersediaan tinggi, kami telah mengumpulkan sembilan hal yang sebaiknya dan tidak boleh dilakukan untuk menyiapkan kluster failover SQL Server sehingga Anda dapat meminimalkan waktu henti basis data.
1. Jangan lewati validasi cluster.
Sebelum menginstal cluster, Anda harus menjalankan validasi untuk memeriksa konfigurasi. Jika ini adalah cluster baru, Anda harus menjalankan semua pengujian.
Setelah kluster disiapkan dan Anda telah sepenuhnya menginstal dan mengonfigurasi instance SQL Server Anda di kluster, jalankan validasi setiap kali Anda membuat perubahan. Penting untuk memastikan bahwa hasil validasi sudah benar sebelum mengaktifkan kluster failover SQL Server agar Anda tidak perlu menjadwalkan waktu henti untuk memperbaiki masalah yang terlewat.
2. Lakukan konfigurasi kuorum dengan baik.
Jika Anda ingin menjaga SQL Server Anda tetap online, pastikan Anda telah mengonfigurasi kuorum dengan benar di kluster failover. Dokumentasi Microsoft ini memberikan petunjuk mendalam tentang cara mencapainya, tetapi sorotan utama mencakup praktik terbaik berikut:
- Evaluasi ulang kuorum setiap kali konfigurasi cluster Anda berubah
- Tugaskan saksi untuk mendapatkan jumlah suara ganjil
- Hapus suara bila perlu
- Gunakan fitur “Kuorum Dinamis” untuk menyesuaikan suara node secara dinamis
Penting untuk dicatat bahwa cara paling efektif untuk mengkonfigurasi kuorum akan bervariasi tergantung pada versi Windows, jumlah node, dan seberapa andal komunikasi jaringan antar node,
3. Jangan pilih versi Windows atau SQL Server yang salah.
Jenis yang satu ini terdengar seperti no-brainer, tetapi selalu berulang. Pastikan Anda memilih versi Windows Server terbaru dan pastikan Anda menggunakan versi Enterprise atau Datacenter. Juga, tetap menggunakan satu versi SQL Server untuk menjaga semuanya tetap sederhana. Mematuhi dua praktik ini akan membuat cluster Anda lebih mudah dikelola dan disimpan secara online.
4. Belilah perangkat keras yang benar.
Mengukur perangkat keras Anda dengan tepat untuk cluster SQL Server bisa jadi sulit. Misalnya, Anda tidak ingin membuang-buang uang untuk memori yang terlalu banyak, tetapi memori yang terlalu sedikit dapat memengaruhi performa.
Saat Anda mengembangkan rencana untuk membuat cluster SQL Server, pastikan untuk mengonfirmasi bahwa kebutuhan perangkat keras Anda terpenuhi untuk jumlah memori yang tepat, jalur jaringan Anda berlebihan, dan Anda telah mengevaluasi kebutuhan SSD secara akurat.
5. Jangan menempatkan terlalu banyak node dalam satu cluster.
Anda mungkin tergoda untuk menempatkan semua node Anda dalam satu cluster, tetapi lebih baik tetap menggunakan satu atau dua node per cluster. Ingatlah bahwa setiap kali Anda menerapkan tambalan atau pembaruan ke kluster, Anda harus menguji apakah setiap instance masih berfungsi di setiap node. Semakin sedikit node dalam sebuah cluster, semakin sedikit waktu henti untuk setiap instance saat Anda gagal di setiap node.
6. Rencanakan node dan instance Anda.
Cluster failover tidak cocok untuk semua, jadi Anda perlu mengevaluasi kebutuhan dan merencanakannya dengan tepat. Tempat yang bagus untuk memulai adalah dengan menjawab pertanyaan-pertanyaan ini dan menyesuaikan cluster Anda sebagaimana mestinya:
- Berapa banyak node cluster yang kita butuhkan?
- Berapa banyak contoh SQL Server yang akan kita instal?
- Berapa banyak cluster failover Windows yang sesuai dengan kebutuhan dan anggaran kami?
- Penyimpanan seperti apa yang akan kita gunakan?
- Seperti apa lingkungan pementasan kita?
7. Jangan berasumsi bahwa aplikasi Anda akan gagal dengan lancar.
Jangan pernah percaya bahwa instance SQL Server Anda berjalan seperti sebelum terjadi failover. Beberapa aplikasi mungkin tidak kembali online secara otomatis setelahnya, dan tergantung pada aplikasinya, Anda mungkin perlu beberapa saat untuk menyadarinya.
Jadikan praktik standar untuk menyertakan pengujian aplikasi dengan setiap migrasi ke kluster failover.
8. Evaluasi ulang pengaturan konfigurasi SQL Server Anda.
Saat Anda memulai fase perencanaan untuk membuat cluster failover SQL Server, ini saat yang tepat untuk melihat kembali pengaturan konfigurasi Anda. Misalnya, periksa apakah Anda menggunakan pengaturan terbaik untuk hal-hal seperti alokasi memori pada cluster multi-instance.
9. Jangan mengendur pada konvensi penamaan Anda.
Luangkan waktu sekarang untuk memberi nama komponen klaster Anda dengan hati-hati dan selamatkan diri Anda dari sakit kepala besar saat Anda mencoba menyambung ke server nanti. Berikut adalah beberapa ide untuk membantu menetapkan konvensi penamaan yang efektif:
- Pastikan namanya mengidentifikasi jenis komponen yang Anda beri label. Apakah itu cluster, server fisik, instance SQL Server, atau Koordinator Transaksi Terdistribusi?
- Instal BGINFO untuk menampilkan nama server di desktop untuk setiap server di cluster. Ini membuat pencarian database yang benar menjadi mudah.
- Bersikaplah konsisten saat Anda menambahkan node tambahan atau menginstal contoh SQL Server lain ke cluster. Jika Anda tetap berpegang pada konvensi penamaan Anda, itu tidak hanya akan menyederhanakan banyak hal untuk Anda sekarang, tetapi juga membuat pencarian server lebih mudah bagi mereka yang membutuhkannya nanti.