Translate

jueves, noviembre 19, 2015

Montar imagen WIM para modificarla (instalar drivers, etc..):

Montar imagen WIM para modificarla:

 1º Exportar la imagen del servidor WDS, por ejemplo a E:\Backup_IMGWIM\
 2º Comando para montarla (el S.O quedará en c:\TEMP\):
      
 dism /Mount-Wim /WimFile:E:\Backup_IMGWIM\ImagenGenericaV1.5.WIM /index:1 /MountDir:c:\TEMP\


 3º Desmontar la imagen WIM y que guarde la modificación:

  Dism /Unmount-Wim /MountDir:c:\TEMP\ /Commit


  4º subir la imagen modificada a WDS





Nota:

Para agregar drivers a la imagen WIM una vez montada la imagen seguir este procedimiento:

Agregar Driver:
    Dism /Add-Driver /Image:"c:\TEMP" /Driver:"F:\DrvBibli\network\e1d62x64.inf"
    Podemos verificar que se a cargado el driver: Dism /Get-Drivers /Image:"f:\winpe"
Si se especifica una carpeta en lugar de un archivo .inf, se pueden agregar varios controladores en una línea de comandos. Para instalar todos los controladores en una carpeta y en todas sus subcarpetas, use la opción/recurse. Por ejemplo:
Dism /Image:f:\winpe /Add-Driver /Driver:F:\Drv /Recurse




Otro método más "visual" y directo de agregar controladores a WDS, desde Servicios de implemntación windows:

Elegir "Agregar pagete de controladores..."


Podemos elegir la carpeta donde están los drivers, WDS implementara estos drivers en su BB.DD de drivers.
Una vez finalizado este asistente podemos implementar estos drivers desde el contenedor "imagenes de aranque" y " imagenes wim", boton derecho del raton "Agregar paquetes de controladores a imagen", sale este asistente, seguirlo y dejarle actulizar la imagen Wim seleccionada.



miércoles, noviembre 18, 2015

Solucion problemas centreon

Mi monitorización lleva funcionado ok durante varios años, un dia de repente nagios es incapaz de leer las unidades monitorizadas, tanto de equipos Linux como de servidores windows... todas als alertas vía mail al unísono y el consiguiente nerviosismo en el departamento de sistemas:

ERROR: Received noSuchName(2) error-status at error-index 1.

Manos la cabeza y que está pasando el las docenas de servidores... tras un primer chequeo todo esta bien ..bueno todo no, Nagios y Centreon tienen problemas, tras googlear y buscar información aqui está la solucion:


-Parar nagios:
service nagios stop

-Borrar todos los ficheros alojados en la siguiente carpeta (Son ficheros del tipo remote_storage_cache_192.168.1.121):

/var/lib/centreon/centplugins#

-Arrancar nagios:
service nagios start


Esperar a que el sistema de motorización recupere su salud.






Limpieza logs de nagios: Un script para mantener Nagios host-perfdata.out log ..



Un script para mantener Nagios host-perfdata.out log ..

maintainnagioslog.sh

#!/bin/sh
o1) service nagios stop
2) cd 
/usr/local/nagios/var/archives
3) tar -cvzf host-perfdata.out.tar.gz host-perfdata.out
4) rm -rf host-perfdata.out
5) touch host-perfdata.out
6) chmod 644 host-perfdata.out
7) chown nagios:nagios host-perfdata.out
8) service nagios start

What does the script do

1) stop nagios service
2) go to log directory /usr/local/nagios/var/archives
3) compress host-perfdata.out file
4) after compressed, delete host-perfdata.out file.
5) recreate host-perfdata.out file
6) set correct file permission
7) set correct file ownership
8) start nagios service

Incluye el script en un cronjob para mantener el fichero 
host-perfdata.out log limpio todos los meses.

05 02 1 * * /usr/
maintainnagioslog.sh >/dev/null 2>&1

Queda pendiente generar un script complementario de rotado de log para la carpeta:

/usr/local/nagios/var/archives

viernes, noviembre 13, 2015

Cómo reducir el tamaño del fichero ibdata1 en MySQL

*el mio ocupa:
-rw-rw---- 1 mysql mysql 12333350912 nov 18 09:36 /var/lib/mysql/ibdata1

Desde la primera versión de MySQL hasta la más reciente, los administradores de base de datos que trabajan con este SGBD se han tropezado antes o después con un problema que no acaba de solucionarse: el crecimiento indefinido del fichero ibdata1.
En este artículo se presentan algunas posibles acciones para eliminar o reducir este problema.

Introducción

Cada tabla de MySQL utiliza un determinado “motor de almacenamiento” (storage engine) . Los más conocidos son MyISAM e InnoDB.
Los datos de tablas que utilizan el engine MyISAM se almacenan como ficheros independientes, normalmente bajo el directorio “/var/lib/mysql/NOMBRE-DE-LA-BASE-DE-DATOS”. Sin embargo los datos de las tablas que utilizanel engine InnoDB se almacenan todos en un único fichero “/var/lib/mysql/ibdata1”. Si la base de datos contiene un gran volumen de datos, este fichero puede llegar a hacerse muy grande. Pero además, cuando se elimina una tabla o toda una base de datos, el espacio que ocupaban en el fichero ibdata1 no se recupera.
Para solucionar este problema, se puede optar por dos procedimientos:
  • Cambiar a MyISAM el engine de las tablas que utilizan InnoDB, y prescindir completamente de este último
o bien:
  • Realizar un volcado completo de todas las bases de datos, reiniciar el servidor y recuperar el volcado. Opcionalmente, podemos reconfigurar el servidor para que las tablas innodb se almacenen en ficheros independientes, evitando de este modo que vuelva a aparecer el problema.
En cualquiera de los dos casos, conviene hacerse primero una idea de la situación, ejecutando una sentencia que nos indique el número de tablas  que utilizan cada uno de estos engines:
SELECT COUNT(1) EngineCount,engine
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','performance_schema','mysql')
GROUP BY engine;
Si el resultado de la consulta anterior nos indica que hay un cierto número de tablas que utilizan InnoDB, podemos ejecutar otra consulta para saber en detalle los nombres de los esquemas y tablas que lo utilizan:
SELECT table_schema,table_name FROM information_schema.tables WHERE table_schema NOT IN ('information_schema','performance_schema','mysql') and engine='InnoDB';

Método 1: Convertir a MySAM las tablas que utilizan InnoDB

A menos que por razones de rendimiento u otros motivos sea imprescindible mantener el uso de InnoDB, podemos prescindir completamente del mismo. Para ello, debemos convertir cada tabla que utiliza InnoDB para que utilice MyISAM, con comandos de la forma:
alter table NOMBRE-DE-TABLA engine MyISAM;
una vez hecho esto, editamos el fichero de configuración de mysql “my.cnf “(que en un sistema linux se encuentra normalmente en la ruta /etc/mysql/my.cnf), para incluir en la sección “[mysqld]” las directrices:
[mysqld]
innodb=OFF
default_storage_engine=MyISAM
Dado que el motor de almacenamiento por defecto desde MySQL 5.5 ha cambiado a InnoDB, la segunda directriz es necesaria para establecer MyISAM como motor de almacenamiento por defecto.
Nota: Para versiones de MySQL 5.4 o anteriores, para inhabilitar InnoDB sólo era necesario incluir una directriz:
[mysqld]
skip-innodb
A continuación, reiniciamos la base de datos:
$ sudo /etc/init.d/mysql restart
Podemos comprobar que InnoDB ha sido inhabilitado con el comando:
mysqladmin -u root -p var | grep have_innodb
y verificando que la salida del comando es:
| have_innodb                          | DISABLED                     |
y ya podemos eliminar el fichero “ibdata1” y los ficheros de log “ib_logfile0”, “ib_logfile1”

Método 2: Volcar las bases de datos, reiniciar el servidor y recuperar los volcados

  1. Realizar un volcado (por ejemplo, con mysqldump) de todas las bases de datos en un ficherodatos.sql
  2. Eliminar todas las bases de datos excepto mysql e information_schema
    Adicionalmente, se puede hacer una copia de los ficheros de mysql ejecutando como root los comandos:
    mkdir /var/lib/mysql_grants
    cp /var/lib/mysql/mysql/* /var/lib/mysql_grants/.
    chown -R mysql:mysql /var/lib/mysql_grants
    Opcionalmente, se puede utilizar el procedimiento explicado en “Cómo copiar y restaurar los permisos de usuario de MySQL” para realizar una copia de seguridad de los privilegios de usuario.
  3. Conectarse a mysql y ejecutar el comando SET GLOBAL innodb_fast_shutdown = 0; Con esto, se completa la ejecución de cualquier cambio transaccional que estuviera pendiente en los ficheros de los de transacciones ib_logfile0 e ib_logfile1
  4. Parar MySQL (/etc/init.d/mysql stop)
  5. Añadir las siguientes líneas al fichero /etc/my.cnf (o my.ini en Windows)
    [mysqld]
    innodb_file_per_table
    innodb_flush_method=O_DIRECT
    innodb_log_file_size=1G
    innodb_buffer_pool_size=4G
    (Nota: Los valores de los parámetros innodb_log_file_size e innodb_bufer_pool_size que se muestran son sólo ejemplos. En cualquier caso, hay que asegurarse de que el valor que se especifique para innodb_log_file_size sea un 25% del valor de innodb_buffer_pool_size.)
    Con el parámetro innodb_file_per_table, los datos de las tablas innodb se crearan en ficheros independientes, evitando que se reproduzca el problema del crecimiento del fichero ibdata1.
  6. Borrar los ficheros ibdata* e ib_logfile*.
  7. Arrancar MySQL (/etc/init.d/mysql start). Esto creará de nuevo el fichero ibdata1 [10MB por defecto] y ib_logfile0ib_logfile1 con 1 GB cada uno).
  8. Importar el volcado datos.sql