Hola,

Últimamente, he venido utilizando Proxmox como sistema de virtualización de máquinas OpenVZ.
Para mi gusto, Proxmox tiene un par de problemas insolubles:
No soporta RAID-1 software
Si se quiere contratar soporte técnico, es muy caro
Así que he estado probando una alternativa que, para mi gusto, corrige esos dos problemas exitosamente: SolusVM

Como máquinas, he optado por servidores KS R-8G de OVH (29,99 €/mes) que disponen de CPU Intel i3-2130, 8 GB de memoria y 2 discos de 1 TB cada uno.

Voy a relatar, paso a paso, cómo instalo y configuro un servidor Master SolusVM + un servidor Slave SolusVM.
El servidor Master tiene una IP que nombraremos 1.1.1.1 y una inversa que llamaremos ks1.midominio.com
El servidor Slave tiene una IP 2.2.2.2 y una inversa ks2.midominio.com
En el Manager hemos creado, para el servidor Master, una IP failover con IP 11.11.11.11 y le hemos adjudicado la inversa ct1.midominio.com
Y para el servidor Slave, una IP failover con IP 22.22.22.22 y le hemos adjudicado la inversa ct2.midominio.com

Así podremos poner una VM en un servidor y otra VM en el otro.

INSTALACIÓN DESDE EL MANAGER DE OVH
Desde el Manager de OVH reinstalo el primer servidor eligiendo como distribución Sistema operativo CentOS 6 + SolusVM OpenVZ (Master) en inglés (no existe en otros idiomas)
En elección del particionado, escojo Particionado personalizado: RAID Software
Como esquema de particionamiento escojo:
/ primaria de 20 GB en formato ext4
swap de 2 GB
/vz LVM de 400 GB en formato ext4
/backups LVM de 400 GB en formato ext4



El Manager nos creará un VG (que ocupará todo el espacio que quedaba libre a continuación de / y swap) de nombre vg
Y en él creará una LV de 400 GB de nombre lv1 montada en /vz y otra LV de 400 GB de nombre lv2 montada en /backups
(Dejo un espacio libre para el tema de los vzdump en modo snapshot ... pero ese es otro tema ya comentado ampliamente en estos foros)

Una vez nos llegue el email de que está reinstalado el servidor, entraremos en él por SSH con el usuario root y la password que nos ha llegado en el email:
ssh root@ks1.midominio.com

Lo primero, desinstalamos el paquete (innecesario) bind-chroot que hace que se vean montadas más particiones que las reales. Para desinstalarlo:
yum remove bind-chroot

A continuación, actualizamos el sistema operativo
yum update
yum upgrade

A continuación, cambiamos la password de root:
passwd

El editor nano (mi favorito) está instalado pero el editor por defecto es vi (que no me gusta nada).
Cambiamos el editor por nuestro favorito (nano)
nano /root/.bash_profile
Añadimos al final una línea con
export EDITOR=nano

Me gusta usar el comando dir en lugar de ls -la
Para ello:
nano /root/.bashrc
Y añadimos una línea al final con:
alias dir='ls -la --color=auto'

Estos últimos cambios serán efectivos cuando salgamos y volvamos a entrar por SSH

Modificamos el puerto del servidor SSH. 
nano /etc/ssh/sshd_config
Cambiamos la línea
#Port 22
Si queremos emplear como puerto SSH, por ejemplo el 2727, sustituimos por:
Port 2727
También conviene cambiar la línea:
#UseDNS yes por UseDNS no

Reiniciamos el servidor SSH
service sshd restart
A partir de ahora, para acceder por SSH, tendremos que ejecutar el comando:
ssh -p 2727 root@ks1.midominio.com

Cambiamos el nombre del servidor:
nano /etc/hosts
Sustituyo la línea:
1.1.1.1 ksxxxxxxx.kimsufi.com ksxxxxxxx
Por:
1.1.1.1 ks1.midominio.com ks1

Incluyo el parámetro noatime en las particiones para que no se tenga que grabar cada vez que se accede a un fichero.
nano /etc/fstab
Sustituyo:
Código:
/dev/md1        /	ext4    errors=remount-ro	0	1 
/dev/vg/lv1     /vz     ext4    defaults        1		2 
/dev/vg/lv2     /backups        ext4    defaults 	1	2
Por:
Código:
/dev/md1        /	ext4    errors=remount-ro,noatime	0	1 
/dev/vg/lv1     /vz     ext4    defaults,noatime        1	2 
/dev/vg/lv2     /backups        ext4    defaults,noatime 	1	2
Redirijo los emails dirigidos a root a mi cuenta de correo
nano /etc/aliases
Sustituyo la línea:
#root: marc
Por:
root: midireccion@gmail.com

Modifico /etc/sysconfig/network para que no aparezca más ksxxxxxxx.kimsufi.com sino ks1.midominio.com
Reinicio para comprobar si arranca todo bien:
shutdown -r now

Añado el repositorio RPMforge para poder instalar algunas aplicaciones que no están en los repositorios que vienen por defecto.
Estando en el directorio /root, descargo el rpm del repositorio:
Instalo el repositorio:
rpm -i rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

Instalo varios programas sin los que no soy capaz de trabajar: mc (Midnigth Commander), htopiotopiptrafbwm-ng y hdparm

Código:
yum install mc
yum install htop
yum install iotop
yum install iptraf
yum install bwm-ng
yum install hdparm
(No entro en el tema de la configuración de mc que es cosa de gustos de cada uno)

Ahora, ¡¡¡ MUY IMPORTANTE !!!, desactivamos el repositorio rpmforge.
En caso de no hacerlo, cuando hagamos un yum update, se nos actualizarán algunos paquetes desde ese repositorio que harán que no nos funcione el interface de SolusVM.
Así que:
yum-config-manager --disable rpmforge
Si acaso precisamos volver a activarlo en alguna ocasión para instalar algo que no tengamos en los repositorios principales, yum-config-manager --enable rpmforge , recordando que hay que desactivarlo a continuación.

Creamos el usuario backupftp para hacer copias de seguridad cruzadas entre los servidores.
Lo creamos sin shell de acceso (/sbin/nologin) y creando su propio directorio “home” (de nombre backupftp dentro de /backups)
adduser -s /sbin/nologin -b /backups backupftp

Le ponemos password:
passwd backupftp

FTP:
Instalamos el servidor de FTP por defecto de CentOS (vsftp) para que SolusVM pueda hacer backups remotos por FTP.
yum install vsftpd

Configuramos vsftp:
nano /etc/vsftpd/vsftpd.conf

Inhabilitamos el acceso anónimo por FTP poniendo cambiando la directiva anonymous_enable a NO 
Indicamos que haya un fichero con la lista de usuarios permitidos (pero enjaulados) quitando el “#” a las líneas:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list


Ahora tenemos que crear el fichero de la lista:
nano /etc/vsftpd/chroot_list
Y ponemos en una línea a nuestro único usuario: backupftp

Impidimos que puedan acceder por FTP los usuarios anonymous y ftp
Para ello, los añadimos en /etc/vsftpd/user_list y en /etc/vsftpd/ftpusers

Arrancamos el vsftpd:
service vsftpd start

Y hacemos que arranque en cada reinicio:
chkconfig vsftpd on

Creamos el fichero /etc/vzdump.conf con el contenido:
Código:
tmpdir: /backups
mode: snapshot
bwlimit: 100000
size: 20000
Modificamos el fichero /usr/sbin/vzdump
Donde ponía:
Código:
if ($line =~ m|^\s*(\S+)\s+(\S+)\s+(\d+(\.\d+))M$|) {
Ponemos:
Código:
if ($line =~ m|^\s*(\S+)\s+(\S+)\s+(\d+([\.,]\d+))[mM]$|) {
Webmin
Instalamos Webmin (me gusta controlar todo lo relativo a hardware desde él)
Estando en el directorio /root
wget http://www.webmin.com/download/rpm/webmin-current.rpm
Y después, si ha instalado, por ejemplo, webmin-1.620-1.noarch.rpm
rpm -i webmin-1.620-1.noarch.rpm
Desde el navegador, entramos en nuestro Webmin:
http://ks1.midominio.com:10000
Y ahora vamos a configurarlo para poder acceder por https (SSL)
Entramos en Webmin > Webmin Configuration > SS Encryption
Nos dirá que no tiene el módulo Perl Net::SSLeay
Le damos en download and install
Volvemos a entrar en Webmin > Webmin Configuration > SS Encryption
Y ahora sí podremos marcar la opción Enable SSL if available
A partir de ahora, ya podremos entrar en nuestro Webmin por https://ks1.midominio.com:10000
Por supuesto, como el certificado es autofirmado, el navegador dirá que no se fía.
Pero nosotros si nos fiamos y ahora sabemos que todo el tráfico entre nuestro navegador y el Webmin instalado en nuestro servidor viajará encriptado.

SEGUNDO SERVIDOR
Repetimos la misma instalación, con los mismos pasos para el segundo servidor.
En este caso escogeremos Sistema operativo CentOS 6 + SolusVM OpenVZ (Slave)
Cambiando, lógicamente ks1.midominio.com por ks2.midominio.com y 1.1.1.1 por 2.2.2.2

Interface de SolusVM
Accedemos a través de https://ks1.midominio.com:5656/admincp

En el menú, vamos a Configuration > Settings
En la carpeta “General” ponemos nuestros datos de “Company Name” y “Email Address”
Preferiblemente una dirección de email externa a nuestros servidores (por ejemplo, de Gmail)
En la carpeta “Other” marcamos la opción “Import Mode”.
Así podremos manejar desde SolusVM las Vms que hayamos instalado a mano.

En Configuration > License, en el campo “New License Key” meto la licencia de SolusVM.
Hay que tener en cuenta que cada licencia puede incluir un Master y varios Slaves.
(No son licencias independientes)

En Configuration > Administrators vemos los administradores dados de alta.
Tendremos “vpsadmin”.
Podemos editarlo para cambiarle los datos de nombre, apellido, email y la password que se nos ha adjudicado, automáticamente, en la instalación.

En Tools > Update comprobaremos si está actualizados SolusVM a la última versión

En Tools > Database podemos recibir por email o descargar la base de datos completa de nuestra configuración de SolusVM.
(Convendrá hacerlo regularmente)

CLIENTES
Para empezar a crear VMs, tendremos, primeramente, que crear un cliente: Clients > Add Client
Ponemos los datos del cliente propietario de la VM.
(En mi caso, yo mismo)

NODOS
Ahora listamos los nodos del sistema (máquinas del sistema SolusVM): Nodes > List Nodes
Editamos el único nodo que tenemos, por ahora (localhost) y ponemos valores:
Le ponemos un nombre que nos guste
Le decimos que es de tipo OpenVZ
Que es una licencia Standard
Que el sistema operativo del host es RHEL 6 (CentOS 6, Scientific Linux 6)
La IP de la máquina (1.1.1.1)
El nombre de host (ks1.midominio.com)
El puerto SSH (2727)
El nombre del interface de red (eth0)
La velocidad de red (100) en Mbit/s
La arquitectura (64bit)
País (España)
Ciudad (Villaserver)
El número máximo de VPS que instalaremos en este nodo (5)
La cantidad de memoria total, en MB, que reservaremos para las VMs (6000) (reservamos 2000 para el SO)
El espacio total de disco para las VMs (400000) en MB
Marcamos OpenVZ Vswap (el nuevo sistema de swap de CentOS 6)

TEMPLATES
Ahora vamos a ver qué plantillas (templates) de VM OpenVZ incluye SolusVM.
Media > List Templates
Vemos que incluye una plantilla de CentOS 5 para 32 bits
En mi caso, quiero crear VMs de CentOS 6 para 64 bits.
Vamos a http://wiki.openvz.org/Download/template/precreated para ver los distintos templates que hay.
Copiamos la dirección del template centos-6-x86_64.tar.gz
Es http://download.openvz.org/template/...-x86_64.tar.gz
Ahora vamos al SolusVM y en Media > Upload Template podemos subir esa plantilla a nuestro SolusVM.
Una vez subido el template, vamos a Media > Add OpenVZ Template
Le ponemos nombre (CentOS 6 – 64 bits), descripción (Un bonito CentOS 6 para arquitectura de 64 bits), escogemos el template y escogemos la arquitectura x86_64
Ahora ya podemos crear VMs de CentOS 6 para 64 bits

IPs
Vamos a IP Blocks > List IP Blocks
No tenemos ninguno.
“Add IP Block”
Block Name: ct1
Gateway: 11.11.11.11 (lo mismo que la IP failover que tenemos)
Netmask: 255.255.255.255
Para que aparezcan Nameservers, pulsamos “Google”
Y asignamos el bloque a un nodo
(Por ahora sólo tenemos “localhost – ks1.midominio.com”)
Ahora que tenemos creado un bloque de IPs, vamos a meterle la IP.
IP Blocks > List IP Blocks > “Manage ip addresses”
En Add IP Address tenemos un campo para meter la IP (11.11.11.11) y pulsar “Add IP Adddress”

VMs
Para crear una VM vamos a Virtual Servers > Add Virtual Server.
Pinchamos en OpenVZ y escogemos el nodo en el que queremos instalar la VM
(Por ahora sólo tenemos un nodo)
“Continue”
Asignamos ID del contenedor (recordemos que en OpenVZ las VMs se llaman contenedores)
Escogemos cliente (por ahora sólo tenemos uno)
Ponemos el hostname de la VM (ct1.midominio.com)
Escogemos su SO (Centos 6 – 64 bits)

Ya iré añadiendo más cosas cuando tenga tiempo.

Saludos
  • 28 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

 Install Mysql Linux consola

Cómo instalar MySQL Server en un servidor Ubuntu   En esta publicación explico el procedimiento...

 Install Java 7

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee...

Powered by WHMCompleteSolution