Dela via


Konfigurera SMB Storage-redundansklusterinstans – SQL Server i Linux

gäller för:SQL Server – Linux

Den här artikeln beskriver hur du konfigurerar SMB-lagring för en redundansklusterinstans (FCI) i Linux.

I icke-Windows-världen kallas SMB även för en CIFS-resurs (Common Internet File System) och implementeras via Samba. I Windows-världen görs åtkomsten till en SMB-resurs på det här sättet: \\SERVERNAME\SHARENAME. För Linux-baserade SQL Server-installationer måste SMB-resursen monteras som en mapp.

Viktig käll- och serverinformation

Här följer några tips och anteckningar för att använda SMB:

  • SMB-resursen kan finnas på Windows, Linux eller till och med från en enhet så länge den använder SMB 3.0 eller senare. Mer information om Samba och SMB 3.0 finns i SMB 3.0 för att se om Samba-implementeringen är kompatibel med SMB 3.0.
  • SMB-resursen bör ha hög tillgänglighet.
  • Säkerheten på SMB-resursen måste vara korrekt inställd. Nedan visas ett exempel från /etc/samba/smb.conf, där SQLData är namnet på aktien.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser

Instruktioner

  1. Välj en av servrarna som ska delta i FCI-konfigurationen. Det spelar ingen roll vilken.

  2. Hämta information om den mssql användaren.

     sudo id mssql
    

    Observera grupperna uid, gidoch .

  3. Kör sudo smbclient -L //NameOrIP/ShareName -U User.

    • <NameOrIP> är DNS-namnet eller IP-adressen för servern som är värd för SMB-resursen.
    • <ShareName> är namnet på SMB-andelen.
  4. Följ dessa steg för systemdatabaser eller något som lagras på standarddataplatsen. Annars går du vidare till steg 5.

    1. Kontrollera att SQL Server har stoppats på den server som du arbetar med.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    2. Växla helt för att bli superanvändaren.

      sudo -i
      
    3. Växla till användare mssql.

      su mssql
      
    4. Skapa en tillfällig katalog för att lagra SQL Server-data och loggfiler.

      mkdir <TempDir>
      
      • <TempDir> är namnet på mappen. I följande exempel skapas en mapp med namnet /var/opt/mssql/tmp.
      mkdir /var/opt/mssql/tmp
      
    5. Kopiera SQL Server-data och loggfiler till den tillfälliga katalogen.

      cp /var/opt/mssql/data/* <TempDir>
      
      • <TempDir> är namnet på mappen från föregående steg.
    6. Kontrollera att filerna finns i katalogen.

      ls <TempDir>
      

      <TempDir> är namnet på mappen från steg d.

    7. Ta bort filerna från den befintliga SQL Server-datakatalogen.

      rm - f /var/opt/mssql/data/*
      
    8. Kontrollera att filerna har tagits bort.

      ls /var/opt/mssql/data
      
    9. Skriv exit för att växla tillbaka till rotanvändaren.

    10. Montera SMB-resursen i SQL Server-datamappen. Det här exemplet visar syntaxen för att ansluta till en Windows Server-baserad SMB 3.0-resurs.

      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> är namnet på servern med SMB-resursen
      • <ShareName> är namn på andelen
      • <UserName> är namnet på användaren som ska komma åt resursen
      • <Password> är lösenordet för användaren
      • <domain> är namnet på Active Directory
      • <mssqlUID> är UID för den mssql användaren
      • <mssqlGID> är GID för den mssql användaren
    11. Kontrollera att monteringen lyckades genom att utfärda montering utan växlar.

      mount
      
    12. Växla till användaren mssql.

      su mssql
      
    13. Kopiera filerna från den tillfälliga katalogen /var/opt/mssql/data.

      cp /var/opt/mssql/tmp/* /var/opt/mssql/data
      
    14. Kontrollera att filerna finns där.

      ls /var/opt/mssql/data
      
    15. Ange exit för att inte vara mssql.

    16. Ange exit för att inte vara root.

    17. Starta SQL Server. Om allt kopierades korrekt och säkerheten tillämpades korrekt bör SQL Server visas som igång.

      sudo systemctl start mssql-server
      sudo systemctl status mssql-server
      
    18. Om du vill testa ytterligare skapar du en databas för att säkerställa att behörigheterna är bra. I följande exempel används Transact-SQL; du kan använda SSMS.

      Skärmbild som visar skapandet av testdatabasen.

    19. Stoppa SQL Server och kontrollera att den är avstängd. Om du ska lägga till eller testa andra diskar ska du inte stänga av SQL Server förrän dessa diskar har lagts till och testats.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    20. Endast om du är klar, avmontera delningen. Om inte demonterar du efter att ha slutfört testningen/lagt till ytterligare diskar.

      sudo umount //<IPAddressorServerName>/<ShareName /<FolderMountedIn>
      
      • <IPAddressOrServerName> är IP-adressen eller namnet på SMB-värden
      • <ShareName> är namnet på delningen
      • <FolderMountedIn> är namnet på mappen där SMB monteras
  5. Följ dessa steg för andra saker än systemdatabaser, till exempel användardatabaser eller säkerhetskopior. Om du bara använder standardplatsen går du vidare till Steg 14.

    1. Byt till superanvändare.

      sudo -i
      
    2. Skapa en mapp som ska användas av SQL Server.

      mkdir <FolderName>
      

      <FolderName> är namnet på mappen. Den fullständiga sökvägen till mappen måste anges om den inte är på rätt plats. I följande exempel skapas en mapp med namnet /var/opt/mssql/userdata.

      mkdir /var/opt/mssql/userdata
      
    3. Montera SMB-delningen i mappen för SQL Server-data. Det här exemplet visar syntaxen för att ansluta till en Samba-baserad SMB 3.0-resurs.

      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> är namnet på servern med SMB-resursen
      • <ShareName> är namnet på delningen
      • <FolderName> är namnet på mappen som skapades i det senaste steget
      • <UserName> är namnet på användaren som ska komma åt resursen
      • <Password> är lösenordet för användaren
      • <mssqlUID> är UID för den mssql användaren
      • <mssqlGID> är GID för den mssql användaren.
    4. Kontrollera att monteringen lyckades genom att utfärda montering utan växlar.

    5. Skriv exit för att inte längre vara superanvändare.

    6. Om du vill testa skapar du en databas i den mappen. I följande exempel används sqlcmd för att skapa en databas, växla kontext till den, kontrollera att filerna finns på OS-nivå och tar sedan bort den tillfälliga platsen. Du kan använda SSMS.

    7. Avmontera nätverksenheten

      sudo umount //<IPAddressorServerName>/<ShareName> /<FolderMountedIn>
      
      • <IPAddressOrServerName> är IP-adressen eller namnet på SMB-värden
      • <ShareName> är andelens namn
      • <FolderMountedIn> är namnet på mappen där SMB monteras.
  6. Upprepa stegen på de andra noderna.

Nu är du redo att konfigurera FCI.