Konfigurujte instanci failover clusteru SMB úložiště pro SQL Server on Linux

Platí pro:SQL Server na Linuxu

Tento článek vysvětluje, jak nakonfigurovat úložiště SMB pro instanci clusteru s možností převzetí služeb při selhání (FCI) na Linuxu.

Mimo Windows se SMB také nazývá sdílený systém Common Internet File System (CIFS), který implementuje Samba. Na Windows přistupujete ke SMB sdílení s formátem \\SERVERNAME\SHARENAME. Pro instalace SQL Server založených na Linuxu musíte připojit SMB share jako složku.

Důležité informace o zdroji a serveru

Řiďte se těmito tipy, abyste mohli úspěšně používat SMB:

  • SMB sdílení může být na Windows, Linuxu nebo zařízení, pokud používá SMB 3.0 nebo novější. Pro více informací o Sambě a SMB 3.0 navštivte SMB 3.0, kde zjistíte, zda vaše implementace Samby splňuje SMB 3.0.
  • Sdílená složka SMB by měla být vysoce dostupná.
  • Nastavte bezpečnost správně na SMB sdílení. Následující příklad pochází z /etc/samba/smb.conf, kde SQLData je název podílu.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser

Instructions

  1. Vyberte jeden ze serverů, který se zapojí do konfigurace FCI. Nezáleží na tom, který z nich.

  2. Získejte informace o uživateli mssql.

     sudo id mssql
    

    Poznamenejte si uid, gida skupiny.

  3. Proveďte sudo smbclient -L //NameOrIP/ShareName -U User.

    • <NameOrIP> je název DNS nebo IP adresa serveru, který je hostitelem sdílené složky SMB.
    • <ShareName> je název SMB sdílení.
  4. V případě systémových databází nebo čehokoli uloženého ve výchozím umístění dat postupujte takto. V opačném případě přejděte ke kroku 5.

    1. Ujistěte se, že SQL Server je na serveru, na kterém pracujete, zastaven.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    2. Přepněte úplně na superuser.

      sudo -i
      
    3. Přepněte na uživatele mssql.

      su mssql
      
    4. Vytvořte dočasný adresář pro ukládání SQL Server dat a souborů protokolu.

      mkdir <TempDir>
      
      • <TempDir> je název složky. Následující příklad vytvoří složku s názvem /var/opt/mssql/tmp.
      mkdir /var/opt/mssql/tmp
      
    5. Zkopírujte data a soubory protokolu SQL Serveru do dočasného adresáře.

      cp /var/opt/mssql/data/* <TempDir>
      
      • <TempDir> je název složky z předchozího kroku.
    6. Ověřte, že jsou soubory v adresáři.

      ls <TempDir>
      

      < > TempDir je název složky z kroku d.

    7. Odstraňte soubory z existujícího datového adresáře SQL Serveru.

      rm -f /var/opt/mssql/data/*
      
    8. Ověřte, že soubory již neexistují.

      ls /var/opt/mssql/data
      
    9. Zadejte root pro exit přepnutí zpět na uživatele.

    10. Připojte sdílenou složku SMB do složky dat SQL Serveru. Tento příklad ukazuje syntaxi pro připojení ke sdílené složce SMB 3.0 se systémem Windows Server.

      mount -t cifs //<ServerName>/<ShareName> /var/opt/mssql/data -o vers=3.0,username=<UserName>,password=<Password>,domain=<domain>,uid=<mssqlUID>,gid=<mssqlGID>,file_mode=0777,dir_mode=0777
      
      • <ServerName> je název serveru se sdílenou složkou SMB.
      • <ShareName> je název sdílení.
      • <UserName> je jméno uživatele pro přístup ke sdílené složce.
      • <Password> je heslo pro uživatele.
      • <domain> je název služby služba Active Directory.
      • <mssqlUID> je UID uživatele mssql.
      • <mssqlGID> je GID uživatele mssql
    11. Ověřte montáž tím, že ji provozujete mount bez spínačů.

      mount
      
    12. Přepněte na uživatele mssql.

      su mssql
      
    13. Zkopírujte soubory z dočasného adresáře /var/opt/mssql/data.

      cp /var/opt/mssql/tmp/* /var/opt/mssql/data
      
    14. Ověřte, že jsou soubory k dispozici.

      ls /var/opt/mssql/data
      
    15. Zadejte pro exit opuštění uživatele mssql .

    16. Zadejte pro exit opuštění uživatele root .

    17. Spusťte SQL Server. Pokud jste vše zkopírovali a správně aplikovali bezpečnost, spustí se SQL Server.

      sudo systemctl start mssql-server
      sudo systemctl status mssql-server
      
    18. Pokud chcete provést další testování, vytvořte databázi, abyste měli jistotu, že jsou oprávnění v pořádku. Následující příklad používá Transact-SQL; můžete použít SQL Server Management Studio (SSMS).

      snímek obrazovky znázorňující vytvoření testovací databáze

    19. Zastavte SQL Server a ověřte, že je vypnutý. Pokud plánujete přidat nebo otestovat další disky, nevypínejte SQL Server, dokud je nepřidáte a neotestujete.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    20. Když skončíte, odpojte díl. Jinak odpojte po dokončení testování nebo přidání disků.

      sudo umount //<IPAddressorServerName>/<ShareName>/<FolderMountedIn>
      
      • <IPAddressOrServerName> je IP adresa nebo název hostitele SMB.
      • <ShareName> je název sdílení.
      • <FolderMountedIn> je název složky, ve které je připojený protokol SMB.
  5. V případě jiných než systémových databází, jako jsou uživatelské databáze nebo zálohy, postupujte takto. Pokud použijete pouze výchozí polohu, přeskočte na krok 14.

    1. Přepněte na superuživatele.

      sudo -i
      
    2. Vytvořte složku pro SQL Server k použití.

      mkdir <FolderName>
      

      <FolderName> je název složky. Určete celou cestu složky, pokud není na správném místě. Následující příklad vytvoří složku s názvem /var/opt/mssql/userdata.

      mkdir /var/opt/mssql/userdata
      
    3. Připojte sdílenou složku SMB do složky dat SQL Serveru. Tento příklad ukazuje syntaxi pro připojení ke sdílení SMB 3.0 založenému na technologii Samba.

      mount -t cifs //<ServerName>/<ShareName> <FolderName> -o vers=3.0,username=<UserName>,password=<Password>,uid=<mssqlUID>,gid=<mssqlGID>,file_mode=0777,dir_mode=0777
      
      • <ServerName> je název serveru se sdílenou složkou SMB.
      • <ShareName> je název sdílení.
      • <FolderName> je název složky vytvořené v posledním kroku.
      • <UserName> je jméno uživatele pro přístup ke sdílené složce.
      • <Password> je heslo pro uživatele.
      • <mssqlUID> je UID uživatele mssql.
      • <mssqlGID> je GID uživatele mssql.
    4. Ověřte montáž tím, že ji provozujete mount bez spínačů.

    5. Vstupte, exit abyste opustili superuživatele.

    6. Pokud chcete testovat, vytvořte v této složce databázi. Následující příklad slouží k sqlcmd vytvoření databáze, přepnutí kontextu na ni, ověření existence souborů na úrovni OS a následnému smazání dočasného umístění. Můžete použít SSMS.

    7. Sundej podíl.

      sudo umount //<IPAddressorServerName>/<ShareName> /<FolderMountedIn>
      
      • <IPAddressOrServerName> je IP adresa nebo název hostitele SMB.
      • <ShareName> je název sdílení.
      • <FolderMountedIn> je název složky, ve které je připojený protokol SMB.
  6. Opakujte kroky na ostatních uzlech.

Teď jste připraveni nakonfigurovat FCI.