Como gosto de procurar VPS baratos e tenho que trocar de servidor com frequência, a realocação de sites se tornou uma coisa comum. Para grandes dados de sites, é melhor transferir dados diretamente entre salas de computadores. As três ferramentas de comando comumente usadas, Rsync, SCP e Tar, podem nos ajudar a resolver rapidamente a realocação remota de sites VPS e a sincronização de dados.

Porém, graças ao lembrete do blog Xiao Z, além de usar ferramentas de comando para conseguir a transferência de dados, também podemos usar a montagem do disco rígido para resolver o problema de migração de dados. Usando NFS, o protocolo de sistema de arquivos distribuído Network File System, podemos montar remotamente os diretórios de diferentes hosts VPS, tornando muito mais conveniente copiar arquivos.

GlusterFS é o núcleo do Gluster, a solução de armazenamento Scale-Out. É um sistema de arquivos distribuído de código aberto com forte escalabilidade horizontal, capaz de suportar capacidade de armazenamento multi-PB e processar milhares de clientes por meio de expansão. GlusterFS é geralmente usado como uma solução de armazenamento de arquivos de nível empresarial, mas também podemos usar GlusterFS para compartilhar armazenamento entre diferentes hosts VPS.

O último é o samba. O principal objetivo do desenvolvimento inicial do SAMBA foi comunicar o compartilhamento entre duas plataformas operacionais diferentes, Windows e Unix. O Samba é simples de configurar e intuitivo de operar. Montagem remota NFS, armazenamento compartilhado GlusterFS e servidores compartilhados samba também podem ser usados ​​para colaboração de arquivos, espelhamento de servidor, etc.

Três maneiras de compartilhar diretórios de pastas no Linux - montagem remota NFS, armazenamento compartilhado GlusterFS e servidor compartilhado samba

Este artigo compartilhará brevemente os métodos de operação de montagem remota NFS, armazenamento compartilhado GlusterFS e servidor compartilhado Samba. Para obter mais informações sobre armazenamento em nuvem e ferramentas para webmasters, você também pode aprender:

  1. Nextcloud é uma excelente escolha para armazenamento pessoal em nuvem: método de instalação automática com um clique e experiência de uso de disco em nuvem
  2. Lsyncd cria espelho de sincronização - usa Lsyncd para obter sincronização em tempo real entre servidores locais e remotos
  3. Linux VPS monta Google Drive e Dropbox - realiza sincronização e backup de dados de host VPS

1. Montagem remota NFS

Ambiente de demonstração, servidor A: 172.104.184.98, cliente B: 107.161.18.176 Se você não possui um VPS, pode dar uma olhada na lista de hosts VPS que usei: Lista de classificação de hosts VPS.

As operações de comando relevantes são as seguintes:


#在两台VPS上安装执行安装
sudo apt-get install -y  nfs-kernel-server
#在A上创建文件夹
mkdir -p /media/wzfou/asus
#在A上编辑并添加授权B读写
vim /etc/exports
/media/wzfou/asus 107.161.18.176(rw,no_root_squash,async)
#在A上重启
sudo systemctl restart nfs-server.service

#在B上创建文件夹
sudo mkdir -p /home/wzfou/share
#在B上将刚刚创建的文件夹挂载到A上共享文件夹
sudo mount -t nfs 172.104.184.98:/media/wzfou/asus /home/wzfou/share

Se não houver nenhum prompt, significa que a montagem foi bem-sucedida.

Agora os arquivos compartilhados em A e B foram montados e sincronizados em tempo real. Você pode ver a sincronização bidirecional carregando ou excluindo arquivos para a pasta compartilhada.

2. Armazenamento compartilhado GlusterFS

2.1 Repositório GlusterFS

Debian:

sudo apt-get install -y lsb-release
sudo apt-get install -y apt-transport-https

Adicione a chave pública para o repositório GlusterFS.

wget -O - http://download.gluster.org/pub/gluster/glusterfs/LATEST/rsa.pub | sudo apt-key add -
echo deb https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/$(lsb_release -sc)/apt $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/gluster.list

Ubuntu 16.04/14.04:

sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:gluster/glusterfs-3.8

2.2  Instalar GlusterFS

Atualize o cache do repositório.

sudo apt-get update

Instale o pacote GlusterFS.

sudo apt-get install -y glusterfs-server

Inicie o serviço do servidor glusterfs.

sudo service glusterfs-server start

Confirme se o serviço glusterfs está em execução.

sudo service glusterfs-server status

O seguinte comando é executado no servidor para adicionar o nó cliente (107.161.18.176).

raj@gluster1:~$ sudo gluster peer probe 107.161.18.176
peer probe: success.

Confirme o estado.

sudo gluster peer status

Listar nós.

sudo gluster pool list

Configurar Firewall. Desative o firewall ou adicione o IP do cliente ao intervalo permitido.

sudo iptables -I INPUT -p all -s <ip-address> -j ACCEPT

A instalação bem-sucedida é a seguinte:

2.3  Crie um volume de armazenamento compartilhado

Agora precisamos criar o volume de armazenamento compartilhado. Primeiro, execute as seguintes operações no servidor:


#创建文件夹
sudo mkdir -p /data/gluster/gvol0
#创建共享卷volume,并分别挂载服务端(139.162.175.85)和客户端(107.161.18.176)
sudo gluster volume create gvol0 replica 2 139.162.175.85:/data/gluster/gvol0 107.161.18.176:/data/gluster/gvol0 force
#启用卷
sudo gluster volume start gvol0
#查看卷
sudo gluster volume info gvol0

Agora vá até o cliente (107.161.18.176) e monte o servidor (139.162.175.85).


#安装客户端
apt-get install -y glusterfs-client
#创建文件夹
mkdir -p /mnt/glusterfs
#挂载服务端(139.162.175.85)
mount -t glusterfs 139.162.175.85:/gvol0 /mnt/glusterfs

#开机自动挂载
vim  /etc/fstab
139.162.175.85:/gvol0 /mnt/glusterfs glusterfs  defaults,_netdev 0 0

Execute o comando: df -hP /mnt/glusterfs, você verá que a montagem foi bem-sucedida.

Você também pode ver isso usando o comando df.

Agora você pode realizar armazenamento compartilhado entre diferentes hosts VPS e ver a sincronização ao adicionar ou modificar arquivos.

3. Samba realiza compartilhamento entre Linux e Windows

Os dois métodos de compartilhamento mencionados acima são adequados para Linux, então como o Windows e o Linux compartilham? O método mais popular atualmente é através de um protocolo de compartilhamento de arquivos de rede multiplataforma: SMB/CIFS. O Windows oferece suporte nativo a SMB/CIFS, e o Linux também implementa o protocolo SMB/CIFS por meio do software de código aberto Samba.

3.1  Instalar o samba

sudo apt-get install samba

3.2  Criar diretório compartilhado

// 创建的目录即之后能够在Windows主机上直接访问的目录。
// 例如:在用户wzfou的主目录下新建share文件夹为共享目录
mkdir /home/wzfou/smbshare
// 由于Windows下的文件夹需可读可写可执行,需更改权限为777
sudo chmod 777 /home/wzfou/smbshare

3.3  Modificar arquivo de configuração do samba

// 修改 /etc/samba/smb.conf
sudo vim /etc/samba/smb.conf
// 在smb.conf文件最后加上以下内容

[compartilhar]
caminho = /home/wzfou/smbshare
public = sim
gravável = sim
usuários válidos = wzfou
criar máscara = 0644
forçar modo de criação = 0644
máscara de diretório = 0755
forçar modo de diretório = 0755
disponível = sim

A descrição do smb.conf é a seguinte:

(1) [share] indica o alias da pasta compartilhada, e esse alias será usado diretamente posteriormente.

(2) As configurações de force create mode e force directory mode são causadas pelas diferentes permissões padrão de arquivos e pastas no Windows e Linux. suas permissões de arquivo devem ser definidas obrigatoriamente.

(3) usuários válidos são definidos para seu nome de usuário Linux atual, por exemplo, o meu é wzfou, porque quando você abre uma pasta compartilhada pela primeira vez, você precisa verificar as permissões.

3.4  Definir senha de login

// 新建/etc/samba/smbpasswd文件
sudo touch /etc/samba/smbpasswd
// 根据3.3设置的valid users,设置用户密码
// wzfou 替换为你在3.3中设置的用户名
sudo smbpasswd -a wzfou
//输入两次密码后,会提示 Added user wzfou. 表示设置成功
// 若用户名非当前登录系统的用户名,可能会提示Failed

3.5  Iniciar servidor samba

sudo /etc/init.d/samba restart

3.6  Teste se o compartilhamento foi bem-sucedido

sudo apt-get install smbclient 
smbclient -L //xx.xx.xx.xx/share
//还记得吗?share为3.3中设置的共享文件夹的别名
//如果共享成功,将要求输入之前设置的密码


3.7 Usando samba no Windows e Linux

Windows Explorer->Mapear unidade de rede. O formato de entrada é: o nome da configuração do endereço IP, digite a senha da conta e a conexão será bem-sucedida.

Se você estiver usando o Windows 7 e não conseguir se conectar ao Samba, poderá seguir os seguintes métodos para resolver o problema:

1. Modifique a política de segurança local: Execute secpol.msc para abrir o formulário "Política de Segurança Local", clique em "Política Local" - "Opções de Segurança" e modifique o valor de "Segurança de Rede: Nível de Autenticação do LAN Manager" para "Enviar LM e NTLM - Use segurança de sessão NTLMv2 se negociado", apenas OK até o fim.

2. Modifique o registro: Modifique o valor de LmCompatibilityLevel em HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa para 1.

Para Linux, acesse-o através do endereço smb://<samba-server-IP-address>/share no Thunar.

4. Resumo

Entre os métodos de pasta compartilhada do Linux, o método de montagem remota NFS é o mais conveniente, especialmente adequado para migrar dados de sites entre diferentes servidores host VPS. Assim que a montagem remota for bem-sucedida, podemos ser tão convenientes quanto copiar os dados localmente. do que três ferramentas de comando: Rsync, SCP e Tar - resolvem rapidamente a realocação remota de sites VPS e a sincronização de dados e são mais convenientes.

O método GlusterFS de criação de volumes compartilhados é particularmente adequado para servidores de cluster. O sistema de arquivos de cluster GlusterFS também pode ser aplicado ao armazenamento distribuído Docker de nível empresarial. O Samba realiza o compartilhamento de arquivos entre Linux e Windows. Anteriormente, compartilhamos o tutorial NextCloud de instalação do Raspberry Pi - compartilhamento de LAN em nuvem privada doméstica autoconstruída. Na verdade, também podemos usar o samba para compartilhar o Raspberry Pi com outros dispositivos.

Deixe uma resposta