Bagikan melalui


Mengonfigurasi grup ketersediaan AlwaysOn beberapa subnet dan instans kluster failover

Berlaku untuk:SQL Server di Linux

Ketika grup ketersediaan AlwaysOn (AG) atau instans kluster failover (FCI) mencakup lebih dari satu situs, setiap situs biasanya memiliki jaringannya sendiri, yang sering berarti bahwa setiap situs memiliki alamat IP sendiri.

Misalnya, alamat Situs A dimulai dengan 192.168.1.<x>, dan alamat Situs B dimulai dengan 192.168.2.<x>, di mana <x> merupakan bagian dari alamat IP yang unik untuk server. Tanpa adanya pengaturan rute di lapisan jaringan, server ini tidak dapat berkomunikasi satu sama lain.

Ada dua cara untuk menangani skenario ini:

  • membuat konfigurasi jaringan yang menghubungkan dua subnet berbeda (dikenal sebagai VLAN)
  • mengonfigurasi perutean antar subnet

Solusi berbasis VLAN

Prasyarat: Untuk solusi berbasis VLAN, setiap server yang berpartisipasi dalam AG atau FCI membutuhkan dua kartu jaringan (NIC) untuk ketersediaan yang tepat (NIC port ganda akan menjadi satu titik kegagalan pada server fisik), sehingga dapat ditetapkan alamat IP pada subnet aslinya serta satu di VLAN. Persyaratan ini selain kebutuhan jaringan lain, seperti iSCSI, yang juga membutuhkan jaringannya sendiri.

Pembuatan alamat IP untuk AG atau FCI dilakukan pada VLAN. Dalam contoh berikut, VLAN memiliki subnet 192.168.3.<x>, sehingga alamat IP yang dibuat untuk AG atau FCI adalah 192.168.3.104. Tidak perlu ada konfigurasi tambahan, karena ada satu alamat IP yang ditetapkan ke AG atau FCI.

Diagram memperlihatkan cara mengonfigurasi beberapa subnet dengan VLAN.

Konfigurasi dengan Pacemaker

Di Windows, Windows Server Failover Cluster (WSFC) secara asli mendukung beberapa subnet dan menangani beberapa alamat IP melalui dependensi OR pada alamat IP. Di Linux, tidak ada dependensi OR, tetapi ada cara untuk mencapai multi-subnet yang tepat secara native dengan Pacemaker, meskipun Anda tidak dapat menggunakan baris perintah Pacemaker normal. Sebagai gantinya, Anda perlu memodifikasi basis informasi kluster (CIB). CIB adalah file XML dengan konfigurasi Pacemaker.

Diagram memperlihatkan cara mengonfigurasi beberapa subnet dengan Pacemaker.

Memperbarui CIB

  1. Ekspor CIB.

    sudo pcs cluster cib <filename>
    

    Dalam contoh ini, <filename> adalah nama yang ingin Anda panggil CIB.

  2. Edit file yang dihasilkan. Cari bagian <resources>. Anda melihat berbagai sumber daya yang dibuat untuk AG atau FCI. Silakan cari objek yang terkait dengan alamat IP. <instance_attributes> Tambahkan bagian dengan informasi untuk alamat IP kedua baik sebelum atau sesudah yang sudah ada, tetapi sebelum <operations>. Ini mirip dengan sintaks berikut:

    <instance_attributes id="<NameForAttribute>">
        <nvpair id="<NameForIP>" name="ip" value="<IPAddress>"/>
    </instance_attributes>
    

    Dalam contoh ini, <NameForAttribute> adalah nama unik untuk atribut ini, <NameForIP> adalah nama yang terkait dengan alamat IP, <IPAddress> adalah alamat IP untuk subnet kedua.

    Berikut ini menunjukkan sebuah contoh.

    <instance_attributes id="virtualip-instance_attributes">
        <nvpair id="virtualip-instance_attributes-ip" name="ip" value="192.168.1.102"/>
    </instance_attributes>
    

    Secara default, hanya ada satu <instance_attributes /> dalam file CIB XML yang diekspor. Jika ada dua subnet, Anda memerlukan dua <instance_attributes /> entri.

    Berikut adalah contoh entri untuk dua subnet:

    <instance_attributes id="virtualip-instance_attributes1">
        <rule id="Subnet1-IP" score="INFINITY" boolean-op="or">
            <expression id="Subnet1-Node1" attribute="#uname" operation="eq" value="Node1" />
            <expression id="Subnet1-Node2" attribute="#uname" operation="eq" value="Node2" />
        </rule>
        <nvpair id="IP-In-Subnet1" name="ip" value="192.168.1.102"/>
    </instance_attributes>
    <instance_attributes id="virtualip-instance_attributes2">
        <rule id="Subnet2-IP" score="INFINITY">
            <expression id="Subnet2-Node1" attribute="#uname" operation="eq" value="Node3" />
        </rule>
        <nvpair id="IP-In-Subnet2" name="ip" value="192.168.2.102"/>
    </instance_attributes>
    

    Anda akan menggunakan boolean-op="or" ketika subnet memiliki lebih dari satu server.

  3. Impor CIB yang dimodifikasi dan konfigurasi ulang Pacemaker.

    sudo pcs cluster cib-push <filename>
    

    Dalam contoh ini, <filename> adalah nama file CIB dengan informasi alamat IP yang dimodifikasi.

Memeriksa dan memverifikasi failover

  1. Setelah CIB berhasil diterapkan dengan konfigurasi yang diperbarui, ping nama DNS yang terkait dengan sumber daya alamat IP di Pacemaker. Ini harus mencerminkan alamat IP yang terkait dengan subnet yang saat ini menghosting AG atau FCI.

  2. Pindahkan AG atau FCI ke subnet lainnya.

  3. Setelah AG atau FCI sepenuhnya online, lakukan ping pada nama DNS yang terkait dengan alamat IP. Ini harus mencerminkan alamat IP di subnet kedua.

  4. Jika diinginkan, kembalikan AG atau FCI ke subnet asli kembali.