GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo hacer una copia de seguridad de un servidor Linode en ejecución?

Solución 1:

Entonces, ¿quieres hacer una copia de seguridad de todo tu disco sin todos esos errores desagradables y también filtrar todas las carpetas /proc y otras carpetas temporales?

Una opción es montar la carpeta raíz en otra carpeta dentro del sistema de archivos, así:

$ cd /mnt
$ mkdir drive
$ mount --bind / drive

Esto le dará todos los archivos que hay en su disco que no se consideran temporales (como las carpetas /proc o /sys).

Ahora que tiene una vista limpia de su carpeta raíz, puede simplemente copiarla en su unidad de copia de seguridad usando cp estándar o rsync . Algo como:

cp -R /mnt/drive /mnt/backupdrive

Esto resuelve los dos problemas mencionados:

  • No entra en recursión, porque el disco de copia de seguridad no está montado dentro de la unidad (punto de vista)
  • no te pierdas ningún archivo importante, porque te los llevas todos

Ver también:man mount(8)

Solución 2:

En Linux todo es un archivo. Es posible a través de rsync, pero hay cosas a tener en cuenta que son (en el mejor de los casos) difíciles de sortear.

Primero debe pensar en la replicación, especialmente para las bases de datos. También es una buena idea configurar un proxy/equilibrador de carga frente a su servidor principal, para que pueda alternar fácilmente entre sus servidores primario y espejo durante la transición.

A nivel de hardware, la mejor situación será tener un servidor tipo espejo en otro lado, con la misma cantidad de puertos ethernet, el mismo diseño de disco duro, etc. Todo lo que difiere implica la necesidad de cambios en la configuración del sistema.

es decir, si tiene dos puertos eth, desea asegurarse de que la configuración de la red, el firewall, etc. coincidan con el nombre de la interfaz en ambos servidores y, en caso de que sea diferente, debe cambiar la configuración después de rsync o cambiar el nombre del dispositivo en el segundo (destino) servidor.

Lo mismo con el diseño de la partición. Debe crear las mismas particiones que en su servidor principal, pero si las crea desde cero, terminará con diferentes UUID, por lo que deberá cambiar fstab, grub, mdadm (si se trata de una incursión suave), etc. .

Pero también hay muchas cosas que pueden salir mal, como las bases de datos, que pueden ser inconsistentes si no se detuvieron previamente (antes de hacer rsync).

La mejor estrategia será preparar primero el hardware y el sistema de archivos (particiones) para que coincidan con la configuración del servidor principal. Luego monte particiones vacías a través de un sistema intermediario (como un CD en vivo con el servidor ssh instalado temporalmente). Crea /proc, /dev, /sys vacíos y luego sincroniza el resto, así:

rsync -avz -H --delete /etc /bin (...and so on) destserver:/mnt/yourrootfs/

Luego, debe instalar grub en el dispositivo y trabajar en la configuración para que sea de arranque, cambiar la configuración de red, fstab y otras cosas mencionadas anteriormente.

También puede intentar instalar un sistema nuevo (con la misma versión que está usando en su servidor principal), luego apagarlo, montarlo a través de otro sistema temporal (como un CD en vivo), luego reemplazar cualquier cosa que no sea /proc, / sys, /dev y /boot con rsync.

Pero es sólo una idea general. Las cosas pueden complicarse dependiendo de lo que realmente tenga en este servidor, cuál es su configuración, configuración de red y hardware. Y al final del día, esto podría ser realmente difícil o imposible de hacer sin un tiempo de inactividad notable.

Solución 3:

Lo que realmente quieres es restaurar. Hagas lo que hagas, debes restaurarlo y probarlo regularmente.

Linode tiene un servicio de respaldo. Las instantáneas se pueden tomar en un horario predefinido limitado o con una API.

Una ventaja de las copias de seguridad basadas en instantáneas es que ofrecen un punto preciso en el tiempo, ya que los datos no cambian mientras se realiza una copia. Las instantáneas también se pueden restaurar fácilmente a un host diferente, un nuevo Linode en este caso.


Linux
  1. ¿Cómo verificar el progreso de la ejecución de Cp?

  2. ¿Cómo programar un comando Rsync?

  3. Cómo verificar si Telnet se está ejecutando en un servidor

  4. Cómo configurar grupos de recursos para el servidor MySQL que se ejecuta en Linux

  5. ¿Cómo puedo averiguar qué sistema operativo de servidor está ejecutando un sitio en particular?

Cómo Rsync archivos entre dos servidores Linux automáticamente

Cómo instalar Plex Media Server en Ubuntu 16.04 Server/Desktop

Cómo detener un servidor de spam

Cómo revertir un servidor en la nube

Cómo configurar un demonio Rsync en su servidor Linux

Cómo usar Rsync para copiar/sincronizar archivos entre servidores