Cómo hacer una copy de security de un sistema en ejecución?

Tengo un sistema Linux en ejecución, y me gustaría tener una copy de security completa usando dd , que, en mi limitado conocimiento, es la única herramienta que tiene cada sistema.

La distribución no importa principalmente porque debería aplicar este enfoque a varios serveres diferentes con diferentes sabores instalados, y no puedo instalar nuevo software en estos serveres.

¿Cuál es la forma más genérica y eficiente de completar tal tarea?

No es tanto una solución como unos pocos consejos que pueden ser útiles si se usa tar / cpio / rsync etc. En primer lugar, podría ser una buena idea realizar una copy de security desde un assembly de enlace de su sistema de files de origen ( mount --bind source mntdir ). Esto tendrá un efecto similar al de las --one-file-system para rsync y tar y -xdev con find . Tiene las ventajas de funcionar si estas opciones no están disponibles (quizás debido a una versión anterior, aunque tenga en count que los assemblys de vinculación se introdujeron en Linux 2.4) y permitir respaldar files debajo de los puntos de assembly, lo que puede ser deseable en algunos casos.

En segundo lugar, aconsejaría utilizar fluidos numéricos y gids siempre que sea posible ( --numeric-owner para tar , --numeric-ids para rsync y --numeric-uid-gid para cpio ). Si restaura una copy de security sin esto y un propietario / grupo ya no existe o el uid / gid es diferente (esto puede suceder especialmente si se utiliza un disco en vivo para restaurar la copy de security), puede tener un set de uids / gids cuando restauración que se vuelve inválida después de restaurar /etc/passwd y /etc/group .

Además, eche un vistazo a clonezilla . Los methods que utilizan para hacer la mayor parte de la copy de security pueden no ser útiles para usted, pero cuando se ejecutan tienen opciones para realizar copys de security de sectores de arranque / tablas de particiones y admiten tanto MBR como GPT, por lo que puede haber algunos scripts que pueden ser copydo / adaptado a tus propósitos.

Como 2 centavos finales, consideraría que rsync es la forma estándar de hacerlo. Sin duda, es el método más eficiente cuando se realizan copys de security incrementales, aunque no tanto para una copy de security completa. Claro, no es omnipresente, pero creo que es un error no includelo en la edición de server de una distribución. Es posible que ya esté instalado en todos sus serveres.

Usar dd puede, en mi experiencia, causar problemas al restaurar más adelante porque lee los datos en un nivel de bloque desde el dispositivo, mientras que el sistema de files puede estar actualizando bloques en un order diferente. Esto da como resultado errores del sistema de files en el dispositivo restaurado. También requiere que restaure a un dispositivo de bloque (o bien monte la image en bucle), por lo que no es tan flexible para restaurar.

Siempre hay problemas cuando se realiza una copy de security de un sistema en ejecución que no admite instantáneas en el nivel del sistema operativo, pero he tenido less problemas al usar cpio (y el uso de tar sería el mismo). Puede haber files incompletos o no sincronizados entre sí, pero el sistema de files subyacente en sí no tendrá errores. Otra alternativa a dd es rsync si tienes eso. Usted hace una especie de instantánea a una unidad / server diferente. Con find y cpio es fácil generar un file de timestamp y hacer una segunda ejecución con los files modificados después de la timestamp (esto se ejecuta mucho más rápido que el original y da less posibilidades de que los files se desincronicen entre sí), el mismo se puede hacer con volver a ejecutar rsync Ni cpio ni rsync ocupan del sector de arranque, etc. debe encargarse de eso por separado. dd es bueno para eso ya que rara vez cambia mientras ejecuta dd .

Para una configuration restaurable completa hago un volcado de la partición ( fdisk -l o parted -l ), una copy del sector de arranque, una list de types de sistema de files por partición y files .tar generados por cpio del contenido de las particiones (todos grabado en un CD / DVD). La restauración implica el inicio desde un CD de vida, la restauración del sector de inicio, la partición de la unidad, el formateo de las particiones y la restauración de las particiones de tar. (Debería poder hacer eso sin la restauración del sector de arranque instalando grub después de la restauración de varios files .tar )