Reservar espacio libre en el grupo ligero de LVM para la VM de administrador

Reservar espacio libre en el grupo ligero de LVM para la VM de administrador

Mi objetivo es una configuración predeterminada para el aprovisionamiento ligero de LVM que sea lo suficientemente flexible como para reservar un margen de seguridad para un administrador VM LV (VolA) frente a los usuarios LV (VolU1, VolU2, VolU3...) incluso si hay varios administradores (en instalaciones separadas) utilizan cantidades muy diferentes de espacio en disco en sus respectivas máquinas virtuales de administración.

Por ejemplo, un administrador puede usar 4 GB en el VolA del Sistema1, pero otro administrador puede usar 50 GB en el VolA del Sistema2. Esto significa que un volumen de tamaño fijo de 50 GB sería inaceptable para el primer administrador (y viceversa), por lo que es necesario colocar VolA en el grupo reducido con los otros volúmenes de VM de "usuario" para mayor flexibilidad. No es posible realizar instalaciones a medida para estos sistemas.

Más requisitos:

  • La VM de administración es el host de almacenamiento y se ejecuta desde el grupo fino.
  • Las máquinas virtuales de los usuarios ocupan el mismo grupo
  • Sobreprovisión; todos los tamaños virtuales LV = tamaño del disco físico.

El problema ocurre cuando la inexperiencia del usuario, errores o intentos de DoS en las máquinas virtuales del usuario causanasignación de todo el espacio libre restantepara sus volúmenes de usuario (VolU1, VolU2, etc.) y deja a VolA sin espacio libre y la VM de administrador no puede iniciar o funcionar normalmente.

La solución/a prueba de fallos debe ser lo más automática y pasiva posible. Una solución ideal podría ser una propiedad LVM establecida para todos los LV de los usuarios, permitiéndoles asignar espacio solo cuando poolFree < N, mientras que VolA no tiene tal restricción. Pero no he podido encontrar dicha característica en Linux LVM y necesito sugerencias.


Después de investigar un poco, parece que una solución podría implicar el uso de una configuración para dmeventdejecutar comandos (como "pausar todas las máquinas virtuales") cuando se alcanza un umbral. Una página de manual más nueva que dmeventdencontré en línea dice que esto es posible con dmeventd/thin_commandla configuración en lvm.conf; Parece que esta característica se agregó en mayo de 2017, por lo que tendría que encontrar un puerto posterior.

Otra opción podría ser agregar una regla como la siguiente a rsyslog.conf:

:msg, contains, "some dmeventd message"  ^my_pause_vm_script

Respuesta1

Si desea evitar que los usuarios sobreasigne el mismo grupo reducido que su host de administración, es posible que desee adoptar un enfoque diferente con esta asignación.

Podría separar las cargas de trabajo administrativas en un grupo reducido independiente. Y si está sobreasignando, generalmente es un buen enfoque proporcionar almacenamiento de respaldo asignable de manera más elástica a sus grupos para lidiar con la sobreasignación temporal. Una buena manera fácil de hacerlo sería reservar algunos LUN grandes y lentos como PV de "emergencia" barato para sus grupos.

Sé que LVM puede hacer esta expansión de emergencia usando su propia configuración, pero estoy escribiendo esto en un sándwich de jamón que apenas puede salirse de su camino, así que tendré que encontrar esa documentación más adelante.

información relacionada