Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:Program SQL Server w systemie Linux
W tym artykule wyjaśniono, jak skonfigurować magazyn SMB dla wystąpienia klastra przełączania awaryjnego (FCI) w systemie Linux.
Poza Windows, SMB nazywany jest także udziałem Common Internet File System (CIFS), który Samba implementuje. Na Windows uzyskujesz dostęp do udziału SMB w tym składzie .\\SERVERNAME\SHARENAME W przypadku instalacji SQL Server opartych na Linuksie należy zamontować udostępnione SMB jako folder.
Ważne informacje o źródle i serwerze
Stosuj się do tych wskazówek, aby skutecznie korzystać z SMB:
- Udostępnianie SMB może być na Windows, Linuksie lub urządzeniu, o ile korzysta ono z SMB 3.0 lub nowszego. Aby uzyskać więcej informacji o Sambie i SMB 3.0, zobacz SMB 3.0 , aby sprawdzić, czy implementacja Samby jest zgodna z SMB 3.0.
- Udział SMB powinien być wysoce dostępny.
- Ustaw bezpieczeństwo odpowiednio na udziale SMB. Poniższy przykład pochodzi z
/etc/samba/smb.conf, gdzieSQLDatato nazwa udziału.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser
Instrukcje
Wybierz jeden z serwerów, aby uczestniczyć w konfiguracji FCI. Nie ma znaczenia, który z nich.
Uzyskaj informacje o użytkowniku
mssql.sudo id mssqlZwróć uwagę na
uid,gidoraz grupy.Wykonaj
sudo smbclient -L //NameOrIP/ShareName -U User.-
<NameOrIP>to nazwa DNS lub adres IP serwera, który hostuje udział SMB. -
<ShareName>jest nazwą udziału SMB.
-
W przypadku systemowych baz danych lub dowolnych elementów przechowywanych w domyślnej lokalizacji danych wykonaj następujące kroki. W przeciwnym razie przejdź do kroku 5.
Upewnij się, że SQL Server jest zatrzymany na serwerze, na którym pracujesz.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverPrzełącz się całkowicie na superusera.
sudo -iPrzejdź do użytkownika
mssql.su mssqlUtwórz katalog tymczasowy do przechowywania danych i plików dziennika programu SQL Server.
mkdir <TempDir>-
<TempDir>jest nazwą folderu. Poniższy przykład tworzy folder o nazwie/var/opt/mssql/tmp.
mkdir /var/opt/mssql/tmp-
Skopiuj dane i pliki dziennika programu SQL Server do katalogu tymczasowego.
cp /var/opt/mssql/data/* <TempDir>-
<TempDir>to nazwa folderu z poprzedniego kroku.
-
Sprawdź, czy pliki znajdują się w katalogu.
ls <TempDir>< > TempDir to nazwa folderu z kroku d.
Usuń pliki z istniejącego katalogu danych SQL Server.
rm -f /var/opt/mssql/data/*Sprawdź, czy pliki już nie istnieją.
ls /var/opt/mssql/dataEnter,
exitrootaby wrócić do użytkownika.Zamontuj udział SMB w folderze danych programu SQL Server. W tym przykładzie przedstawiono składnię nawiązywania połączenia z udziałem SMB 3.0 opartym na systemie 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>jest nazwą serwera z udziałem SMB -
<ShareName>jest nazwą udostępnienia -
<UserName>jest nazwą użytkownika, który ma uzyskać dostęp do udziału -
<Password>to hasło użytkownika -
<domain>jest nazwą usługi Active Directory -
<mssqlUID>jest identyfikatorem UID użytkownikamssql -
<mssqlGID>jest giD użytkownikamssql
-
Sprawdź montaż, uruchamiając
mountbez przełączników.mountPrzejdź do użytkownika
mssql.su mssqlSkopiuj pliki z katalogu tymczasowego
/var/opt/mssql/data.cp /var/opt/mssql/tmp/* /var/opt/mssql/dataSprawdź, czy znajdują się tam pliki.
ls /var/opt/mssql/dataEnter,
exitaby opuścićmssqlużytkownika.Enter,
exitaby opuścićrootużytkownika.Uruchom program SQL Server. Jeśli wszystko skopiowałeś i poprawnie zastosowałeś zabezpieczenia, uruchamia się SQL Server.
sudo systemctl start mssql-server sudo systemctl status mssql-serverAby przeprowadzić dalsze testowanie, utwórz bazę danych, aby upewnić się, że uprawnienia są poprawne. Poniższy przykład wykorzystuje Transact-SQL; możesz użyć SQL Server Management Studio (SSMS).
Zatrzymaj program SQL Server i sprawdź, czy został zamknięty. Jeśli planujesz dodawać lub testować inne dyski, nie wyłączaj SQL Server, dopóki ich nie dodasz i nie przetestujesz.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverJeśli skończysz, odmontuj udział. W przeciwnym razie odmontuj po zakończeniu testów lub dodawania dysków.
sudo umount //<IPAddressorServerName>/<ShareName>/<FolderMountedIn>-
<IPAddressOrServerName>to adres IP lub nazwa hosta SMB -
<ShareName>jest nazwą udostępnienia -
<FolderMountedIn>to nazwa folderu, w którym jest instalowany protokół SMB
-
W przypadku innych elementów niż systemowe bazy danych, takie jak bazy danych użytkowników lub kopie zapasowe, wykonaj następujące kroki. Jeśli używasz tylko domyślnej lokalizacji, przejdź do kroku 14.
Przełącz się na superużytkownika.
sudo -iStwórz folder, z którego korzysta SQL Server.
mkdir <FolderName><FolderName> jest nazwą folderu. Określ pełną ścieżkę folderu, jeśli nie znajduje się on we właściwej lokalizacji. Poniższy przykład tworzy folder o nazwie
/var/opt/mssql/userdata.mkdir /var/opt/mssql/userdataZamontuj udział SMB w folderze danych programu SQL Server. W tym przykładzie pokazano składnię połączenia z udziałem sieciowym SMB 3.0 opartym na protokole 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>jest nazwą serwera z udziałem SMB -
<ShareName>jest nazwą udostępnienia -
<FolderName>to nazwa folderu utworzonego w ostatnim kroku -
<UserName>jest nazwą użytkownika, który ma uzyskać dostęp do udziału -
<Password>to hasło użytkownika -
<mssqlUID>jest identyfikatorem UID użytkownikamssql -
<mssqlGID>jest GID-em użytkownikamssql.
-
Sprawdź montaż, uruchamiając
mountbez przełączników.Wejdź,
exitaby opuścić superużytkownika.Aby przetestować, utwórz bazę danych w tym folderze. Poniższy przykład służy
sqlcmddo utworzenia bazy danych, zmiany kontekstu na nią, weryfikacji istnienia plików na poziomie systemu operacyjnego, a następnie usunięcia tymczasowej lokalizacji. Możesz użyć programu SSMS.Odmontuj udział.
sudo umount //<IPAddressorServerName>/<ShareName> /<FolderMountedIn>-
<IPAddressOrServerName>to adres IP lub nazwa hosta SMB -
<ShareName>jest nazwą udostępnienia -
<FolderMountedIn>to nazwa folderu, w którym jest instalowany protokół SMB.
-
Powtórz kroki w innych węzłach.
Teraz możesz przystąpić do skonfigurowania FCI.