Sdílet prostřednictvím


Základy dostupnosti SQL Serveru pro linuxová nasazení

Platí pro:SQL Server v Linuxu

Počínaje SQL Serverem 2017 (14.x) se SQL Server podporuje v Linuxu i Ve Windows. Stejně jako nasazení SQL Serveru založeného na Windows musí být databáze a instance SQL Serveru vysoce dostupné v linuxu.

Tento článek popisuje technické aspekty plánování a nasazení instancí a databází SQL Serveru na bázi Linuxu s vysokou dostupností a zdůrazňuje hlavní rozdíly oproti instalacím na Windows. Vzhledem k tomu, že SQL Server nebo Linux pro vás může být nový, tento článek popisuje koncepty, které už vám můžou být známé.

Možnosti dostupnosti SQL Serveru pro linuxová nasazení

Kromě zálohování a obnovení jsou stejné tři funkce dostupnosti dostupné v Linuxu jako pro nasazení založená na Windows:

Ve Windows vždy FCIs vyžadují základní cluster Windows Serveru s podporou převzetí služeb při selhání (WSFC). V závislosti na scénáři nasazení obvykle skupina dostupnosti vyžaduje základní WSFC, přičemž výjimkou je nová varianta None v SQL Serveru 2017 (14.x). WSFC v Linuxu neexistuje. Implementace clusteringu na Linuxu je diskutována v Pacemakeru pro dostupnostní skupiny a instance clusteru s přepnutím při selhání na Linuxu.

Rychlý úvod do Linuxu

I když některé instalace Linuxu zahrnují rozhraní, většina ne. Příkazový řádek použijete téměř ke všemu ve vrstvě operačního systému. Běžný termín pro tento příkazový řádek ve světě Linux je shell, přičemž nejběžněji používaným je bash.

V Linuxu potřebujete zvýšená oprávnění ke spouštění mnoha příkazů, podobně jako potřeba oprávnění správce ve Windows Serveru. Příkazy se zvýšenými oprávněními můžete spouštět dvěma způsoby:

  1. Spusťte příkaz jako správný uživatel. Pokud chcete přejít na jiného uživatele, použijte su tento příkaz. Pokud spustíte su bez uživatelského jména, vstoupíte do příkazového řádku jako root, pokud znáte heslo.

  2. Použijte sudo před příkazem. Tato metoda je častější a bezpečnější. Mnoho příkladů v tomto článku používá sudo.

Tady jsou některé běžné příkazy. Každý příkaz má různé přepínače a možnosti, které můžete prozkoumat online:

  • cd - změňte adresář.
  • chmod – změna oprávnění souboru nebo adresáře
  • chown - změna vlastnictví souboru nebo adresáře
  • ls – zobrazení obsahu adresáře
  • mkdir – vytvoření složky (adresáře) na jednotce
  • mv – přesunutí souboru z jednoho umístění do jiného
  • ps - zobrazit všechny pracovní procesy
  • rm – odstranění souboru místně na serveru
  • rmdir – odstranění složky (adresáře)
  • systemctl – spuštění, zastavení nebo povolení služeb
  • Příkazy textového editoru V Linuxu existují různé možnosti textového editoru, například vi a emacs.

Běžné úlohy konfigurace dostupnosti SQL Serveru v Linuxu

Tato část popisuje úlohy, které jsou společné pro všechna nasazení SQL Serveru založeného na Linuxu.

Ujistěte se, že můžete kopírovat soubory.

Každý, kdo spravuje SQL Server v Linuxu, by měl mít možnost kopírovat soubory z jednoho serveru do druhého. Tato úloha je nezbytná pro konfigurace Availability Group.

Problémy s oprávněními můžou existovat v instalacích se systémem Linux i Windows. Uživatelé Windows ale znají, jak kopírovat soubory ze serveru na server, nemusí být obeznámeni s tím, jak to funguje v Linuxu. Běžnou metodou je použití nástroje scppříkazového řádku, což je zkratka pro zabezpečené kopírování. Na pozadí scp používá OpenSSH. SSH je zkratka pro zabezpečené prostředí. V závislosti na linuxové distribuci nemusí být samotný OpenSSH nainstalovaný. Pokud tomu tak není, musíte nainstalovat OpenSSH.

Další informace o konfiguraci OpenSSH pro vaši linuxové distribuci najdete tady:

  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES)
  • Ubuntu

Poznámka:

Počínaje SQL Serverem 2025 (17.x) se nepodporuje SUSE Linux Enterprise Server (SLES).

Pokud používáte scp, musíte zadat přihlašovací údaje serveru, pokud to není zdroj nebo cíl. Následující příkaz například zkopíruje soubor MyAGCert.cer do složky zadané na druhém serveru:

scp MyAGCert.cer username@servername:/folder/subfolder

Abyste mohli soubor zkopírovat, musíte mít oprávnění a možná i vlastnictví nad souborem, takže možná budete potřebovat použít chown před kopírováním. Podobně na straně příjmu potřebuje správný uživatel přístup k manipulaci se souborem. Pokud například chcete obnovit soubor certifikátu, mssql musí mít uživatel přístup.

Samba, což je varianta linuxového bloku zpráv (SMB), lze také použít k vytvoření sdílených složek přístupných cestami UNC, například \\SERVERNAME\SHARE. Další informace o konfiguraci Samba najdete na následujících odkazech pro každou distribuci:

Poznámka:

Počínaje SQL Serverem 2025 (17.x) se nepodporuje SUSE Linux Enterprise Server (SLES).

Můžete také použít sdílené složky SMB založené na Windows. Sdílené složky SMB nemusí být založené na Linuxu, pokud je klientská část Samba správně nakonfigurovaná na linuxovém serveru, který je hostitelem SQL Serveru a sdílená složka má správný přístup. Pro zákazníky ve smíšeném prostředí tento přístup umožňuje používat existující infrastrukturu pro nasazení SQL Serveru založeného na Linuxu.

Verze Samba, kterou nasadíte, by měla být kompatibilní s protokolem SMB 3.0. Při přidání podpory protokolu SMB do SQL Serveru 2012 (11.x) vyžadovala všechny sdílené složky pro podporu protokolu SMB 3.0. Pokud používáte Samba pro sdílenou složku a ne Windows Server, měla by sdílená složka založená na Samba používat Samba 4.0 nebo novější a ideálně 4.3 nebo novější, která podporuje protokol SMB 3.1.1. Dobrým zdrojem informací o smb a Linuxu je SMB3 v Samba.

Konečně, použití sdíleného síťového souborového systému (NFS) je možnost. Systém souborů NFS nemůžete použít v nasazeních SQL Serveru se systémem Windows a dá se použít jenom pro nasazení založená na Linuxu.

Nakonfigurujte bránu firewall

Podobně jako windows mají distribuce Linuxu integrovanou bránu firewall. Pokud vaše organizace používá pro servery externí firewall, můžete v Linuxu tyto firewally zakázat. Bez ohledu na to, kde bránu firewall povolíte, musíte otevřít porty. Následující tabulka uvádí běžné porty potřebné pro nasazení SQL Serveru s vysokou dostupností v Linuxu.

Číslo portu Typ Popis
111 TCP/UDP NFS- rpcbind/sunrpc
135 protokol TCP Samba (pokud se používá) – mapovač koncových bodů
137 Protokol udp Samba (pokud se používá) – názvová služba NetBIOS
138 Protokol udp Samba (pokud se používá) – Datagram netBIOS
139 protokol TCP Samba (pokud se používá) – relace NetBIOS
445 protokol TCP Samba (pokud se používá) – SMB přes TCP
1433 protokol TCP SQL Server – výchozí port; v případě potřeby se může změnit pomocí mssql-conf set network.tcpport <portnumber>
2049 TCP, UDP NFS (pokud se používá)
2224 protokol TCP Pacemaker – používá pcsd
3121 protokol TCP Pacemaker – povinné, pokud existují vzdálené uzly Pacemaker
3260 protokol TCP Iniciátor iSCSI (pokud se používá) – Dá se změnit v /etc/iscsi/iscsid.config (RHEL), ale měl by se shodovat s portem cíle iSCSI
5022 protokol TCP SQL Server – výchozí port používaný pro koncový bod skupiny dostupnosti (AG); lze změnit při vytváření koncového bodu.
5403 protokol TCP Kardiostimulátor
5404 Protokol udp Pacemaker – Vyžaduje Corosync, pokud používá vícesměrové vysílání UDP
5405 Protokol udp Pacemaker – požadováno společností Corosync
21064 protokol TCP Pacemaker – Vyžadováno zdroji, které používají DLM
Proměnná protokol TCP AG koncový port; výchozí je 5022
Proměnná protokol TCP NFS – port pro LOCKD_TCPPORT (nalezený v /etc/sysconfig/nfs RHEL)
Proměnná Protokol udp NFS – port pro LOCKD_UDPPORT (nalezený v /etc/sysconfig/nfs RHEL)
Proměnná TCP/UDP NFS – port pro MOUNTD_PORT (nalezený v /etc/sysconfig/nfs RHEL)
Proměnná TCP/UDP NFS – port pro STATD_PORT (nalezený v /etc/sysconfig/nfs RHEL)

Další porty, které Samba používá, najdete v tématu Využití portů Samba.

Naopak místo portu můžete přidat název služby v Linuxu jako výjimku. Například se používá high-availability pro Pacemaker. Informace o příslušných názvech najdete v distribuci. Například příkaz, který přidáte v Pacemakeru, je na RHEL:

sudo firewall-cmd --permanent --add-service=high-availability

Dokumentace firewallu

Poznámka:

Počínaje SQL Serverem 2025 (17.x) se nepodporuje SUSE Linux Enterprise Server (SLES).

Instalace balíčků SQL Serveru pro zajištění dostupnosti

Při instalaci SQL Serveru se systémem Windows jsou některé součásti nainstalovány i v základní instalaci modulu, zatímco jiné nejsou. V linuxu se jako součást procesu instalace nainstaluje jenom modul SQL Serveru. Všechno ostatní je volitelné. V případě vysoce dostupných instancí SQL Serveru v linuxu by se měly nainstalovat dva balíčky s SQL Serverem:

  • Agent SQL Serveru (mssql-server-agent)
  • balíček s vysokou dostupností (HA) (mssql-server-ha)

I když je agent SQL Serveru technicky volitelný, jedná se o výchozí plánovač pro úlohy SQL Serveru a vyžaduje se odesláním protokolu, takže se doporučuje instalace.

Na SQL Serveru 2017 (14.x) s CU 4 a novějšími verzemi je agent SQL Serveru součástí balíčku databázového stroje, ale přesto ho musíte povolit. V instalacích s Windows není agent SQL Serveru volitelný.

Poznámka:

Agent SQL Serveru je integrovaný plánovač úloh pro SQL Server. Slouží k plánování úloh, jako jsou zálohy a rutinní údržba. Ve Windows běží agent SQL Serveru jako samostatná služba. V Linuxu běží v kontextu samotného SQL Serveru.

Když nakonfigurujete skupiny AG nebo FCI v konfiguraci založené na Systému Windows, jsou s podporou clusteru. Povědomí o clusteru znamená, že SQL Server má specifické knihovny DLL prostředků, o kterých ví WSFC (jako FCI sqagtres.dll a sqsrvres.dll, AG hadrres.dll) a které WSFC používá k zajištění toho, že funkčnost clusteru SQL Serveru je ve správném provozu a funguje správně.

Vzhledem k tomu, že clustering je externí nejen pro SQL Server, ale i samotný Linux, Microsoft musel vytvořit ekvivalent knihovny DLL prostředků pro nasazení Linuxových AG a FCI. Tento zdroj je mssql-server-ha balíček, také známý jako agent zdrojů SQL Serveru pro Pacemaker. Pokud chcete balíček nainstalovat mssql-server-ha , přečtěte si téma Nasazení clusteru Pacemaker pro SQL Server v Linuxu.

V Linuxu jsou Full-Text Search () a Integrační služby (mssql-server-ftsmssql-server-is) volitelné balíčky SQL Serveru a nevyžadují se pro FCI nebo ag.

Partneři pro vysokou dostupnost a zotavení po havárii SQL Serveru

Pokud chcete zajistit vysokou dostupnost a zotavení po havárii pro služby SQL Serveru, vyberte si z široké škály špičkových nástrojů. Tato část popisuje partnerské společnosti Microsoftu s vysokou dostupností a řešeními pro zotavení po havárii, která podporují SQL Server.

Partner/ka Popis
DH2i DxEnterprise je řešení správy dostupnosti pro prostředí s Windows, Linuxem a kontejnery. Podporuje vysokou dostupnost, snižuje plánované a neplánované výpadky a zjednodušuje správu fyzických a logických prostředků.

- Nasazení skupin dostupnosti s využitím DH2i DxEnterprise v Kubernetes
- Kurz: Nastavení skupiny dostupnosti AlwaysOn se třemi uzly pomocí DH2i DxEnterprise
HPE Serviceguard HPE SGLX nabízí kontextově citlivé možnosti monitorování a obnovení pro instance clusteru Failover a Always On dostupnostní skupiny. Maximalizujte dobu provozu pomocí HPE SGLX bez ohrožení integrity a výkonu dat.

- Kurz: Nastavení skupiny dostupnosti AlwaysOn se třemi uzly pomocí služby HPE Serviceguard pro Linux
Kardiostimulátor Pacemaker je opensourcový správce prostředků clusteru s vysokou dostupností. Systém otevřeného zdroje pro skupinovou komunikaci Corosync umožňuje systému řízení clusteru Pacemaker detekovat selhání komponent a řídit nezbytné postupy selhání, aby se minimalizovalo přerušení aplikací.

- Pacemaker pro skupiny dostupnosti a instance clusteru pro převzetí služeb při selhání v Linuxu
- Nasazení clusteru Pacemaker pro SQL Server v Linuxu