Bricolaje 3. Migración de los sistemas de ficheros al los volúmenes LVM

2020-11-19T06:45:39+01:00 | 6 minutos de lectura | Actualizado en 2020-11-19T19:13:11+01:00

Bricolaje 3. Migración de los sistemas de ficheros al los volúmenes LVM

Como decíamos el otro día

En el artículo anterior, https://www.yovirtualizador.com/posts/2020/20201112 dejé pendientes muchas cosas.
Al menos el disco quedó particionado.

Revisando la configuración

Puesto que ya tenemos el disco particionado y los volúmenes creados, solo nos queda revisar. La información que vuelca lvdisplay es extensa y solo nos interesa una parte, así que filtramos un poco por medio de lvdisplay | grep LV

vigesimoprimera captura

Lo cual nos da una idea de que volúmenes tenemos y su tamaño.
El UUID del LV no nos interesa ni nos es útil directamente en este momento.
Lo que necesitamos es el UUID del sistema de ficheros, del disco formateado en cada volumen.
Se obtiene con blkid

vigesimosegunda captura

Ups, me faltaba crear el filesystem del último volumen. No pasa nada puesto que el comando mkfs también devuelve el UUID.

Nos quedan:

Volumen UUID Destino Tamaño
/dev/vg_microarm/lv_var 8654c8a3-61ae-41e4-adaa-92a98c99a653 /var <306GiB
/dev/vg_microarm/lv_var_log d75e552e-60fa-4251-9f72-b23e21cd4a92 /var/log 10GiB
/dev/vg_microarm/lv_home 8730219a-aa01-40fc-ba8c-09beb2f39dce /home 150GiB

Moviendo datos

Toca echar a todos los usuario y quedarnos solos, en modo monousuario.
Para ello se inventaron los niveles de ejecución. Son simples así que los repaso por si acaso

Existen varios modos de trabajo:

Run level 0 is matched by poweroff.target (and runlevel0.target is a symbolic link to poweroff.target).
Run level 1 is matched by rescue.target (and runlevel1.target is a symbolic link to rescue.target).
Run level 3 is emulated by multi-user.target (and runlevel3.target is a symbolic link to multi-user.target).
Run level 5 is emulated by graphical.target (and runlevel5.target is a symbolic link to graphical.target).
Run level 6 is emulated by reboot.target (and runlevel6.target is a symbolic link to reboot.target).
Emergency is matched by emergency.target.

Texto extraido de la documentación de systemd

los modos 2 y 4 no son habituales. Son como el 3 y 5 pero sin red, por lo tanto han dejado de tener la utilidad que tenían hace bastante tiempo, como cuando se usaban consolas de serie parar los terminales de usuario en lugar de conexiones de red. Recuerdo que Xenix corría en modo 2 cuando teníamos los terminales por RS232. Mi primer Unix.

Hay 2 formas de ver en que estado nos encontramos, porque habrá que volver a ese mismo estado.
A la antigua: who -r
Con systemd: systemctl get-default

vigésimotercera captura

Para el cambio, si usamos systemd, no deberíamos usar init, así que sabiendo que estamos en runlevel 3 porque me lo ha chivado who o en multi-user.target porque me lo ha dicho systemctl, vamos a cambiar al runlevel 1 o rescue.target

Para eso…
systemctl isolate rescue.target

vigésimocuarta captura

Nos pedirá la contraseña de administrador. ¿Quien recuerda a qué se parece esta pantalla?
A partir de este momento, dejo la sesión por red y me paso a una consola local, en este caso putty por rs232, es mas cómodo para mi que poner una pantalla y teclado, y andar sacando fotos.
Ale, ya podemos empezar a mover cosas.

Lo primero es que vamos a mover el /home
Para ello, montamos el dispositivo en /mnt y copiamos el contenido.

vigésimoquinta captura

Debería comprobar cada permiso, pero ya por experiencia se que el comando se lleva todo.
Los otros permisos son los de selinux, y si, trabajo con ello, así que voy a comprobarlos.

ls -alZ contra origen y destino me vuelca datos suficientes para tener información.

vigésimosexta captura

Coincide, excelente.

Hay varias formas sw copiar, y en este artículo uso cp con parámetros de dos formas distintas pero són absolutamente equivalentes para lo que estamos haciendo. Necesito que sea recursivo, que conserve los permisos, y que también conservar los otros permisos.
cp -apxrf /home/* /mnt Lo que queremos es que el directorio quede en la raíz, por lo que es importante el *.
Desmontando el FS en /mnt podemos seguir.

El siguiente va a ser el de los logs. Montar y copiar. Y luego el /var.
Para demostrar que hay más variantes que funcionan con un resultado satisfactorio, cp -rv --preserve=context /var/log/* /mnt con la misma consideración. El * es importante.

vigésimoséptima captura

Puntos de montaje

Con los 3 FS copiados, vamos a editar los puntos de montaje. Esto se hace en /etc/fstab.
Yo uso nano, el editor por defecto, pero podéis usar cualquier cosa, incluso echo.

Voy a añadir las líneas que corresponden a mi sistema:

UUID=8730219a-aa01-40fc-ba8c-09beb2f39dce   /home   ext4    defaults    0 2
UUID=8654c8a3-61ae-41e4-adaa-92a98c99a653   /var    ext4    defaults    0 2
UUID=d75e552e-60fa-4251-9f72-b23e21cd4a92   /var/log    ext4    defaults    0 2

El orden es importante, puesto que tenemos un FS anidado, lo que vamos a hacer es montar desde la ruta más corta a la más larga, por tema de dependencias.

Si fuera un disco ssd, además de defaults, debería llevar noatime, como lo lleva el disco eMMC y discard para hacer TRIM, pero como es un disco mecánico, la mejor opción es la opción por defecto.

Si en vez de usar el UUID queremos usar etiquetas, podemos usar e2label y el dispositivo para asignar un nombre. Personalmente no me gusta puesto que puede provocar algún problema menor con mi forma de trabajar.

Queda un tanto así:
vigésimooctava captura

Para establecer los nuevos puntos de montaje, y como he copiado el contenido en lugar de moverlo, vamos a renombrar tanto /home como /var y crearemos nuevos directorios para esos puntos de montaje.

Pero, aquí viene lo complicado, selinux determina que no todo directorio puede albergar un /home, o un /var, incluso llamándose así.

Tal como se ve, me lo ha dejado unconfined y default.

vigésimonovena captura

Si copio la raíz, solo la raíz, del /home, me dejará el directorio con los permisos correctos. Lo podemos comprobar y queda correcto de tipo system_u y home_root_t, con ls -alZ /

trigésima captura

Lo mismo aplicamos a /var. Lo vemos en su interior puesto que es la otra cara del directorio . y tiene los permisos correctos.

trigésimoprimera captura

Poniendo en producción

Para volver, podría muy bien regresar a funcionamiento convencional con systemd, esto es ideal si no podemos permitirnos un reinicio.
Para ello habría que probar los montajes con mount -a y si está todo correcto, podemos volver con systemctl isolate multi-user.target dado que el sistema me había chivado que vengo de ahí, del runlevel 3.
Pero en mi caso, por higiene, voy a reiniciar.

trigésimosegunda captura

Una vez reiniciado y comprobado, vemos que los discos aparecen correctamente montados, lo vemos con mount | egrep 'sd[a..z]|mmc|mapper' y vamos a pedirle más datos, como por ejemplo el espacio disponible.

trigésimotercera captura

Como podemos apreciar, ya tenemos un sistema repartido entre una eMMC y un disco mecánico, con capacidad para mucho, y en un tiempo record.
Como esto lo voy a replicar en vídeo, dejo abierto para preguntas, sugerencias y modificaciones.


YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://wt.territoriolinux.es/rss/short.xml
Y sin más, os dejo los enlaces:

Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml
Canal de youtube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg
Enlace de afiliados de amazon: https://amzn.to/3gX3HmK
Enlace de referidos de la Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70

© 2019 - 2025 YoVirtualizador

Tu podcast y blog de confianza

Copyright

copyright = ‘Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0)

Políticas

Políticas del sitio web YoVirtualizador

Datos actualizados a enero de 2021

YoVirtualizador es la marca de varios proyectos

Podcast de informática profesional. Canal de Youtube sobre el blog, el podcast y de temática profesional. Blog de contenido diverso, con temática BOFH y técnica.

Gracias por la lectura.

En YoVirtualizador no usamos cookies para nada, pero los servicios de discus y analytics recopilan datos en servidores ajenos a YoVirtualizador sin que yo pueda hacer nada.

Este aviso es sólo porque algún político tenía que justificar su existencia, y ahora además hay que redactar.

Legislación aplicable:

  • Artículo 22 de la Ley 34/2002, de 11 de julio, de servicios de la sociedad de la información y de comercio electrónico (LSSI).
  • Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo, de 27 de abril de 2016, General de Protección de Datos (RGPD)
  • Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos y garantía de los derechos digitales (LOPDGDD)

Definición y función de las cookies ¿Qué son las cookies? Una cookie es un fichero que se descarga en su ordenador al acceder a determinadas páginas web. Las cookies permiten a una página web, entre otras cosas, almacenar y recuperar información sobre los hábitos de navegación de un usuario o de su equipo y, dependiendo de la información que contengan y de la forma en que utilice su equipo, pueden utilizarse para reconocer al usuario.

¿Qué tipos de cookies utiliza esta página web? Cookies propias: Son aquéllas que se envían al equipo terminal del usuario desde un equipo o dominio gestionado por el propio editor y desde el que se presta el servicio solicitado por el usuario.

Cookies de terceros: Son aquéllas que se envían al equipo terminal del usuario desde un equipo o dominio que no es gestionado por el editor, sino por otra entidad que trata los datos obtenidos través de las cookies.

(Lea también: CÓMO UTILIZA GOOGLE LA INFORMACIÓN DE SITIOS WEB O APLICACIONES QUE UTILIZAN NUESTROS SERVICIOS)

Cookies persistentes: Son un tipo de cookies en el que los datos siguen almacenados en el terminal y pueden ser accedidos y tratados durante un periodo definido por el responsable de la cookie, y que puede ir de unos minutos a varios años.

Cookies de análisis: Son aquéllas que bien tratadas por nosotros o por terceros, nos permiten cuantificar el número de usuarios y así realizar la medición y análisis estadístico de la utilización que hacen los usuarios del servicio ofertado. Para ello se analiza su navegación en nuestra página web con el fin de mejorar la oferta informativa, productos o servicios que le ofrecemos.

Cookies publicitarias: Son aquéllas que permiten la gestión, de la forma más eficaz posible, de los espacios publicitarios que, en su caso, el editor haya incluido en una página web, aplicación o plataforma desde la que presta el servicio solicitado en base a criterios como el contenido editado o la frecuencia en la que se muestran los anuncios.

Asimismo es posible que al visitar alguna pagina web o al abrir algún email donde se publique algún anuncio o alguna promoción sobre nuestros productos o servicios se instale en tu navegador alguna cookie que nos sirve para mostrarte posteriormente publicidad relacionada con la búsqueda que hayas realizado, desarrollar un control de nuestros anuncios en relación, por ejemplo, con el numero de veces que son vistos, donde aparecen, a que hora se ven, etc

Revocación y eliminación de cookies Usted puede permitir, bloquear o eliminar las cookies instaladas en su equipo mediante la configuración de las opciones del navegador instalado en su ordenador, en caso que no permita la instalación de cookies en su navegador es posible que no pueda acceder a alguna de las secciones de nuestra web.

A continuación puede encontrar como acceder a la configuración de las cookies en los principales navegadores:

Internet Explorer: Menú Herramientas -> Opciones de Internet -> Privacidad -> Configuración. También puede consultar el soporte de Microsoft o la Ayuda del navegador. Firefox: Menú Herramientas -> Opciones -> Privacidad -> Historial -> Configuración Personalizada. También puede consultar el soporte de Mozilla o la Ayuda del navegador. Chrome: Menú Configuración -> Mostrar opciones avanzadas -> Privacidad -> Configuración de contenido. También puede consultar el soporte de Google o la Ayuda del navegador. Safari: Menú Preferencias -> Seguridad. También puede consultar el soporte de Apple o la Ayuda del navegador.

En YoVirtualizador todos los comentarios serán bienvenidos pero moderados.

Respetos guardan respetos.

El contenido irrelevante u ofensivo será eliminado.

A partir de esta modificación queda deshabilitado el servicio de comentarios de la web.

Galletas

Política de cookies

En YoVirtualizador no usamos cookies para nada, pero los servicios de discus y analytics recopilan datos en servidores ajenos a YoVirtualizador sin que yo pueda hacer nada.

Este aviso es sólo porque algún político tenía que justificar su existencia.

Si hace clic en un enlace de afiliado y compra un producto o servicio, es posible que ese comerciante nos pague una tarifa.

Política de comentarios

En YoVirtualizador todos los comentarios serán bienvenidos pero moderados.

Respetos guardan respetos.

El contenido irrelevante u ofensivo será eliminado.

Acerca de YoVirtualizador

YoVirtualizador es la marca de varios proyectos

Podcast de informática profesional. Canal de Youtube sobre el blog, el podcast y de temática profesional. Blog de contenido diverso, con temática BOFH y técnica.

Gracias por la lectura.