Sdílet prostřednictvím


Konfigurace skupin dostupnosti AlwaysOn s více podsítěmi a instancí clusteru s podporou převzetí služeb při selhání

Platí pro:SQL Server v Linuxu

Pokud skupina dostupnosti Always On (AG) nebo instance clusteru s podporou převzetí služeb při selhání (FCI) pokrývá více než jednu lokalitu, každá lokalita má obvykle vlastní síťové nastavení, což často znamená, že každá lokalita má vlastní IP adresy.

Například adresy A lokality začínají 192.168.1.<x>a adresy site B začínají 192.168.2.<x>, kde <x> je součástí IP adresy, která je jedinečná pro server. Bez nějakého druhu směrování v síťové vrstvě nejsou tyto servery schopny vzájemně komunikovat.

Tento scénář můžete zpracovat dvěma způsoby:

  • nastavit síť, která spojuje dvě různé podsítě (známé jako síť VLAN)
  • konfigurace směrování mezi podsítěmi

Řešení založené na síti VLAN

Požadavek: Pro řešení založené na síti VLAN potřebuje každý server, který se účastní skupiny dostupnosti (AG) nebo FCI, dvě síťové karty (NICy) pro zajištění správné dostupnosti (síťová karta s dvěma porty by v případě fyzického serveru představovala jediný bod selhání), aby mohl mít přiřazeny IP adresy jak v nativní podsíti, tak i v síti VLAN. Tento požadavek je navíc k dalším potřebám sítě, jako je iSCSI, který také potřebuje vlastní síť.

Vytvoření IP adresy pro Skupiny Dostupnosti (AG) nebo FCI se provádí v síti VLAN. V následujícím příkladu má VLAN podsíť 192.168.3.<x>, takže IP adresa vytvořená pro AG nebo FCI je 192.168.3.104. Není potřeba konfigurovat nic dalšího, protože je k skupině dostupnosti nebo FCI přiřazená jedna IP adresa.

diagram znázorňující, jak nakonfigurovat více podsítí pomocí sítě VLAN

Konfigurace pomocí Pacemakeru

Windows Server Failover Cluster (WSFC) ve Windows nativně podporuje více podsítí a prostřednictvím závislosti OR na IP adrese zpracovává více IP adres. V Linuxu neexistuje žádná závislost OR, ale existuje způsob, jak dosáhnout správné vícesítě nativně pomocí Pacemakeru, i když nemůžete použít normální příkazový řádek Pacemaker. Místo toho je potřeba upravit informační základ clusteru (CIB). CIB je soubor XML s konfigurací Pacemaker.

diagram znázorňující, jak nakonfigurovat více podsítí pomocí Pacemakeru

Aktualizace CIB

  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES)
  • Ubuntu
  1. Exportujte CIB.

    sudo pcs cluster cib <filename>
    

    V tomto příkladu je <filename> název, kterým chcete volat CIB.

  2. Upravte vygenerovaný soubor. Vyhledejte část <resources>. Vidíte různé prostředky, které byly vytvořeny pro AG nebo FCI. Najděte tu, která je spojena s IP adresou. Přidejte oddíl <instance_attributes> s informacemi o druhé IP adrese před nebo za stávající IP adresu, ale před <operations>. Podobá se následující syntaxi:

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

    V tomto příkladu <NameForAttribute> je jedinečný název tohoto atributu, <NameForIP> je název přidružený k IP adrese, <IPAddress> je IP adresa druhé podsítě.

    Následuje příklad.

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

    Ve výchozím nastavení je exportovaný pouze jeden <instance_attributes /> v souboru XML CIB. Pokud existují dvě podsítě, potřebujete dvě <instance_attributes /> položky.

    Tady je příklad položek pro dvě podsítě:

    <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>
    

    boolean-op="or" byste použili, pokud má podsíť více než jeden server.

  3. Naimportujte upravený CIB a změňte konfiguraci Pacemakeru.

    sudo pcs cluster cib-push <filename>
    

    V tomto příkladu <filename> je název souboru CIB s upravenými informacemi o IP adrese.

Kontrola a ověření failoveru

  1. Po úspěšném použití CIB s aktualizovanou konfigurací pingněte DNS název, který je spojený s prostředkem IP adresy v Pacemakeru. Měla by odrážet IP adresu přidruženou k podsíti, která je aktuálně hostitelem skupiny dostupnosti (AG) nebo FCI.

  2. Přesuňte AG nebo FCI do jiné podsítě.

  3. Jakmile bude AG nebo FCI plně online, proveďte příkaz ping na název DNS přidružený k IP adrese. Měla by odrážet IP adresu ve druhé podsíti.

  4. V případě potřeby vraťte skupiny dostupnosti nebo FCI zpět do původní podsítě.