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ärSQLData
är namnet på aktien.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser
Instruktioner
Välj en av servrarna som ska delta i FCI-konfigurationen. Det spelar ingen roll vilken.
Hämta information om den
mssql
användaren.sudo id mssql
Observera grupperna
uid
,gid
och .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.
-
Följ dessa steg för systemdatabaser eller något som lagras på standarddataplatsen. Annars går du vidare till steg 5.
Kontrollera att SQL Server har stoppats på den server som du arbetar med.
sudo systemctl stop mssql-server sudo systemctl status mssql-server
Växla helt för att bli superanvändaren.
sudo -i
Växla till användare
mssql
.su mssql
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
-
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.
-
Kontrollera att filerna finns i katalogen.
ls <TempDir>
<TempDir> är namnet på mappen från steg d.
Ta bort filerna från den befintliga SQL Server-datakatalogen.
rm - f /var/opt/mssql/data/*
Kontrollera att filerna har tagits bort.
ls /var/opt/mssql/data
Skriv exit för att växla tillbaka till rotanvändaren.
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 denmssql
användaren -
<mssqlGID>
är GID för denmssql
användaren
-
Kontrollera att monteringen lyckades genom att utfärda montering utan växlar.
mount
Växla till användaren
mssql
.su mssql
Kopiera filerna från den tillfälliga katalogen
/var/opt/mssql/data
.cp /var/opt/mssql/tmp/* /var/opt/mssql/data
Kontrollera att filerna finns där.
ls /var/opt/mssql/data
Ange
exit
för att inte varamssql
.Ange
exit
för att inte vararoot
.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
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.
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
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
-
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.
Byt till superanvändare.
sudo -i
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
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 denmssql
användaren -
<mssqlGID>
är GID för denmssql
användaren.
-
Kontrollera att monteringen lyckades genom att utfärda montering utan växlar.
Skriv exit för att inte längre vara superanvändare.
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.
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.
-
Upprepa stegen på de andra noderna.
Nu är du redo att konfigurera FCI.