Dela via


Redundansklusterinstanser – SQL Server i Linux

gäller för:SQL Server – Linux

Den här artikeln beskriver begreppen som rör SQL Server-redundansklusterinstanser (FCI) i Linux.

Information om hur du skapar en SQL Server FCI på Linux finns i Konfigurera redundansklusterinstans – SQL Server på Linux (RHEL)

Klustringsskiktet

  • I Red Hat Enterprise Linux (RHEL) baseras klustringsskiktet på Red Hat Enterprise Linux (RHEL) HA-tillägg.

    Anmärkning

    Åtkomst till Red Hat HA-tillägget och dokumentationen kräver en prenumeration.

  • I SUSE Linux Enterprise Server (SLES) baseras klustringsskiktet på HAE (SUSE Linux Enterprise High Availability Extension).

    Mer information om klusterkonfiguration, resursagentalternativ, hantering, metodtips och rekommendationer finns i SUSE Linux Enterprise High Availability Extension 15.

Både RHEL HA-tillägget och SUSE HAE bygger på Pacemaker.

Som följande diagram visar presenteras lagring för två servrar. Klustringskomponenter – Corosync och Pacemaker – samordnar kommunikation och resurshantering. En av servrarna har den aktiva anslutningen till lagringsresurserna och SQL Server. När Pacemaker upptäcker ett fel ansvarar klustringskomponenterna för att flytta resurserna till den andra noden.

Diagram för delat disk-SQL Server-kluster på Red Hat Enterprise Linux 7.

SQL Server-integrering med Pacemaker i Linux är inte lika kopplat till WSFC i Windows. SQL Server har ingen kunskap om förekomsten av klustret. All orkestrering sker utanför och tjänsten styrs som en fristående instans av Pacemaker. Dessutom är namnet på det virtuella nätverket specifikt för WSFC, som inte har någon motsvarighet i Pacemaker. Det förväntas att @@SERVERNAME och sys.servers returnerar nodnamnet, medan klustrets DMV:er sys.dm_os_cluster_nodes och sys.dm_os_cluster_properties inte returnerar några poster. Om du vill använda en anslutningssträng som pekar på ett strängservernamn och inte använder IP-adressen måste de registrera ip-adressen som används för att skapa den virtuella IP-resursen (som beskrivs i följande avsnitt) med det valda servernamnet.

Antal instanser och noder

En viktig skillnad med SQL Server i Linux är att det bara kan finnas en installation av SQL Server per Linux-server. Installationen kallas för en instans. Till skillnad från Windows Server, som stöder upp till 25 FCI:er per Windows Server-redundanskluster (WSFC), har en Linux-baserad FCI bara en enda instans. Den här enskilda instansen är också en standardinstans. det finns inget begrepp för en namngiven instans i Linux.

Ett Pacemaker-kluster kan bara ha upp till 16 noder när Corosync är involverat, så en enda FCI kan sträcka sig över upp till 16 servrar. En FCI som implementeras med Standard Edition av SQL Server stöder upp till två noder i ett kluster även om Pacemaker-klustret har högst 16 noder.

I en SQL Server FCI är SQL Server-instansen aktiv på antingen en nod eller en annan.

IP-adress och namn

I ett Linux Pacemaker-kluster behöver varje SQL Server FCI sin egen unika IP-adress och sitt eget namn. Om FCI-konfigurationen omfattar flera undernät krävs en IP-adress per undernät. Det unika namnet och IP-adresserna används för att komma åt FCI:n så att program och slutanvändare inte behöver veta vilken underliggande server i Pacemaker-klustret.

Namnet på FCI i DNS ska vara samma som namnet på FCI-resursen som skapas i Pacemaker-klustret. Både namnet och IP-adressen måste vara registrerade i DNS.

Delad lagring

Alla FCI:er, oavsett om de finns på Linux eller Windows Server, kräver någon form av delad lagring. Den här lagringen visas för alla servrar som kan vara värdar för FCI, men endast en enskild server kan använda lagringen för FCI vid en viss tidpunkt. Alternativen som är tillgängliga för delad lagring under Linux är:

  • iSCSI
  • NFS (Network File System)
  • SMB (Server Message Block)

Under Windows Server finns det något olika alternativ. Ett alternativ som för närvarande inte stöds för Linux-baserade FCI:er är möjligheten att använda en disk som är lokal för noden för tempdb, vilket är SQL Server:s tillfälliga arbetsyta.

I en konfiguration som omfattar flera platser måste det som lagras i ett datacenter synkroniseras med det andra. Vid ett failover kan FCI bli online och lagringen ser ut att vara densamma. För att uppnå detta krävs en extern metod för lagringsreplikering, oavsett om det görs via den underliggande lagringsmaskinvaran eller något programvarubaserat verktyg.

Anmärkning

För SQL Server måste Linux-baserade distributioner med diskar som visas direkt på en server formateras med XFS eller ext4. Andra filsystem stöds för närvarande inte. Alla ändringar återspeglas här.

Processen för att presentera delad lagring är densamma för de olika metoder som stöds:

  • Konfigurera det delade lagringsutrymmet
  • Montera lagringen som en mapp till de servrar som ska fungera som noder i Pacemaker-klustret för FCI
  • Om det behövs flyttar du SQL Server-systemdatabaserna till delad lagring
  • Testa att SQL Server fungerar från varje server som är ansluten till den delade lagringen

En stor skillnad med SQL Server i Linux är att även om du kan konfigurera standardplatsen för användardata och loggfiler måste systemdatabaserna alltid finnas på /var/opt/mssql/data. På Windows Server har du möjlighet att flytta systemdatabaserna, inklusive tempdb. Det här faktumet spelar in i hur delad lagring konfigureras för en FCI.

Standardsökvägarna för icke-systemdatabaser kan ändras med hjälp av mssql-conf verktyget. Information om hur du ändrar standardvärdena finns i Ändra standarddata eller loggkatalogplats. Du kan också lagra SQL Server-data och transaktioner på andra platser så länge de har rätt säkerhet även om det inte är en standardplats. platsen måste anges.