Episode Details

Back to Episodes

Pssh con LinuxDoesMatter

Published 5 years ago
Description

Hoy nos visita LinuxDoesMatter para hablarnos de pssh y de cómo utilizarlo en producción, en la vida real, para migrar un NAS.

pssh y el set completo de herramientas que viene con el paquete:

  • pssh command – Parallel ssh — comando ssh a muchas maquinas a la vez.
  • pscp command – Parallel scp — copiar fichero a conjunto de máquinas.
  • prsync command – Parallel rsync — sincronizar dir local con muchos remotos
  • pnuke command – Parallel nuke — matar en proceso por nombre en muchas máquinas a la vez.
  • pslurp command – Parallel slurp — traer fichero/s de máquinas remotas a la nuestra local.

Usando comandos ssh tradicionales podríamos realizar una tarea en 350 servidores simplemente dedicando una línea a cada uno, pero como se puede ver no es la forma más óptima.

ssh root@host01 ‘mkdir /ora_backup;chmod 0755 /ora_backup;chown -R group:oinstall /ora_backup’
ssh root@host02 ‘mkdir /ora_backup;chmod 0755 /ora_backup;chown -R group:oinstall /ora_backup’
….
ssh root@host350 ‘mkdir /ora_backup;chmod 0755 /ora_backup;chown -R group:oinstall /ora_backup’

Solución:

Antes de nada explicamos qué es el usuario para accionas masivas, útil tb para ansible/pssh/otros:

1.- Lo vamos a llamar por ejemplo linuxadm.

2.- Todas las máquinas tienen desplegado este usuario linuxadm y la máquina de salto desde donde voy a hacer la accion masiva accede con este usuario sin contraseña a todas las maquinas impactadas. La clave pública de linuxadm esta trasmitida en todas las maquinas a las que se da soporte.

Las máquinas se despliegan así, con la clave pública de linuxadm en

/home/linuxadm/.ssh/authorized_keys.

3.- En todas las máquinas de destino linuxadm es usuario sudoer y puede escalar sin contraseña

#cat /etc/sudoers.d/linuxadm o la lines de abajo tb en /etc/sudoers (visudo)

linuxadm ALL=(ALL) NOPASSWD: ALL en las máquinas de destino

Una vez hechos estos tres primeros pasos vamos a la máquina de salto:

Estamos en la máquina de salto…

me convierto en linuxadm $ sudo su – linuxadm (intro)

$whoami
linuxadm
$ cat hosts.txt
host01
host02

host350
$cat hosts.txt | wc -l
350
$

llegó el momento:

$ pssh -h hosts.txt -o out_mkdir -e error_mkdir -i “sudo mkdir /ora_backup”
$ pssh -h hosts.txt -o out_chmod -e error_chmod -i “sudo chmod 0755 /ora_backup”
$ pssh -h hosts.txt -o out_tchown -e error_chown -i “sudo chown oracle:oinstall /ora_backup”

Comprobar

$ pssh -X -q -h hosts.txt -i “sudo ls -l /ora_backup”

Recordatorio. Linea en /etc/fstab capturando un share NFS

server01:/usr/local/pub /pub nfs nfs auto,noatime,nolock,bg,intr,tcp,actimeo=1800 0 0

para desmontar a mano:

umount /pub o bien umount -l /pub (fozarlo) >>> comentar lsof o fuser

Tarea “migracion de nas”

La cabina (o el servidor NFS) server01 va a ser migrada a srvnew05

En esos 350 servidores toda linea como esta:

server01:/usr/local/pub /pub nfs nfs auto,noatime,nolock,bg,intr,tcp,actimeo=1800 0 0

tiene que acabar como esta:

srvnew05:/usr/local/pub /pub nfs nfs auto,noatime,nolock,bg,intr,tcp,actimeo=1800 0 0

Acciones a emprender…

1.- Crear una ventana de downtime para el cambio. Tal día a tal hora los aplicativos que usan esos shares NFS deben est

Listen Now

Love PodBriefly?

If you like Podbriefly.com, please consider donating to support the ongoing development.

Support Us