Date: April 24, 2019
Langkah-demi-Langkah: Cara Mengkonfigurasi Instance Failover Cluster SQL Server 2008 R2 Pada Windows Server 2008 R2 Di Azure
Intro
Pada 9 Juli 2019, dukungan untuk SQL Server 2008 dan 2008 R2 akan berakhir. Itu berarti akhir dari pembaruan keamanan reguler. Namun, jika Anda memindahkan instance SQL Server ke Azure, Microsoft akan memberi Anda Pembaruan Keamanan Diperpanjang tiga tahun tanpa biaya tambahan. Jika saat ini Anda menjalankan SQL Server 2008/2008 R2 dan Anda tidak dapat memperbarui ke versi SQL Server yang lebih lama sebelum batas waktu 9 Juli, Anda akan ingin mengambil keuntungan dari penawaran ini daripada menjalankan risiko menghadapi kerentanan keamanan di masa depan. . Contoh SQL Server yang tidak ditambal dapat menyebabkan kehilangan data, downtime atau pelanggaran data yang menghancurkan.
Salah satu tantangan yang akan Anda hadapi ketika menjalankan SQL Server 2008/2008 R2 di Azure adalah memastikan ketersediaan tinggi. Di tempat Anda mungkin menjalankan contoh SQL Server Failover Cluster (FCI) untuk ketersediaan tinggi, atau mungkin Anda menjalankan SQL Server di mesin virtual dan mengandalkan VMware HA atau cluster Hyper-V untuk ketersediaan. Saat pindah ke Azure, tidak ada opsi itu yang tersedia. Downtime di Azure adalah kemungkinan yang sangat nyata sehingga Anda harus mengambil langkah-langkah untuk mengurangi.
Untuk mengurangi kemungkinan downtime dan memenuhi syarat untuk Azure 99,95% atau SLA 99,99%, Anda harus memanfaatkan SIOS DataKeeper. DataKeeper mengatasi kurangnya penyimpanan bersama Azure dan memungkinkan Anda untuk membangun SQL Server FCI di Azure yang memanfaatkan penyimpanan terlampir secara lokal pada setiap instance. SIOS DataKeeper tidak hanya mendukung SQL Server 2008 R2 dan Windows Server 2008 R2 seperti yang didokumentasikan dalam panduan ini, ia mendukung semua versi Windows Server, dari 2008 R2 hingga Windows Server 2019 dan versi SQL Server apa pun dari dari SQL Server 2008 hingga SQL Server 2019 .
Panduan ini akan berjalan melalui proses membuat dua simpul SQL Server 2008 R2 Failover Cluster Instance (FCI) di Azure, berjalan pada Windows Server 2008 R2. Meskipun SIOS DataKeeper juga mendukung cluster yang menjangkau Zona Ketersediaan atau Wilayah, panduan ini mengasumsikan setiap node berada di Wilayah Azure yang sama, tetapi Domain Fault yang berbeda. SIOS DataKeeper akan digunakan sebagai pengganti penyimpanan bersama yang biasanya diperlukan untuk membuat SQL Server 2008 R2 FCI.
Buat contoh SQL Server pertama di Azure
Panduan ini akan memanfaatkan SQL Server 2008R2SP3 pada gambar Windows Server 2008R2 yang diterbitkan di Azure Marketplace.
Ketika Anda memberikan instance pertama Anda harus membuat Set Ketersediaan baru. Selama proses ini pastikan untuk meningkatkan jumlah Domain Kesalahan ke 3. Ini memungkinkan dua node cluster dan saksi file berbagi masing-masing untuk berada di Domain Kesalahan mereka sendiri.
Tambahkan disk tambahan untuk setiap instance. Direkomendasikan Premium atau Ultra SSD. Nonaktifkan caching pada disk yang digunakan untuk file log SQL. Aktifkan caching hanya-baca pada disk yang digunakan untuk file data SQL. Lihat pedoman Kinerja untuk SQL Server di Mesin Virtual Azure untuk informasi tambahan tentang praktik terbaik penyimpanan.
Jika Anda belum memiliki jaringan virtual yang dikonfigurasi, izinkan panduan pembuatan untuk membuat yang baru untuk Anda.
Setelah instance dibuat, masuk ke konfigurasi IP dan buat alamat IP Privat statis. Ini diperlukan untuk SIOS DataKeeper dan merupakan praktik terbaik untuk instance berkerumun.
Pastikan jaringan virtual Anda dikonfigurasi untuk mengatur server DNS menjadi pengontrol Windows AD lokal. Ini untuk memastikan Anda dapat bergabung dengan domain pada langkah selanjutnya.
Buat Instance SQL Server Akhir Di Azure
Ikuti langkah-langkah yang sama seperti di atas. Kecuali pastikan untuk menempatkan instance ini di jaringan virtual yang sama dan Set Ketersediaan yang Anda buat dengan instance 1.
Buat File Berbagi Saksi (FSW) Instance
Agar Windows Server Failover Cluster (WSFC) untuk bekerja secara optimal Anda diminta untuk membuat contoh Windows Server lain dan menempatkannya di Ketersediaan yang sama seperti contoh SQL Server. Dengan menempatkannya di Set Ketersediaan yang sama, Anda memastikan bahwa setiap node cluster dan FSW berada di Domain Kesalahan yang berbeda. Dengan demikian memastikan cluster Anda tetap on line seandainya seluruh Fault Domain keluar jalur. Contoh ini tidak memerlukan SQL Server. Ini bisa menjadi Windows Server sederhana karena yang perlu dilakukan hanyalah menjadi tuan rumah berbagi file sederhana.
Contoh ini akan menjadi tuan rumah saksi berbagi file yang diperlukan oleh WSFC. Instance ini tidak perlu memiliki ukuran yang sama, juga tidak memerlukan disk tambahan untuk dilampirkan. Satu-satunya tujuan adalah meng-host berbagi file sederhana. Itu sebenarnya bisa digunakan untuk tujuan lain. Di lingkungan lab saya, FSW saya juga pengontrol domain saya.
Hapus instalasi SQL Server 2008 R2
Masing-masing dari dua contoh SQL Server yang disediakan sudah memiliki SQL Server 2008 R2 yang diinstal pada mereka. Namun, mereka diinstal sebagai contoh SQL Server mandiri, bukan contoh berkerumun. SQL Server harus dihapus dari masing-masing instance ini sebelum kita dapat menginstal instance cluster. Cara termudah untuk melakukannya adalah dengan menjalankan SQL Setup seperti yang ditunjukkan di bawah ini.
Ketika Anda menjalankan setup.exe / Action-RunDiscovery Anda akan melihat semua yang sudah diinstal
setup.exe / Action-RunDiscovery
Menjalankan setup.exe / Action = Uninstall / FITUR = SQL, AS, RS, IS, Tools / INSTANCENAME = MSSQLSERVER memulai proses penghapusan instalasi
setup.exe / Action = Copot pemasangan / FITUR = SQL, AS, RS, IS, Alat / INSTANCENAME = MSSQLSERVER
Menjalankan setup.exe / Action-RunDiscovery mengkonfirmasi penghapusan instalan selesai
setup.exe / Action-RunDiscovery
Jalankan lagi proses penghapusan instalasi ini pada instance ke-2.
Tambahkan Mesin Virtual ke Domain
Ketiga contoh ini perlu ditambahkan ke Domain Windows.
Tambahkan Fitur Clustering Windows Failover
Fitur Failover Clustering perlu ditambahkan ke dua contoh SQL Server
Tambahkan-WindowsFeature Failover-Clustering
Matikan Windows Firewall
Demi kesederhanaan, matikan Windows Firewall selama instalasi dan konfigurasi SQL Server FCI. Konsultasikan Praktik Terbaik Keamanan Jaringan Azure untuk saran tentang pengamanan sumber daya Azure Anda. Rincian tentang port Windows yang diperlukan dapat ditemukan di sini, port SQL Server di sini dan port SIOS DataKeeper di sini, The Internal Load Balancer yang akan kami konfigurasikan nanti juga memerlukan akses port 59999. Jadi pastikan untuk memperhitungkannya dalam konfigurasi keamanan Anda.
NetSh Advfirewall menonaktifkan semua profil
Instal Pembaruan Kenyamanan Rollup Untuk Windows Server 2008 R2 SP1
Ada pembaruan kritis (kb2854082) yang diperlukan untuk mengkonfigurasi contoh Windows Server 2008 R2 di Azure. Pembaruan itu dan banyak lagi yang termasuk dalam Pembaruan Kenyamanan Rollup untuk Windows Server 2008 R2 SP1. Instal pembaruan ini di masing-masing dari dua contoh SQL Server.
Format Penyimpanan
Disk tambahan yang dilampirkan ketika dua contoh SQL Server disediakan harus diformat. Lakukan hal berikut untuk setiap volume pada setiap instance.
Praktik terbaik Microsoft mengatakan berikut ini …
"Ukuran unit alokasi NTFS: Saat memformat disk data, disarankan agar Anda menggunakan ukuran unit alokasi 64-KB untuk data dan file log serta TempDB."
Jalankan Validasi Cluster
Jalankan validasi kluster untuk memastikan semuanya siap untuk dikelompokkan.
Laporan Anda akan berisi PERINGATAN tentang Penyimpanan dan Jaringan. Anda dapat mengabaikan peringatan tersebut karena kami tahu tidak ada disk bersama dan hanya ada satu koneksi jaringan antara server. Anda juga dapat menerima peringatan tentang pesanan pengikatan jaringan yang juga dapat diabaikan. Jika Anda menemukan KESALAHAN, Anda harus mengatasinya sebelum melanjutkan.
Buat Cluster
Praktik terbaik untuk membuat cluster di Azure adalah dengan menggunakan Powershell seperti yang ditunjukkan di bawah ini. Powershell memungkinkan kita untuk menentukan Alamat IP Statis, sedangkan metode GUI tidak. Sayangnya, implementasi DHCP Azure tidak berfungsi dengan baik dengan Windows Server Failover Clustering. Jika Anda menggunakan metode GUI Anda akan berakhir dengan alamat IP duplikat sebagai Alamat IP Cluster. Ini bukan akhir dunia, tetapi Anda harus memperbaikinya seperti yang saya tunjukkan.
Seperti yang saya katakan, metode Powershell umumnya bekerja paling baik. Namun, untuk beberapa alasan, tampaknya gagal pada Windows Server 2008 R2 seperti yang ditunjukkan di bawah ini.
New-Cluster -Name cluster1 -Node sql1, sql2 -StaticAddress 10.1.0.100 -NoStorage
Anda dapat mencoba metode itu dan jika itu berhasil untuk Anda – hebat! Saya perlu kembali dan menyelidiki ini sedikit lebih untuk melihat apakah itu kebetulan. Opsi lain yang perlu saya jelajahi jika Powershell tidak berfungsi adalah Cluster.exe. Menjalankan cluster / create /? memberikan sintaks yang tepat untuk digunakan untuk membuat cluster dengan perintah cluster.exe yang sudah tidak digunakan lagi.
Namun, jika Powershell atau Cluster.exe gagal Anda, langkah-langkah di bawah ini mengilustrasikan cara membuat cluster melalui UI Server Windows Failover Clustering, termasuk memperbaiki alamat IP duplikat yang akan ditugaskan ke cluster.
Ingat, nama yang Anda tentukan di sini hanyalah Cluster Name Object (CNO). Ini bukan nama yang akan digunakan klien SQL Anda untuk terhubung ke cluster; kita akan mendefinisikan itu selama pengaturan kluster SQL Server di langkah selanjutnya.
Pada titik ini, cluster dibuat, tetapi Anda mungkin tidak dapat terhubung dengan itu dengan Windows Server Failover Clustering UI karena masalah alamat IP duplikat.
Perbaiki Alamat IP Gandakan
Seperti yang saya sebutkan sebelumnya, jika Anda membuat cluster menggunakan GUI, Anda tidak diberi kesempatan untuk memilih alamat IP untuk cluster. Karena instance Anda dikonfigurasikan untuk menggunakan DHCP (diperlukan di Azure), GUI ingin secara otomatis memberikan Anda alamat IP menggunakan DHCP. Sayangnya, implementasi DHCP Azure tidak berfungsi seperti yang diharapkan dan cluster akan menetapkan alamat yang sama yang sudah digunakan oleh salah satu node. Meskipun cluster akan membuat dengan benar, Anda akan kesulitan menghubungkan ke cluster sampai Anda memperbaiki masalah ini.
Untuk memperbaiki masalah ini, dari salah satu node jalankan perintah berikut untuk memastikan layanan Cluster dimulai pada node itu.
Mulai bersih clussvc / fq
Pada simpul yang sama Anda sekarang harus dapat terhubung ke UI Clustering Windows Server Failover, di mana Anda akan melihat Alamat IP telah gagal untuk online.
Buka properti alamat IP Cluster dan ubah dari DHCP ke Statis, dan tetapkan alamat IP yang tidak digunakan.
Bawa sumber Nama online
Tambahkan File Bagikan Saksi
Selanjutnya kita perlu menambahkan File Share Witness. Di server ke-3 kami menyediakan sebagai FSW, buat folder dan bagikan seperti yang ditunjukkan di bawah ini. Anda harus memberikan izin baca / tulis Cluster Name Object (CNO) di tingkat Share dan Security seperti yang ditunjukkan di bawah ini.
Setelah share dibuat, jalankan wizard Configure Cluster Quorum di salah satu node cluster dan ikuti langkah-langkah yang diilustrasikan di bawah ini.
Buat Akun Layanan Untuk DataKeeper
Kami hampir siap untuk menginstal DataKeeper. Namun, sebelum kita melakukan itu, Anda perlu membuat akun Domain dan menambahkannya ke grup Administrator Lokal pada setiap contoh cluster SQL Server. Kami akan menentukan akun ini ketika kami menginstal DataKeeper.
Instal DataKeeper
Instal DataKeeper di masing-masing dari dua node cluster SQL Server seperti yang ditunjukkan di bawah ini.
Di sinilah kami akan menentukan akun Domain yang kami tambahkan ke masing-masing grup Administrator Domain lokal.
Konfigurasikan DataKeeper
Setelah DataKeeper diinstal pada masing-masing dari dua node cluster, Anda siap untuk mengkonfigurasi DataKeeper.
CATATAN – Kesalahan paling umum yang dihadapi dalam langkah-langkah berikut adalah terkait keamanan, paling sering oleh kelompok Azure Security yang sudah ada memblokir port yang diperlukan. Silakan lihat dokumentasi SIOS untuk memastikan server dapat berkomunikasi melalui port yang diperlukan.
Pertama, Anda harus terhubung ke masing-masing dari dua node.
Jika semuanya sudah dikonfigurasikan dengan benar, Anda harus melihat yang berikut ini di laporan Tinjauan Server.
Selanjutnya, buat Pekerjaan Baru dan ikuti langkah-langkah yang diilustrasikan di bawah ini
Pilih Ya di sini untuk mendaftarkan sumber daya Volume DataKeeper di Penyimpanan yang Tersedia
Selesaikan langkah-langkah di atas untuk masing-masing volume. Setelah selesai, Anda akan melihat yang berikut di UI Clustering Windows Server Failover.
Anda sekarang siap untuk menginstal SQL Server ke dalam cluster.
CATATAN – Pada titik ini volume yang direplikasi hanya dapat diakses pada node yang saat ini menampung Penyimpanan yang Tersedia. Itu yang diharapkan, jadi jangan khawatir!
Instal SQL Server Di Node Pertama
Pada node pertama, jalankan pengaturan SQL Server.
Pilih Instalasi SQL Server Failover Cluster baru dan ikuti langkah-langkah seperti yang diilustrasikan.
Pilih hanya opsi yang Anda butuhkan.
Harap dicatat, dokumen ini mengasumsikan Anda menggunakan contoh default dari SQL Server. Jika Anda menggunakan Instance Bernama, Anda perlu memastikan Anda mengunci port yang didengarkannya, dan menggunakan port itu nanti ketika Anda mengkonfigurasi load balancer. Anda juga perlu membuat aturan penyeimbang beban untuk Layanan Peramban SQL Server (UDP 1434) agar dapat terhubung ke Mesin Virtual Bernama. Tidak satu pun dari kedua persyaratan tersebut tercakup dalam panduan ini. Tetapi jika Anda memerlukan Instance Bernama, itu akan berfungsi jika Anda melakukan dua langkah tambahan.
Di sini Anda perlu menentukan alamat IP yang tidak digunakan
Buka tab Direktori Data dan pindahkan data dan file log. Pada akhir panduan ini, kita berbicara tentang memindahkan tempdb ke Volume DataKeeper yang tidak dicerminkan untuk kinerja yang optimal. Untuk saat ini, simpan saja di salah satu disk yang dikelompokkan.
Instal SQL Pada Node Kedua
Jalankan pengaturan SQL Server lagi pada node kedua. Kemudian, pilih Tambahkan simpul ke Cluster Failover SQL Server.
Selamat, Anda hampir selesai! Namun, karena kurangnya dukungan Azure untuk ARP serampangan, kami akan perlu mengonfigurasi Internal Load Balancer (ILB) untuk membantu pengalihan klien seperti yang ditunjukkan pada langkah-langkah berikut.
Perbarui Alamat IP SQL Cluster
Agar ILB berfungsi dengan benar, Anda harus menjalankan menjalankan perintah berikut dari salah satu node cluster. Itu SQL Cluster IP memungkinkan alamat IP SQL Cluster untuk menanggapi probe kesehatan ILB sementara juga mengatur subnet mask ke 255.255.255.255 untuk menghindari konflik alamat IP dengan probe kesehatan.
cluster res <IPResourceName> / priv enabledhcp = 0 address = <ILBIP> probeport = 59999 subnetmask = 255.255.255.255
CATATAN – Saya tidak tahu apakah itu kebetulan. Kadang-kadang saya telah menjalankan perintah ini dan sepertinya berfungsi, tetapi tidak menyelesaikan pekerjaan dan saya harus memulai lagi. Cara saya tahu apakah itu bekerja adalah dengan melihat Subnet Mask dari SQL Server IP Resource. Jika bukan 255.255.255.255 maka Anda tahu itu tidak berhasil. Ini mungkin hanya masalah penyegaran GUI. Cobalah memulai kembali GUI kluster untuk memverifikasi subnet mask telah diperbarui.
Setelah berhasil, ambil sumber daya secara offline dan bawa kembali online agar perubahan diterapkan.
Buat Load Balancer
Langkah terakhir adalah membuat penyeimbang beban. Dalam hal ini kami mengasumsikan Anda menjalankan Instance Default dari SQL Server, mendengarkan pada port 1433.
Alamat IP Privat yang Anda tetapkan saat Anda Membuat load balancer akan menjadi alamat yang sama persis dengan yang Anda gunakan SQL Server FCI.
Tambahkan hanya dua contoh SQL Server ke kolam backend. JANGAN menambahkan FSW ke kolam backend.
Dalam aturan penyeimbangan beban ini, Anda harus mengaktifkan IP Terapung.
Uji Cluster
Tes paling sederhana adalah membuka SQL Server Management Studio pada node pasif dan terhubung ke cluster. Selamat! Anda melakukan semuanya dengan benar saat terhubung! Jika Anda tidak dapat terhubung, jangan takut. Saya menulis artikel blog untuk membantu memecahkan masalah ini. Mengelola cluster sama persis dengan mengelola cluster penyimpanan bersama tradisional. Semuanya dikendalikan melalui Failover Cluster Manager.
Opsional – Pindahkan TempDB
Untuk kinerja optimal, disarankan untuk memindahkan tempdb ke SSD lokal yang tidak direplikasi. Tapi, SQL Server 2008 R2 membutuhkan tempdb berada di disk berkerumun. SIOS memiliki solusi yang disebut Sumber Daya Volume Tidak Tercermin yang mengatasi masalah ini. Dianjurkan untuk membuat sumber daya volume yang tidak dicerminkan dari drive SSD lokal dan memindahkan tempdb ke sana. Perhatikan, drive SSD lokal tidak persisten. Anda harus berhati-hati untuk memastikan folder yang menahan tempdb dan izin pada folder itu diciptakan kembali setiap kali server reboot.
Setelah Anda membuat Sumber Daya Volume Tanpa Cermin dari SSD lokal, ikuti langkah-langkah dalam artikel ini untuk memindahkan tempdb. Skrip startup yang dijelaskan dalam artikel itu harus ditambahkan ke setiap node cluster.
Diproduksi ulang dengan izin dari Clusteringformeremortals.com