Udostępnij za pośrednictwem


Konfigurowanie nazwy sieci rozproszonej dla wystąpienia klastra trybu failover

Dotyczy:SQL Server na maszynie wirtualnej platformy Azure

Napiwek

Istnieje wiele metod wdrażania grupy dostępności. Uprość wdrażanie i eliminuje konieczność korzystania z usługi Azure Load Balancer lub rozproszonej nazwy sieci (DNN) dla zawsze włączonej grupy dostępności, tworząc maszyny wirtualne programu SQL Server w wielu podsieciach w tej samej sieci wirtualnej platformy Azure. Jeśli grupa dostępności została już utworzona w jednej podsieci, możesz ją zmigrować do środowiska z wieloma podsieciami.

W usłudze Azure Virtual Machines rozproszona nazwa sieci (DNN) kieruje ruch do odpowiedniego zasobu klastrowanego. Jest to łatwiejszy sposób nawiązywania połączenia z wystąpieniem klastra trybu failover programu SQL Server niż nazwa sieci wirtualnej (VNN) bez konieczności używania usługi Azure Load Balancer.

W tym artykule przedstawiono sposób konfigurowania zasobu sieci rozproszonej w celu kierowania ruchu do wystąpienia klastra trybu failover za pomocą programu SQL Server na maszynach wirtualnych platformy Azure w celu zapewnienia wysokiej dostępności i odzyskiwania po awarii (HADR).

Aby uzyskać alternatywną opcję łączności, rozważ zamiast tego nazwę sieci wirtualnej i usługę Azure Load Balancer .

Omówienie

Nazwa sieci rozproszonej (DNN) zastępuje nazwę sieci wirtualnej (VNN) jako punkt połączenia, gdy jest używany z zawsze włączonym wystąpieniem klastra trybu failover na maszynach wirtualnych programu SQL Server. To neguje potrzebę routingu ruchu usługi Azure Load Balancer do sieci wirtualnej, upraszczając wdrażanie, konserwację i ulepszanie trybu failover.

W przypadku wdrożenia wystąpienia klastra trybu failover nadal istnieje nazwa sieci wirtualnej, ale klient nawiązuje połączenie z nazwą DNS nazwy sieci rozproszonej zamiast nazwy sieci wirtualnej.

Wymagania wstępne

Przed wykonaniem kroków opisanych w tym artykule należy mieć już następujące elementy:

Uwaga

Jeśli masz wiele grup dostępności lub wystąpień klastra trybu failover w tym samym klastrze i używasz odbiornika sieci rozproszonej lub sieci wirtualnej, każda grupa dostępności lub wystąpienie klastra trybu failover wymaga własnego niezależnego punktu połączenia.

Tworzenie zasobu sieci rozproszonej

Zasób nazwy sieci rozproszonej jest tworzony w tej samej grupie klastra co wystąpienie klastra programu SQL Server FCI. Użyj programu PowerShell, aby utworzyć zasób nazwy sieci rozproszonej wewnątrz grupy klastra wystąpienia klastra trybu failover.

Następujące polecenie programu PowerShell dodaje zasób nazwy sieci rozproszonej do grupy klastrów klastra wystąpienia klastra klastra <dnnResourceName>programu SQL Server o nazwie zasobu . Nazwa zasobu służy do unikatowego identyfikowania zasobu. Użyj elementu, który ma sens dla Ciebie i jest unikatowy w całym klastrze. Typ zasobu musi mieć wartość Distributed Network Name.

Wartość -Group musi być nazwą grupy klastra, która odpowiada wystąpieniu klastra wystąpienia klastra programu SQL Server, w którym chcesz dodać nazwę sieci rozproszonej. W przypadku wystąpienia domyślnego typowy format to SQL Server (MSSQLSERVER).

Add-ClusterResource -Name <dnnResourceName> `
-ResourceType "Distributed Network Name" -Group "<WSFC role of SQL Server instance>"

Aby na przykład utworzyć zasób dnn-demo nazwy sieci rozproszonej dla domyślnego wystąpienia klastra trybu failover programu SQL Server, użyj następującego polecenia programu PowerShell:

Add-ClusterResource -Name dnn-demo `
-ResourceType "Distributed Network Name" -Group "SQL Server (MSSQLSERVER)"

Ustawianie nazwy DNS nazwy dns nazwy sieci rozproszonej klastra

Ustaw nazwę DNS zasobu nazwy sieci rozproszonej w klastrze. Następnie klaster używa tej wartości do kierowania ruchu do węzła, który obecnie hostuje wystąpienie klastra trybu failover programu SQL Server.

Klienci używają nazwy DNS do nawiązywania połączenia z wystąpieniem klastra trybu failover programu SQL Server. Możesz wybrać unikatową wartość. Ewentualnie jeśli masz już istniejący wystąpienie klastra trybu failover i nie chcesz aktualizować parametry połączenia klienta, możesz skonfigurować nazwę sieci rozproszonej tak, aby korzystała z bieżącej nazwy sieci wirtualnej, z której korzystają już klienci. W tym celu należy zmienić nazwę nazwy sieci wirtualnej przed ustawieniem nazwy sieci rozproszonej w systemie DNS.

Użyj tego polecenia, aby ustawić nazwę DNS dla nazwy sieci rozproszonej:

Get-ClusterResource -Name <dnnResourceName> | `
Set-ClusterParameter -Name DnsName -Value <DNSName>

Wartość DNSName jest używana przez klientów do nawiązywania połączenia z wystąpieniem klastra trybu failover programu SQL Server. Na przykład aby klienci nawiązywali FCIDNNpołączenie z usługą , użyj następującego polecenia programu PowerShell:

Get-ClusterResource -Name dnn-demo | `
Set-ClusterParameter -Name DnsName -Value FCIDNN

Klienci będą teraz wprowadzać FCIDNN do parametry połączenia podczas nawiązywania połączenia z wystąpieniem klastra trybu failover programu SQL Server.

Ostrzeżenie

Nie usuwaj bieżącej nazwy sieci wirtualnej (VNN), ponieważ jest to niezbędny składnik infrastruktury wystąpienia klastra trybu failover.

Zmienianie nazwy sieci wirtualnej

Jeśli masz istniejącą nazwę sieci wirtualnej i chcesz, aby klienci nadal używali tej wartości w celu nawiązania połączenia z wystąpieniem klastra trybu failover programu SQL Server, musisz zmienić nazwę bieżącej nazwy sieci wirtualnej na wartość symbolu zastępczego. Po zmianie nazwy bieżącej nazwy sieci wirtualnej można ustawić wartość nazwy DNS dla nazwy sieci rozproszonej na nazwę sieci wirtualnej.

Niektóre ograniczenia dotyczą zmiany nazwy sieci wirtualnej. Aby uzyskać więcej informacji, zobacz Zmiana nazwy wystąpienia klastra trybu failover.

Jeśli w twojej firmie nie jest wymagana bieżąca nazwa sieci wirtualnej, pomiń tę sekcję. Po zmianie nazwy nazwy sieci VNN ustaw nazwę DNS nazwy dns nazwy klastra.

Ustawianie zasobu sieci rozproszonej w trybie online

Po odpowiednim nazwaniu zasobu nazwy sieci rozproszonej i ustawieniu wartości nazwy DNS w klastrze użyj programu PowerShell, aby ustawić zasób nazwy sieci rozproszonej w trybie online w klastrze:

Start-ClusterResource -Name <dnnResourceName>

Aby na przykład uruchomić zasób dnn-demosieci rozproszonej, użyj następującego polecenia programu PowerShell:

Start-ClusterResource -Name dnn-demo

Konfigurowanie możliwych właścicieli

Domyślnie klaster wiąże nazwę DNS nazwy sieci rozproszonej ze wszystkimi węzłami w klastrze. Jednak węzły w klastrze, które nie są częścią wystąpienia klastra trybu failover programu SQL Server, powinny być wykluczone z listy możliwych właścicieli sieci rozproszonej.

Aby zaktualizować możliwych właścicieli, wykonaj następujące kroki:

  1. Przejdź do zasobu sieci rozproszonej w Menedżerze klastra trybu failover.

  2. Kliknij prawym przyciskiem myszy zasób nazwy sieci rozproszonej i wybierz polecenie Właściwości.

    Menu skrótów dla zasobu nazwy sieci rozproszonej z wyróżnionym poleceniem Właściwości.

  3. Wyczyść pole wyboru dla wszystkich węzłów, które nie uczestniczą w wystąpieniu klastra trybu failover. Lista możliwych właścicieli zasobu nazwy sieci rozproszonej powinna być zgodna z listą możliwych właścicieli zasobu wystąpienia programu SQL Server. Na przykład przy założeniu, że usługa Data3 nie uczestniczy w klastrze trybu failover, na poniższej ilustracji przedstawiono przykład usunięcia danych Data3 z listy możliwych właścicieli zasobu sieci rozproszonej:

    Wyczyść pole wyboru obok węzłów, które nie uczestniczą w klastrze trybu failover dla możliwych właścicieli zasobu sieci rozproszonej

  4. Wybierz OK, aby zapisać ustawienia.

Uruchom ponownie wystąpienie programu SQL Server

Użyj Menedżera klastra trybu failover, aby ponownie uruchomić wystąpienie programu SQL Server. Wykonaj te kroki:

  1. Przejdź do zasobu programu SQL Server w Menedżerze klastra trybu failover.
  2. Kliknij prawym przyciskiem myszy zasób programu SQL Server i przełącz go w tryb offline.
  3. Gdy wszystkie skojarzone zasoby są w trybie offline, kliknij prawym przyciskiem myszy zasób programu SQL Server i ponownie przełącz go do trybu online.

Aktualizowanie parametry połączenia

Zaktualizuj parametry połączenia dowolnej aplikacji łączącej się z siecią DNN serwera SQL Server i dołącz MultiSubnetFailover=True do parametry połączenia. Jeśli klient nie obsługuje parametru MultiSubnetFailover, nie jest zgodny z nazwą sieci rozproszonej.

Poniżej przedstawiono przykład parametry połączenia dla nazwy DNN wystąpienia klastra trybu failover SQL o nazwie DNS nazwy FCIDNN:

Data Source=FCIDNN, MultiSubnetFailover=True

Ponadto, jeśli nazwa sieci rozproszonej nie korzysta z oryginalnej nazwy sieci wirtualnej, klienci SQL łączący się z wystąpieniem klastra trybu failover programu SQL Server będą musieli zaktualizować parametry połączenia do nazwy DNS nazwy sieci rozproszonej. Aby uniknąć tego wymagania, możesz zaktualizować wartość nazwy DNS jako nazwę sieci wirtualnej. Należy jednak najpierw zastąpić istniejącą nazwę sieci VNN symbolem zastępczym.

Testowanie pracy w trybie failover

Przetestuj tryb failover zasobu klastrowanego, aby zweryfikować funkcjonalność klastra.

Aby przetestować tryb failover, wykonaj następujące kroki:

  1. Połącz się z jednym z węzłów klastra programu SQL Server przy użyciu protokołu RDP.
  2. Otwórz przystawkę Menedżer klastra trybu failover. Wybierz pozycję Role. Zwróć uwagę, który węzeł jest właścicielem roli wystąpienia klastra trybu failover programu SQL Server.
  3. Kliknij prawym przyciskiem myszy rolę wystąpienia klastra trybu failover programu SQL Server.
  4. Wybierz pozycję Przenieś, a następnie wybierz pozycję Najlepszy możliwy węzeł.

Menedżer klastra trybu failover pokazuje rolę, a jej zasoby przechodzą w tryb offline. Zasoby następnie przenoszą się i wracają do trybu online w innym węźle.

Testowanie łączności

Aby przetestować łączność, zaloguj się do innej maszyny wirtualnej w tej samej sieci wirtualnej. Otwórz program SQL Server Management Studio i połącz się z wystąpieniem klastra trybu failover programu SQL Server przy użyciu nazwy DNS nazwy sieci rozproszonej.

Jeśli chcesz, możesz pobrać program SQL Server Management Studio.

Unikanie konfliktu adresów IP

Jest to opcjonalny krok uniemożliwiający przypisanie wirtualnego adresu IP (VIP) używanego przez zasób wystąpienia klastra trybu failover do innego zasobu na platformie Azure jako duplikat.

Mimo że klienci używają nazwy sieci rozproszonej do nawiązywania połączenia z wystąpieniem klastra trybu failover programu SQL Server, nie można usunąć nazwy sieci wirtualnej i wirtualnego adresu IP, ponieważ są to niezbędne składniki infrastruktury wystąpienia klastra trybu failover. Jednak ponieważ nie istnieje już moduł równoważenia obciążenia rezerwujący wirtualny adres IP na platformie Azure, istnieje ryzyko, że inny zasób w sieci wirtualnej zostanie przypisany ten sam adres IP co wirtualny adres IP używany przez usługę FCI. Może to potencjalnie prowadzić do zduplikowanego problemu z konfliktem adresów IP.

Skonfiguruj adres APIPA lub dedykowaną kartę sieciową, aby zarezerwować adres IP.

Adres APIPA

Aby uniknąć używania zduplikowanych adresów IP, skonfiguruj adres APIPA (znany również jako adres lokalny linku). W tym celu uruchom następujące polecenie:

Get-ClusterResource "virtual IP address" | Set-ClusterParameter 
    –Multiple @{"Address"="169.254.1.1";"SubnetMask"="255.255.0.0";"OverrideAddressMatch"=1;"EnableDhcp"=0}

W tym poleceniu "wirtualny adres IP" jest nazwą zasobu klastrowanego adresu VIP, a "169.254.1.1" to adres APIPA wybrany dla adresu VIP. Wybierz adres, który najlepiej odpowiada Twojej firmie. Ustaw OverrideAddressMatch=1 opcję zezwalania na używanie adresu IP w dowolnej sieci, w tym przestrzeni adresowej APIPA.

Dedykowana karta sieciowa

Alternatywnie skonfiguruj kartę sieciową na platformie Azure, aby zarezerwować adres IP używany przez zasób wirtualnego adresu IP. Jednak korzysta to z adresu w przestrzeni adresowej podsieci i istnieje dodatkowe obciążenie związane z zapewnieniem, że karta sieciowa nie jest używana w żadnym innym celu.

Ograniczenia

  • Klient nawiązujący połączenie z odbiornikiem sieci rozproszonej musi obsługiwać MultiSubnetFailover=True parametr w parametry połączenia.
  • Podczas pracy z innymi funkcjami programu SQL Server i wystąpieniem klastra trybu failover z siecią DNN może być więcej zagadnień. Aby uzyskać więcej informacji, zobacz FcI with DNN interoperability (Interfejs fcI z współdziałaniem sieci rozproszonej sieci rozproszonej).

Następne kroki

Aby dowiedzieć się więcej, zobacz: