Como me gusta buscar VPS baratos y tengo que cambiar de servidor con frecuencia, la reubicación de sitios web se ha convertido en algo común. Para datos de sitios web de gran tamaño, es mejor transferir datos directamente entre salas de computadoras. Las tres herramientas de comando comúnmente utilizadas, Rsync, SCP y Tar, pueden ayudarnos a resolver rápidamente la reubicación de datos y la reubicación remota de sitios web de VPS.

Sin embargo, gracias al recordatorio del blog de Xiao Z, además de utilizar herramientas de comando para lograr la transferencia de datos, también podemos utilizar el montaje en disco duro para resolver el problema de la migración de datos. Usando NFS, el protocolo del sistema de archivos distribuido Network File System, podemos montar de forma remota los directorios de diferentes hosts VPS, lo que hace mucho más conveniente copiar archivos.

GlusterFS es el núcleo de Gluster, la solución de almacenamiento escalable. Es un sistema de archivos distribuido de código abierto con una fuerte escalabilidad horizontal, capaz de soportar una capacidad de almacenamiento de múltiples PB y procesar miles de clientes mediante expansión. GlusterFS se usa generalmente como una solución de almacenamiento de archivos a nivel empresarial, pero también podemos usar GlusterFS para compartir almacenamiento entre diferentes hosts VPS.

El último es samba. El objetivo principal del desarrollo inicial de SAMBA fue comunicar el uso compartido entre dos plataformas operativas diferentes, Windows y Unix. Samba es simple de configurar e intuitivo de operar. El montaje remoto NFS, el almacenamiento compartido GlusterFS y los servidores compartidos samba también se pueden utilizar para colaboración de archivos, duplicación de servidores, etc. En resumen, la escalabilidad es muy sólida.

Tres formas de compartir directorios de carpetas en Linux: montaje remoto NFS, almacenamiento compartido GlusterFS y servidor compartido samba

Este artículo compartirá brevemente los métodos operativos del montaje remoto NFS, el almacenamiento compartido GlusterFS y el servidor compartido Samba. Para obtener más información sobre el almacenamiento en la nube y las herramientas para webmasters, también puede obtener más información:

  1. Nextcloud es una excelente opción para el almacenamiento personal en la nube: método de instalación automática con un solo clic y experiencia de uso del disco en la nube
  2. Lsyncd crea un espejo de sincronización: use Lsyncd para lograr la sincronización en tiempo real entre servidores locales y remotos
  3. Linux VPS monta Google Drive y Dropbox: realiza la sincronización y copia de seguridad de los datos del host VPS

1. Montaje remoto NFS

Entorno de demostración, servidor A: 172.104.184.98, cliente B: 107.161.18.176 Si no tiene un VPS, puede consultar la lista de hosts de VPS que he usado: Lista de hosts de VPS.

Las operaciones de comando relevantes son las siguientes:


#在两台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

Si no aparece ningún mensaje, significa que el montaje se realizó correctamente.

Ahora los archivos compartidos en A y B se han montado y sincronizado en tiempo real. Puede ver la sincronización bidireccional cargando o eliminando archivos en la carpeta compartida.

2. Almacenamiento compartido GlusterFS

2.1 Repositorio GlusterFS

Debian:

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

Agregue la clave pública para el repositorio 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

Actualizar la caché del repositorio.

sudo apt-get update

Instale el paquete GlusterFS.

sudo apt-get install -y glusterfs-server

Inicie el servicio glusterfs-server.

sudo service glusterfs-server start

Confirme si el servicio glusterfs se está ejecutando.

sudo service glusterfs-server status

El siguiente comando se ejecuta en el servidor para agregar el nodo cliente (107.161.18.176).

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

Confirmar estado.

sudo gluster peer status

Listar nodos.

sudo gluster pool list

Configurar el cortafuegos. Deshabilite el firewall o agregue la IP del cliente al rango permitido.

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

La instalación exitosa es la siguiente:

2.3  Crear un volumen de almacenamiento compartido

Ahora necesitamos crear el volumen de almacenamiento compartido. Primero, realice las siguientes operaciones en el 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

Ahora vaya al cliente (107.161.18.176) y monte el 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

Ejecute el comando: df -hP /mnt/glusterfs, puede ver que el montaje se realizó correctamente.

También puedes ver esto usando el comando df.

Ahora puede realizar almacenamiento compartido entre diferentes hosts VPS y puede ver la sincronización al agregar o modificar archivos.

3. Samba se da cuenta de que Linux y Windows comparten

Los dos métodos para compartir mencionados anteriormente son adecuados para Linux, entonces, ¿cómo se comparten Windows y Linux? El método más popular actualmente es a través de un protocolo de intercambio de archivos de red multiplataforma: SMB/CIFS. Windows admite de forma nativa SMB/CIFS y Linux también implementa el protocolo SMB/CIFS a través del software de código abierto Samba.

3.1  Instalar samba

sudo apt-get install samba

3.2  Crear directorio compartido

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

3.3  Modificar el archivo de configuración de samba

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

[compartir]
ruta = /home/wzfou/smbshare
público = sí
escribible = sí
usuarios válidos = wzfou
crear máscara = 0644
forzar modo de creación = 0644
máscara de directorio = 0755
forzar modo de directorio = 0755
disponible = sí

La descripción de smb.conf es la siguiente:

(1) [compartir] indica el alias de la carpeta compartida, y este alias se utilizará directamente más adelante.

(2) Las configuraciones de modo de creación forzada y modo de directorio forzado se deben a los diferentes permisos predeterminados de los archivos y carpetas en Windows y Linux. Los archivos recién creados en Windows son ejecutables. sus permisos de archivos deben establecerse obligatoriamente.

(3) los usuarios válidos se configuran con su nombre de usuario actual de Linux, por ejemplo, el mío es wzfou, porque cuando abre una carpeta compartida por primera vez, necesita verificar los permisos.

3.4  Establecer contraseña de inicio de sesión

// 新建/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  Pruebe si el intercambio se realizó correctamente

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


3.7 Usando samba en Windows y Linux

Explorador de Windows->Asignar unidad de red. El formato de entrada es: el nombre de la configuración de la dirección IP, luego ingrese la contraseña de la cuenta y la conexión será exitosa.

Si está utilizando Windows 7 y es posible que no pueda conectarse a Samba, puede seguir los siguientes métodos para resolver el problema:

1. Modifique la política de seguridad local: ejecute secpol.msc para abrir el formulario "Política de seguridad local", haga clic en "Política local" - "Opciones de seguridad" y modifique el valor de "Seguridad de red: Nivel de autenticación de LAN Manager" a "Enviar LM y NTLM: utilice la seguridad de sesión NTLMv2 si se negocia", simplemente está bien.

2. Modifique el registro: modifique el valor de LmCompatibilityLevel en HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa a 1.

Para Linux, acceda a él a través de la dirección smb://<samba-server-IP-address>/share en Thunar.

4. Resumen

Entre los métodos de carpeta compartida de Linux, el método de montaje remoto NFS es el más conveniente, especialmente adecuado para migrar datos de sitios web entre diferentes servidores host VPS. Una vez que el montaje remoto es exitoso, podemos copiar los datos localmente. Más de tres herramientas de comando: Rsync, SCP y Tar: resuelven rápidamente la reubicación remota de sitios web de VPS y la sincronización de datos y son más convenientes.

El método GlusterFS para crear volúmenes compartidos es particularmente adecuado para servidores de clúster. El sistema de archivos del clúster GlusterFS también se puede aplicar al almacenamiento distribuido Docker a nivel empresarial. Samba se da cuenta del intercambio de archivos entre Linux y Windows. Anteriormente compartimos el tutorial de instalación de NextCloud de Raspberry Pi: uso compartido de LAN en la nube privada en el hogar. De hecho, también podemos usar samba para compartir Raspberry Pi con otros dispositivos.

Deja una respuesta