Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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:
- Skupiny dostupnosti pro SQL Server v Linuxu
- Failover cluster instance - SQL Server na Linuxu
- Začínáme s přenášením protokolů na Linuxu
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:
Spusťte příkaz jako správný uživatel. Pokud chcete přejít na jiného uživatele, použijte
sutento příkaz. Pokud spustítesubez uživatelského jména, vstoupíte do příkazového řádku jakoroot, pokud znáte heslo.Použijte
sudopř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 |