Uso de DSH (shell distribuido) para ejecutar comandos de Linux en múltiples máquinas

Uso de DSH (shell distribuido) para ejecutar comandos de Linux en múltiples máquinas

Administradores de sistemas Conozca muy bien la importancia de poder monitorear y administrar numerosas máquinas en poco tiempo, y preferiblemente, con la menor cantidad de funcionamiento posible. Ya sea que se trate de un pequeño entorno en la nube o un enorme clúster de servidor, la capacidad de administrar las computadoras centralmente es esencial.

DSH Ejecutar comandos en múltiples servidores

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

Leer también: PSSH - Ejecutar comandos en múltiples servidores de Linux remotos

¿Qué es DSH??

DSH es corto para "Caparazón distribuido" o "Cáscara de bailarín"Está disponible gratuitamente en la mayoría de las principales distribuciones de Linux, pero se puede construir fácilmente desde la fuente si su distribución no la ofrece en su repositorio de paquetes. Puedes obtener la fuente en.

  1. http: // www.netfort.gramo.jp/~ bailarín/software/dsh.html.interno

Instale DSH (shell distribuido) en Linux

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

En Debian / Ubuntu

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

$ sudo apt-get instalación dsh
En rhel / centos / fedora

Este método es para aquellos que no están usando Debian, y quiero compilarlo de las bolas de alquitrán de origen. Primero necesitas compilar "libdshconfig"E instalar.

# wget http: // www.netfort.gramo.jp/~ bailarer/software/descargas/libdshconfig-0.20.10.CVS.1.alquitrán.GZ # TAR XFZ libdshconfig*.alquitrán.GZ # CD libdshconfig-* # ./configurar; hacer # hacer instalar

Luego compilar DSH e instalar.

# wget http: // www.netfort.gramo.jp/~ bailarer/software/descargas/dsh-0.22.0.alquitrán.GZ # TAR XFZ DSH-0.22.0.alquitrán.GZ # CD DSH-* # ./configurar; hacer # hacer instalar

El archivo de configuración principal "/etc/dsh/dsh.conf " (Para Debian) y "/usr/local/etc/dsh.confusión" (para Sombrero rojo) es bastante sencillo, pero desde RSH es un protocolo sin cifrar, vamos a usar Ssh Como la carcasa remota. Usando el editor de texto de su elección, encuentre esta línea:

remoteshell = rsh

Y cambiarlo a:

remoteshell = ssh

Hay otras opciones que puede pasar aquí, si elige hacerlo, y hay muchas que encontrar en el Página del hombre DSH. Por ahora, vamos a aceptar los valores predeterminados y echar un vistazo al siguiente archivo, /etc/dsh/máquinas.lista (para Debian).

Para sombrero rojo Sistemas basados ​​que necesita crear un archivo llamado "máquinas.lista" en "/usr/local/etc/"Directorio.

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: Al acceder a más de una máquina simultáneamente, le correspondería configurar SSH sin contraseña basada en la llave en todas sus máquinas. Esto no solo proporciona facilidad de acceso, sino también en cuanto a seguridad, sino que también endurece su máquina.

Mi "/etc/dsh/máquinas.lista" o "/usr/local/etc/máquinas.lista"El archivo dice:

172.dieciséis.25.125 172.dieciséis.25.126

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

$ DSH -AM -C Tiempo de actividad
Salida de muestra
172.dieciséis.25.125: 05:11:58 Up 40 días, 51 min, 0 usuarios, promedio de carga: 0.00, 0.01, 0.05 172.dieciséis.25.126: 05:11:47 arriba 13 días, 38 min, 0 usuarios, promedio de carga: 0.00, 0.01, 0.05

Entonces, ¿qué hizo este comando??

Bastante simple. Primero, corrimos DSH y pasó el "-a"Opción para ello, que dice enviar el"tiempo de actividad"Comando para"TODO"De las máquinas enumeradas en"/etc/dsh/máquinas.lista".

A continuación, especificamos el "-METRO"Opción, que dice devolver el"nombre de la máquina" (especificado en "/etc/dsh/máquinas.lista") Junto con la salida del comando de tiempo de actividad. (Muy útil para clasificar al ejecutar un comando en varias máquinas.)

El "-C"La opción significa"comando para ser ejecutado" en este caso, "tiempo de actividad".

DSH También se puede configurar con grupos de máquinas en el "/etc/dsh/grupos/Archivo ", ¿dónde está un archivo con una lista de máquinas en el mismo formato que el"/etc/dsh/máquinas.lista" archivo. Al correr DSH en un grupo, especifique el Nombre del grupo después de la "-gramo" opción.

Para sombrero rojo sistemas basados ​​que necesita crear una carpeta llamada "grupos" en "/usr/local/etc/"Directorio. En eso "grupos"Directorio crea un archivo llamado"grupo".

Por ejemplo, ejecute el "w"Comando en todas las máquinas enumeradas en el"grupo"Archivo de grupo"/etc/dsh/grupos/clúster" o "/usr/local/etc/grupos/clúster".

$ dsh -m -g cluster -c w

DSH proporciona mucha más flexibilidad, y este tutorial solo rasca la superficie. Aparte 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 la responsabilidad de una red grande, es invaluable.