miércoles, 28 de julio de 2021

Replicar directorios entre 2 servidores Linux



Cómo replicar una estructura de directorios (sin archivos) entre dos servidores Linux.



Puede que necesitemos replicar una estructura de directorios entre 2 servidores Linux y que solo queramos copiar los directorios, no los archivos. En ese caso, podemos usar la herramienta rsync.

Para esta tarea, usaremos las siguientes opciones de rsync:

Copiar los directorios:

-f"+ */"

No copiar los archivos:

-f"- *"

Seguido de la ruta en origen y la ruta en destino:

HOST# rsync -av -f"+ */" -f"- *" /carpeta/ root@destino:/carpeta/

Tras ejecutar el comando anterior, el árbol de carpetas de origen, es decir, la carpeta que hemos indicado y todas sus subcarpetas, se copiarán en destino, sin los archivos que haya en su interior.

El resto de opciones de rsync significan:

-a: archive mode; es como ejecutar las opciones -rlptgoD
-v: mostrar más información por pantalla.

Rescto al parámetro -a / -rlptgoD, singifica:

-r, --recursivo: entra a los subdirectorios
-l, --links: copiar enlaces
-p, --perms: preservar pemisos
-t, --times: preservar marcas de tiempo
-g, --group: el grupo en destino es el mismo que el grupo en origen
-o, --owner: preservar el autor
-D, -devices --specials: transfiere archivos especiales
0

miércoles, 7 de julio de 2021

Aumentar tamaño de swap en Linux



Cómo aumentar el tamaño de swap por si el sistema se queda sin memoria RAM disponible.



Administro un sistema operativo Linux que corre directamente sobre una máquina física, sin ningún sistema de virtualización por en medio. Este sistema va algo corto de memoria RAM y cae a menudo.

Mientras espero la llegada de nuevos DIMM's de RAM, lo que he hecho ha sido aumentar el tamaño de swap para que pagine bajo demanda bajando a disco aquellos programas que no necesite usar en un momento dado para evitar que el sistema haga un kernel panic al no contar con la RAM necesaria.

Para aumentar el tamaño de swap en un sistema Linux, podemos aumentar la partición de swap o podemos añadir un swapfile que actúe como espacio swap. Lo más rápido es añadir un swapfile.

Para ello, creamos un directorio donde ubicar el fichero:

HOST # mkdir /swap

A continuación, creamos un swapfile de 100GB:

HOST # fallocate -l 100G /swap/swapfile

Si no disponemos de fallocate, podemos usar dd:

HOST # dd if=/dev/zero of=/swap/swapfile bs=1G count=100 100+0 records in 100+0 records out 107374182400 bytes (107 GB, 100 GiB) copied, 151.577 s, 708 MB/s

- bs indica el tamaño de los bloques a crear.
- count indica el número de bloques a crear en total.

bs * count = el número de GB del fichero.

Damos derechos de lectura/escritura/ejecución al fichero solo a root:

HOST # chmod 600 /swap/wapfile

Indicamos al sistema que el archivo es una swap area:

HOST # mkswap /swap/swapfile Setting up swapspace version 1, size = 100 GiB (107374178304 bytes) no label, UUID=37855cb5-34f6-45b6-a6a3-bdf87642abff

Activamos el fichero:

HOST # swapon /swap/swapfile

Recordar que este fichero se desactivará tras un reinicio del sistema operativo.

Por último, solo queda comprobar que swap ha aumentado su tamaño:

HOST # swapon --show NAME TYPE SIZE USED PRIO /dev/sdb3 partition 32G 0B -2 /swap/swapfile file 100G 0B -3

También podemos mirarlo con el comando free:

HOST # free -h total used free shared buff/cache available Mem: 1.3Ti 777Gi 275Gi 37Gi 324Gi 549Gi Swap: 131Gi 0B 131Gi

Si quisiéramos deshabilitar el swapfile:

HOST # swapoff /swap/swapfile

Listo.
0