Apa yang harus dilakukan ketika gugus Selalu Aktif kehilangan kuorum?

9

Saya sedang meninjau prosedur DR perusahaan kami dan ketika saya mencari solusi untuk kuorum yang selalu hilang di Cluster online, untuk dibandingkan. Saya tiga halaman dalam hasil google sebelum menemukan posting SE pertama pada subjek Clustering vs replikasi transaksional vs kelompok ketersediaan yang hanya sedikit menyentuh pada subjek kuorum yang hilang.

Sementara semua orang setuju bahwa kuorum yang hilang itu buruk, dan ada beberapa saran untuk mengurangi potensi, itu masih bisa terjadi. Saya mencari jawaban rekan yang baik untuk jalan terbaik menuju pemulihan dari hilangnya kuorum kluster Selalu Aktif.

James Jenkins
sumber
Jika belum, saya sarankan mencoba menggunakan Windows Server 2012 R2. Fitur kuorum dinamis, saksi dinamis, dan pemutus dasi memungkinkan Anda mencapai "posisi terakhir" dalam banyak kasus. sqlha.com/2013/06/06/...
SQL Hammer

Jawaban:

11

AG didasarkan pada Windows Clustering. Prosedur WSFC untuk kehilangan kuorum berlaku.

Setelah WSFC berjalan, Anda dapat memaksa AG, jika perlu. Melakukan Failover Manual Paksa dari Grup yang Tersedia :

Setelah memaksa kuorum pada kluster WSFC (kuorum paksa), Anda perlu memaksa failover setiap kelompok ketersediaan (dengan kemungkinan kehilangan data). Memaksa failover diperlukan karena keadaan sebenarnya dari nilai-nilai klaster WSFC mungkin telah hilang. Namun, Anda dapat menghindari kehilangan data, jika mampu memaksa failover pada server contoh yang menjadi tuan rumah replika yang merupakan replika utama sebelum Anda memaksa kuorum atau ke replika sekunder yang disinkronkan sebelum Anda memaksa kuorum. Untuk informasi lebih lanjut, lihat Cara-Cara Berpotensi untuk Menghindari Kehilangan Data Setelah Kuorum Dipaksa .

Remus Rusanu
sumber
Bagaimana cara kerjanya dengan pengaturan AG baru tanpa cluster? Apakah masih ada Kuorum?
Shaulinator
6

Apa yang harus dilakukan ketika gugus AlwaysOn Anda kehilangan kuorum?

Saya telah mengalami situasi ini terutama dengan Multi-subnet clustering yang menjangkau berbagai negara (NY-LD-HK).

Bagaimana cara menghindari Kuorum Kehilangan di multi-subnet cluster?

  • Ubah pengaturan default cluster ke status pemantauan yang lebih santai terutama menggunakan pengaturan Heartbeat ClusterCrossSubnetDelay , atau CrossSubnetThresholdproperti oleh perbaikan terbaru ini .
  • AG menggunakan WSFC yang inturn menggunakan pendekatan berbasis kuorum untuk menentukan kesehatan cluster. Pastikan Anda memilih dan mengkonfigurasi kuorum dengan tepat . Posting blog ini menyelam lebih dalam ke dalam konfigurasi pemilihan kuorum untuk AlwaysON
  • Berbagai hal berubah di Windows server 2016 dengan diperkenalkannya cluster sadar situs dan saksi cloud .

    Node dalam cluster terentang sekarang dapat dikelompokkan berdasarkan lokasi fisik mereka (situs). Kesadaran lokasi cluster meningkatkan operasi utama selama siklus hidup cluster seperti perilaku failover, kebijakan penempatan, detak jantung antara node dan perilaku kuorum.

    Cloud Witness adalah tipe baru dari saksi kuorum Failover Cluster yang memanfaatkan Microsoft Azure sebagai titik arbitrase. Menggunakan Microsoft Azure Blob Storage untuk membaca / menulis file gumpalan yang kemudian digunakan sebagai titik arbitrase dalam kasus resolusi otak terbagi.

Apa yang harus dilakukan ketika Kuorum hilang?

  • Jika cluster turun karena pemadaman / bencana yang tidak direncanakan, maka intervensi manual diperlukan. Baik admin windows atau admin cluster harus memaksa kuorum secara manual (menghubungkan kembali ke jawaban @ Remus yang mencakup hal ini) dan membawa node yang masih hidup online.

Seperti biasa, untuk melakukan Root Cause Analysis (RCA), kumpulkan log cluster windows Anda, untuk AlwaysON RCA - gunakan SQL Server Failover Cluster Diagnostic Logs . File-file ini di direktori SQL Server Log memiliki format berikut: <HOSTNAME>_<INSTANCENAME>_SQLDIAG_X_XXXXXXXXX.xel.

Kin Shah
sumber
0

Setelah saya terlibat dalam pemadaman di mana server mirror kami kehilangan konektivitas. Salah satu hal yang perlu dikhawatirkan adalah memastikan aplikasi Anda diarahkan ke satu contoh. Dalam pemadaman jaringan Anda dapat memiliki semua node dari cluster Selalu Aktif tetapi tidak dapat berkomunikasi satu sama lain. Anda memaksa kegagalan ke sekunder dan kemudian selama ada pemadaman Anda dapat memiliki dua node primer karena primer asli tidak akan tahu tentang kegagalan paksa atas.

Bergantung pada lokasi server aplikasi Anda, konfigurasinya dan kemampuan mereka untuk mencapai server SQL, maka secara teori Anda dapat memiliki dua node yang meyakini bahwa mereka adalah primer dan memiliki data yang berubah pada saat bersamaan. Setelah Anda memperbaiki masalah jaringan Anda dan node melanjutkan konektivitas, semua data yang diubah pada primer asli akan ditimpa dari node di mana kegagalan-dipaksa. Ini dapat menyebabkan hilangnya data penting.

Saya pernah melihat situasi ini dengan SQL 2005 dan mirroring. Dan kami memutuskan untuk tidak memaksa kegagalan dan membiarkannya tetap tidak terjangkau. Alasannya adalah bahwa dalam kasus terburuk jika kita harus mencadangkan dan mengembalikan untuk memulai ulang mirroring, maka itu akan menjadi proses 2 hari bagi kita dengan risiko log transaksi menjadi penuh dan tidak dapat memperluas disk tempat ia duduk.

Alen
sumber
Mirrroring dan AlwaysOn berbeda. Dengan AlwaysOn Anda seharusnya (semoga) menunjuk ke pendengar dengan MultiSubnetFailover = Benar
James Jenkins
Saya tahu itu tetapi server mungkin terpisah secara geografis dengan pemadaman jaringan di mana beberapa aplikasi dapat menjangkau beberapa server tetapi tidak yang lain. Dan ada driver java yang digunakan yang tidak mendukung MultiSubnetFailover = True. Mungkin aplikasi pihak ketiga lainnya juga. Saya telah melihat beberapa orang menolak untuk mengkonfigurasi string koneksi mereka untuk itu. Bahkan kemudian Anda dapat memaksa failover tanpa memikirkannya untuk situasi Anda yang sebenarnya dan berakhir dengan dua server yang dapat ditulis yang tidak dapat berkomunikasi. Dan dengan aplikasi menulis untuk keduanya karena kemampuan mereka untuk berkomunikasi di seluruh situs.
Alen
PS Saya telah melihat situasi di mana kami tidak dapat berkomunikasi dengan situs utama kami, kurang dari satu mil jauhnya, tetapi konektivitas ke situs DR kami 100 mil jauhnya berfungsi dengan baik.
Alen