¿Es posible convertir una caja de Linux a LVM después del hecho?

17

Mi servidor Linux usa LVM porque reemplacé la máquina hace un año y la instalé desde cero. LVM ha sido un salvavidas y me encanta su flexibilidad. Sin embargo, mi computadora portátil Linux se instaló por última vez hace tres años y, por lo tanto, utiliza particiones rectas.

¿Es posible, sin una reinstalación, convertir un sistema existente a LVM? Si es así, ¿qué herramientas pueden hacer este trabajo?

Espero que cualquier sistema de archivos que se comparta con Windows en un sistema de arranque dual no pueda ser LVM. Si me equivoco, avíseme, pero me sorprendería.

Eddie
fuente

Respuestas:

11

Si, esto se puede hacer.

Sí, puede usarlo para un sistema de Windows de arranque dual, siempre que haga de Windows la primera partición, y es una partición primaria (no extendida dentro de una lógica). Mis instrucciones aquí no cubren esta situación, que requiere que tengas algo de experiencia con el arranque dual. Si buscas una configuración de arranque dual de Windows / Linux, no sigas ningún consejo debajo de este punto.


Iré uno mejor: con solo unas pocas excepciones, debería poder migrar toda su computadora portátil en vivo , siempre que use una unidad externa con suficiente capacidad.

¡Advertencia! ¡Este procedimiento es EXTREMADAMENTE PELIGROSO! Se supone que tiene un conocimiento íntimo del proceso de partición, tiene una partición separada / de arranque y sabe que un intento fallido puede dejarlo con una instalación dañada en el cerebro ¡QUE NO ARRANCARÁ! ¡USTED HA SIDO ADVERTIDO!

Necesitarás:

  • / boot ubicado en una partición separada. Si tiene un sistema de archivos raíz combinado (todo está relleno en /), entonces esto no funcionará.
  • La capacidad de arrancar desde un disco duro USB.
  • una unidad externa lo suficientemente grande como para contener todos los datos y programas en su sistema existente. Asegúrese de ejecutar un "du /" y espere el resultado final, para tener una idea real del tipo de espacio que necesitará.

Procedimiento general (perdóname por falta de algunos comandos, estoy escribiendo esto muy rápido):

  1. Conecte la unidad externa y busque el nombre de su dispositivo. Supongamos que lo ves como / dev / sdb.
  2. Crea dos particiones en tu disco externo. En nuestro ejemplo, esto se mostrará como / dev / sdb1 y / dev / sdb2.

    separado / dev / sdb

  3. Formatee la primera partición como ext2 o ext3, y etiquete "boot". Formatee la segunda partición en la unidad externa como tipo "Linux LVM".

  4. Obtenga el volumen LVM recién acuñado reconocido por el sistema utilizando

    pvscan; vgscan

  5. Recorte una porción lo suficientemente grande del volumen LVM externo para contener todo el disco duro de la computadora portátil. En caso de duda, utilice todo el espacio disponible.

  6. Formatee su volumen basado en LVM como ext3 o cualquier sistema de archivos que le guste.

    mke3fs / dev / ExternalUSBVolume / ExternalRoot

  7. Para cada montaje de sistema de archivos no especial , cree un directorio en su disco externo y copie (con atributos) todos sus archivos en cada montaje en ese disco. Ignora copias de puntos de montaje como / proc, etc., ya que son "especiales".

  8. cree los puntos de montaje especiales a mano, para que existan en su unidad externa. No los llene, solo asegúrese de que los nombres y permisos coincidan.
  9. (Con mucho cuidado) use su gestor de arranque para instalar una imagen de arranque en su unidad externa, en la partición / boot. Este proceso es un poco complejo, así que te dejaré que encuentres la información en otro lugar. También es peligroso si lo estropea, podría terminar intentando sobrescribir su cargador de arranque en la unidad de su computadora portátil. Ten cuidado.
  10. Reinicia tu laptop. Cuando esté pasando por la POST, asegúrese de especificar la unidad externa como su unidad de arranque. En este momento, debe tener una réplica cercana (más o menos) del disco de su computadora portátil. (para los otros administradores: sí, lo sé, los archivos de registro y otros no están en un estado 100% copiado, pero ese no es el énfasis aquí ... está en mover los datos y las herramientas ...)
  11. Una vez que pueda arrancar desde la unidad externa, puede usarla para limpiar la unidad de su computadora portátil. En este punto, estás "viviendo fuera" de tu disco externo. Mantén esto en mente.
  12. Luego, use un editor de particiones - gparted o lo que sea - para eliminar las particiones originales de la computadora portátil (datos de adiós ...), luego marque su área recién acuñada como "LVM". Realice el proceso de obtener su volumen LVM reconocido, particionado, formateado, etc.
  13. Usando el proceso de duplicación de LVM, refleje su sistema en vivo (que actualmente se encuentra en la unidad externa) de nuevo a la unidad portátil. Tome un descanso para almorzar (o dos) para esto, ya que llevará tiempo.
  14. Vuelva a montar el sistema de archivos en vivo, moviendo el sistema de archivos / desde la unidad externa al volumen LVM de su computadora portátil.
  15. Vuelva a ejecutar el proceso de instalación del cargador de arranque. Esto es crítico ya que el disco RAM actual no tendrá la configuración correcta y no sabrá que ha movido las cosas. De lo contrario, el sistema no se podrá iniciar y se visitará un disco de rescate. Si todo lo demás falla, puede reiniciar desde su unidad externa de nuevo (nada perdido ...)
  16. Reinicie la computadora portátil sin la unidad externa conectada y, en su lugar, especifique la unidad interna de la computadora portátil. Debería arrancar bien. Tenga en cuenta todo lo que se siente o parece herido o roto (no debería haber nada), y arréglelo.
  17. Siéntese y disfrute de una bebida por un trabajo bien hecho.
Avery Payne
fuente
3
Por supuesto, es posible realizar una migración en vivo al almacenamiento externo (si es lo suficientemente valiente, incluso puede pivotar el sistema en ejecución al disco externo y viceversa sin reiniciar: D); haciendo todo el proceso desde un CD en vivo debe ser menor de error aunque propensa (por ejemplo SFS virtuales fuera del camino ...)
Luca Tettamanti
2
Y, por cierto, LILO y la nueva versión de GRUB (la que eventualmente se convertirá en 2.0) tienen soporte nativo para LV, sin necesidad de una partición separada / de arranque.
Luca Tettamanti
Lo sé. Pero pensé "más vale prevenir que curar". Tener una partición nativa hace que arreglar las cosas sea un poco más fácil. Quizás el OP tiene que usar una herramienta basada en Windows que no entienda LVM (muchos no), en cuyo caso, al menos puede modificar menu.lst con grub, etc., según sea necesario. Pero gracias por el aporte! :)
Avery Payne
6

Recientemente escribí bloques (née lvmify) que hace esta conversión en el lugar. Toma una sola partición, reduce el sistema de archivos si es necesario, mueve el inicio del sistema de archivos al final de la partición y copia un superbloque LVM (preconfigurado con el PV / LV / VG correcto) en su lugar. Si tiene varias particiones, la fusión de los grupos de volúmenes recién creados se realiza con vgmerge. No puede funcionar en sistemas de archivos montados.

Gabriel
fuente
2
Acabo de migrar mis 2 particiones ext4 (un total de 120 GB) a LVM en aproximadamente 2 minutos usando bloques. Trabajado sin problemas.
Amr Mostafa
3

La forma más fácil de mover un sistema Linux a LVM es usar un disco externo (USB, eSATA) y un sistema basado en CD-ROM como grml para mover todos los datos de la PC al disco externo, luego volver a particionar la PC con LVM Finalmente, vuelva a copiar todo y configure y vuelva a instalar grub en el MBR.

Este procedimiento es un poco complicado, pero siempre tiene los datos en la unidad externa y el CD-ROM para iniciar su sistema.

Como espera correctamente, Windows no puede acceder a ningún volumen LVM.

David Schmitt
fuente
1

Comenzando desde abajo: no, Windows no puede leer volúmenes lógicos LVM (particiones).

Si tiene un disco de repuesto que se puede usar como almacenamiento temporal, es solo cuestión de arrancar desde un CD en vivo, copiar los datos a la ubicación temporal, crear uno o más LV y volver a colocar los datos. No es práctico (pero posible) hacer una conversión in situ a LVM; básicamente, debe reducir la partición anterior y cambiar el tamaño del LV varias veces (y el LV final se fragmentaría)

Luca Tettamanti
fuente
1

Tiene una instalación de varios años en una computadora portátil. Es una propuesta perdedora convertirlo a LVM. Haga una copia de seguridad de sus datos, reinstale y vuelva a copiar sus datos. Tendrá un sistema limpio con nuevo software y sus datos.

Si no puede hacer esto porque no sabe dónde están sus datos, tiene un gran problema y esta es su oportunidad de resolverlo.

carlito
fuente
1

http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ tiene una forma interesante de migrar un fs en vivo. Agréguelo como parte de un grupo RAID-1, que el sistema operativo reflejará en el otro dispositivo (que podría ser un volumen lógico LVM). Está un poco anticuado, así que no sé si eso todavía funcionaría.

Brian Minton
fuente
0

Probablemente tendrá que hacer una copia de seguridad de los datos en otra unidad o partición (¿o iso?), Crear el contenedor LVM y luego restaurar los datos en el contenedor.

Brent
fuente