De mi Manual de Proxmox VE 4.x: Opciones de personalización lógica del disco duro físico donde se aloja el sistema operativo de Proxmox VE (Revisitado)

Saludos nuevamente.

Este es otro epígrafe terminado del manual que estoy confeccionado, a mi entender, uno de los más interesantes proque hablo de uno de los elementos más importante a tener en cuenta: el espacio en disco duro.

Opciones de personalización lógica del disco duro físico donde se aloja el sistema operativo de Proxmox VE (Revisitado)

¿Se acuerdan cuando vimos las nuevas opciones del disco duro físico que se mostraron durante la instalación de Proxmox VE? Sí, la siguiente imagen que muestra el tamaño total de un disco de 1 TB:

48 - Instalacion de Proxmox VE - Seleccion del Disco Duro - Opciones de Disco (Ampliado)

Pues bien, vamos a abundar un poco sobre esto, pero para ello voy a hacer una retrospectiva remitiéndome a la antigua versión 3.2.

Primero que todo, a partir de esta versión se comenzó a utilizar GPT como “sistema de particiones” (en Wikipedia se puede ver más detalle sobre este sistema de archivos), el cual brinda muchas más ventajas que el clásico sistema de particiones BIOS/MBR que se utilizó hasta la versión 3.1 donde solamente se utilizaban dos particiones, una de tipo ext3 para el gestor de arranque GRUB y la otra de tipo lvm para el sistema Proxmox VE.

En aquella versión se podía ver la tabla de particiones mediante el comando parted, dado que fdisk no era capaz de ver dentro de una partición de tipo GPT. Ahora las cosas han cambiado mucho, ya fdisk ve dentro de las particiones GPT además de mostrar más información, como se ve en la siguiente imagen:

49 - Particiones Internas de Proxmox VE - Disco de 1TB - Listado de Particiones con Fdisk

Entonces, volviendo atrás, la instalación de Proxmox VE, desde la versión 3.2 antes mencionada y hasta la actualidad, crea tres particiones. En aquella época, cuando probaba la versión antes mencionada, el parted mostraba la siguiente información par aun disco de 1TB:

Number Start End Size File System Name Flags

1

1049kB 2097kB 1049kB primary bios_grub

2

2097kB 537MB 535MB ext3 primary boot

3

537MB 1000GB 1000GB primary lvm

 

Dicha información reflejaba que se creaban tres particiones con las siguientes características:

  • Una partición pequeña donde se aloja (y protege) el MBR clásico
  • Una partición de tipo ext3 donde se guarda toda la información del gestor de arranque GRUB del sistema operativo
  • Una partición de tipo LVM donde se guardan en varios volúmenes lógicos todos los archivos referentes al funcionamiento adecuado de Proxmox VE, tanto el sistema GNU/Linux Debian subyacente como los programas típicos del hipervisor, así como toda la información de las máquinas virtuales que se van creando

 

Actualmente Proxmox VE sigue el mismo esquema, pero con algunos cambios, los cuales se pueden ver en la siguiente imagen de un disco de 160 GB:

41 - Particiones Internas de Proxmox VE - Disco de 160GB - Listado de Particiones con Parted

De esta imagen podemos ver que ahora se usa fat32 como sistema de archivos de la partición donde están los archivos del gestor de arranque GRUB, y que la misma ahora es de 133 MB.

Ah, antes de seguir, Proxmox VE no trae instalado el paquete que contiene el comando parted, en su lugar trae el comando partx, el cual da una salida como esta:

34 - Particiones Internas de Proxmox VE - Disco Principal - Lista de Particiones

Como se ve, nada que ver con parted, este partx no da la información que necesitamos, pero proporciona algo.

En aquel entonces (7-14/08/2014), siempre tenía una idea en mi mente: cómo utilizar un espacio vacío de ese único disco duro para crear un almacenamiento compartido con DRBD 8 (la mayoría de las veces no hay mucho con qué trabajar, así que hay que sacarle el mayor partido a los recursos que uno tiene). El proceso que planifiqué una vez, pero que nunca llevé a cabo, para lograr tener ese el espacio libre necesario en el disco duro físico fue el siguiente:

  • Detener todo el aparataje de Proxmox VE para asegurarme de que no estaba utilizando sus particiones asignadas, en otras palabras, detener todos sus servicios.
  • Bajar de nivel de ejecución (ejecutar un init 1) para así poder desmontar la partición o volumen lógico donde se alojaban los datos de las máquinas virtuales (el punto de montaje /var/lib/vz asociado al volumen lógico pve-data).
  • Redimensionar el volumen lógico pve-data quitándole espacio, a lo sumo, hasta la mitad de su tamaño original.
  • Luego tunear el sistema de archivos dentro del volumen lógico previamente modificado (comandos tune2fs para modificar el tamaño a su nuevo valor y e2fsck para chequear que todo esté correctamente).
  • Reiniciar los servicios de Proxmox VE, o reiniciar el hipervisor completamente para que los cambios hechos se apliquen (en mi caso prefiero la segunda opción para que todo sea limpiamente)

 

Así podía tener espacio libre en el grupo de volúmenes lógicos llamado “pve” para crear mi pequeño engendro:

35 - Particiones Internas de Proxmox VE - Disco Principal - LVM2 - VG_PVE

Oh, ¿casi 1 TB?, voy afilando colmillos y garras con una lima.

Continuando… ¿qué tamaño tiene el volumen lógico pve-data? Sí, porque como dije anteriormente, es la partición candidata a quitarle espacio. Bueno, para eso hay que hablar sobre el esquema de particionado que usa Proxmox VE dentro del grupo de volúmenes lógicos pve, el cual varía según el tamaño del disco duro físico donde se instala.

En este punto, lo que voy a explicar aquí está basado en mis experiencias con diversos tipos de servidores o estaciones de trabajo adaptadas para uso de hipervisores.

Para discos duros físicos de 250 y 320 GB el instalador de Proxmox VE utiliza un 25% del tamaño total para el volumen lógico pve-root, o sea, para la partición raíz del sistema operativo GNU/Linux subyacente; a partir de 500 GB en adelante (hasta discos de 1 TB, que son los que he utilizado hasta ahora), se asigna de manera constante 96 GB de espacio.

En cuanto al espacio del volumen lógico pve-swap, también se sigue un esquema determinado, en los casos que he tratado siempre se asigna 4 GB de espacio. Claro, los tamaños físicos de memoria RAM con que probado varían desde 768 MB (el tamaño mínimo) hasta 4 GB. Pienso, y recalco que no lo he probado aún, que para valores superiores a 4 GB, el instalador de Proxmox VE asigne el mismo valor del tamaño de la cantidad de memoria RAM física  a este volumen lógico. Repito, es una conjetura mía, aún no lo he probado en la práctica.

Por último está la partición o volumen lógico más importante: pve-data. A este volumen lógico se le asigna el resto del espacio libre del disco duro físico. Como se dijo anteriormente, es aquí donde se guardan:

  • Imágenes ISO de instalación de sistemas operativos
  • Plantillas de contenedores OpenVZ/LXC
  • Discos duros de máquinas virtuales KVM o contenedores OpenVZ/LXC
  • Respaldos de máquinas virtuales

 

Por ejemplo, esta es la lista de volúmenes lógicos de un disco duro de 1 TB:

36 - Particiones Internas de Proxmox VE - Disco Principal - LVM2 - Lista de Volumenes Logicos

Ahora bien, en las imágenes siguientes se muestran los valores de espacio en disco utilizado por los volúmenes lógicos para tamaños distintos de discos duros como 160, 250, 320 y 500 GB, así como de 1 TB.

Disco duro de 160 GB

39 - Particiones Internas de Proxmox VE - Disco de 160GB - LVM2 - Informacion de Volumenes Logicos - 1

40 - Particiones Internas de Proxmox VE - Disco de 160GB - LVM2 - Informacion de Volumenes Logicos - 2

Disco duro de 250 GB

42 - Particiones Internas de Proxmox VE - Disco de 250GB - LVM2 - Informacion de Volumenes Logicos - 1

43 - Particiones Internas de Proxmox VE - Disco de 250GB - LVM2 - Informacion de Volumenes Logicos - 2

Disco duro de 320 GB

44 - Particiones Internas de Proxmox VE - Disco de 320GB - LVM2 - Informacion de Volumenes Logicos - 1

45 - Particiones Internas de Proxmox VE - Disco de 320GB - LVM2 - Informacion de Volumenes Logicos - 2

Disco duro de 500 GB

37 - Particiones Internas de Proxmox VE - Disco de 500GB - LVM2 - Informacion de Volumenes Logicos - 1

38 - Particiones Internas de Proxmox VE - Disco de 500GB - LVM2 - Informacion de Volumenes Logicos - 2

Disco duro de 1 TB (1024 GB)

46 - Particiones Internas de Proxmox VE - Disco de 1TB - LVM2 - Informacion de Volumenes Logicos - 1

47 - Particiones Internas de Proxmox VE - Disco de 1TB - LVM2 - Informacion de Volumenes Logicos - 2

En estas imágenes podemos ver que cambia el tamaño de los volúmenes lógicos según el tamaño del disco físico.

Ya entendida esta parte, y me imagino que muchos deben estar cansados de tanta cháchara (o muela, como decimos los cubanos), vamos al plato fuerte. Resulta que ya el instalador de Proxmox VE 4.0 hace todo lo anterior, sí, no hace falta hacer todos los pasos que describí anteriormente para lograr tener un poco de espacio libre en el disco duro físico para operaciones posteriores, es esa ventanita de opciones del disco duro de la que hablé anteriormente.

En ella se solicitan varios datos:

  • File system: Sistema de archivos de la particiones (ext4 es el valor por defecto)
  • hdsize: Tamaño máximo [lógico] del disco duro (por defecto es el tamaño físico)
  • swapsize: Tamaño máximo [lógico] del volumen lógico donde se ubicará la memoria de intercambio del sistema operativo (por defecto viene sin valor, lo cual se aplica el esquema de Proxmox VE)
  • maxroot: Tamaño máximo [lógico] del volumen lógico donde se ubicará la partición raíz del sistema operativo subyacente GNU/Debian y dentro de esta los programas propios de Proxmox (por defecto viene sin valor, lo cual se aplica el esquema de Proxmox VE)
  • minfree: Tamaño mínimo [lógico] de espacio libre de disco duro (por defecto viene sin valor, lo cual se aplica el esquema de Proxmox VE)
  • maxvz: Tamaño máximo [lógico] del volumen lógico donde se ubicará la partición de datos de Proxmox VE, o sea, lo que está dentro del volumen lógico pve-data descrito anteriomente (por defecto viene sin valor, lo cual se aplica el esquema de Proxmox VE).

Ahora para ilustrar lo que queremos hacer, vamos a usar solamente la mitad de un disco duro de 1 TB para el sistema Proxmox VE. Para ello solamente basta con modificar el valor del parámetro hdsize estableciendo 500 GB como “tamaño de disco duro”:

48 - Instalacion de Proxmox VE - Seleccion del Disco Duro - Opciones de Disco (Ampliado)

Esto hará que dentro del grupo de volúmenes pve haya un espacio libre de 500 GB, el cual puede ser usado para otros menesteres, ya sea para almacenar otros datos o crear un volumen lógico para ser usado como dispositivo base (underlying block device) de un tipo de almacenamiento compartido.

Y hasta aquí las opciones de modificación lógica del tamaño del disco duro físico del hipervisor. Independientemente del tamaño que se escoja para el mismo, en él se guardarán las imágenes de los discos duros de las máquinas virtuales o contenedores que se necesitan para la granja de servidores o estaciones de trabajo de pruebas. En los dos epígrafes que siguen se mostrarán los pasos a seguir para crear máquinas virtuales o contenedores sobre el almacenamiento local del hipervisor.

Y hasta aquí este artículo. Espero les sea de utilidad.

😀

Acerca de Hector Suarez Planas

Es Licenciado en Ciencia de la Computación (3 de julio de 2002). Ha sido Administrador de Red en varias organizaciones, Programador y Analista de Sistemas. Actualmente se desempeña como Administrador de Red del Telecentro Tele Turquino de Santiago de Cuba. Tiene experiencia con sistemas Windows y GNU/Linux, Infraestructura de Redes (Cisco, AlliedTelesis, Netgear y HP ProCurve, Vyatta/VyOS), Servidores tanto físicos como virtuales (plataformas VMWare, Proxmox VE y Xen), Sistemas de Seguridad Informática (Snort/Suricata IDS, appliances AlienVault OSSIM), programador (Delphi, C++ Builder, Perl [poco], Python [algo]), entre otras cosas. Actualmente estoy incursionando en todo lo que tiene relación con Cloud Computing (OpenStack) y Centros de Datos. :-)
Esta entrada fue publicada en Proxmox VE. Guarda el enlace permanente.

11 respuestas a De mi Manual de Proxmox VE 4.x: Opciones de personalización lógica del disco duro físico donde se aloja el sistema operativo de Proxmox VE (Revisitado)

  1. jose dijo:

    Antetodo, gracias por el conocimiento compartido.
    Me surgio una duda, en el ejemplo planteado, quedan 512MB del disco, puedo utilizarlo para crear un VG (otro grupo de volumenes) para luego administrarlo y definir LVs que sirvan como disco de las VMs? como hago esto.
    Nuevamente gracias. Saludos

    • Hector Suarez Planas dijo:

      Saludos, José.

      Primero que todo, gracias por su comentario, se agradece muchísimo.

      En cuanto a lo que me pregunta tiene dos variantes de solución:

      1.- Usar el mismo grupo de volúmenes creando volúmenes lógicos nuevos.
      2.- Redimensionando (en realidad, reduciendo) el grupo de volúmenes “pve” -y probablemente la partición donde esté alojado-, para luego crear particiones y grupos de volúmenes nuevos.

      Espero le sea de ayuda. 🙂

  2. William dijo:

    Buenos Días, como andas Héctor, recientemente hice lo mismo que dices en el final de este post, en una nueva instalación de proxmox 4.4 le deje 500 gb al disco de 1tb para posteriormente montarlo y usar esos 500 gb como backup añadiendolo como un direcrorio en en centro de datos del proxmox, la duda me cae en que no sé cómo hacerlo(lo de crear una particion usando el espacio libre, y montarlo ), si me pudieras guiar sería de gran ayuda, me puedes escribir al correo si te es mas fácil, gracias

    • Hector Suarez Planas dijo:

      Saludos, William.

      Ante todo, disculpas por la tardanza en responder.

      Una vez que le deja el espacio libre al VG “pve” (en su caso, estableciendo el valor de 500 en el parámetro minfree), están creadas las condiciones para crear un nuevo LV llamado “backups”.

      Esto se hace mediante el comando siguiente:

      # lvcreate -l 100%FREE -n backups pve

      Luego formatear el nuevo LV recién creado:

      # mkfs.ext4 /dev/pve/backups

      Seguidamente crear el subdirectorio que servirá de punto de montaje de esa nueva “partición”:

      # mkdir -p /var/lib/vz-backups

      Ah, pero hay que hacerle un cambio al /etc/fstab para que automáticamente levante ese FS durante el arranque, por lo que hay que añador esta línea al final del archivo antes mencionado:

      /dev/pve/backups /var/lib/vz-backups ext4 errors=remount-ro 1 1

      Salvarlo y salir del editor con el cual se hizo el cambio.

      Hecho lo anterior, que da hacer una última operación, montar el FS:

      # mount /var/lib/vz-backups

      De ahí es sólo ir a la WebGUI de Proxmox VE y añadir un nuevo almacenamiento basado en directorio.

      Espero le sirva. 😀

  3. William dijo:

    Saludos Héctor, el mini tuto me sirvió, pero no se pq el directorio me lo deja en 15gb digo yo que deben ser 500gb que fue lo que no asigne, aunque ahora yo analizando creo que fui yo el que metió la pata, pq si mal no me recuerdo el espacio se lo quite a hdsize, que en vez de 1000gb le deje 500gb y no lo puse en minfree y su pongo que eso hace el proxmox no use todo el disco y por eso no puede usar los otros 500 gb, pero de donde habrá sacado los 15 gb esos que me dio en vz-backup, supongo que lq debería haber hecho era dejar hdsize, en 1000gb y a minfree, ponerle 500gb y seguir los pasos anteriores para montarlo , dime si estoy en lo cierto

    • Hector Suarez Planas dijo:

      Saludos, William.

      En el momento que hice este post, el parámatro a modificar era hdsize, pero eso ha cambiado. Es como dices, hay que tocar el parámetro minfree.

      Yo pienso hacer un post con todo eso, dado que casi no escribo en tres meses y me van a tumbar el blog. 😀

  4. Mario dijo:

    Hola, te consulto lo siguiente: ya tengo funcionando proxmox y el disco es de 4Tb, cómo puedo liberar (por ejemplo la mitad) sin tener que reinstalar Proxmox?
    Muchas Gracias

    • Hector Suarez Planas dijo:

      Saludos, Mario.

      Primero que todo, gracias por su comentario.

      Desgraciadamente, aún no está implementado el reducir un volumen lógico de tipo LVM-Thin, así que, por lo menos hasta el momento en que lo intenté (que no fue hace mucho), ya es tarde.

      Durante el momento de la instalación, en el valor del parámetro “minfree” puede poner 2 TB de espacio.

      Espero le sirva. 😀

  5. Saludos Hector, ante todo gracias por tu tiempo y dedicación.
    Te comento que estoy armando un laboratorio con 3 nodos el cual cada nodo con un disco de 320 gb cada uno. Al instalar proxmox 4.4 solo utilice 214 gb en el HDSIZE. Asi que tengo libre unos 251 gb libres.
    Todo esto con el fin de utilizar Almacenamiento CEPH. Ya que al crear las OSD no me permite ya que no encuentra disco duros adicionales. Se podría utilizar este espacio libre ?? o necesariamente tiene k ser otro disco duro. Gracias antemano. Espero me puedas ayudar.

    • Hector Suarez Planas dijo:

      Saludos, Julio.

      Primero que todo, gracias por su comentario.

      Yo en el año 2014 intenté crear, precisamente, un clúster Ceph usando tres nodos de Proxmox VE (estoy usando las imágenes que tomé de aquel entonces cuando usaba la versión 3.2 para poder darle una respuesta desde mi experiencia), pero a cada nodo yo le puse 6 discos duros, de manera tal que el primero era usado por el sistema (intocable para Ceph), y los otros para el trabajo de Ceph.

      Según la infra que hice, Ceph uso el segundo disco para la tabla de particiones y la estructura del almacenamiento, y los otros 4 para los OSD. Ah, un detalle, el FS que se mueve por debajo de todo ese andamiaje es XFS. Así que mi respuesta es una: requiere de más de un disco duro si pretende crear un clúster Ceph usando los mismos nodos Proxmox VE, y como detalle adicional, una buena conectividad de banda ancha entre los mismos, dado que la cantidad de datos a mover es inmensa.

      Espero le sirva. 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *