O Linux tem compatibilidade limitada com o protocolo SMB. Recomendamos montar um sistema de arquivos SMB em um cliente Linux apenas quando for necessário compartilhar dados entre sistemas operacionais diferentes. Este tópico descreve como montar um sistema de arquivos SMB em uma instância ECS Linux para operações de leitura e escrita.
Pré-requisitos
-
Uma instância ECS Linux disponível na mesma região do sistema de arquivos SMB. Para mais informações, consulte Crie uma instância ECS.
ImportantePara clientes Linux, recomendamos a montagem de sistemas de arquivos NFS. Devido à compatibilidade limitada do Linux com o protocolo SMB, monte um sistema de arquivos SMB em um cliente Linux somente se precisar compartilhar dados entre sistemas operacionais distintos.
Os clientes SMB em algumas versões anteriores do Linux apresentam defeitos em determinados cenários. Se você utilizar uma versão do sistema operacional Linux sem suporte oficial, a Alibaba Cloud não poderá garantir a confiabilidade do sistema de arquivos SMB.
Este tópico aplica-se apenas às seguintes distribuições Linux com suporte oficial:
Sistema operacional
Versão
CentOS
CentOS 7.6 64 bits: 3.10.0-957.21.3.el7.x86_64 e posteriores
Alibaba Cloud Linux
Alibaba Cloud Linux 2.1903 64 bits: 4.19.43-13.2.al7.x86_64 e posteriores
Alibaba Cloud Linux 3.2104 64 bits: 5.10.23-4.al8.x86_64 e posteriores
Debian
Debian 9.10 64 bits: 4.9.0-9-amd64 e posteriores
Ubuntu
Ubuntu 18.04 64 bits: 4.15.0-52-generic e posteriores
openSUSE
openSUSE 42.3 64 bits: 4.4.90-28-default e posteriores
SUSE Linux
SUSE Linux Enterprise Server 12 SP2 64 bits: 4.4.74-92.35-default e posteriores
CoreOS
CoreOS 2079.4.0 64 bits: 4.19.43-coreos e posteriores
Um sistema de arquivos SMB criado. Para mais informações, consulte Crie um sistema de arquivos NAS de uso geral.
Um destino de montagem criado. Para mais informações, consulte Crie um destino de montagem.
-
Conectividade de rede estabelecida.
Certifique-se de que a instância ECS Linux e o sistema de arquivos SMB estejam na mesma VPC.
Verifique o grupo de segurança associado ao sistema de arquivos para garantir que a instância ECS Linux possa acessar o sistema de arquivos SMB.
-
Garanta que a porta TCP 445 esteja aberta. Os sistemas de arquivos SMB se comunicam pela porta TCP 445.
Se a porta 445 não estiver aberta, adicione uma regra de grupo de segurança que permita o acesso a essa porta no grupo de segurança da instância ECS de destino. Para mais informações, consulte Adicionar uma regra de grupo de segurança.
Instale um cliente CIFS
Antes de montar um sistema de arquivos SMB em um cliente Linux, instale um cliente CIFS. Essa configuração é necessária apenas uma vez em cada servidor Linux.
Conecte-se à instância ECS Linux. Para mais informações, consulte Métodos de conexão.
-
Instale o cliente CIFS.
Ubuntu e Debian
Use a ferramenta de gerenciamento de pacotes apt-get.
sudo apt-get update sudo apt-get install cifs-utilsRHEL, CentOS e Alibaba Cloud Linux
Use o gerenciador de pacotes yum.
sudo yum install cifs-utilsOpenSUSE e SLES12-SP2
Use a ferramenta zypper.
sudo zypper install cifs-utilsCoreOS
Use o método a seguir para instalar o cliente:
-
Configure o SELinux.
sed -i 's/SELINUXTYPE=mcs/SELINUXTYPE=targeted/' /etc/selinux/config -
Compile manualmente as ferramentas do cliente CIFS no CoreOS.
Siga estas etapas para iniciar um contêiner Fedora e compilar as ferramentas do cliente CIFS. Como alternativa, baixe o kit de ferramentas CIFS oficial da Alibaba Cloud para CoreOS e copie-o para o diretório /tmp/ ou /bin.
-
No CoreOS, inicie um contêiner Fedora para compilar o cifs-utils.
docker run -t -i -v /tmp:/cifs fedora /bin/bash -
No ambiente Docker, execute os comandos a seguir em sequência.
-
yum groupinstall -y "Development Tools" "Development Libraries" -
yum install -y bzip2 -
curl https://download.samba.org/pub/linux-cifs/cifs-utils/cifs-utils-6.9.tar.bz2 --output cifs-utils-6.9.tar.bz2; -
bunzip2 cifs-utils-6.9.tar.bz2 && tar xvf cifs-utils-6.9.tar -
cd cifs-utils-6.9; ./configure && make -
cp mount.cifs /cifs/ -
exit
-
-
-
Montar o sistema de arquivos SMB
No Linux, você pode montar um sistema de arquivos NAS SMB manual ou automaticamente. A montagem manual é temporária e deve ser repetida sempre que o servidor reiniciar. A montagem automática é persistente e não exige repetição após reinicializações. Para garantir que a montagem persista após uma reinicialização, recomendamos configurar a montagem automática após concluir a montagem manual com sucesso.
Montagem manual
Para montar o sistema de arquivos NAS SMB em uma instância ECS Linux, use o endereço do destino de montagem correspondente.
Conecte-se à instância ECS Linux. Para mais informações, consulte Métodos de conexão.
-
Execute o comando a seguir para montar o sistema de arquivos.
sudo mount -t cifs //file-system-id.region.nas.aliyuncs.com/myshare /mnt -o vers=2.1,guest,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576A sintaxe do comando é:
sudo mount -t cifs //<mount-target-address>/myshare <mount-directory> -o <mount-options>Parâmetro
Descrição
Tipo de sistema de arquivos
Ao montar um sistema de arquivos SMB em um sistema operacional Linux, especifique o parâmetro
-t cifs.Endereço do destino de montagem
Endereço gerado automaticamente ao criar um destino de montagem para o sistema de arquivos. Substitua o espaço reservado pelo valor real. Para obter esse endereço, faça login no console NAS, clique em ID do sistema de arquivos desejado, clique em Mount Targets e passe o mouse sobre o ícone
na coluna Mount Target.myshare
Nome do diretório compartilhado do sistema de arquivos SMB. Este nome não pode ser alterado.
Diretório de montagem
Diretório local onde o sistema de arquivos será montado, como /mnt/sharepath.
Opções de montagem
Especifique as opções obrigatórias adicionando o parâmetro
-o:-
vers: Versão do protocolo SMB. As versões 2.1 e posteriores são suportadas.
-
guest: Habilita o acesso como convidado, sem necessidade de senha. Esta opção é obrigatória para clientes que utilizam autenticação NTLM.
-
rsize: Tamanho máximo de dados em bytes para cada solicitação de leitura. Recomendamos definir este valor como 1048576 (1 MB).
-
wsize: Tamanho máximo de dados em bytes para cada solicitação de escrita. Recomendamos definir este valor como 1048576 (1 MB).
Defina as opções facultativas adicionando o parâmetro
-o:-
uid: ID de usuário do proprietário dos arquivos após a montagem do sistema. Se não especificado, o valor padrão é 0.
-
gid: ID de grupo do proprietário dos arquivos após a montagem do sistema. Se não especificado, o valor padrão é 0.
-
dir_mode: Permissões para diretórios. O valor deve começar com 0, como 0755 ou 0644. Se não especificado, o valor padrão é 0755.
-
file_mode: Permissões para arquivos regulares. O valor deve começar com 0, como 0755 ou 0644. Se não especificado, o valor padrão é 0755.
-
mfsymlinks: Habilita o suporte a links simbólicos.
-
cache:
-
cache=strict: Ative o cache no lado do cliente para o sistema de arquivos SMB. Esta é a configuração padrão caso a opção cache não seja especificada.
-
cache=none: Desativa o cache no lado do cliente para o sistema de arquivos SMB.
-
-
atime|relatime: Se sua aplicação não depender criticamente dos horários de acesso aos arquivos, evite usar a opção atime. Por padrão, o sistema de arquivos é montado com a opção relatime.
Nota-
Um administrador autorizado tem controle total sobre o sistema de arquivos SMB.
-
Execute o comando
mount | grep cifspara consultar as informações do destino de montagem. -
Caso utilize uma distribuição Linux sem suporte oficial, recomendamos fortemente o uso de uma versão de kernel 3.10.0-514 ou superior. Se a versão do kernel Linux for 3,7 ou anterior, defina o parâmetro
cache=strictnas opções de montagem. Verifique a versão atual do kernel executando o comandouname -a.
-
-
Execute o comando
mount -lpara verificar o resultado da montagem.Se a saída for semelhante à seguinte, a montagem foi bem-sucedida.
debugfs on /sys/kernel/debug type debugfs (rw,relatime) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime) mqueue on /dev/mqueue type mqueue (rw,relatime) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=800928k,mode=700) //xxx-cn-hangzhou.nas.aliuncs.com/mushare on /mnt type cifs (rw,relatime,vers=2.1,sec=none,cache=strict,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=xxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)Após uma montagem bem-sucedida, execute o comando
df -hpara visualizar as informações de capacidade do sistema de arquivos atual.Se a montagem falhar, solucione o problema. Para mais informações, consulte Solucionar falhas de montagem SMB no Linux.
-
Com o sistema de arquivos montado, acesse-o a partir da instância ECS Linux para realizar operações de leitura ou escrita.
Você pode acessar e usar o sistema de arquivos NAS SMB como um diretório comum. Exemplo:
[root@ixxxx ~]# mkdir /mnt/dir1 [root@ixxxx ~]# mkdir /mnt/dir2 [root@ixxxx ~]# touch /mnt/file1 [root@ixxxx ~]# echo 'some file conent' > /mnt/file2 [root@ixxxx ~]# ls /mnt dir1 dir2 file1 file2 tmp
(Opcional) Montagem automática
Configure o arquivo /etc/fstab na instância ECS Linux para montar automaticamente o sistema de arquivos SMB quando a instância reiniciar.
Antes de configurar a montagem automática, certifique-se de que a montagem manual funcione corretamente. Isso evita falhas na inicialização da instância ECS.
-
Abra o arquivo de configuração /etc/fstab e adicione a configuração de montagem automática.
Substitua <file-system-id.region.nas.aliyuncs.com> pelo endereço do destino de montagem real do sistema de arquivos NAS, por exemplo,
237*******-*****.cn-hangzhou.nas.aliyuncs.com.Substitua </mnt> pelo diretório de montagem local, por exemplo,
/mnt.
file-system-id.region.nas.aliyuncs.com/myshare /mnt cifs vers=3,guest,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576 0 0Para obter uma descrição dos principais parâmetros do exemplo, consulte a tabela de parâmetros do comando de montagem manual. Os demais parâmetros estão descritos abaixo.
Parâmetro
Descrição
0 (primeiro valor após wsize)
Um valor diferente de zero indica que o sistema de arquivos deve passar por backup via comando dump. Para sistemas de arquivos NAS, este valor deve ser 0.
0 (segundo valor após wsize)
Define a ordem em que o comando fsck verifica os sistemas de arquivos durante a inicialização. Para sistemas de arquivos NAS, este valor deve ser 0, indicando que o fsck não deve ser executado na inicialização.
-
Execute o comando
rebootpara reiniciar a instância ECS.ImportanteReiniciar a instância ECS interrompe seus serviços. Recomendamos realizar esta operação fora dos horários de pico.
-
Verifique se a montagem automática foi bem-sucedida.
NotaDentro de um minuto após a reinicialização da instância ECS, execute o comando
df -hpara confirmar que o sistema de arquivos NAS está montado.
Casos de uso
Você pode configurar diferentes opções de montagem conforme o caso de uso para otimizar o desempenho do sistema de arquivos. As seções a seguir descrevem cenários comuns e suas configurações recomendadas.
Acesso compartilhado para Linux
Diretórios home multiusuário
Acesso compartilhado para servidores web
Acesso compartilhado para Windows e Linux
Controle de acesso
Os sistemas de arquivos SMB do Alibaba Cloud NAS suportam autenticação de usuários e controle de permissões no nível do sistema de arquivos com base em um domínio Active Directory (AD). Ao acessar um sistema de arquivos SMB como usuário de domínio, é possível implementar controle de acesso no nível de arquivos e diretórios.
Para mais informações sobre como implementar autenticação de usuários e controle de acesso no nível do sistema de arquivos com base em um sistema AD, consulte Ingressar um destino de montagem SMB em um domínio AD e Montar e usar um sistema de arquivos SMB em um cliente Linux como usuário de domínio AD.
Documentos relacionados
Para fazer backup dos dados em um sistema de arquivos SMB, consulte Fazer backup de um sistema de arquivos NAS de uso geral.
Também é possível ativar a lixeira. Caso exclua arquivos acidentalmente de um sistema de arquivos NAS de uso geral, utilize a lixeira para restaurar esses arquivos e seus metadados, como UIDs, GIDs e ACLs. Para mais informações, consulte Lixeira.
Para montar e acessar um sistema de arquivos SMB a partir de um servidor local ou data center on-premises, consulte Acessar um sistema de arquivos a partir de um data center on-premises.
Caso precise montar um sistema de arquivos entre VPCs, regiões ou contas diferentes, utilize a Cloud Enterprise Network (CEN). Para mais informações, consulte Usar a CEN para montar um sistema de arquivos NAS entre VPCs na mesma região ou Montar um sistema de arquivos NAS entre contas e regiões usando a CEN.