En este lab vamos a implementar el servidor WildFly sobre CentOS 7, este sera en modo standalone con un conector de base de datos postgresql, para ello necesitamos un servidor de centos de preferencia en perfil minimal
intranet.example.com 192.168.0.122
Primero debemos actualizar nuestro servidor de intranet e instalamos la versión de java 1.8
[root@intranet ~]# yum update -y
[root@intranet ~]# yum install -y java-1.8.0-openjdk
Para este lab también necesitamos la ultima versión de wildfly descargada de la pagina y el conector de postgresql
Movemos el instalador de wildfly a opt
[root@intranet ~]# mv wildfly-10.1.0.Final.tar.gz /opt/
Ingresamos a opt y descomprimimos el instalador
[root@intranet ~]# cd /opt/
[root@intranet opt]# tar -xzvf wildfly-10.1.0.Final.tar.gz
Renombramos la carpeta para que sea mas facil de configurar
[root@intranet opt]# mv wildfly-10.1.0.Final wildfly
Ingresamos a la ruta de wildfly y a la carpeta bin
[root@intranet opt]# cd wildfly/bin/
Con el script add-user podemos crear un usuario de administración
Ingresamos al siguiente archivo de configuracion
[root@intranet bin]# vi /opt/wildfly/standalone/configuration/standalone.xml
Cambiamos todas las definiciones de 127.0.0.1 a 192.168.0.122
Ahora creamos una carpeta para nuestro conector de postgresql
[root@intranet ~]# mkdir -p postgresql/main
Copiamos el archivo .jar descargado a la nueva ruta
[root@intranet ~]# cp postgresql-9.2-1004.jdbc41.jar postgresql/main/
Creamos el archivo
[root@intranet ~]# vi postgresql/main/module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
<resources>
<resource-root path="postgresql-9.2-1004.jdbc41.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Ahora copiamos la carpeta creada a la ruta de wildfly
[root@intranet ~]# cp -prf postgresql /opt/wildfly/modules/system/layers/base/org/
Volvemos a ingresar al archivo y agregamos el driver de postgres en la seccion de drivers donde ya existe el driver de h2
[root@intranet bin]# vi /opt/wildfly/standalone/configuration/standalone.xml
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="postgresql" module="org.postgresql">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
</drivers>
Ahora si podemos iniciar nuestro servicio de wildfly en modo standalone
[root@intranet bin]# ./standalone.sh
Con el servicio de wildfly activado podemos instalar nuestra base de datos
Primero instalamos la base de datos
[root@intranet ~]# yum install -y postgresql-server
Para inicializar la base de datos usamos
[root@intranet ~]# postgresql-setup initdb
Modificamos el archivo pg_hba para que acepte conexiones externas de nuestra red de servidores
[root@intranet ~]# vi /var/lib/pgsql/data/pg_hba.conf
host all all 192.168.0.0/24 md5
También modificamos el servicio para que escuche todas la interfaces
[root@intranet ~]# vi /var/lib/pgsql/data/postgresql.conf
Cambiamos la linea
#listen_addresses = 'localhost'
Por la linea
listen_addresses = '*'
Ahora iniciamos y habilitamos el servicio
[root@intranet ~]# systemctl enable postgresql
[root@intranet ~]# systemctl start postgresql
Podemos crear una base de datos de prueba
[root@intranet ~]# su - postgres
# psql
postgres=# create user andy with password 'centos';
postgres=# create database controlandy owner=andy;
postgres=# \q
Para finalizar con la configuración por comandos, abrimos los puertos de firewalld de wildfly y de postgresql
[root@intranet ~]# firewall-cmd --zone=public --add-port=9990/tcp --permanent
[root@intranet ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
[root@intranet ~]# firewall-cmd --zone=public --add-port=5432/tcp --permanent
[root@intranet ~]# firewall-cmd --reload
Ahora podemos ingresar por explorador web y empezar a configurar nuestro servicio, empesemos con el login con el usuario/password creados en pasos previos
Ingresamos a la sección de datasources para configurar la integracion con postgres
Seleccionamos custom
Nombramos el datasource como postgresql
Seleccionamos el driver de postgresql
Ingresamos el url de conexión referenciando el servidor intranet y la base de datos de prueba, también el usuario y clave de la base de datos
Aceptamos la creación del datasource
Podemos verificar la conexión
Validamos que sea correcta
Ahora que terminamos de integrarnos a la base de datos postgresql, podemos desplegar un war/ear de un proyecto
Generamos un nuevo proyecto
Seleccionamos el archivo war/ear
Activamos el proyecto
Ingresamos al servidor con el puerto 8080 y el nombre del proyecto para validarlo via navegador
Como mencionamos esta es la implementación mas simple en modo standalone, en futuras entradas a este blog crearemos una configuración similar en modo cluster y con balanceo de carga
viernes, 30 de septiembre de 2016
sábado, 17 de septiembre de 2016
Implementación de Zimbra Collaboration Suite (ZCS) sobre CentOS 7
En esta oportunidad vamos a implementar zimbra, una solución de mensajería integral muy completa sobre nuestros servidores de CentOS 7
Para este lab requerimos lo siguiente
mail.example.com 192.168.0.123 - CentOS 7
un registro DNS del tipo A para mail
un registro DNS del tipo MX para que redireccione el correo al registro anterior mail
instalador de zimbra para centos zcs-8.7.0_GA_1659.RHEL7_64.20160628202714.tgz
Primero validamos nuestro registro DNS con el comando nslookup
Es muy probable que tengamos alertas en la instalación producto del DNS, para ellos podemos ejecutar los siguientes pasos
Para registrar el hostname localmente
[root@mail ~]# echo "192.168.0.123 mail.example.com mail" >> /etc/hosts
En caso de tener el postfix instalado por default
[root@mail ~]# systemctl stop postfix
[root@mail ~]# systemctl disable postfix
Debemos descargar el instalador y copiaro al servidor, lo descomprimimos con
[root@mail ~]# tar -xzvf zcs-8.7.0_GA_1659.RHEL7_64.20160628202714.tgz
Ahora si podemos ejecutar el instalador
Aceptamos el acuerdo
Aceptamos el uso del repositorio de zimbra para instalar los paquetes
En mi caso tuve un error de DNS, para ello vuelvo a setear el dominio así
Una vez instalado, podemos cambiar la configuración
Específicamente cambiamos el password del admin
Ahora podemos salir del instalador y grabar los cambios
En mi caso no deseo enviar información a zimbra
Por ultimo si deseamos cerrar o abrir puertos en el firewall, podemos usar el siguiente cuadro para configurarlo
Ahora que tenemos el servidor listo, podemos acceder a la web de administración (puerto 7071) con el usuario admin
Ingresamos a HOME > MANAGE > ACCOUNTS y creamos algunos usuarios
Ahora podemos ir a un cliente web, celular o tablet y accedemos a la web de usuarios de correo (puerto 443)
Podemos enviar y recibir correos mientras nuestros clientes resuelvan el dominio example.com a través de los DNS
Para este lab requerimos lo siguiente
mail.example.com 192.168.0.123 - CentOS 7
un registro DNS del tipo A para mail
un registro DNS del tipo MX para que redireccione el correo al registro anterior mail
instalador de zimbra para centos zcs-8.7.0_GA_1659.RHEL7_64.20160628202714.tgz
Primero validamos nuestro registro DNS con el comando nslookup
Es muy probable que tengamos alertas en la instalación producto del DNS, para ellos podemos ejecutar los siguientes pasos
Para registrar el hostname localmente
[root@mail ~]# echo "192.168.0.123 mail.example.com mail" >> /etc/hosts
En caso de tener el postfix instalado por default
[root@mail ~]# systemctl stop postfix
[root@mail ~]# systemctl disable postfix
Debemos descargar el instalador y copiaro al servidor, lo descomprimimos con
[root@mail ~]# tar -xzvf zcs-8.7.0_GA_1659.RHEL7_64.20160628202714.tgz
Ahora si podemos ejecutar el instalador
Aceptamos el acuerdo
Aceptamos el uso del repositorio de zimbra para instalar los paquetes
En mi caso tuve un error de DNS, para ello vuelvo a setear el dominio así
Una vez instalado, podemos cambiar la configuración
Específicamente cambiamos el password del admin
Ahora podemos salir del instalador y grabar los cambios
En mi caso no deseo enviar información a zimbra
Por ultimo si deseamos cerrar o abrir puertos en el firewall, podemos usar el siguiente cuadro para configurarlo
Ahora que tenemos el servidor listo, podemos acceder a la web de administración (puerto 7071) con el usuario admin
Ingresamos a HOME > MANAGE > ACCOUNTS y creamos algunos usuarios
Ahora podemos ir a un cliente web, celular o tablet y accedemos a la web de usuarios de correo (puerto 443)
Podemos enviar y recibir correos mientras nuestros clientes resuelvan el dominio example.com a través de los DNS
sábado, 10 de septiembre de 2016
Implementación de GlusterFS para plataformas de virtualización OVirt v4
En esta oportunidad vamos a implementar volúmenes de almacenamiento sobre servidores glusterfs y registraremos estos volúmenes en la plataforma de virtualización
Nuestro lab consta de los siguientes servidores:
Gestión:
ovirt.example.com 192.168.0.135
Virtualización:
server01.example.com 192.168.0.171
server02.example.com 192.168.0.171
Primero implementamos una infraestructura de virtualización, esta debería tener al menos 2 servidores de virtualización en un cluster de nivel funcional 4.0, para ellos nos podemos apoyar en entradas anteriores de este blog para tener una similar a esta
Antes de registrar nuestros equipos de gluster, necesitamos almacenamiento local en estos 3 servers, por ahora agregue un disco de 500GB en cada nodo de gluster para nuestros volúmenes
El procedimiento para crear volumenes lógicos de linux es el siguiente, en mi caso usare un disco de 500GB para un VG llamado data y luego creare 6 LV de 32G, este procedimiento lo debemos repetir en los 3 nodos de gluster
Primero creo una partición con el disco disponible, en mi caso sdb
Ahora creamos el VG con el disco sdb1
Con el VG data creado podemos crear los 6 LVs
Formateamos los volumenes creados al formato xfs
Debemos montar estos discos en los directorios /data* para que sean usados por el sistema operativo
Por ultimo creamos unos subdirectorios dentro de los data para que el sistema gluster los pueda usar mas adelante, también cambiamos los permisos a 36.36
Recordemos que debemos ejecutar este procedimiento en los 3 servidores o mas de gluster
Ahora ya podemos registrar los servidores gluster en la consola de OVIRT, primero creamos un cluster del tipo de almacenamiento
Antes de registrar los nodos agregamos el repositorio de ovirt en cada uno de los nodos de gluster con el comando
yum install -y http://resources.ovirt.org/pub/yum-repo/ovirt-release40.rpm
Ahora procedemos a registrar los 3 nodos de almacenamiento
Cuando los 3 nodos estén registrados podemos crear nuestros primeros volúmenes, primero crearemos un volumen replicado en 3 nodos para darle la mayor seguridad posible, para ello usaremos los discos data01 de cada nodo
También podemos crear un volumen distribuido para nuestros recursos de almacenamiento menos críticos como por ejemplo el volumen de isos, para esto usaremos los discos data02 de los 3 nodos
Con los volúmenes creados podemos iniciarlos con el botón START y empezar a utilizarlos en la plataforma de virtualización
A fin de tener una infraestructura mas eficiente, vamos a separar el trafico de gestion y el de almacenamiento en 2 redes diferentes, para ellos en cada servidor de almacenamiento y virtualización vamos a implementar la red 192.168.100.X para storage, primero creamos la red
Ahora registramos la red y le damos una IP en cada HOST
Repetimos el procedimiento en cada uno de los HOSTs, no necesitamos default gateway en la red de storage porque no necesita ser enrutada, ademas si uno implementa VLANs estas son soportadas perfectamente sobre las interfaces disponibles
Con esto podemos registrar los volúmenes vol01 y vol02 en la plataforma de virtualización con la red de almacenamiento, empesemos con el volumen vol01 para datos utilizando el protocolo glusterfs
Tambien creamos el volumen vol02 distribuido con el mismo protocolo glusterfs
Ahora tenemos los volúmenes del tipo data y tipo iso para nuestra infraestructura, observemos el detalle que el vol01 por ser replicado usa aproximadamente 32GB pero el vol02 tiene 32GB*3
Ahora podemos ir a nuestro ovirt-manager y subir la iso de CentOS al volumen de isos
ovirt-iso-uploader -i vol02 --insecure upload CentOS-7-x86_64-Minimal-1511.iso -v
Validamos que tengamos la iso cargada en el iso domain
Con el iso podemos empezar una instalación de una VM basada en CentOS
Por ultimo cuando termines de instalar la virtual seria bueno instalar el agente de integración de OVIRT dentro de la VM con el siguiente comando, esto permitirá que la VM envíe información a la plataforma de virtualización y tener estadísticas mas precisas
yum install -y ovirt-guest-agent-common.noarch
Ahora tenemos una plataforma de virtualización altamente disponible con almacenamiento redundante, esta es la configuración mas básica, podemos testear otras funcionalidades que mejoren el rendimiento de los volúmenes, tiempo de replicación, backups, monitoreo, etc para ellos tenemos los demás data* para las pruebas, en futuras entradas del blog ire documentando configuraciones mas complejas
Nuestro lab consta de los siguientes servidores:
Gestión:
ovirt.example.com 192.168.0.135
Virtualización:
server01.example.com 192.168.0.171
server02.example.com 192.168.0.171
Almacenamiento:
gluster01.example.com 192.168.0.81
gluster02.example.com 192.168.0.82
gluster03.example.com 192.168.0.83
Adicionalmente usaremos una red 192.168.100.X para el almacenamiento
Todos los servidores son CentOS 7 con el repositorio de ovirt y al menos 2 interfaces de red disponibles
Antes de registrar nuestros equipos de gluster, necesitamos almacenamiento local en estos 3 servers, por ahora agregue un disco de 500GB en cada nodo de gluster para nuestros volúmenes
El procedimiento para crear volumenes lógicos de linux es el siguiente, en mi caso usare un disco de 500GB para un VG llamado data y luego creare 6 LV de 32G, este procedimiento lo debemos repetir en los 3 nodos de gluster
Primero creo una partición con el disco disponible, en mi caso sdb
Ahora creamos el VG con el disco sdb1
Con el VG data creado podemos crear los 6 LVs
Formateamos los volumenes creados al formato xfs
Debemos montar estos discos en los directorios /data* para que sean usados por el sistema operativo
Por ultimo creamos unos subdirectorios dentro de los data para que el sistema gluster los pueda usar mas adelante, también cambiamos los permisos a 36.36
Recordemos que debemos ejecutar este procedimiento en los 3 servidores o mas de gluster
Ahora ya podemos registrar los servidores gluster en la consola de OVIRT, primero creamos un cluster del tipo de almacenamiento
Antes de registrar los nodos agregamos el repositorio de ovirt en cada uno de los nodos de gluster con el comando
yum install -y http://resources.ovirt.org/pub/yum-repo/ovirt-release40.rpm
Ahora procedemos a registrar los 3 nodos de almacenamiento
Cuando los 3 nodos estén registrados podemos crear nuestros primeros volúmenes, primero crearemos un volumen replicado en 3 nodos para darle la mayor seguridad posible, para ello usaremos los discos data01 de cada nodo
También podemos crear un volumen distribuido para nuestros recursos de almacenamiento menos críticos como por ejemplo el volumen de isos, para esto usaremos los discos data02 de los 3 nodos
Con los volúmenes creados podemos iniciarlos con el botón START y empezar a utilizarlos en la plataforma de virtualización
A fin de tener una infraestructura mas eficiente, vamos a separar el trafico de gestion y el de almacenamiento en 2 redes diferentes, para ellos en cada servidor de almacenamiento y virtualización vamos a implementar la red 192.168.100.X para storage, primero creamos la red
Ahora registramos la red y le damos una IP en cada HOST
Repetimos el procedimiento en cada uno de los HOSTs, no necesitamos default gateway en la red de storage porque no necesita ser enrutada, ademas si uno implementa VLANs estas son soportadas perfectamente sobre las interfaces disponibles
Con esto podemos registrar los volúmenes vol01 y vol02 en la plataforma de virtualización con la red de almacenamiento, empesemos con el volumen vol01 para datos utilizando el protocolo glusterfs
Tambien creamos el volumen vol02 distribuido con el mismo protocolo glusterfs
Ahora tenemos los volúmenes del tipo data y tipo iso para nuestra infraestructura, observemos el detalle que el vol01 por ser replicado usa aproximadamente 32GB pero el vol02 tiene 32GB*3
Ahora podemos ir a nuestro ovirt-manager y subir la iso de CentOS al volumen de isos
ovirt-iso-uploader -i vol02 --insecure upload CentOS-7-x86_64-Minimal-1511.iso -v
Validamos que tengamos la iso cargada en el iso domain
Con el iso podemos empezar una instalación de una VM basada en CentOS
Por ultimo cuando termines de instalar la virtual seria bueno instalar el agente de integración de OVIRT dentro de la VM con el siguiente comando, esto permitirá que la VM envíe información a la plataforma de virtualización y tener estadísticas mas precisas
yum install -y ovirt-guest-agent-common.noarch
Ahora tenemos una plataforma de virtualización altamente disponible con almacenamiento redundante, esta es la configuración mas básica, podemos testear otras funcionalidades que mejoren el rendimiento de los volúmenes, tiempo de replicación, backups, monitoreo, etc para ellos tenemos los demás data* para las pruebas, en futuras entradas del blog ire documentando configuraciones mas complejas
Suscribirse a:
Entradas (Atom)