Uso de DSH (Shell distribuido) para ejecutar comandos de Linux en varias máquinas

Uso de DSH (Shell distribuido) para ejecutar comandos de Linux en varias máquinas

Los administradores de sistemas. conocen muy bien la importancia de poder monitorizar y administrar numerosas máquinas en poco tiempo y, preferiblemente, con la menor cantidad de tiempo posible. Ya sea que se trate de un pequeño entorno de nube o de un enorme clúster de servidores, la capacidad de administrar computadoras de manera centralizada es esencial.

 Comandos DSH  Comandos DSH Ejecutar comandos DSH en varios servidores

En parte Para lograr esto, le mostraré cómo usar una pequeña herramienta ingeniosa llamada DSH. que permite al usuario ejecutar comandos en múltiples máquinas.

Leer también. Pssh: ejecutar comandos en varios servidores Linux remotos

¿Qué es DSH?

DSH. es la abreviatura de“ Concha distribuida. ”o“ Concha de bailarina ”está disponible gratuitamente en la mayoría de las principales distribuciones de Linux. pero puede construirse fácilmente desde la fuente si su distribución no lo ofrece en su repositorio de paquetes. Puede obtener la fuente en.

  1. http://www.netfort.gr.jp/~dancer/software/dsh.html.en

Instale DSH (Distributed Shell) en Linux

Vamos a asumir un entorno Debian. Ubuntu. para el alcance de este tutorial. Si está utilizando otra distribución, sustituya los comandos apropiados para su administrador de paquetes.

En Debian/Ubuntu freestar.config.enabled_slots.push

Primero, instalemos el paquete a través de apt:

$ sudo apt-get install dsh en RHEL/CentOS/Fedora

Este método es para aquellos que no están usando Debian. y desea compilarlo a partir de bolas de alquitrán de origen. Primero debe compilar “ libdshconfig. e instalarlo.

# wget http://www.netfort.gr.jp/~dancer/software/downloads/libdshconfig-0.20.10.cvs .1.tar.gz # tar xfz libdshconfig * .tar.gz # cd libdshconfig-* # ./configure; make # make install

Luego compile dsh. e instálelo.

# wget http://www.netfort.gr.jp/~dancer/software/downloads/dsh-0.22.0 .tar.gz # tar xfz dsh-0.22.0.tar.gz # cd dsh-* # ./configure; make # make install

El archivo de configuración principal “/etc/dsh/dsh.conf”. (para Debian. y “/usr/local/etc/dsh.conf. ”(para Red Hat). es bastante sencillo, pero como rsh. es un protocolo no cifrado, usaremos SSH. como shell remoto. Usando el editor de texto de su elección, busque esta línea:

remoteshell = rsh

Y cámbiela a:

remoteshell = ssh

Hay otras opciones que puede pasar aquí, si lo desea para hacerlo, y hay muchos para encontrar en la página de manual de dsh. Por ahora, aceptaremos los valores predeterminados y veremos el siguiente archivo, /etc/dsh/machines.list. (para Debian. .

Para los sistemas basados ​​en Red Hat. debe crear un archivo llamado “ machines.list. en “/usr/local/etc/ ”.

La sintaxis aquí es bastante fácil. Todo lo que uno tiene que hacer es ingresar las credenciales de una máquina ( Nombre de host. Dirección IP. o FQDN. una por línea.

Nota. cuando acceda a más de una máquina simultáneamente, le convendría configurar SSH sin contraseña basada en claves en todas sus máquinas. Esto no solo proporciona facilidad de acceso, sino que, en términos de seguridad, también refuerza su máquina.

Mi “/etc/dsh/machines.list. o “/usr/local/etc/machines.list. ”dice el archivo:

172.16.25.125 172.16.25.126

Una vez que haya ingresado las credenciales de las máquinas a las que desea acceder, ejecutemos un comando como “ tiempo de actividad. a todas las máquinas.

$ dsh –aM ​​–c Salida de muestra de tiempo de actividad 172.16.25.125. 05:11:58 hasta 40 días, 51 min, 0 usuarios, promedio de carga: 0,00, 0,01, 0,05 172.16.25.126. 05:11:47 hasta 13 días, 38 min, 0 usuarios, promedio de carga: 0.00, 0.01, 0.05

Entonces, ¿qué hizo este comando?

Bastante simple . Primero, ejecutamos dsh. y le pasamos la opción “ –a. , que dice enviar el comando “ uptime. a “ TODAS. “de las máquinas enumeradas en” /etc/dsh/machines.list. “.

A continuación, especificamos el” –M “, que dice devolver el” nombre de la máquina. “(especificado en” /etc/dsh/machines.list. “) junto con la salida del comando de tiempo de actividad . (Muy útil para ordenar cuando se ejecuta un comando en varias máquinas).

La opción “ –c. significa “ comando a ejecutar. “En este caso,” tiempo de actividad. “.

DSH. también se puede configurar con grupos de máquinas en el” /etc/dsh/grupos/ ”, donde es un archivo con una lista de máquinas en el mismo formato que el archivo“ /etc/dsh/machines.list. ”. Cuando ejecute dsh. en un grupo, especifique el nombre de grupo. después de la opción “- g. .

Para Para los sistemas basados ​​en Red Hat. debe crear una carpeta denominada “ grupos. en el directorio “/usr/local/etc/“. En ese directorio “ grupos. , crea un archivo llamado “ clúster. .

Por ejemplo, ejecute “ w. “Comando en todas las máquinas enumeradas en el archivo de grupo” cluster. “” /etc/dsh/groups/cluster. “o” /usr/local/etc/groups/cluster. “.

$ dsh –M –g cluster –cw

DSH. proporciona mucha más flexibilidad, y este tutorial solo es superficial. Además de ejecutar comandos, DSH. se puede usar para transferir archivos, instalar software, agregar rutas y mucho más.

A un administrador de sistemas. encargado de responsabilidad de una gran red, es invaluable.

Leave a comment

Your email address will not be published. Required fields are marked *