Hola de nuevo a todos. Antes de nada, quiero agradeceros a todos la buena acogida que he tenido en DesdeLinux y, en especial, al staff por hacer posible todo esto. Espero poder seguir colaborando en el futuro y que esta comunidad sea cada vez mayor. Pero suficiente sentimentalismo por ahora, vamos a ponernos manos a la obra.
En esta ocasión dedicaré el post entero a tratar todo lo relacionado con la instalación de OpenVZ en nuestro sistema. Así lo tendremos todo preparado en los próximos posts para empezar a trabajar.
Si recordáis el anterior artículo, dijimos que en la actualidad OpenVZ tiene soporte para ser instalado tanto en Red Hat/CentOS 6 como en Debian 7. Revisaremos su instalación paso a paso en ambos sistemas.
Instalación en Red Hat/CentOS 6
A la hora de instalar el sistema base no hay que hacer ninguna configuración especial. Tan solo es recomendable usar el siguiente esquema de particionamiento:
Una vez hemos instalado el sistema base, pasamos a instalar el software de OpenVZ. Lo primero es añadir el repositorio de OpenVZ a nuestro equipo para poder descargar todo el software. Para instalar y administrar OpenVZ es necesario tener permisos de superusuario, por lo que abrimos una terminal como root y ejecutamos lo siguiente:
#wget -O /etc/yum.repos.d/openvz.repo http://download.openvz.org/openvz.repo
#rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
OpenVZ usa una versión modificada del kernel linux. Con el siguiente comando lo instalaremos:
#yum install vzkernel
Los siguientes dos pasos no son necesarios para las instalaciones más recientes (a partir de la versión 4.4 de vzctl) pero las comentaré para asegurar compatibilidad con versiones antiguas.
Lo primero es habilitar unas opciones para el kernel. Editamos el fichero sysctl.conf con nuestro editor preferido:
#vim /etc/sysctl.conf
Y añadimos lo siguiente al final:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
También es necesario deshabilitar SElinux, ya que en CentOS viene habilitado por defecto y puede dar problemas:
#echo "SELINUX=disabled" > /etc/sysconfig/selinux
A partir de ahora seguimos con los pasos para todos. Vamos a instalar las herramientas necesarias para la administración de OpenVZ:
#yum install vzctl ploop
Para realizar las copias de seguridad instalaremos la herramienta vzdump. Dado que la versión de los repositorios está desactualizada, vamos a descargar el paquete rpm:
#wget http://download.openvz.org/contrib/utils/vzdump/vzdump-1.2-4.noarch.rpm
Y lo instalamos:
#rpm -ivh rpm -ivh vzdump-1.2-4.noarch.rpm
Ahora que ya lo tenemos todo preparado, solo queda reiniciar la máquina para que cargue el nuevo kernel con las opciones que hemos configurado.
Instalación en Debian 7
Para instalar OpenVZ en Debian 7, lo primero que hay que considerar es el particionamiento. Al igual que en CentOS, se recomienda crear una partición para el directorio de OpenVZ en el que estarán los contenedores y que ocupe todo el espacio sobrante del resto de particiones (normalemente una en / y otra como área de intercambio). Pero, a diferencia de CentOS, este directorio es:
/var/lib/vz
Una vez hayamos finalizado de configurar el sistema a nuestro gusto, pasamos a instalar OpenVZ. Lo primero es agregar los repositorios. Para ello ejecutamos este comando:
cat < /etc/apt/sources.list.d/openvz-rhel6.list
deb http://download.openvz.org/debian wheezy main
# deb http://download.openvz.org/debian wheezy-test main
EOF
Con este pequeño comando hemos agregado el repositorio de OpenVZ a nuestro sistema. Después hay que descargar la clave GPG para firmar el repositorio:
#wget http://ftp.openvz.org/debian/archive.key
#apt-key add archive.key
Y hacemos un update para que se actualicen los repositorios:
#apt-get update
Ahora ya podemos empezar a instalar todo lo necesario. Lo primero y fundamental es instalar el Kernel modificado. Lo haremos así:
#apt-get install linux-image-openvz-amd64
Después de hacer esto, es muy importante realizar el siguiente paso antes de reiniciar el sistema. Lo que debemos hacer es editar el archivo sysctl.conf para añadir algunos parámetros al kernel:
#vim /etc/sysctl.conf
Y añadimos el siguiente texto al final:
# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0
# Enables source route verification
net.ipv4.conf.all.rp_filter = 1
# Enables the magic-sysrq key
kernel.sysrq = 1
# We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
Ahora ya podemos reiniciar el sistema. De hecho, es recomendable hacerlo para que se arranque con el kernel de OpenVZ. Después de esto, instalamos las herramientas necesarias para la administración de OpenVZ:
#apt-get install vzctl vzquota ploop
Y con esto terminamos todo lo relacionado con la instalación de OpenVZ. Si todo ha salido bien tendremos nuestro host preparado para empezar a crear los contenedores.
Antes de despedirme os comento que, para las próximas partes de este tutorial, todo el código habrá sido probado en un equipo con CentOS 6.4. Aquellos que vayáis a usar Debian deberéis de tenerlo en cuenta. Las diferencias probablemente serán mínimas. La principal será la localización del directorio de OpenVZ (donde están situados los contenedores entre otras cosas). Mientras que en CentOS se encuentra situado /vz, en Debian lo encontraréis en /var/lib/vz. Si tenéis algún problema o duda relacionado con esto o cualquier otra cosa, no dudéis en dejar un comentario en intentaré ayudar en todo lo que pueda.
Esto es todo por ahora. La siguiente parte tratará sobre uno de los temas más importantes: la creación de contenedores y su administración básica. Nos veremos entonces. Larga vida y prosperidad.
Continúar leyendo...
En esta ocasión dedicaré el post entero a tratar todo lo relacionado con la instalación de OpenVZ en nuestro sistema. Así lo tendremos todo preparado en los próximos posts para empezar a trabajar.
Si recordáis el anterior artículo, dijimos que en la actualidad OpenVZ tiene soporte para ser instalado tanto en Red Hat/CentOS 6 como en Debian 7. Revisaremos su instalación paso a paso en ambos sistemas.
Instalación en Red Hat/CentOS 6
A la hora de instalar el sistema base no hay que hacer ninguna configuración especial. Tan solo es recomendable usar el siguiente esquema de particionamiento:
- Partición / : para el sistema base y el software de openvz. En instalaciones completas (con interfaz gráfica) al menos debe tener 3 GB, bastante menos si se usa la versión minimal o netinstall.
- Partición Swap : Para el área de intercambio. Usar el tamaño recomendado de acuerdo a nuestra ram.
- Partición /vz : Es dónde se guardarán los contenedores y toda su información. Es recomendable asignar todo el espacio restante a esta partición.
Una vez hemos instalado el sistema base, pasamos a instalar el software de OpenVZ. Lo primero es añadir el repositorio de OpenVZ a nuestro equipo para poder descargar todo el software. Para instalar y administrar OpenVZ es necesario tener permisos de superusuario, por lo que abrimos una terminal como root y ejecutamos lo siguiente:
#wget -O /etc/yum.repos.d/openvz.repo http://download.openvz.org/openvz.repo
#rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
OpenVZ usa una versión modificada del kernel linux. Con el siguiente comando lo instalaremos:
#yum install vzkernel
Los siguientes dos pasos no son necesarios para las instalaciones más recientes (a partir de la versión 4.4 de vzctl) pero las comentaré para asegurar compatibilidad con versiones antiguas.
Lo primero es habilitar unas opciones para el kernel. Editamos el fichero sysctl.conf con nuestro editor preferido:
#vim /etc/sysctl.conf
Y añadimos lo siguiente al final:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
También es necesario deshabilitar SElinux, ya que en CentOS viene habilitado por defecto y puede dar problemas:
#echo "SELINUX=disabled" > /etc/sysconfig/selinux
A partir de ahora seguimos con los pasos para todos. Vamos a instalar las herramientas necesarias para la administración de OpenVZ:
#yum install vzctl ploop
Para realizar las copias de seguridad instalaremos la herramienta vzdump. Dado que la versión de los repositorios está desactualizada, vamos a descargar el paquete rpm:
#wget http://download.openvz.org/contrib/utils/vzdump/vzdump-1.2-4.noarch.rpm
Y lo instalamos:
#rpm -ivh rpm -ivh vzdump-1.2-4.noarch.rpm
Ahora que ya lo tenemos todo preparado, solo queda reiniciar la máquina para que cargue el nuevo kernel con las opciones que hemos configurado.
Instalación en Debian 7
Para instalar OpenVZ en Debian 7, lo primero que hay que considerar es el particionamiento. Al igual que en CentOS, se recomienda crear una partición para el directorio de OpenVZ en el que estarán los contenedores y que ocupe todo el espacio sobrante del resto de particiones (normalemente una en / y otra como área de intercambio). Pero, a diferencia de CentOS, este directorio es:
/var/lib/vz
Una vez hayamos finalizado de configurar el sistema a nuestro gusto, pasamos a instalar OpenVZ. Lo primero es agregar los repositorios. Para ello ejecutamos este comando:
cat < /etc/apt/sources.list.d/openvz-rhel6.list
deb http://download.openvz.org/debian wheezy main
# deb http://download.openvz.org/debian wheezy-test main
EOF
Con este pequeño comando hemos agregado el repositorio de OpenVZ a nuestro sistema. Después hay que descargar la clave GPG para firmar el repositorio:
#wget http://ftp.openvz.org/debian/archive.key
#apt-key add archive.key
Y hacemos un update para que se actualicen los repositorios:
#apt-get update
Ahora ya podemos empezar a instalar todo lo necesario. Lo primero y fundamental es instalar el Kernel modificado. Lo haremos así:
#apt-get install linux-image-openvz-amd64
Después de hacer esto, es muy importante realizar el siguiente paso antes de reiniciar el sistema. Lo que debemos hacer es editar el archivo sysctl.conf para añadir algunos parámetros al kernel:
#vim /etc/sysctl.conf
Y añadimos el siguiente texto al final:
# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0
# Enables source route verification
net.ipv4.conf.all.rp_filter = 1
# Enables the magic-sysrq key
kernel.sysrq = 1
# We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
Ahora ya podemos reiniciar el sistema. De hecho, es recomendable hacerlo para que se arranque con el kernel de OpenVZ. Después de esto, instalamos las herramientas necesarias para la administración de OpenVZ:
#apt-get install vzctl vzquota ploop
Y con esto terminamos todo lo relacionado con la instalación de OpenVZ. Si todo ha salido bien tendremos nuestro host preparado para empezar a crear los contenedores.
Antes de despedirme os comento que, para las próximas partes de este tutorial, todo el código habrá sido probado en un equipo con CentOS 6.4. Aquellos que vayáis a usar Debian deberéis de tenerlo en cuenta. Las diferencias probablemente serán mínimas. La principal será la localización del directorio de OpenVZ (donde están situados los contenedores entre otras cosas). Mientras que en CentOS se encuentra situado /vz, en Debian lo encontraréis en /var/lib/vz. Si tenéis algún problema o duda relacionado con esto o cualquier otra cosa, no dudéis en dejar un comentario en intentaré ayudar en todo lo que pueda.
Esto es todo por ahora. La siguiente parte tratará sobre uno de los temas más importantes: la creación de contenedores y su administración básica. Nos veremos entonces. Larga vida y prosperidad.
Continúar leyendo...