Buenos días amig@s!
Hoy quería enseñaros una forma fácil y rápida de administrar varias máquinas linux, esto sólo es recomendable cuando hay pocas máquinas, en caso de que haya más os recomendaría otra método como puede ser Puppet o Ansible.
Ahí vamos.
1º Necesitaremos tener una máquina Linux (en mi caso la distribución es Debian, pero puede ser cualquier, lo único que cambiará será el apt-get)
javi@Linuxtargz# apt-get install clusters
2ª Cuando se instale, necesitaremos poner el comando "ssh ip" por ejemplo:
javi@Linuxtargz# cssh 172.22.2.231 172.22.2.53 172.22.2.54
Se pueden poner tantas ips como quieras..También se puede poner si quieres entrar
como root del servidor
Ejm.
javi@Linuxtargz# cssh root@172.22.2.231 root@172.22.2.53 root@172.22.2.54 root@172.22.2.52
No es necesario entrar con root, al igual que tampoco poner la ip (siempre que resuelva por DNS) un ejemplo de ello:
javi@Linuxtargz# cssh squidx ftpx openvpn
Espero que os haya sido útil y os ahorre un poco de tiempo al tener que instalar algo en varias máquinas o hacer un mantenimiento.
Un saludo!!
analytics
Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas
viernes, 12 de agosto de 2016
miércoles, 10 de agosto de 2016
Cambiar nombre sistema VyOS
Buenas chic@s.
La entrada de hoy es muy simple, pero seguro que todos queréis que vuestro FW no se llama @vyos.
Vamos a darle un nombre más afín, para que esté en sintonía con nuestra infraestructura
Con estos simples comandos podréis definir el nombre de sistema de vuestro VyOS
Así viene por defecto:
vyos@vyos:~$
Empezamos:
La entrada de hoy es muy simple, pero seguro que todos queréis que vuestro FW no se llama @vyos.
Vamos a darle un nombre más afín, para que esté en sintonía con nuestra infraestructura
Con estos simples comandos podréis definir el nombre de sistema de vuestro VyOS
Así viene por defecto:
vyos@vyos:~$
Empezamos:
vyos@vyos:~$ configure
vyos@vyos# set system host-name LinuxTargz (Aquí podeis poner el nombre que desees)
vyos@vyos# commit (Siempre recordar aplicar el "commit" para aplicar los cambios)
[ system host-name LinuxTargz ]
Stopping enhanced syslogd: rsyslogd.
Starting enhanced syslogd: rsyslogd.
vyos@LinuxTargz:~$
Con estos simples comandos podréis definir el nombre de sistema de vuestro VyOS
Espero que os haya resultado útil.
Saludos!
jueves, 4 de agosto de 2016
Configuración túnel IPSEC con VyOS
Buenos días chic@s.
Siguiendo con nuestro post anterior, hoy os enseñaré cómo configurar una vpn IPSEC con nuestro VyOS, contra otro FW VyOS o de otro fabricante.
Para este ejemplo, contamos con una red de prueba que es la siguiente:
RED - 161.111.128.0/24
GW Remoto - 161.111.128.82
Sin más empezamos:
Entramos por ssh al FW (si no recuerdas como entrar, tienes las instrucciones en el post anterior) dentro meteremos los siguientes comandos.
*Existen diferentes opciones a la expuestas a continuación, podéis cambiar el cifrado, el hash, dh y por supuesto es muy recomendable cambiar la password que aquí vamos a poner.
Siguiendo con nuestro post anterior, hoy os enseñaré cómo configurar una vpn IPSEC con nuestro VyOS, contra otro FW VyOS o de otro fabricante.
Para este ejemplo, contamos con una red de prueba que es la siguiente:
RED - 161.111.128.0/24
GW Remoto - 161.111.128.82
Sin más empezamos:
Entramos por ssh al FW (si no recuerdas como entrar, tienes las instrucciones en el post anterior) dentro meteremos los siguientes comandos.
*Existen diferentes opciones a la expuestas a continuación, podéis cambiar el cifrado, el hash, dh y por supuesto es muy recomendable cambiar la password que aquí vamos a poner.
vyos@vyos:~$ configure
vyos@vyos# set vpn ipsec ipsec-interfaces interface eth0
vyos@vyos# set vpn ipsec ike-group IKE-Ltgz proposal 1
vyos@vyos# set vpn ipsec ike-group IKE-Ltgz proposal 1 dh-group 2
vyos@vyos# set vpn ipsec ike-group IKE-Ltgz proposal 1 encryption 3des
vyos@vyos# set vpn ipsec ike-group IKE-Ltgz proposal 1 hash sha1
vyos@vyos# set vpn ipsec ike-group IKE-Ltgz lifetime 3600
vyos@vyos# set vpn ipsec esp-group ESP-Ltgz proposal 1
vyos@vyos# set vpn ipsec esp-group ESP-Ltgz pfs dh-group5
vyos@vyos# set vpn ipsec esp-group ESP-Ltgz proposal 1 encryption 3des
vyos@vyos# set vpn ipsec esp-group ESP-Ltgz proposal 1 hash sha1
vyos@vyos# set vpn ipsec esp-group ESP-Ltgz lifetime 1800
vyos@vyos# edit vpn ipsec site-to-site peer 161.111.128.82
vyos@vyos# set authentication mode pre-shared-secret
vyos@vyos# set authentication pre-shared-secret 12345678
vyos@vyos# set default-esp-group ESP-Ltgz
vyos@vyos# set ike-group IKE-Ltgz
vyos@vyos# set local-address 161.111.240.24
Como se puede observar hasta aquí, hemos definido toda la fase I de la VPN, ahora nos faltaría por indicarle la fase II donde podremos las redes que tendrán conectividad.
La topología es la siguiente:
-Redes que ve mi FW (locales-internas) 10.100.200.0/24 y 10.100.201.0/24
-Redes externas (detrás del otro FW) 161.111.128.0/24
En este caso, necesitaré 2 Fases II para poder tener conectividad entre mis redes LAN y la red LAN remota.
vyos@vyos# set tunnel 1 local prefix 10.100.200.0/24
vyos@vyos# set tunnel 1 remote prefix 161.111.128.0/24
vyos@vyos# set tunnel 2 local prefix 10.100.201.0/24
vyos@vyos# set tunnel 2 remote prefix 161.111.128.0/24
Con estos comandos ya tendríais configurado los túneles, habría que hacer lo equivalente ( o lo mismo en caso de que sea otro VyOS) en el otro extremo.
Para comprobar si los túneles están levantados el comando a utilizar es el siguiente:
vyos@vyos:~$ show vpn ipse status (*Aquí sólo podremos ver si están up o down los túneles)
O si lo queremos con más detalle, miraremos el log.
vyos@vyos:~$ show log vpn ipse
Esto ha sido todo, si tenéis cualquier duda, no dudeis en preguntarnos
Un saludo amig@s!
martes, 26 de julio de 2016
Firewall VyOS - Alternativa gratuita -
Buenos dias ami@s!
Hoy os traigo un Firewall virtual gratuito, no tan conocido como pfsense, pero que tiene muchas funcionalidales. Su nombre es VyOS
Nos podremos bajar el FW pinchando aquí
Una vez descargada e instalada, comenzamos a probarla:
-Asignación de ip al interfaz
-Configuración del interfaz
-Permitir acceso ssh y asignación de puerto
-Establecimiento del Gateway.
Empezamos.
Las credenciales por defecto son:
*****************
vyos login: vos
password: vyos
*****************
En esta entrada vamos a ver cómo empezar con su configuración:
vyos@vyos: configure
vyos@vyos#set interfaces ethernet eth0 address 161.111.240.40/24
vyos@vyos#set service ssh allow-root
vyos@vyos#set service ssh port 22
vyos@vyos#set system gateway-address 161.111.240.1
Con "commit" aplicamos la configuración, si no lo ejecutas, no funcionara los cambios realizados.
Con "save" salvaremos la configuración en el fichero denominado config.boot.
Ahora podríamos conectarnos a la máquina vía ssh y su administración es más fácil que por el hypervisor.
vyos@vyos: configure
vyos@vyos#set interfaces ethernet eth1 address 10.100.200.1/24
vyos@vyos#set interfaces ethernet eth2 address 10.100.201.1/24
vyos@vyos#set interfaces ethernet eth3 address 161.111.70.40/24
vyos@vyos#set interfaces ethernet eth4 address 10.100.204.1/24
vyos@vyos#set interfaces ethernet eth5 address 10.100.205.1/24
vyos@vyos#set interfaces ethernet eth5 duplex auto
vyos@vyos#set interfaces ethernet eth5 smp_affinity auto
vyos@vyos#set interfaces ethernet eth5 speed auto
vyos@vyos#commit
vyos@vyos#save
Las últimas lineas en la Eth5 no son necesarias, las he puesto para que podais ver todas las opciones que nos da el VyOS.
Así tendríamos nuestro FW configurado, en la próxima entrada veremos cómo configurar y levantar túneles IPSEC.
Un saludo!
Hoy os traigo un Firewall virtual gratuito, no tan conocido como pfsense, pero que tiene muchas funcionalidales. Su nombre es VyOS
Nos podremos bajar el FW pinchando aquí
Una vez descargada e instalada, comenzamos a probarla:
-Asignación de ip al interfaz
-Configuración del interfaz
-Permitir acceso ssh y asignación de puerto
-Establecimiento del Gateway.
Empezamos.
Las credenciales por defecto son:
*****************
vyos login: vos
password: vyos
*****************
En esta entrada vamos a ver cómo empezar con su configuración:
vyos@vyos: configure
vyos@vyos#set interfaces ethernet eth0 address 161.111.240.40/24
vyos@vyos#set service ssh allow-root
vyos@vyos#set service ssh port 22
vyos@vyos#set system gateway-address 161.111.240.1
Con "commit" aplicamos la configuración, si no lo ejecutas, no funcionara los cambios realizados.
Con "save" salvaremos la configuración en el fichero denominado config.boot.
Ahora podríamos conectarnos a la máquina vía ssh y su administración es más fácil que por el hypervisor.
vyos@vyos: configure
vyos@vyos#set interfaces ethernet eth1 address 10.100.200.1/24
vyos@vyos#set interfaces ethernet eth2 address 10.100.201.1/24
vyos@vyos#set interfaces ethernet eth3 address 161.111.70.40/24
vyos@vyos#set interfaces ethernet eth4 address 10.100.204.1/24
vyos@vyos#set interfaces ethernet eth5 address 10.100.205.1/24
vyos@vyos#set interfaces ethernet eth5 duplex auto
vyos@vyos#set interfaces ethernet eth5 smp_affinity auto
vyos@vyos#set interfaces ethernet eth5 speed auto
vyos@vyos#commit
vyos@vyos#save
Las últimas lineas en la Eth5 no son necesarias, las he puesto para que podais ver todas las opciones que nos da el VyOS.
Así tendríamos nuestro FW configurado, en la próxima entrada veremos cómo configurar y levantar túneles IPSEC.
Un saludo!
martes, 5 de abril de 2016
Restablecimiento de la contraseña root en mysql
Hola a tod@s
Hoy os voy a contar un nuevo problema.
Imaginad que os dan la administración de un servidor linux en el que hay una instancia MYSQL corriendo.
Al hacer el traspaso de la información os facilitan las claves de los usuarios y la de root para entrar el servidor, pero nadie os habla la contraseña del MYSQL. Todo va bien hasta que un día tenéis que hacer algo en la BBDD y nadie sabe ni recuerda la contraseña que se puso en su día.
Ok, pues nos toca “saltarse la contraseña y establecer una nueva” para ello hay que hacer lo siguiente:
(OJO!!, este procedimiento implica una parada en el servicio de MYSQL.)
Paso 1: Detener cualquier proceso del servidor MySQL.
Paso 2: Iniciar el proceso del servidor MySQL (mysqld) con la opción –skip-grant-tables por lo cual este no preguntará por la contraseña.
Paso 3: Conectar al servidor MySQL como el usuario root
Paso 4: Configurar una nueva contraseña para la nueva contraseña root
Paso 5: Salir y reiniciar el servidor MySQL.
Paso 2: Iniciar el proceso del servidor MySQL (mysqld) con la opción –skip-grant-tables por lo cual este no preguntará por la contraseña.
Paso 3: Conectar al servidor MySQL como el usuario root
Paso 4: Configurar una nueva contraseña para la nueva contraseña root
Paso 5: Salir y reiniciar el servidor MySQL.
Visto así parece algo complicado, así que vamos a poner todos los comandos necesarios para cada uno de los pasos mencionados anteriormente para que sea un poco más sencillo (para realizar esta operativa tenéis que ser root de la máquina)
Paso # 1: Detener el servicio mysql
# /etc/init.d/mysql stop
Salida:
Stopping MySQL database server: mysqld.
Paso # 2: Iniciar el servidor MySQL sin contraseña:
# mysqld_safe –skip-grant-tables
Salida:
[1] 5988
Iniciando el motor de mysqld de las bases de datos desde /var/lib/mysql
mysqld_safe[6025]: started
Paso # 3: Conectar al servidor mysql usando el cliente mysql:
# mysql -u root
Salida:
Bienvenido al monitor de MySQL. Comandos y con ; o \g.
Your MySQL connection id is 1 to server version: 5.0.21-log
Teclear ‘help;’ o ‘\h’ para obtener ayuda. Tipiar ‘\c’ para en vaciar el buffer.
mysql>
Paso # 4: Configurar una nueva contraseña del servidor MySQL para el usuario root:
mysql> use mysql;
mysql> update user set password=PASSWORD(“NEW-ROOT-PASSWORD”) where User=’root’;
mysql> flush privileges;
mysql> quit
mysql> update user set password=PASSWORD(“NEW-ROOT-PASSWORD”) where User=’root’;
mysql> flush privileges;
mysql> quit
Paso # 5: Detener el servidor MySQL:
# /etc/init.d/mysql stop
Salida:
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6121]: ended
[1]+ Done mysqld_safe –skip-grant-tables
Paso # 6: Iniciar el servidor MySQL y verificar la contraseña:
# /etc/init.d/mysql start
# mysql -u root -p
# mysql -u root -p
Espero que os haya resultado util este pequeño “manual” :)
Un saludo a tod@s!
lunes, 4 de abril de 2016
Control de snapshot mediante Nagios
Buenos días a tod@s
El otro día leyendo blog vi que se hablaba del control del los snapshot, una ayuda muy potente a la hora de aplicar cambios y probar qué tal funciona (aunque yo prefiero los snapshot a nivel de cabina), pero muy peligrosa siempre que se alargan en el tiempo.
Una forma de controlar que no tengamos instantáneas en nuestra infraestructuras y en el caso de tenerlas, que estén controladas es mediante Nagios.
1º Lo primero que vamos a necesitar es generar la clave publica de nuestro servidor Nagios y meterla dentro de nuestro ESXI (esto ya lo hemos hecho en el post anterior, pero si alguien quiere, lo volvemos a poner paso a paso)
2º Ahora nos tocará escribir los script para que nuestro Nagios pueda buscar los snapshot existentes y nos avise en caso de que existan:
En este caso nos va a avisar siempre que existan y sean mayores que 2G
-#!/bin/sh
##########################################################3
# DECLARACION DE VARIABLES
######################################################3###
OK='0'
WARNING='1'
CRITICAL='2'
##################################################################################
#CONEXION A ESXI Y LOCALIZACION DE SNAPSHOT MAYORES A 2 GIGAS
################################################################################3#
VMS=$( ssh root@192.168.x.x /usr/bin/find /vmfs/volumes/ -name '*.vmsn' -size +2000000k | cut -d '/' -f5 )
exit 0
####################################################################3
#CUENTA MAQUINAS VISTRUALES CON SNAPSHOT SUPERIORES A 2 GIGAS
####################################################################
NUM=$( echo "$VMS" | wc -l )
if [ "$NUM" -eq 0 ] ; then
echo "sin snapshot"
exit $OK
elif [ "$NUM" -gt 2 ] ; then
echo "$VMS tienen snapshot"
exit $CRITICAL
else
echo "$VMS tienen snapshot"
exit $WARNING
fi
2ª script
#!/bin/sh
##########################################################33
#ARCHIVOS DELTA
########################################################
##########################################################3
# DECLARACION DE VARIABLES
######################################################3###
OK='0'
WARNING='1'
CRITICAL='2'
##################################################################################
#CONEXION A ESXI Y LOCALIZACION DE SNAPSHOT MAYORES A 2 GIGAS
################################################################################3#
VMS=$( ssh root@192.168.x.x /usr/bin/find /vmfs/volumes/ -name '*delta.vmdk' -size +2000000k | cut -d '/' -f5 )
####################################################################3
#CUENTA MAQUINAS VISTRUALES CON SNAPSHOT SUPERIORES A 2 GIGAS
####################################################################
NUM=$( echo "$VMS" |grep -v '^$' | wc -l )
if [ "$NUM" -eq 0 ] ; then
echo "sin snapshot"
exit $OK
elif [ "$NUM" -gt 2 ] ; then
echo "$VMS tienen snapshot"
exit $CRITICAL
else
echo "$VMS tienen snapshot"
exit $WARNING
fi
3º Una vez que tenemos nuestros script escritos en bash, tendremos que incluir en el fichero commands la siguiente instrucción.
define command {
command_name snapshot
command_line $USER1$/snapshot.sh $HOSTADDRESS$
}
define command {
command_name snapshot-delta
command_line $USER1$/snapshot-delta.sh $HOSTADDRESS$
}
4º Ya sólo nos quedaría incluir en nuestro fichero la definición del servicio
define service{
use generic-service
host_name ESXI
service_description snapshot
check_command snapshot
}
define service{
use generic-service
host_name ESXI
service_description snapshot-delta
check_command snapshot-delta
}
Con estos paso ya tendríamos controlado el uso de nuestros snapshot en nuestra infraestructura y podrían avisarnos mediante correo electrónico, mensajes o whatsapp de su existencia.
Espero que os haya resultado útil.
Un saludo amig@s
El otro día leyendo blog vi que se hablaba del control del los snapshot, una ayuda muy potente a la hora de aplicar cambios y probar qué tal funciona (aunque yo prefiero los snapshot a nivel de cabina), pero muy peligrosa siempre que se alargan en el tiempo.
Una forma de controlar que no tengamos instantáneas en nuestra infraestructuras y en el caso de tenerlas, que estén controladas es mediante Nagios.
1º Lo primero que vamos a necesitar es generar la clave publica de nuestro servidor Nagios y meterla dentro de nuestro ESXI (esto ya lo hemos hecho en el post anterior, pero si alguien quiere, lo volvemos a poner paso a paso)
2º Ahora nos tocará escribir los script para que nuestro Nagios pueda buscar los snapshot existentes y nos avise en caso de que existan:
En este caso nos va a avisar siempre que existan y sean mayores que 2G
-#!/bin/sh
##########################################################3
# DECLARACION DE VARIABLES
######################################################3###
OK='0'
WARNING='1'
CRITICAL='2'
##################################################################################
#CONEXION A ESXI Y LOCALIZACION DE SNAPSHOT MAYORES A 2 GIGAS
################################################################################3#
VMS=$( ssh root@192.168.x.x /usr/bin/find /vmfs/volumes/ -name '*.vmsn' -size +2000000k | cut -d '/' -f5 )
exit 0
####################################################################3
#CUENTA MAQUINAS VISTRUALES CON SNAPSHOT SUPERIORES A 2 GIGAS
####################################################################
NUM=$( echo "$VMS" | wc -l )
if [ "$NUM" -eq 0 ] ; then
echo "sin snapshot"
exit $OK
elif [ "$NUM" -gt 2 ] ; then
echo "$VMS tienen snapshot"
exit $CRITICAL
else
echo "$VMS tienen snapshot"
exit $WARNING
fi
2ª script
#!/bin/sh
##########################################################33
#ARCHIVOS DELTA
########################################################
##########################################################3
# DECLARACION DE VARIABLES
######################################################3###
OK='0'
WARNING='1'
CRITICAL='2'
##################################################################################
#CONEXION A ESXI Y LOCALIZACION DE SNAPSHOT MAYORES A 2 GIGAS
################################################################################3#
VMS=$( ssh root@192.168.x.x /usr/bin/find /vmfs/volumes/ -name '*delta.vmdk' -size +2000000k | cut -d '/' -f5 )
####################################################################3
#CUENTA MAQUINAS VISTRUALES CON SNAPSHOT SUPERIORES A 2 GIGAS
####################################################################
NUM=$( echo "$VMS" |grep -v '^$' | wc -l )
if [ "$NUM" -eq 0 ] ; then
echo "sin snapshot"
exit $OK
elif [ "$NUM" -gt 2 ] ; then
echo "$VMS tienen snapshot"
exit $CRITICAL
else
echo "$VMS tienen snapshot"
exit $WARNING
fi
3º Una vez que tenemos nuestros script escritos en bash, tendremos que incluir en el fichero commands la siguiente instrucción.
define command {
command_name snapshot
command_line $USER1$/snapshot.sh $HOSTADDRESS$
}
define command {
command_name snapshot-delta
command_line $USER1$/snapshot-delta.sh $HOSTADDRESS$
}
4º Ya sólo nos quedaría incluir en nuestro fichero la definición del servicio
define service{
use generic-service
host_name ESXI
service_description snapshot
check_command snapshot
}
define service{
use generic-service
host_name ESXI
service_description snapshot-delta
check_command snapshot-delta
}
Con estos paso ya tendríamos controlado el uso de nuestros snapshot en nuestra infraestructura y podrían avisarnos mediante correo electrónico, mensajes o whatsapp de su existencia.
Espero que os haya resultado útil.
Un saludo amig@s
viernes, 1 de abril de 2016
Reclaim versión 5.1 y 5.5
Buenos días a tod@s!
Hoy quería mostraros una tarea a priori sencilla pero que me permite reducir mucho el tiempo en tareas de mantenimiento de mi infraestructura.
Generalmente, una vez al mes, suelo hacer un "reclaim" en mi host para liberar espacio en la cabina
( No hay un tiempo mínimo ni máximo para hacer este mantenimiento, pero siempre es recomendable cuando se han creado o borrado máquinas de nuestra granja)
Al tener varios Datastore en poner un simple comando (versión 5.5) se hacía tedioso, puesto que tienes que ir uno por uno y esperar a que se acabe el proceso anterior, los que lleven más tiempo recordarán que era peor aún en la versión 5.1 pues había que entrar dentro de la carpeta para realizar (en este caso) el vmkstool -y
Lo primero que hay que hacer es introducir vuestra clave publica en el host (esxi) para que se pueda conectar de forma remota automáticamente.
Para ello copiaremos nuestra clave en el esxi, a continuación os muestro la ruta dónde tendréis que copiar dicha clave:
/etc/ssh/keys-root
vi authorized_keys
Ahí deberéis poner vuestra clave.
Bueno, manos a la obra.... se crea un script, pero... nos encontramos el 1º problema, nuestros esxi usan busybox, no tienen las mismas funcionalidad que bash, hay que escapar las variables para que las recozca. Sabiendo esto, ahora si que vamos a por ello....
La segunda curiosidad es que tendréis que añadir << EOF o un \ (final de carro) para que realice vuestras sentencias
Versión 5.1
- Aquí aún no he visto cómo pasarle la variable desde mi máquina local y que el cliente la reconozca, así que he introducido el porcentaje a reclamar directamente sobre el script, en cuanto pruebe un par de cosas más, actualizaré el post con la solución más optima,
Versión 5.5
Con sólo ejecutar nuestro script procederemos a reclamar el espacio de todos nuestros Datastores
Espero que os haya servido de ayuda, :)
Un saludo
Hoy quería mostraros una tarea a priori sencilla pero que me permite reducir mucho el tiempo en tareas de mantenimiento de mi infraestructura.
Generalmente, una vez al mes, suelo hacer un "reclaim" en mi host para liberar espacio en la cabina
( No hay un tiempo mínimo ni máximo para hacer este mantenimiento, pero siempre es recomendable cuando se han creado o borrado máquinas de nuestra granja)
Al tener varios Datastore en poner un simple comando (versión 5.5) se hacía tedioso, puesto que tienes que ir uno por uno y esperar a que se acabe el proceso anterior, los que lleven más tiempo recordarán que era peor aún en la versión 5.1 pues había que entrar dentro de la carpeta para realizar (en este caso) el vmkstool -y
Lo primero que hay que hacer es introducir vuestra clave publica en el host (esxi) para que se pueda conectar de forma remota automáticamente.
Para ello copiaremos nuestra clave en el esxi, a continuación os muestro la ruta dónde tendréis que copiar dicha clave:
/etc/ssh/keys-root
vi authorized_keys
Ahí deberéis poner vuestra clave.
Bueno, manos a la obra.... se crea un script, pero... nos encontramos el 1º problema, nuestros esxi usan busybox, no tienen las mismas funcionalidad que bash, hay que escapar las variables para que las recozca. Sabiendo esto, ahora si que vamos a por ello....
La segunda curiosidad es que tendréis que añadir << EOF o un \ (final de carro) para que realice vuestras sentencias
Versión 5.1
- Aquí aún no he visto cómo pasarle la variable desde mi máquina local y que el cliente la reconozca, así que he introducido el porcentaje a reclamar directamente sobre el script, en cuanto pruebe un par de cosas más, actualizaré el post con la solución más optima,
#!/usr/bin/env bash
ssh root@192.168.x.x /bin/sh -- << EOF
find /vmfs/volumes -type l -maxdepth 1 | while read datastore; do
cd "\$datastore"
echo "reclamando espacio de \$datastore ..."
vmkfstools -y 60
cd ..
done
echo "reclamado espacio disponible"
Versión 5.5
#!/usr/bin/env bash
ssh root@192.168.x.x /bin/sh -- << EOF
find /vmfs/volumes -type l -maxdepth 1 | cut -d/ -f4 | while read datastore; do
echo "reclamando datastore \$datastore"
esxcli storage vmfs unmap -l "\$datastore"
done
echo "reclamado espacio disponible"
Espero que os haya servido de ayuda, :)
Un saludo
lunes, 22 de febrero de 2016
Aumentar tamaño de disco de una máquina virtual
Hola a tod@s!
El otro día me encontré con un “warning” de disco en una de mis máquinas virtuales, me estaba quedando sin espacio, estoy seguro que a mas de un@ le ha pasado…
Lo único “malo” que tiene esta operativa frente a otras es que nos obligará a reiniciar la máquina 2 veces. Algunos de los comandos que os vendrá bien saber para tener claro cómo se llama vuestro VG, PV y LV son:
root@-1N1:~# vgs
root@-1N1:~# pvs
root@-1N1:~# lvs
Así que sin más vamos a ver cómo ampliarlo manualmente…
- 1- lo primero que tenemos que hacer es ampliar el espacio en disco en nuestro hypervisor ( en mi caso VMware)
- 2- Cuando hayamos ampliado el espacio reiniciaremos el servidor con un rebooto con init 6 lo que más os guste
- 3- Cuando se haya levantado la máquina, veremos el tamaño que tiene, esto lo podemos ver poniendo el siguiente comando:
- cat /proc/partition
- Ya sabemos el espacio del que disponemos, ahora vamos a ampliar la partición
- ejecutamos la siguiente sentencia en el terminal y pulsamos enter
- fdisk /dev/sda
- Pulsaremos p para ver cómo está nuestras particiones
Algo así es lo que se nos mostrará, en mi caso esta es la tabla de particiones de mi equipo
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extendida
/dev/sda5 501760 41940991 20719616 8e Linux LVM
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extendida
/dev/sda5 501760 41940991 20719616 8e Linux LVM
- Vamos a borrar la partición 2 y la volveremos a crear, recordad que cuando se haga este cambio automáticamente se borrará también el sd5 (Linux LVM) y se perderá el tipo de partición, no os preocupes por esto, luego lo volveremos a poner como estaba
- Ahora crearemos una partición lógica nueva, por defecto nos dirá que sea la 2y cogerá todo el espacio que haya, sino lo hiciera automáticamente, vosotros podéis introducir los parámetros que consideres más correctos, en mi caso le voy a asignar todo el espacio.
- ya tenemos una partición Extendida, pero recordad que arriba teníamos una partición llamada Linux LVM, así que creamos una partición nueva sobre la partición 2 que acabamos de crear, como veis, se crear una partición extendida, no con el tipo que nosotros buscábamos, para ello, tendremos que usar la opción T y en la lista elegir el codigo 8e que es la que corresponde con Linux LVM.
- Volvemos a ver cómo ha quedado:
- cat /proc/partition
- Ahora reiniciaremos de nuevo el servidor
- El siguiente paso es indicar al PV que es más grande, esto se hace así:
- pvresize /dev/sda2
- Ya tenemos el PV redimensionado, ahora nos centraremos en ampliar el LV:
- lvresize -L +3G /dev/vgdebian/raiz
Ejm.
1- root@-1N1:~# lvresize -L +3G /dev/vgdebian/raiz
Extending logical volume raiz to 4.86 GiB
Logical volume raiz successfully resized
Extending logical volume raiz to 4.86 GiB
Logical volume raiz successfully resized
- Ahora ingresamos otro comando para expander el sistema de fichero y ocupe todo el espacio que tenemos:
- resize2fs /dev/mapper/vgdebian-raiz
Ejm.
2-root@1N1:~# resize2fs /dev/mapper/vgdebian-raiz
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mapper/vgdebian-raiz is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/vgdebian-raiz to 1273856 (4k) blocks.
The filesystem on /dev/mapper/vgdebian-raiz is now 1273856 blocks long.
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mapper/vgdebian-raiz is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/vgdebian-raiz to 1273856 (4k) blocks.
The filesystem on /dev/mapper/vgdebian-raiz is now 1273856 blocks long.
- Ya tenemos nuestra máquina lista, el último comando para ver qué todo se ha hecho bien es:
- df -h
Ejm.
3 – root@-1N1:~# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 4.8G 1.8G 2.9G 39% /
udev 10M 0 10M 0% /dev
tmpfs 101M 176K 101M 1% /run
/dev/mapper/vgdebian-raiz 4.8G 1.8G 2.9G 39% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 201M 0 201M 0% /run/shm
/dev/sda1 92M 23M 64M 27% /boot
Filesystem Size Used Avail Use% Mounted on
rootfs 4.8G 1.8G 2.9G 39% /
udev 10M 0 10M 0% /dev
tmpfs 101M 176K 101M 1% /run
/dev/mapper/vgdebian-raiz 4.8G 1.8G 2.9G 39% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 201M 0 201M 0% /run/shm
/dev/sda1 92M 23M 64M 27% /boot
Esto ha sido todo, espero que os haya salido bien, cualquier duda, aquí estoy para intentar ayudaros.
Disculpadme si no he sabido expresarme bien o haya sido demasiado tedioso
Un saludo amig@s!
Suscribirse a:
Entradas (Atom)