Proxmox nos ofrece una interfaz web desde la que podemos gestionar todos los servicios y máquinas virtuales de ese nodo (o de todos los nodos si es que estamos trabajando en un entorno de cluster).

El acceso a la interfaz web se encuentra protegido mediante usuario y contraseña, y toda la comunicación entre nuestro navegador y el servidor se realizará de forma segura, al estar protegida por un certificado seguro.

Para acceder a la interfaz web debemos cargar en nuestro navegador la dirección https://__IP_DEL_SERVIDOR__:8006, siendo __IP_DEL_SERVIDOR__ la dirección IP del servidor, o un nombre de dominio válido que apunte a ella.

Si no hemos instalado un certificado válido (cuyo nombre coincida con el nombre que usa el servidor), nos informarán de que no es un certificado válido, y deberemos aceptar para evitar que el mensaje siga apareciendo.

Una vez accedamos al servidor, veremos la ventana de login, similar a:

login
En ésta ventana debemos indicar los siguientes datos:

  • Usuario: El usuario con el que acceder. En instalaciones nuevas usaremos el usuario root
  • Clave: La clave del usuario que estamos utilizando, y que indicamos en la instalación de Proxmox.
  • Ámbito: El ámbito determina cómo vamos a validar nuestra cuenta. En instalaciones nuevas (y salvo que nos indiquen lo contrario), debemos elegir “Linux PAM Standard Authentication”
  • Idioma: El idioma que tendrá la interfaz.

Si los datos indicados son válidos, podremos acceder a nuestra interfaz web, y dependiendo de los permisos que tenga nuestro usuario, podremos ver, acceder y gestionar distintos elementos de Proxmox.

Nota sobre seguridad: Si bien acceder a la interfaz web de Proxmox con el usuario root nos asegura que dispondremos de todos los permisos para la gestión, lo recomendado es, siempre, acceder con un usuario de sistema normal, al que le habremos indicado los permisos deseados.


Una vez instalado Proxmox, se crea en el servidor una estructura de archivos y directorios que debemos conocer para poder gestionar nuestro sistema.

En la siguiente tabla podéis ver los directorios principales, así como su uso, a modo de referencia:

DirectorioUso
/vzEnlace directo a /var/lib/vz, con los archivos principales de proxmox
/etc/pveConfiguraciones del sistema
/var/log/pve*Archivos de log
/usr/share/doc/pve-*Archivos info con documentación sobre proxmox
/usr/share/pve-managerArchivos de la interfaz web de Proxmox
/var/lib/rrdcached/Archivos con la información MRTG para gráficas
/usr/share/qemu-server/Configuraciones de USB para KVM

Directorio /vz

Este directorio contiene los datos más importantes de Proxmox, como son las máquinas virtuales (los archivos físicos que la forman), y las imágenes o plantillas a partir de las que creamos nuestras máquinas virtuales. Dentro de este directorio vamos a encontrar los datos de nuestros usuarios, que se guardarán de distinta forma dependiendo de si estamos trabajando con OpenVZ o con KVM.

Si el VPS es de tipo OpenVZ, y el identificador de la máquina es 1000 (p.e.), dentro del directorio /vz/root/1000 tendremos todos los archivos que forma ese VPS. Si estamos trabajando con KVM, dentro del directorio /vz/images/identificador_del_vps encontraremos un archivo por cada disco duro que hayamos creado para esa máquina.

Directorio /etc/pve

Este directorio contiene los archivos de configuración para nuestro servidor host. Dentro de el, encontraremos (y podremos modificar si queremos) las configuraciones de la interfaz web (usuarios, permisos, etc), así como la configuración de cada uno de los VPS que hayamos creado.

Los principales archivos de este directorio son:

  • datacenter.cfg: Archivo de configuración de nuestro nodo
  • openvz: Enlace al directorio que contiene los archivos de configuración de VPS OpenVZ
  • qemu-server: Enlace al directorio que contiene los archivos de configuración de KVM
  • storage.cfg: Archivo que contiene los almacenamientos que hayamos creado
  • user.cfg: Archivo que contiene los usuarios autorizados en la web
  • .version: Contiene versiones de modificación de los archivos de configuración.
  • .vmlist: Contiene un resumen JSON de las máquinas virtuales instaladas.
  • vzdump.cron: Contiene el crontab con el que se lanzarán las copias de seguridad.

Directorio /var/log/pve*

Todos los archivos de registro (log) de nuestro servidor Proxmox se encuentran en el directorio /var/log.
Dentro de este directorio, podemos encontrar los siguientes archivos:

  • pveam.log: El archivo general de registro, y primer punto donde comenzar a buscar en busca de fallos.
  • pve-firewall.log*: Archivos con información de estado y mensajes importantes del cortafuegos integrado de Proxmox.
  • pveproxy: Directorio que contiene los accesos al proxy de proxmox, con los distintos accesos a la web.
  • pve*: Directorio que contiene registros de todo tipo sobre Proxmox. Por norma general, solo encontraremos aquí los registros de las distintas tareas llevadas a cabo por el sistema.

Directorio /usr/share/doc/*pve*

Dentro del directorio /usr/share/doc se encuentra la documentación de todos los paquetes que tenemos instalados. Ésta documentación es un punto de partida importante, ya que suele detallar los últimos cambios o aspectos técnicos que no han sido incorporados al manual, puede contener ejemplos de configuraciones y, en general, ofrece información adicional, o de última hora, a la ya existente en las páginas man o info.

Directorio /usr/share/pve-manager

Este directorio contiene todos los archivos de la interfaz web de Proxmox. Si bien (con los permisos de usuario necesarios) podemos modificar a voluntad estos archivos para adaptarlos a nuestras necesidades, es importante tener en cuenta que estos archivos pueden modificarse sin previo aviso en las diversas actualizaciones de Proxmox, por lo que se recomienda no tocarlos.

Directorio /var/lib/rrdcached/

Dentro de este directorio encontraremos los archivos con la información MRTG para generar gráficas de uso. En estos archivos se van guardando estadísticas del uso de nuestro sistema (tanto a nivel del servidor, como de las distintas VM, volúmenes, etc), con las que luego se generan las gráficas de rendimiento del sistema.

Directorio /usr/share/qemu-server

Este directorio contiene distintos archivos de configuración para dispositivos USB en KVM


En este manual vamos a utilizar una serie de conceptos o términos que es necesario tener claro, para evitar confusiones en el resto de capítulos.

Algunos de los términos que aparecen en la terminología normal de la documentación de Proxmox son sinónimos, y pueden aparecer sin un orden definido, por lo que los vamos a mostrar juntos para simplificar la lectura, y permitir al lector ir asociando mentalmente los distintos conceptos.

  • Servidor host, servidor físico, anfitrión: Hace referencia al servidor físico (la máquina en si) que tiene instalado Proxmox.
  • Máquina virtual, Contenedor, CT, VE, Virtual Private Server, VPS: Son los distintos nombres (o abreviaturas) que pueden tener las máquinas virtuales.
  • Contenedor: De forma general, se considera contenedor a una máquina virtual funcionando sobre OpenVZ.
  • VPS, KVM: De forma general, hace referencia a una máquina virtual de tipo KVM.
  • KVM: Siglas de Kernel-Based Virtual Machine, una forma de virtualización.
  • OpenVZ: Otro sistema de virtualización, basado en contenedores.
  • Plantilla, Template: Sistema Operativo pre-configurado (normalmente, para acelerar la puesta en marcha de una máquina virtual)

Una vez que ya tenemos nuestro sistema Proxmox instalado y funcionando, una de las tareas que deberemos llevar a cabo de forma más o menos periódica es actualizar nuestro sistema. Al aplicar las distintas actualizaciones, nos aseguramos de utilizar un software estable, libre de fallos de seguridad, y lo más optimizado posible. Sin embargo, existen posibles problemas que tendremos que tener en cuenta al llevar a cabo el proceso de actualización.

¿Cual es el proceso de actualización?

Al tratarse de una instalación sobre Debian GNU/Linux, el proceso de actualización es tan simple como ejecutar los siguientes comandos:

apt-get update
apt-get dist-upgrade

Con estos dos comandos, se llevará a cabo la actualización completa de nuestro sistema, incluyendo nuevas versiones de Proxmox, del kernel del sistema (que es especial para Proxmox), y de cualquier paquete pendiente de actualización.

Al juntarse las actualizaciones del sistema operativo base con las actualizaciones de Proxmox, y sobre todo al usar el sistema de paquetes de Debian, capaz de resolver las dependencias más complejas, podemos llevar a cabo las distintas actualizaciones sin miedo a provocar fallos críticos en nuestro servidor.

 ¿Cada cuánto tiempo se debe actualizar?

Aunque a priori no hay una recomendación sobre el tiempo que debe transcurrir entre actualizaciones, llevar a cabo una actualización de forma mensual, para aplicar las nuevas versiones de Proxmox sería el mínimo recomendado, ya que, de forma general, no se suelen llevar a cabo actualizaciones con menor frecuencia.

Además, procederemos a actualizar nuestro sistema cada vez que se reporte un fallo de seguridad grave (como por ejemplo el reciente Shellsock), con carácter de urgencia, tan pronto como se avise de la publicación de la solución al fallo (lo cual, dependiendo de la repercusión del fallo, suele ser casi inmediato).

Aunque en entornos con múltiples servidores lo normal es configurar la actualización automática de paquetes, ésta es una opción que nos recomendamos, ya que las actualizaciones de Proxmox pueden dar problemas (sobre todo en las nuevas instalaciones de kernel)

¿Cuando debo pasar a una nueva versión de Proxmox?

Además de las actualizaciones normales del sistema, cada cierto tiempo Proxmox libera una nueva versión (como por ejemplo, el reciente paso de la versión 2 a la versión 3), que incluye todos los cambios mínimos publicados hasta el momento, y una serie de cambios mayores (como por ejemplo una nueva interfaz web o una nueva API remota) que marcan una enorme diferencia con respecto a la versión anterior.

Al liberarse esta nueva versión, debemos evitar las ganas de proceder a la actualización, y esperar un tiempo prudencial hasta ver la información que los primeros usuarios ofrecen, y que serán imprescindibles para garantizar una estabilidad mínima. Si estamos ansiosos por ver lo que trae de nuevo, siempre podremos instalarlo en un servidor de pruebas, donde puedan producirse errores graves con entornos en producción.

Pasado un tiempo mínimo, y una vez se considere estable la nueva versión, podremos proceder a la actualización de nuestros servidores, teniendo siempre en cuenta la obligación de hacer copias de seguridad de todos los datos, como medida de prevención.

¿Qué debo tener en cuenta al actualizar?

Cuando aplicamos una actualización, debemos tener especial cuidado si se lleva a cabo una actualización del kernel, ya que en el pasado diversos errores en este paquete han provocado fallos en el arranque del servidor, con los problemas que ello conlleva, sobre todo si estamos trabajando de forma remota con ese servidor.

La recomendación más importante es llevar a cabo un reinicio del servidor cada vez que se produzca una actualización del kernel, que podremos llevar a cabo de forma controlada (por ejemplo, en horario nocturno de forma que un posible fallo no afecte a nuestros clientes).

Ésta recomendación es especialmente importante si trabajamos con proveedores de bajo coste (como por ejemplo OVH), ya que suelen utilizar hardware no estandar, que requiera de drivers especiales.


De la misma forma que podemos instalar directamente Proxmox en un disco que no tenga nada instalado, es posible instalarlo sobre una instalación de Debian ya existente.

Si bien este tipo de instalación no es la más adecuada, por otra parte tendremos la ventaja de tener ya instalado y configurado nuestro sistema antes de proceder a la instalación, lo que nos evitará problemas de configuración de red que puedan darse en la instalación base de Proxmox.

Si vais a instalar Proxmox en una instalación de Debian ya existente, os aconsejo que lo hagáis justo después de instalar el sistema base de Debian. Instalar Proxmox en un sistema Debian que tenga muchas configuraciones ya realizadas puede ser problemático, ya que, por ejemplo, Proxmox hace modificaciones en el servidor apache, y en otros paquetes instalados.

Además, para explotar toda la potencia de Proxmox, deberemos tener disponible al menos una partición en formato LVM, ya que en caso contrario no podremos hacer copias de seguridad en caliente (sin apagar la máquina virtual a copiar).

Comprobar el archivo etc/hosts

Proxmox necesita que la dirección IP principal del servidor que vamos a instalar este correctamente referenciada en el archivo hosts. No podemos usar la IP 127.0.0.1, ni asociar la IP principal al dispositivo loopback (lo), ya que la instalación no funcionará.

Para estar seguros de que nuestra IP está correctamente configurada, ejecutaremos el siguiente comando:

ping `uname -n`

Al ejecutarlo nos deberá devolver la dirección IP principal. En cualquier otro caso, deberemos modificar el archivo /etc/hosts.

Por otra parte, es posible que Proxmox nos de problemas si tenemos configurado nuestro sistema con IPv6 (actualmente Proxmox no soporta correctamente este protocolo), por lo que lo recomendado es eliminar todas las entradas de IPv6 de nuestro archivo /etc/hosts.

Configurar el archivo sources.list

El siguiente paso en la instalación es editar el archivo sources.list y añadir el repositorio de Proxmox, fuente de los paquetes que vamos a instalar.

Si quieres, puedes aprovechar y poner un sources.list a tu medida mirando ésta entrada.

Editaremos el archivo /etc/apt/sources.list, y añadimos al final las siguientes lineas:

deb [arch=amd64] http://download.proxmox.com/debian wheezy pve

Añadir la clave pública de Proxmox

Los paquetes deb están firmados para evitar problemas de seguridad, por eso, cuando usamos repositorios de terceras personas, debemos añadir la clave de verificación. Para el repositorio de Proxmox, bastará con ejecutar (como root) el comando:

wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -

Por último, haremos limpieza de la información cacheada, y descargaremos las listas de paquetes de nuestros nuevos repositorios, con el comando:

apt-get clean && apt-get update && apt-get dist-upgrade

Instalar el kernel de Proxmox

Por la forma en que Proxmox trabaja, si intentamos instalar todos los paquetes con un kernel sin soporte Proxmox nos encontraremos con múltiples errores, por lo que lo primero que vamos a hacer es instalar el kernel proxmox, con el comando:

apt-get install pve-firmware pve-kernel-2.6.32-26-pve pve-headers-2.6.32-26-pve

Si la instalación ha sido correcta, deberemos reiniciar el servidor, y asegurarnos de elegir el kernel terminado en -pve, para iniciar el sistema con el nuevo kernel.

Después de reiniciar la máquina, podremos comprobar que el kernel que estamos ejecutando es el de Proxmox mediante el comando:

uname -a

que nos mostrará un kernel terminado en -pve

Instalar Proxmox VE

Con nuestro sistema ejecutando el kernel de proxmox, podemos eliminar el kernel anterior, con el comando:

apt-get remove linux-image-amd64 linux-image-3.2.0-4-amd64 linux-base

tras esto, actualizaremos la configuración de grub para que registre los cambios, con el comando:

update-grub

El último paso será instalar todos los paquetes de Proxmox, según el comando:

apt-get install proxmox-ve-2.6.32 ntp ssh lvm2 postfix ksm-control-daemon vzprocps open-iscsi bootlogd

Este proceso (que por dependencias instalará un enorme número de paquetes), realizará toda la instalación de Proxmox. Durante ésta instalación, el servidor de correo Exim, instalado por defecto en Debian, se eliminará para instalar Postfix (que es el servidor de correo usado por Proxmox), por lo que deberemos configurar este de acuerdo a nuestras necesidades.

Si el proceso de instalación ha sido correcto, ya tendremos nuestro servidor Proxmox listo para usar.




Todos los derechos reservados, de momento. Copyright debianitas.net 2003.