
Parece que puedo realizar con éxito un pvcreate sobre un dispositivo de bloque sin formato, sin siquiera dar el paso de crear una tabla de particiones. Luego puedo crear un grupo de volúmenes, un volumen lógico y finalmente un sistema de archivos, montarlo y probarlo mediante dd.
Parece funcionar, pero necesito una verificación de cordura. ¿Es una mala idea?
¿Cómo creo una tabla de particiones GPT o MBR encima de un dispositivo de bloque sin formato?
¿Cómo uso parted para mostrar qué tipo de tabla de particiones se está utilizando? He intentado hacer:
separado, selecciono /dev/sdb, imprimo y obtengo:
Error: /dev/sdb: etiqueta de disco no reconocida
Sin embargo, la unidad está actualmente en uso y puedo leer y escribir en ella. ¿Es ese el resultado esperado cuando se realiza LVM sobre un dispositivo de bloque sin formato sin una tabla de particiones? ¿Alguna idea?
¡Gracias!
Respuesta1
Incluso si a LVM no le importa tener una partición real, una razón para crearla de todos modos es informar a los programas de partición que hay "algo allí". Un escenario de pesadilla es que un nuevo administrador de sistemas diagnostique un problema de arranque en un servidor, inicie un programa de particionado, vea discos no particionados y concluya que la unidad está dañada.
No veo ningún inconveniente en crear una partición LVM. ¿Tú?
Respuesta2
Si bien puedes simplemente crear un pv a partir de un dispositivo de bloque sin formato, normalmente trato de evitarlo, ya que puede causar confusión sobre para qué se utiliza el dispositivo de bloque. También puede romper algunas de las rutinas de descubrimiento automático que LVM puede usar si faltan sus archivos de configuración.
A continuación se muestra un ejemplo del uso de parted para crear un GPT con 1 partición que es toda la unidad y configurar el indicador de partición en lvm. mkpart requiere que especifique un sistema de archivos pero no crea el sistema de archivos. Parece ser un error de larga data en la separación. Además, el desplazamiento inicial de 1 M es para garantizar que obtenga una alineación adecuada.
parted /dev/sdb
mklabel GPT
mkpart primary ext2 1M 100%
set 1 lvm on
Respuesta3
Incluso si en el pasado usaba la etiqueta de disco MS-DOS o la etiqueta de disco GPT para PV, ahora prefiero usar directamente LVM en el dispositivo de bloque principal. No hay razón para usar 2 etiquetas de disco, a menos que tenga un caso de uso muy específico (como un disco con sector de arranque y partición de arranque).
Las ventajas de tener LVM directamente son:
- simplicidad: no es necesario utilizar 2 juegos de herramientas
- flexibilidad: puede usar pvmove para mover los datos de un volumen de disco a otro sin tiempo de inactividad, puede usar instantáneas y aprovisionamiento ligero
- no necesita ejecutar partprobe o kpartx para decirle al kernel que creó/cambió el tamaño/eliminó un volumen. Ypartprobe/kpartx podría fallarsi las particiones están en uso y es posible que necesite reiniciar
- tal vez un mejor rendimiento, en comparación con el uso de LVM sobre discos MS-DOS o GPT
- evita una posible desalineación si la partición creada con fdisk no está alineada con las extensiones del volumen subyacente (por ejemplo, matriz RAID)
Respuesta4
Según la guía LVM de RedHat, sección 4.2.1 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/logic_volume_manager_administration/physvol_admin
Dijeron que no es necesario tener la tabla de particiones, incluso nos sugieren que la destruyamos si usamos todo el disco para VG (grupo de volúmenes), a menos que solo tengamos la intención de incluir solo partes del mismo (partición).