lunes, 24 de noviembre de 2014

ifconfig en vmware esxi



~ # esxcli network nic list

Name    PCI Device     Driver  Link  Speed  Duplex  MAC Address         MTU  Description

------  -------------  ------  ----  -----  ------  -----------------  ----  ---------------------------------------------------------------------------

vmnic0  0000:003:00.0  bnx2    Down      0  Half    00:21:5a:a5:25:7c  1500  Broadcom Corporation NC373i Integrated Multifunction Gigabit Server Adapter

vmnic1  0000:00f:00.0  e1000e  Up      100  Full    00:1f:29:55:ed:0a  1500  Intel Corporation 82571EB Gigabit Ethernet Controller

vmnic2  0000:00f:00.1  e1000e  Up     1000  Full    00:1f:29:55:ed:0b  1500  Intel Corporation 82571EB Gigabit Ethernet Controller

~ # esxcfg-vmknic -l

Interface  Port Group/DVPort   IP Family IP Address                              Netmask         Broadcast       MAC Address       MTU     TSO MSS   Enabled Type

vmk0       Management          IPv4      10.0.0.5                              255.255.255.0   10.50.58.255    00:21:5a:a5:25:7c 1500    65535     true    STATIC

vmk0       Management          IPv6      fe80::221:5aff:fea5:257c                64                              00:21:5a:a5:25:7c 1500    65535     true    STATIC, PREFERRED

~ # esxcli network ip interface list

vmk0

   Name: vmk0

   MAC Address: 00:21:5a:a5:25:7c

   Enabled: true

   Portset: vSwitch0

   Portgroup: Management

   Netstack Instance: defaultTcpipStack

   VDS Name: N/A

   VDS UUID: N/A

   VDS Port: N/A

   VDS Connection: -1

   MTU: 1500

   TSO MSS: 65535

   Port ID: 33554436

Bibliografía:

miércoles, 1 de octubre de 2014

Udev y nombrado de interfaces de red 2 - plantillas de máquinas virtuales


Anteriormente puse un articulo sobre este tema: Udev y nombrado de interfaces de red
Cuando tratamos con máquinas virtuales es posible que una máquina la utilicemos como plantilla
de otra, es decir, que clonemos esta máquina varias veces y utilicemos las clonadas.
Clonar una máquina virtual provoca que los interfaces de red generen nuevas mac (puesto que 
son nuevas tarjetas de red) y por tanto los nombres de interfaz no coincidan (desaparece eth0
y aparece eth1).
Para solucionarlo, en la maquina plantilla:
echo -n > /etc/udev/rules.d/70-persistent-net.rules
echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
 
Antes de clonar asegurarse de eliminar del fichero 
/etc/sysconfig/network-scripts/ifcfg-eth0
la línea HWADDR=<MAC address of the network interface>
 
 
Bibliografía:
http://www.turnkeylinux.org/docs/virtualization/udev-persistent-net-generation
 

miércoles, 7 de mayo de 2014

Cómo puedo mejorar el rendimiento de Zimbra


Deshabilitar la capa SSL de seguridad en los procesos internos entre los servidores Zimbra (LDAPS, ...), normalmente es una red interna securizada por un firewall y de esta forma nos ahorramos RAM y proceso de CPU.
zmlocalconfig -e zimbra_require_interprocess_security=0

Heap Size 

Por lo general debe ser entre un 20% y un 30% de la memoria total del servidor. Sin pasarse de 6,4GB.Tener en cuenta que al servidor es preferible ampliar la RAM de Mysql.
Si tenemos 20GB le asignamos 5GB
zmlocalconfig -e mailboxd_java_heap_size=5120
Heap size reserved for classes
por defecto viene definido muy bajo 128 hay que ampliarlo a: 
-XX:PermSize=196m -XX:MaxPermSize=350m

CMS y GC

-XX:+UseConcMarkSweepGC -XX:+UseParNewGC
Uses the concurrent mark sweep collector (CMS) and the parallel new garbage collector (GC) together.

-XX:SoftRefLRUPolicyMSPerMB=1
This option helps evict entries from the caches held by the mailbox server. Not setting this option will result in softly reachable (ie, evictable) cache objects filling up the heap and causing out of memory errors.


Memoria de MySQL
nano /opt/zimbra/conf/my.cnf
#Ampliamos el buffer entre un 25% y un 35% de la memoria RAM total del #servidor

innodb_buffer_pool_size        = 7516192768

#Por defecto innodb_max_dirty_pages_pct = 90 
#Esto guarda muchas transacciones en memoria y cuando lo va 
#a escribir en el disco duro todo el sistema se enlentece. Si lo 
#bajamos al 10% escribe en disco más amenudo pero menos cantidad.
innodb_max_dirty_pages_pct = 10

Configurar DKIM en Zimbra 8

Generar una clave de registro DNS de tipo DKIM para el dominio midominio.es
zimbra@host:/root$ /opt/zimbra/libexec/zmdkimkeyutil -a -d midominio.es
DKIM Data added to LDAP for domain midominio.es with selector 4D23690A-D5CF-11E3-9562-BE9DEF34D14A
Public signature to enter into DNS:
4D23690A-D5CF-11E3-9562-BE9DEF34D14A._domainkey IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=MIGfMA0GCSqG...." )  ; ----- DKIM key 4D23690A-D5CF-11E3-9562-BE9DEF34D14A for midominio.es


Dar de alta en el DNS el registro que nos ha generado el comando anterior:
si usas bind9 el registro dentro de la zona midominio.es sería el siguiente:
4D23690A-D5CF-11E3-9562-BE9DEF34D14A._domainkey.midominio.es.    IN    TXT    "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqG...."

Comprobar que se ha creado el registro DNS
nslookup -type=txt 4D23690A-D5CF-11E3-9562-BE9DEF34D14A._domainkey.midominio.es.

Comprobar que el registro DNS para DKIM funciona correctamente
/opt/zimbra/opendkim/sbin/opendkim-testkey -d midominio.es -s 4D23690A-D5CF-11E3-9562-BE9DEF34D14A -x /opt/zimbra/conf/opendkim.conf -vvv

Bibliografía:
http://tipstricks.itmatrix.eu/?p=1587

miércoles, 30 de abril de 2014

Cómo poner gráficas en el menu hover de Nagvis




Cuando usamos Nagvis se suele echar de menos las gráficas PNP, porque por defecto hacemos click en un host o servicio y después vamos al acceso directo de las gráficas.

Resulta que alguien ya había pensado en esto y propuso crear una plantilla para Nagvis.

Yo lo soluciono de la siguiente manera.
en default.hover.html añado el siguiente código justo antes de la última línea
<!-- END childs -->
<!-- BEGIN pnp4nagios -->
<tr>
        <td class="spacer" colspan="2"></td>
</tr>
<tr>
        <td colspan="2">
                <table>
                        <tr>
                                <th><label>Performance</label></th>
                        <tr>
                                <td>
                                        <img src=/pnp4nagios/image?host=[pnp_hostname]&srv=_HOST_&display=image&view=0&source=0>
                                </td>
                        </tr>
                </table>
        </td>
</tr>
<!-- END pnp4nagios -->
</table>

Esto tiene un inconveniente y es que en los servicios también se ve la gráfica HostPerformance. La solución es crear una nueva plantilla que modificaremos en aquellos servicios que queramos que muestren la gráfica.

cat pnp-service.hover.html
<table class="hover_table">
    <tr><th colspan="2">[lang_obj_type] ([lang_last_status_refresh]: [last_status_refresh])</th></tr>
    <tr><td class="label"><label>[lang_name]</label></td><td>[obj_name][obj_alias_braces]</td></tr>
    <!-- BEGIN service -->
    <tr><td class="label"><label>[lang_service_description]</label></td><td>[service_description]</td></tr>
    <!-- END service -->
    <!-- BEGIN host -->
    <tr><td class="label label[obj_state]"><label>[lang_state]</label></td><td class="state[obj_state]">[obj_state] [obj_in_downtime][obj_acknowledged] ([obj_state_type] - [obj_current_check_attempt]/[obj_max_check_attempts])</td></tr>
    <tr><td class="label"><label>[lang_output]</label></td><td>[obj_output]</td></tr>
    <tr><td class="label"><label>[lang_last_check]</label></td><td>[obj_last_check]</td></tr>
    <tr><td class="label"><label>[lang_next_check]</label></td><td>[obj_next_check]</td></tr>
    <tr><td class="label"><label>[lang_last_state_change]</label></td><td>[obj_last_state_change]</td></tr>
    <!-- END host -->
    <tr><td class="label label[obj_summary_state]"><label>[lang_summary_state]</label></td><td class="state[obj_summary_state]">[obj_summary_state] [obj_summary_in_downtime][obj_summary_acknowledged]</td></tr>
    <tr><td class="label"><label>[lang_summary_output]</label></td><td>[obj_summary_output]</td></tr>
    <!-- BEGIN service -->
    <tr><td class="label"><label>[lang_last_check]</label></td><td>[obj_last_check]</td></tr>
    <tr><td class="label"><label>[lang_next_check]</label></td><td>[obj_next_check]</td></tr>
    <tr><td class="label"><label>[lang_last_state_change]</label></td><td>[obj_last_state_change]</td></tr>
    <!-- END service -->

<!-- BEGIN pnp4nagios -->
<tr>
        <td class="spacer" colspan="2"></td>
</tr>
<tr>
        <td colspan="2">
                <table>
                        <tr>
                                <th><label>PNP-Graph</label></th>
                        <tr>
                                <td>
                                        <img src=/pnp4nagios/image?host=[pnp_hostname]&srv=[pnp_service_description]&display=image&view=0&source=0>
                                        <br>
                                        <img src=/pnp4nagios/image?host=[pnp_hostname]&srv=[pnp_service_description]&display=image&view=0&source=1>
                                </td>
                        </tr>
                </table>
        </td>
</tr>
<!-- END pnp4nagios -->


</table>

Posteriormente vamos al mapa de Nagvis desbloqueamos(unlock) un servicio pulsando boton derecho unlock, volvemos a pulsar botón derecho sobre el servicio, le damos a modificar y cambiamos los siguientes parametros (hover_menu y hover_template).
 





Pulsamos en Guardar












Volvemos a pulsar botón derecho sobre el icono del servicio y pulsamos bloquear (lock).










Recargamos la página y al pasar el ratón por encima del icono del servicio modificado, deberíamos ver las gráficas del servicio.