Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server no Linux
Este artigo explica como configurar o armazenamento SMB para uma instância de cluster de failover (FCI) em Linux.
Fora do Windows, o SMB também é chamado de compartilhamento do Sistema de Arquivos Comum da Internet (CIFS), que o Samba implementa. No Windows, você acessa um compartilhamento SMB com o formato \\SERVERNAME\SHARENAME. Para instalações do SQL Server baseadas em Linux, você deve montar o compartilhamento SMB como uma pasta.
Informações importantes de origem e servidor
Siga estas dicas para usar a SMB com sucesso:
- O compartilhamento SMB pode ser no Windows, Linux ou em um appliance, desde que use SMB 3.0 ou posterior. Para mais informações sobre Samba e SMB 3.0, veja SMB 3.0 para verificar se sua implementação de Samba está em conformidade com SMB 3.0.
- O compartilhamento SMB deve ter alta disponibilidade.
- Defina a segurança corretamente no compartilhamento da SMB. O exemplo a seguir é de
/etc/samba/smb.conf, ondeSQLDataé o nome da parte.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser
Instructions
Escolha um dos servidores para participar da configuração da FCI. Não importa qual.
Obtenha informações sobre o usuário
mssql.sudo id mssqlObserve
uid,gide os grupos.Executar
sudo smbclient -L //NameOrIP/ShareName -U User.-
<NameOrIP>é o nome DNS ou o endereço IP do servidor que hospeda o compartilhamento SMB. -
<ShareName>é o nome do compartilhamento SMB.
-
Para bancos de dados do sistema ou qualquer item armazenado na localização de dados padrão, siga essas etapas. Caso contrário, vá para a etapa 5.
Certifique-se de que o SQL Server esteja parado no servidor em que você está trabalhando.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverMude totalmente para o superusuário.
sudo -iAlterne para o usuário
mssql.su mssqlCrie um diretório temporário para armazenar os dados SQL Server e arquivos de log.
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 SQL Server e os arquivos de log 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 SQL Server existente.
rm -f /var/opt/mssql/data/*Verifique se os arquivos não existem mais.
ls /var/opt/mssql/dataEnter
exitpara voltar para orootusuário.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 do compartilhamento -
<UserName>é o nome do usuário usado para acessar o compartilhamento -
<Password>é a senha do usuário -
<domain>é o nome do Active Directory -
<mssqlUID>é o UID do usuáriomssql -
<mssqlGID>é o GID do usuáriomssql
-
Verifique a montagem rodando
mountsem interruptores.mountAlterne para o usuário
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/dataEnter
exitpara sair domssqlusuário.Enter
exitpara sair dorootusuário.Inicie SQL Server. Se você copiou tudo e aplicou a segurança corretamente, o SQL Server começa.
sudo systemctl start mssql-server sudo systemctl status mssql-serverPara um teste adicional, crie um banco de dados para garantir que as permissões estejam corretas. O exemplo a seguir usa Transact-SQL; você pode usar o SQL Server Management Studio (SSMS).
Pare o SQL Server e verifique se ele está desligado. Se você pretende adicionar ou testar outros discos, não desligue o SQL Server até adicioná-los e testá-los.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverSe terminar, desmonte a parte. Caso contrário, desmonte depois de terminar de testar ou adicionar discos.
sudo umount //<IPAddressorServerName>/<ShareName>/<FolderMountedIn>-
<IPAddressOrServerName>é o endereço IP ou o nome do host SMB -
<ShareName>é o nome do compartilhamento -
<FolderMountedIn>é o nome da pasta em que o SMB está montado
-
Para outros itens que não os bancos de dados do sistema, como bancos de dados de usuário ou backups, siga estas etapas. Se você usar apenas a localização padrão, pule para o Passo 14.
Troque para o superusuário.
sudo -iCrie uma pasta para o SQL Server usar.
mkdir <FolderName><FolderName> é o nome da pasta. Especifique o caminho completo da pasta se ela 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 no 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 do compartilhamento -
<FolderName>é o nome da pasta criada na última etapa -
<UserName>é o nome do usuário usado para acessar o compartilhamento -
<Password>é a senha do usuário -
<mssqlUID>é o UID do usuáriomssql -
<mssqlGID>é o GID do usuáriomssql.
-
Verifique a montagem rodando
mountsem interruptores.Enter
exitpara sair do superusuário.Para testar, crie um banco de dados nessa pasta. O exemplo a seguir serve
sqlcmdpara criar um banco de dados, trocar o contexto para ele, verificar se os arquivos existem no nível do sistema operacional e então excluir a localização temporária. 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 do compartilhamento -
<FolderMountedIn>é o nome da pasta em que o SMB está montado.
-
Repita as etapas nos demais nós.
Agora você está pronto para configurar a FCI.