¿Cómo crear una imagen de un sistema Live a través de ssh?

4

Tengo una pregunta sobre un servidor FreeBSD al que no puedo acceder en este momento. Pero debido a que nos gustaría probar algunas cosas nuevas, primero queremos crear una copia de seguridad de este sistema.

La pregunta es: ¿hay alguna posibilidad de crear una imagen de disco sobre ssh desde todo el disco del servidor que actualmente es un sistema en vivo?

Si hay: me gustaría saber cómo hacer esto.

rfverbruggen
fuente
Posiblemente relevante: superuser.com/questions/410940/…
Der Hochstapler
Gracias por su rápida respuesta, pero este método sigue involucrando el acceso al sistema para live-cd. Necesito hacerlo de forma remota desde mi casa, mientras el servidor está en la empresa.
rfverbruggen
Sí, entiendo eso. El resultado de la pregunta que mencioné podría ser un indicador de que lo que está tratando de lograr no es posible.
Der Hochstapler

Respuestas:

4

Realmente no es posible bajo Linux. La razón por la que está en Windows es Volume Shadow Copy.

Si su sistema usa LVM, puede tomar una instantánea y luego rsyncobtener una copia atómica de los archivos, sin embargo, deberá restaurar las particiones / cargador de arranque.

El método más fácil si debe hacerse, es usarlo ddpara copiarlo:

dd if=/dev/sda | ssh user@remotehost 'dd of=/path/to/output'

Y luego, para asegurarse al 100% de que sus archivos están bien, rsyncdesde el que se está ejecutando hasta la unidad en la que ddtenía la imagen una vez que la ha montado. (Me he saltado rsynclas diferencias cientos de veces sin efectos nocivos, pero eso es solo en el acceso al servidor basado en lectura)

Justin
fuente
3

Use dump (8) para crear una instantánea del sistema (archivo).

dump -0aLf /path/to/dumpfile /

Eso creará un volcado en vivo del sistema de archivos raíz y lo guardará en / path / to / dumpfile. Ese volcado se puede transferir a través de ssh a otra computadora. O puede hacerlo de una vez con el uso de esto.

dump -0aLf - | ssh my.backup.server dd of=/path/on/my/server/dumpfile

Eso luego puede ser restaurado por lo siguiente:

cd /where/I/should/restore
restore -xf /path/to/dumpfile

Las aplicaciones como las bases de datos deberán manejarse por separado. Con una base de datos MySQL, por ejemplo, tiene mysqldump para crear un archivo de texto de comandos sql que se pueden ejecutar en otro servidor MySQL para importarlos allí. Otras bases de datos tienen métodos similares.

Stralle
fuente
El segundo comando de volcado no incluye el destino .
artscan
0

si solo hay una raíz-f para copiar simplemente en su máquina de destino, use algo como:

rsync --numeric-ids --delete -vax source_machine:/ /target_dir

dos veces o más seguido La segunda ejecución ya reutiliza las entradas en caché de la primera ejecución, va muy rápido y ofrece una instantánea casi real con algunas restricciones. Puede ver la 'atomicidad' simplemente repitiendo la 'rsync' una cantidad arbitraria de veces. En su mayoría, hay muy pocos archivos (archivos de registro y similares) que realmente cambiaron entre las iteraciones (y, por lo tanto, deben copiarse / eliminarse).

chispa
fuente