Langkah-demi-Langkah: ISCSI Target Server Cluster In Azure
Saya baru-baru ini membantu seseorang membangun cluster server target iSCSI di Azure dan menyadari bahwa saya tidak pernah menulis panduan langkah demi langkah untuk konfigurasi tertentu. Jadi untuk memperbaikinya, berikut adalah petunjuk langkah demi langkah jika Anda perlu melakukannya sendiri.
Prasyarat
Saya akan menganggap Anda cukup terbiasa dengan Azure dan Windows Server, jadi saya akan memberi Anda beberapa detail. Mari kita asumsikan Anda setidaknya telah melakukan yang berikut sebagai prasyarat
- Menyediakan dua server (SQL1, SQL2) masing-masing dalam Zona Ketersediaan yang berbeda (Ketersediaan Set juga dimungkinkan, tetapi Zona Ketersediaan memiliki SLA yang lebih baik)
- Tetapkan alamat IP statis untuk mereka melalui portal Azure
- Bergabung dengan server ke domain yang ada
- Mengaktifkan fitur Clustering Failover dan fitur Server Target iSCSI di kedua node
- Tambahkan tiga Azure Premium Disk ke setiap node.
CATATAN: ini opsional, satu disk adalah persyaratan minimum. Untuk peningkatan IOPS kita akan mengupas tiga Premium Azure Disk bersama-sama di kolam penyimpanan dan membuat disk virtual (RAID 0) sederhana - SIOS DataKeeper akan digunakan untuk menyediakan penyimpanan yang direplikasi yang digunakan dalam cluster. Jika Anda membutuhkan DataKeeper, Anda dapat meminta uji coba di sini.
Buat Kolam Penyimpanan Lokal
Sekali lagi, langkah ini sepenuhnya opsional, tetapi untuk peningkatan IOPS kita akan mengupas tiga Cakram Azure Premium menjadi satu Kelompok Penyimpanan. Anda mungkin tergoda untuk menggunakan Disk Dinamis dan volume yang terbentang, tetapi jangan lakukan itu! Jika Anda menggunakan disk dinamis, Anda akan menemukan bahwa ada beberapa ketidakcocokan umum yang akan mencegah Anda membuat target iSCSI nanti.
Jangan khawatir, membuat Pool Storage lokal cukup mudah jika Anda mengetahui jebakan yang mungkin Anda temui seperti yang dijelaskan di bawah ini. Dokumentasi resmi dapat ditemukan di sini.
Pitfall # 1 – meskipun dokumentasi mengatakan ukuran minimum untuk volume yang akan digunakan dalam penyimpanan adalah 4 GB, saya menemukan bahwa P1 Premium Disk (4GB) TIDAK dikenali. Jadi di lab saya saya menggunakan Disk Premium P3 16GB.
Pitfall # 2 – Anda HARUS memiliki setidaknya tiga disk untuk membuat Pool Penyimpanan.
Pitfall # 3 – buat Storage Pool Anda sebelum Anda membuat cluster Anda. Jika Anda mencoba untuk melakukannya setelah Anda membuat cluster Anda, Anda akan berakhir dengan kekacauan besar ketika Microsoft mencoba untuk membuat kumpulan penyimpanan berkerumun untuk Anda. Kami TIDAK akan membuat kumpulan penyimpanan berkerumun, jadi hindari kekacauan itu dengan membuat Storage Pool Anda sebelum Anda membuat cluster. Jika Anda harus menambahkan Pool Penyimpanan setelah cluster dibuat, Anda harus terlebih dahulu mengusir node dari cluster, kemudian buat Pool Penyimpanan.
Berdasarkan dokumentasi yang ditemukan di sini, di bawah ini adalah tangkapan layar yang mewakili apa yang harus Anda lihat ketika Anda membangun Pool Penyimpanan lokal Anda di masing-masing dari dua node cluster. Selesaikan langkah-langkah ini di kedua server SEBELUM Anda membangun cluster.
Anda harus melihat kumpulan Primordial di kedua server.
Klik kanan dan pilih Pool Penyimpanan Baru …
Pilih Buat disk virtual saat wisaya ini ditutup
Perhatikan di sini Anda dapat membuat tingkatan penyimpanan jika Anda memutuskan untuk menggunakan kombinasi dari SSD Standar, Premium dan Ultra
Untuk kinerja terbaik gunakan tata letak penyimpanan sederhana (RAID 0). Jangan khawatir tentang keandalan karena Azure Managed Disk memiliki tiga redundansi di backend. Sederhana diperlukan untuk kinerja yang optimal.
Untuk tujuan kinerja gunakan Penyisihan tetap. Anda sudah membayar disk Premium lengkap, jadi tidak perlu tidak menggunakan semuanya.
Buat Cluster Anda
Sekarang setiap server masing-masing memiliki drive 45 GB X sendiri, kita akan membuat cluster dasar. Membuat cluster di Azure paling baik dilakukan melalui Powershell sehingga kita bisa menentukan alamat IP statis. Jika Anda melakukannya melalui GUI, Anda akan segera menyadari bahwa Azure memberikan alamat IP duplikat IP cluster yang harus Anda bersihkan, jadi jangan lakukan itu!
Berikut ini adalah contoh kode Powershell untuk membuat cluster baru.
New-Cluster -Name mycluster -NoStorage -StaticAddress 10.0.0.100 -Node sql1, sql2
Outputnya akan terlihat seperti ini.
PS C: Users dave.DATAKEEPER> New-Cluster -Name mycluster -NoStorage
-StaticAddress 10.0.0.100 -Node sql1, sql2
PERINGATAN: Ada masalah saat membuat peran berkerumun itu
dapat mencegahnya dimulai.
Untuk informasi lebih lanjut, lihat file laporan di bawah ini.
PERINGATAN: Laporkan lokasi file: C: windows cluster Laporan Buat Cluster
Wisaya mycluster pada 2020.05.20
Di 16.54.45.htm
Nama
----
mycluster
Peringatan dalam laporan akan memberi tahu Anda bahwa tidak ada saksi. Karena tidak ada penyimpanan bersama di cluster ini Anda harus membuat Cloud Witness atau File Share Witness. Saya tidak akan memandu Anda melalui proses itu karena cukup baik didokumentasikan di tautan tersebut.
Jangan menunda ini, silakan dan buat saksi sekarang sebelum Anda pindah ke langkah berikutnya!
Anda sekarang harus memiliki kluster 2-simpul dasar yang terlihat seperti ini.
Mengkonfigurasi Penyeimbang Muatan Untuk Alamat IP Core Cluster
Cluster di Azure unik karena jaringan virtual Azure tidak mendukung ARP serampangan. Jangan khawatir jika Anda tidak tahu artinya, yang harus Anda ketahui adalah bahwa alamat IP cluster tidak dapat dihubungi secara langsung. Sebagai gantinya, Anda harus menggunakan Azure Load Balancer, yang mengarahkan ulang koneksi klien ke node cluster aktif.
Ada dua langkah untuk mendapatkan penyeimbang beban yang dikonfigurasi untuk sebuah cluster di Azure. Langkah pertama adalah membuat penyeimbang beban. Langkah kedua adalah memperbarui alamat IP cluster sehingga mendengarkan penyelidikan kesehatan load balancer dan menggunakan subnet mask 255.255.255.255 yang memungkinkan Anda untuk menghindari konflik alamat IP dengan ILB.
Kami pertama-tama akan membuat penyeimbang beban untuk alamat IP inti klaster. Nanti kita akan mengedit load balancer untuk juga membahas alamat IP sumber daya cluster iSCSI yang akan kita buat di akhir dokumen ini.
Perhatikan bahwa alamat IP statis yang kami gunakan adalah alamat yang sama yang kami gunakan untuk membuat sumber daya IP cluster inti.
Setelah load balancer dibuat, Anda akan mengedit load balancer seperti yang ditunjukkan di bawah ini
Tambahkan dua node cluster ke kolam backend
Tambahkan dua node cluster ke kolam backend
Tambahkan pemeriksaan kesehatan. Dalam contoh ini kita menggunakan 59999 sebagai port. Ingat port itu, kita akan membutuhkannya di langkah berikutnya.
Buat jalan baru untuk mengarahkan ulang semua port HA, Pastikan Floating IP diaktifkan.
LANGKAH 2 – EDIT KE CLUSTER CORE ALAMAT IP UNTUK BEKERJA DENGAN LOAD BALANCER
Seperti yang saya sebutkan sebelumnya, ada dua langkah untuk mengatur penyeimbang beban agar berfungsi dengan benar. Sekarang kita memiliki load balancer, kita harus menjalankan skrip Powershell di salah satu node cluster. Berikut ini adalah contoh skrip yang perlu dijalankan pada salah satu node cluster.
$ ClusterNetworkName = “Cluster Network 1”
$ IPResourceName = “Alamat IP Cluster”
$ ILBIP = “10.0.0.100”
Impor-Modul FailoverClusters
Dapatkan-ClusterResource $ IPResourceName | Set-ClusterParameter
-Multiple @ {Address = $ ILBIP; ProbePort = 59998; SubnetMask = "255.255.255.255"
; Jaringan = $ ClusterNetworkName; EnableDhcp = 0}
Hal penting tentang skrip di atas, selain memastikan semua variabel benar untuk lingkungan Anda, adalah memastikan ProbePort diatur ke port yang sama dengan yang Anda tetapkan dalam pengaturan penyeimbang beban untuk alamat IP khusus ini. Anda akan melihat nanti bahwa kami akan membuat pemeriksaan kesehatan kedua untuk sumber daya IP cluster iSCSI yang akan menggunakan port lain. Hal penting lainnya adalah memastikan Anda meninggalkan set subnet di 255.255.255.255. Ini mungkin terlihat salah, tapi itulah yang perlu diatur.
Setelah Anda menjalankannya, hasilnya akan terlihat seperti ini.
PS C: Users dave.DATAKEEPER> $ ClusterNetworkName = "Cluster Network 1"
$ IPResourceName = “Alamat IP Cluster”
$ ILBIP = “10.0.0.100”
Impor-Modul FailoverClusters
Dapatkan-ClusterResource $ IPResourceName | Set-ClusterParameter
-Multiple @ {Alamat = $ ILBIP; ProbePort = 59999; SubnetMask = "255.255.255.255"
; Jaringan = $ ClusterNetworkName; EnableDhcp = 0}
PERINGATAN: Properti disimpan, tetapi tidak semua perubahan akan berlaku
sampai alamat IP Cluster diambil offline dan kemudian online lagi.
Anda akan perlu untuk mengambil sumber daya IP cluster inti offline dan membawanya kembali online sebelum akan berfungsi dengan baik dengan load balancer.
Dengan asumsi Anda melakukan segalanya dengan benar dalam menciptakan penyeimbang beban Anda, Server Manager Anda di kedua server harus mendaftar cluster Anda sebagai Online seperti yang ditunjukkan di bawah ini.
Periksa Server Manager di kedua node cluster. Cluster Anda harus ditampilkan sebagai "Online" di bawah Pengaturan.
Instal DataKeeper
Saya tidak akan melalui semua langkah di sini, tetapi pada dasarnya pada saat ini Anda siap untuk menginstal SIOS DataKeeper di kedua node cluster. Ini pengaturan yang cukup sederhana, jalankan saja pengaturan dan pilih semua default. Jika Anda mengalami masalah dengan DataKeeper, biasanya itu adalah satu dari dua hal. Masalah pertama adalah akun layanan. Anda perlu memastikan bahwa akun yang Anda gunakan untuk menjalankan layanan DataKeeper ada di Grup Administrator Lokal pada setiap node.
Masalah kedua berkaitan dengan firewall. Meskipun penginstalan DataKeeper akan memperbarui Windows Firewall lokal secara otomatis, jika jaringan Anda terkunci, Anda perlu memastikan bahwa node cluster dapat berkomunikasi satu sama lain di seluruh port DataKeeper yang diperlukan. Selain itu, Anda perlu memastikan probe kesehatan ILB dapat menjangkau server Anda.
Setelah DataKeeper diinstal, Anda siap untuk membuat pekerjaan DataKeeper pertama Anda. Selesaikan langkah-langkah berikut untuk setiap volume yang ingin Anda tiru menggunakan antarmuka DataKeeper.
Gunakan antarmuka DataKeeper untuk terhubung ke kedua server
Klik buat pekerjaan baru dan beri nama
Klik Ya untuk mendaftarkan volume DataKeeper di kluster
Setelah volume terdaftar itu akan muncul di Penyimpanan Tersedia di Failover Cluster Manager
Buat Cluster Server Target ISCSI
Pada langkah selanjutnya ini kita akan membuat peran server target iSCSI di cluster kami. Di dunia yang ideal saya akan memiliki skrip Powershell yang melakukan semua ini untuk Anda, tetapi demi waktu untuk saat ini saya hanya akan menunjukkan kepada Anda bagaimana melakukannya melalui GUI. Jika Anda menulis kode Powershell, silakan berbagi dengan kami semua!
Ada satu masalah dengan metode GUI. Anda akan berakhir dengan alamat IP duplikat ketika Sumber Daya IP dibuat, yang akan menyebabkan sumber daya gugusan Anda gagal sampai kami memperbaikinya. Saya akan menjalani proses itu juga.
Buka Properti sumber IP Address yang gagal dan pilih IP Statis dan pilih alamat IP yang tidak digunakan di jaringan Anda. Ingat alamat ini, kami akan menggunakannya pada langkah kami berikutnya ketika kami memperbarui penyeimbang beban.
Anda sekarang harus dapat membawa sumber daya gugus iSCSI online.
Perbarui Load Balancer Untuk Resource ISCSI Target Server Cluster
Seperti yang saya sebutkan sebelumnya, klien tidak dapat terhubung langsung ke alamat IP cluster (10.0.0.110) yang baru saja kami buat untuk cluster server target iSCSI. Kami harus memperbarui penyeimbang beban yang kami buat sebelumnya seperti yang ditunjukkan di bawah ini.
Mulailah dengan menambahkan alamat IP frontend baru yang menggunakan alamat IP yang sama dengan yang digunakan sumber daya IP cluster iSCSI.
Tambahkan pemeriksaan kesehatan kedua pada port yang berbeda. Ingat nomor port ini, kita akan menggunakannya lagi dalam skrip powershell yang kita jalankan selanjutnya
Kami menambahkan satu lagi aturan keseimbangan beban. Pastikan untuk mengubah alamat IP Frontend dan pemeriksaan Health untuk menggunakan yang baru saja kita buat. Pastikan juga pengembalian langsung server diaktifkan.
Langkah terakhir untuk memungkinkan penyeimbang beban berfungsi adalah menjalankan skrip Powershell berikut di salah satu node cluster. Pastikan Anda menggunakan port Healthprobe, alamat IP, dan nama Sumber Daya IP yang baru.
$ ClusterNetworkName = “Cluster Network 1”
$ IPResourceName = “Alamat IP 10.0.0.0”
$ ILBIP = “10.0.0.110”
Impor-Modul FailoverClusters
Dapatkan-ClusterResource $ IPResourceName | Set-ClusterParameter
-Multiple @ {Address = $ ILBIP; ProbePort = 59998; SubnetMask = "255.255.255.255"
; Jaringan = $ ClusterNetworkName; EnableDhcp = 0}
Output Anda akan terlihat seperti ini.
PS C: Users dave.DATAKEEPER> $ ClusterNetworkName = "Cluster Network 1"
$ IPResourceName = “Alamat IP 10.0.0.0”
$ ILBIP = “10.0.0.110”
Impor-Modul FailoverClusters
Dapatkan-ClusterResource $ IPResourceName | Set-ClusterParameter
-Multiple @ {Address = $ ILBIP; ProbePort = 59998; SubnetMask = "255.255.255.255"
; Jaringan = $ ClusterNetworkName; EnableDhcp = 0}
PERINGATAN: Properti disimpan, tetapi tidak semua perubahan akan berlaku
sampai Alamat IP 10.0.0.0 diambil offline dan kemudian online lagi.
Pastikan untuk mengambil sumber daya offline dan online agar pengaturan berlaku.
Buat Target ISCSI Clustered Anda
Sebelum Anda mulai, yang terbaik adalah memeriksa untuk memastikan Server Manager dari KEDUA server dapat melihat dua node cluster, ditambah dua sumber daya nama cluster, dan keduanya muncul "Online" di bawah pengelolaan seperti yang ditunjukkan di bawah ini.
Jika salah satu server memiliki masalah meminta salah satu dari nama-nama cluster maka langkah selanjutnya akan gagal. Jika ada masalah, saya akan memeriksa ulang semua langkah yang Anda ambil untuk membuat penyeimbang beban dan skrip Powershell yang Anda jalankan.
Kami sekarang siap untuk membuat target iSCSI cluster pertama kami. Dari salah satu node cluster, ikuti langkah-langkah yang diilustrasikan di bawah ini sebagai contoh tentang cara membuat target iSCSI.
Tentu saja berikan ini ke server atau server mana saja yang akan terhubung ke target iSSI ini.
Dan begitulah, sekarang Anda memiliki server target iSCSI yang berfungsi di Azure.
Jika Anda membuat ini, tinggalkan komentar dan saya tahu bagaimana Anda berencana untuk menggunakannya!
Artikel direproduksi dengan izin dari Clusteringwithmeremortals