GNU/Linux >> Tutoriales Linux >  >> Linux

LVM y clonación de HD

Estoy de acuerdo con una de las respuestas anteriores:ejecutar dd en todo el disco no es una gran solución aquí. Si la razón por la que está atascado en dd tiene que ver con la copia de seguridad de otro sistema operativo, entonces puede usar dd solo para esas otras particiones del sistema operativo y rsync para las particiones de Linux.

Parte del problema es que si ejecuta dd de todo el disco mientras tiene sistemas de archivos instalados y montados, no hay forma de garantizar que la copia de seguridad sea consistente. Puede funcionar 9 de cada 10 veces, pero bajo cualquier carga, la copia de seguridad resultante podría dañarse. La única forma de asegurarse de que esto no suceda es desmontar todos los sistemas de archivos y desactivar todos los grupos de volúmenes durante todo el tiempo que se ejecuta el dd. No es muy conveniente si su / está montado desde LVM.

En cualquier caso, si insiste en seguir este enfoque, la herramienta que está buscando para cambiar el nombre de un vg duplicado se llama "vgimportclone". Está diseñado para usarse con instantáneas a nivel de dispositivo, pero también funcionará con dd.


Cerrando este número, después de un año. He escrito la respuesta en mi sitio web personal. Espero que sea útil para alguien más.

Uso varios niveles de copia de seguridad, desde rsync a un disco externo hasta rsync+ZFS en una computadora remota. Una de las copias de seguridad que hago es -de vez en cuando- "dd" desde el disco duro de mi computadora portátil a un USB externo conectado (conectado solo durante la duración del procedimiento de copia de seguridad). Hago esto, por ejemplo, antes de llevar mi computadora portátil a un viaje.

Este procedimiento funcionó bien durante años. Hasta que comencé a usar LVM en mi computadora portátil.

Si usa LVM en su computadora, copia su disco duro usando dd (arrancando desde un LiveCD) y conecta el disco duro externo mientras la computadora está funcionando normalmente, más tarde, ¡¡¡CORRUMPARÁ SUS DATOS, INCLUSO PERDERÁ TODO SU SISTEMA DE ARCHIVOS MÁS ALLÁ DE CUALQUIER REPARACIÓN!!!.

¿Por qué?. Porque cuando conecta el disco duro externo, el sistema operativo verá la misma configuración de LVM en ambos discos y asumirá ingenuamente que ambos discos son iguales, accesibles a través de un enlace de múltiples rutas, por lo que distribuirá lecturas y escrituras entre ambos discos, corrompiendo irremediablemente AMBOS. ¡Tirarás a la basura tanto tus datos en vivo como tu copia de seguridad!.

Esto me pasó una vez. Perdí datos. Tenía otras copias de seguridad de unos días antes, por lo que no perdí nada muy importante, pero fue bastante molesto y expuso una falla en mi estrategia de copia de seguridad.

Solución:asegúrese de que la configuración de LVM en el disco de respaldo sea diferente. El problema es... ¿Cómo hacerlo?

Publiqué la pregunta en superuser.com (Stack Exchange) pero no obtuve ninguna buena respuesta. Así que desarrollé mi propio procedimiento y, después de más de un año de probarlo, lo publico aquí y cierro la pregunta original:

  • Asegúrese de que si algo sale mal, su computadora no se iniciará automáticamente. En mi caso, mi computadora portátil no arranca automáticamente si se apaga y se vuelve a encender. Además, el disco duro está encriptado, por lo que le pedirá una contraseña.

    Esto es necesario porque puede dañar AMBOS discos si reinicia con el disco de respaldo conectado antes de completar el procedimiento.

  • Arrancar desde un Live CD. No puede hacer un "dd" desde una partición en vivo, si espera poder recuperar sus datos :-).

    Algo para probar en el futuro sería usar instantáneas de LVM para poder hacer la copia de seguridad mientras estoy usando la computadora, pero luego tengo el problema de LVM duplicado, que estoy tratando de evitar aquí. Otra opción sería reconfigurar LVM para reflejar los datos en vivo en el disco duro externo y romper el espejo después de que se complete la sincronización. Pero eso suena arriesgado y no haría una copia de seguridad de mi partición de Windows ni de los datos que no guardo en los volúmenes LVM.

  • Después de iniciar el LiveCD, conecte el disco duro USB externo.

  • Inicie sesión como "root" y ejecute vgchange -a n . Este comando deshabilitará LVM en ambos discos. Ejecuto el comando un par de veces, para estar seguro.

  • Asegúrese de /dev/sda es la fuente (disco duro interno) y /dev/sdb es el destino (disco duro externo USB). Por ejemplo, haz dd if=/dev/sdb of=/dev/null y compruebe qué LED de disco duro parpadea.

  • Cuando esté seguro de qué disco es cuál, haga la copia con dd if=/dev/sda of=/dev/sdb bs=65536 . Con mi configuración, la copia de seguridad tarda cuatro horas. Mi disco duro interno es de 500 GB y mi USB copia a 35 MB/s. Hago esto por la noche, mientras duermo.

    Su disco duro USB externo debe ser, AL MENOS, tan grande como su disco duro interno. Es obvio, ¿no?

  • Una vez realizada esta copia, tendrá un clon exacto de su disco duro interno. La copia de seguridad está hecha. Pero ahora tendrá un problema si alguna vez conecta este disco duro a su computadora mientras está trabajando con su disco duro interno, como ya se describió. Necesitamos cambiar la configuración de LVM.

  • Ahora, después de que "dd" haya terminado, "sincronice" y desconecte el disco duro UDB externo.

  • Ejecutas pvchange --uuid /dev/sda* . Este comando cambiará el UUID de todos los volúmenes físicos en su disco duro interno. Este comando es seguro incluso si tiene particiones que no son volúmenes físicos para LVM, ya que se omitirán de forma automática y segura.

    El sistema sabe qué particiones son volúmenes físicos debido al tipo de partición y porque ejecutó "pvcreate" cuando creó el LVM.

  • Ejecutas vgchange -u LVM . Este comando cambiará el UUID del grupo de volúmenes LVM. Por cierto, mi grupo de volumen se llama "LVM".

  • Ejecutas vgscan . Este comando escaneará el disco duro interno (el único conectado actualmente) y ubicará allí su grupo de volúmenes LVM.

  • Ejecutas vgrename LVM LVM2 , para cambiar el nombre de su grupo de volumen.

  • Ahora conecta su disco duro USB externo.

  • Usted "vgscan" nuevamente, esta vez para ubicar el Grupo de volumen en el disco duro USB externo. Ahora tendrá dos grupos de volumen. Uno llamado "LVM2" en su disco duro interno y otro llamado "LVM" en su disco duro externo USB.

  • Cambie el nombre del grupo de volúmenes en el disco duro USB externo con vgrename LVM LVM_BACKUP .

  • Y cambie el nombre del grupo de volúmenes en el disco duro interno al nombre original:vgrename LVM2 LVM .

  • Estás listo. Puedes revisar la situación con vgdisplay -v .

    Verá que los UUID de los volúmenes lógicos son los mismos en ambos grupos de volúmenes, pero eso no parece causar ningún problema y no sé cómo cambiarlos.

  • Desconecte su disco duro USB externo, guárdelo en un lugar seguro, reinicie su computadora, expulse el LiveCD y vuelva a trabajar.


Linux
  1. ¿Recortar con Lvm y Dm-crypt?

  2. ¿Reducir el tamaño de Lvm /tmp a 10 gy agregar todo a / Root Dir?

  3. Grep y cola -f?

  4. Los comandos LVM fallan con "Error al cargar el archivo de configuración /etc/lvm/lvm.conf"

  5. LVM y rutas múltiples:ejemplos de cadenas de filtro LVM

Instalar Linux con LVM

Uso de LVM para administrar volúmenes físicos, grupos de volúmenes y volúmenes lógicos:preparación de objetivos de RHCSA

Crear y ampliar el sistema de archivos XFS basado en LVM

Una guía para principiantes de LVM

Copia de seguridad y restauración de instantáneas LVM en Linux

¿Usando fsck para verificar y reparar el disco encriptado LUKS?