Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:SQL Server op Linux
In dit artikel wordt uitgelegd hoe u SMB-opslag configureert voor een failoverclusterexemplaar (FCI) in Linux.
Buiten Windows wordt SMB ook wel een Common Internet File System (CIFS) share genoemd, die Samba implementeert. Op Windows krijg je toegang tot een SMB-share met het formaat \\SERVERNAME\SHARENAME. Voor Linux-gebaseerde SQL Server-installaties moet je de SMB-share als map mounten.
Belangrijke bron- en servergegevens
Volg deze tips om SMB succesvol te gebruiken:
- De SMB-share kan op Windows, Linux of een apparaat zitten, zolang het SMB 3.0 of later gebruikt. Voor meer informatie over Samba en SMB 3.0, zie SMB 3.0 om te controleren of uw Samba-implementatie voldoet aan SMB 3.0.
- De SMB-share moet maximaal beschikbaar zijn.
- Stel de beveiliging correct in op de SMB-share. Het volgende voorbeeld is van
/etc/samba/smb.conf, waarbijSQLDatade naam van het aandeel is.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser
Aanwijzingen
Kies een van de servers om deel te nemen aan de FCI-configuratie. Het maakt niet uit welke.
Informatie ophalen over de
mssqlgebruiker.sudo id mssqlNoteer de
uid,giden groepen.Voer
sudo smbclient -L //NameOrIP/ShareName -U Useruit.-
<NameOrIP>is de DNS-naam of het IP-adres van de server die als host fungeert voor de SMB-share. -
<ShareName>is de naam van de SMB-share.
-
Volg deze stappen voor systeemdatabases of alles wat is opgeslagen op de standaardgegevenslocatie. Ga anders verder met stap 5.
Zorg ervoor dat SQL Server wordt gestopt op de server waar je aan werkt.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverSchakel volledig over naar de superuser.
sudo -iSchakel over naar de
mssqlgebruiker.su mssqlMaak een tijdelijke map om de SQL Server-gegevens en logboekbestanden op te slaan.
mkdir <TempDir>-
<TempDir>is de naam van de map. In het volgende voorbeeld wordt een map met de naam/var/opt/mssql/tmpgemaakt.
mkdir /var/opt/mssql/tmp-
Kopieer de SQL Server-gegevens en logboekbestanden naar de tijdelijke map.
cp /var/opt/mssql/data/* <TempDir>-
<TempDir>is de naam van de map uit de vorige stap.
-
Controleer of de bestanden zich in de map bevinden.
ls <TempDir><TempDir-> is de naam van de map uit stap d.
Verwijder de bestanden uit de bestaande SQL Server-gegevensmap.
rm -f /var/opt/mssql/data/*Controleer of de bestanden niet meer bestaan.
ls /var/opt/mssql/dataEnter
exitom terug te schakelen naar derootgebruiker.Mount de SMB-share in de SQL Server-gegevensmap. In dit voorbeeld ziet u de syntaxis voor het maken van verbinding met een Op Windows Server gebaseerde SMB 3.0-share.
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>is de naam van de server met de SMB-share -
<ShareName>is de naam van de share -
<UserName>is de naam van de gebruiker voor toegang tot de share -
<Password>is het wachtwoord voor de gebruiker -
<domain>is de naam van Active Directory -
<mssqlUID>is de UID van demssqlgebruiker -
<mssqlGID>is de GID van demssqlgebruiker
-
Controleer de mount door zonder schakelaars te draaien
mount.mountSchakel over naar de
mssqlgebruiker.su mssqlKopieer de bestanden uit de tijdelijke map
/var/opt/mssql/data.cp /var/opt/mssql/tmp/* /var/opt/mssql/dataControleer of de bestanden er zijn.
ls /var/opt/mssql/dataEnter
exitom demssqlgebruiker te verlaten.Enter
exitom derootgebruiker te verlaten.Start SQL Server. Als je alles hebt gekopieerd en de beveiliging correct toepast, start SQL Server.
sudo systemctl start mssql-server sudo systemctl status mssql-serverAls u verder wilt testen, maakt u een database om ervoor te zorgen dat de machtigingen goed zijn. Het volgende voorbeeld gebruikt Transact-SQL; je kunt SQL Server Management Studio (SSMS) gebruiken.
Stop SQL Server en controleer of deze is afgesloten. Als je van plan bent andere schijven toe te voegen of te testen, sluit dan SQL Server niet af totdat je ze hebt toegevoegd en getest.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverAls je klaar bent, haal dan de share eraf. Anders kun je het verwijderen nadat je klaar bent met testen of het toevoegen van schijven.
sudo umount //<IPAddressorServerName>/<ShareName>/<FolderMountedIn>-
<IPAddressOrServerName>is het IP-adres of de naam van de SMB-host -
<ShareName>is de naam van de share -
<FolderMountedIn>is de naam van de map waarin SMB is gekoppeld
-
Volg deze stappen voor andere zaken dan systeemdatabases, zoals gebruikersdatabases of back-ups. Als je alleen de standaardlocatie gebruikt, ga dan naar stap 14.
Schakel over naar de superuser.
sudo -iMaak een map aan voor SQL Server om te gebruiken.
mkdir <FolderName><FolderName> de naam van de map is. Specificeer het volledige pad van de map als het niet op de juiste locatie is. In het volgende voorbeeld wordt een map met de naam
/var/opt/mssql/userdatagemaakt.mkdir /var/opt/mssql/userdataMount de SMB-share in de SQL Server-gegevensmap. In dit voorbeeld ziet u de syntaxis voor het maken van verbinding met een Samba-gebaseerde SMB 3.0-share.
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>is de naam van de server met de SMB-share -
<ShareName>is de naam van de share -
<FolderName>is de naam van de map die in de laatste stap is gemaakt -
<UserName>is de naam van de gebruiker voor toegang tot de share -
<Password>is het wachtwoord voor de gebruiker -
<mssqlUID>is de UID van demssqlgebruiker -
<mssqlGID>is de GID van demssqlgebruiker.
-
Controleer de mount door zonder schakelaars te draaien
mount.Voer in
exitom de superuser te verlaten.Als u wilt testen, maakt u een database in die map. Het volgende voorbeeld wordt gebruikt
sqlcmdom een database aan te maken, de context ernaar te wisselen, te verifiëren dat de bestanden op OS-niveau bestaan, en vervolgens de tijdelijke locatie te verwijderen. U kunt SSMS gebruiken.Ontkoppel de netwerkschijf.
sudo umount //<IPAddressorServerName>/<ShareName> /<FolderMountedIn>-
<IPAddressOrServerName>is het IP-adres of de naam van de SMB-host -
<ShareName>is de naam van de share -
<FolderMountedIn>is de naam van de map waarin SMB is gekoppeld.
-
Herhaal de stappen op de andere knooppunten.
U bent nu klaar om de FCI te configureren.
Verwante inhoud
- Failoverclusterexemplaren configureren - RHEL- (SQL Server on Linux)