Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server em Linux
Este artigo explica como configurar o armazenamento SMB para uma instância de cluster de failover (FCI) no Linux.
No mundo não-Windows, o SMB também é referido como um compartilhamento CIFS (Common Internet File System) e implementado via Samba. No mundo Windows, o acesso a um compartilhamento SMB é feito da seguinte forma: \\SERVERNAME\SHARENAME. Para instalações do SQL Server baseadas em Linux, o compartilhamento SMB deve ser montado como uma pasta.
Informações importantes sobre a fonte e o servidor
Aqui estão algumas dicas e notas para usar o SMB com sucesso:
- O compartilhamento SMB pode ser no Windows, Linux ou até mesmo de um dispositivo, desde que esteja usando SMB 3.0 ou versões posteriores. Para obter mais informações sobre o Samba e o SMB 3.0, consulte SMB 3.0 para ver se sua implementação do Samba é compatível com o SMB 3.0.
- A quota SMB deve estar altamente disponível.
- A segurança deve ser definida corretamente no compartilhamento SMB. Abaixo está um exemplo de
/etc/samba/smb.conf, ondeSQLDataé o nome do compartilhamento.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser
Instruções
Escolha um dos servidores que participarão da configuração da FCI. Não importa qual.
Obtenha informações sobre o
mssqlusuário.sudo id mssqlObserve os
uid,gide os grupos.Executar
sudo smbclient -L //NameOrIP/ShareName -U User.-
<NameOrIP>é o nome DNS ou endereço IP do servidor que hospeda o compartilhamento SMB. -
<ShareName>é o nome do compartilhamento SMB.
-
Para bancos de dados do sistema ou qualquer coisa armazenada no local de dados padrão, siga estas etapas. Caso contrário, pule para a etapa 5.
Verifique se o SQL Server está parado no servidor em que você está trabalhando.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverAltere completamente para ser o superusuário.
sudo -iMude para ser o utilizador
mssql.su mssqlCrie um diretório temporário para armazenar os dados e os arquivos de log do SQL Server.
mkdir <TempDir>-
<TempDir>é o nome da pasta. O exemplo a seguir cria uma pasta chamada/var/opt/mssql/tmp.
mkdir /var/opt/mssql/tmp-
Copie os dados e os arquivos de log do SQL Server para o diretório temporário.
cp /var/opt/mssql/data/* <TempDir>-
<TempDir>é o nome da pasta da etapa anterior.
-
Verifique se os arquivos estão no diretório.
ls <TempDir>< > TempDir é o nome da pasta da Etapa d.
Exclua os arquivos do diretório de dados existente do SQL Server.
rm - f /var/opt/mssql/data/*Verifique se os arquivos foram excluídos.
ls /var/opt/mssql/dataDigite exit para voltar para o usuário root.
Monte o compartilhamento SMB na pasta de dados do SQL Server. Este exemplo mostra a sintaxe para se conectar a um compartilhamento SMB 3.0 baseado no 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>é o nome do servidor com o compartilhamento SMB -
<ShareName>é o nome da pasta partilhada -
<UserName>é o nome do usuário para acessar o compartilhamento -
<Password>é a senha do usuário -
<domain>é o nome do Ative Directory -
<mssqlUID>é o UID do usuáriomssql -
<mssqlGID>é o GID do usuáriomssql
-
Verifique se a montagem foi bem-sucedida emitindo montagem sem interruptores.
mountMude para o utilizador
mssql.su mssqlCopie os arquivos do diretório temporário
/var/opt/mssql/data.cp /var/opt/mssql/tmp/* /var/opt/mssql/dataVerifique se os arquivos estão lá.
ls /var/opt/mssql/dataDigite
exitpara não sermssql.Digite
exitpara não serroot.Inicie o SQL Server. Se tudo foi copiado corretamente e a segurança aplicada corretamente, o SQL Server deve mostrar como iniciado.
sudo systemctl start mssql-server sudo systemctl status mssql-serverPara testar mais, crie um banco de dados para garantir que as permissões estejam corretas. O exemplo a seguir usa Transact-SQL; você pode usar o SSMS.
Pare o SQL Server e verifique se ele está desligado. Se você vai adicionar ou testar outros discos, não desligue o SQL Server até que esses discos sejam adicionados e testados.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverApenas se tiver terminado, desmonte a partilha. Caso contrário, desmonte depois de terminar o teste/adicionar quaisquer discos adicionais.
sudo umount //<IPAddressorServerName>/<ShareName /<FolderMountedIn>-
<IPAddressOrServerName>é o endereço IP ou o nome do host SMB -
<ShareName>é o nome da pasta partilhada -
<FolderMountedIn>é o nome da pasta onde o SMB está montado
-
Para coisas diferentes de bancos de dados do sistema, como bancos de dados de usuários ou backups, siga estas etapas. Se estiver usando apenas o local padrão, pule para a Etapa 14.
Torne-se o superusuário.
sudo -iCrie uma pasta que será usada pelo SQL Server.
mkdir <FolderName><FolderName> é o nome da pasta. O caminho completo da pasta precisa ser especificado se não estiver no local certo. O exemplo a seguir cria uma pasta chamada
/var/opt/mssql/userdata.mkdir /var/opt/mssql/userdataMonte o compartilhamento SMB na pasta de dados do SQL Server. Este exemplo mostra a sintaxe para se conectar a um compartilhamento SMB 3.0 baseado em 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>é o nome do servidor com o compartilhamento SMB -
<ShareName>é o nome da pasta partilhada -
<FolderName>é o nome da pasta criada na última etapa -
<UserName>é o nome do usuário para acessar o compartilhamento -
<Password>é a senha do usuário -
<mssqlUID>é o UID do usuáriomssql -
<mssqlGID>é o GID do usuáriomssql.
-
Verifique se a montagem foi bem-sucedida emitindo montagem sem interruptores.
Digite exit para não ser mais o superusuário.
Para testar, crie um banco de dados nessa pasta. O exemplo a seguir usa sqlcmd para criar um banco de dados, alternar o contexto para ele, verificar se os arquivos existem no nível do sistema operacional e, em seguida, exclui o local temporário. Você pode usar o SSMS.
Desmontar o compartilhamento
sudo umount //<IPAddressorServerName>/<ShareName> /<FolderMountedIn>-
<IPAddressOrServerName>é o endereço IP ou o nome do host SMB -
<ShareName>é o nome da pasta partilhada -
<FolderMountedIn>é o nome da pasta onde o SMB está montado.
-
Repita os passos nos demais nós.
Agora você está pronto para configurar a FCI.