-- Leo's gemini proxy

-- Connecting to gmi.osiux.com:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=es_AR

ansible luks format external usb disk


AUTHOR: Osiris Alejandro Gómez

EMAIL: osiux@osiux.com

DATE: 2021-01-25 17:50


[IMG]

[1]


Empezamos mal!


Hoy es mi primer día de laburo del 2021 y arranqué mal, mi querida [cachaza]{.underline} (una notebook [ASUS Q324UAK]{.underline}) se apagó 3 veces en menos de 2hs de laburo, aparentemente por alto consumo de [CPU/IO]{.underline} y dado el calor reinante, todo me lleva a pensar que es un problema de temperatura, seguramente una limpieza le vendría bien, después de casi 4 años de funcionamiento interrumpido!


Hay Backup?


Si bien ya conseguí un destornillador de esos muy precisos y logré quitar los 10 tornillos [tork]{.underline}, antes de terminar de desarmarla, recordé que ****NO tengo un backup completo y actualizado!****


Asi que, con ayuda expeditiva, me hice de un disco externo usb 3.0 de 4TB (aunque internamente tiene un poco bastante menos), pero [OjO]{.underline} antes de copiar algo, esta el temita del cifrado de disco, es mi sana y paranoica costumbre, cifrar los discos antes de comenzar a usarlos :)


Automatizando la Paranoia!


De casualidad, recordé que tengo un rol de Ansible que nunca publiqué justo en este disco, si ese que no se cuánto va a seguir funcionando en la notebook que se apaga todo el tiempo (al menos hoy) y seguramente además no debo tener copia alguna del rol...


Con unos muy pocos cambios logré cifrar el nuevo disco externo usando el rol que en algún momento pensé y desarrollé, al cual solo le falta pulir un poco, pero que en muy pocos pasos ya me resolvió la tarea!


Tres pasos son... y no hay más...


1. Conectar el disco y detectar su `id`:


ls -1 /dev/disk/by-id/ | grep sdb1
usb-WD_Elements_1234_567890123456789012345678-0:0-part1 ⇒ ../../sdb1

1. Definir la variable `gcoop_luks_devices`:


gcoop_luks_devices:
  - dev:  '/dev/sdb1'
    pass: "{{ lookup('pass', 'luks/' + ansible_hostname + '/' + 'usb-WD_Elements_1234_567890123456789012345678-0:0-part1' + gcoop_luks_pass_opts ) }}"
    name: 'data'

1. Ejecutar el rol `gcoop-libre.luks`:


# make
ANSIBLE_PASS_PASSWORD_STORE_DIR=$HOME/.password-store ansible-playbook  -i tests/inventory tests/test.yml

PLAY [test] ***********************************************************

TASK [Gathering Facts] ************************************************
ok: [cachaza]

TASK [gcoop-libre.luks : install cryptsetup] **************************
ok: [cachaza]

TASK [gcoop-libre.luks : verify is exists /dev/sdb1] ******************
ok: [cachaza]

TASK [gcoop-libre.luks : create /root/tmpfs] **************************
changed: [cachaza]

TASK [gcoop-libre.luks : unmount /root/tmpfs] *************************
ok: [cachaza]

TASK [gcoop-libre.luks : mount /root/tmpfs] ***************************
changed: [cachaza]

TASK [gcoop-libre.luks : write keyfile] *******************************
changed: [cachaza]

TASK [gcoop-libre.luks : stat] ****************************************
ok: [cachaza]

TASK [gcoop-libre.luks : luksFormat /dev/sdb1] ************************
changed: [cachaza]

TASK [gcoop-libre.luks : verify isOpen /dev/sdb1] *********************
ok: [cachaza]

TASK [gcoop-libre.luks : luksOpen /dev/sdb1] **************************
skipping: [cachaza]

TASK [gcoop-libre.luks : wipe /root/tmpfs/keyfile] ********************
changed: [cachaza]

TASK [gcoop-libre.luks : unmount "/root/tmpfs"] ***********************
changed: [cachaza]

TASK [gcoop-libre.luks : delete /root/tmpfs] **************************
changed: [cachaza]

PLAY RECAP ************************************************************
cachaza                : ok=14   changed=7    unreachable=0
                         failed=0    skipped=1    rescued=0    ignored=0

liberando `gcoop.luks`


Solo falta un pequeño [refactor]{.underline} para pulir y poder liberar el rol.


...continuará...


tal vez te interese leer...


`ansible2dot` *HP Linux Tools*[2]

Cómo migrar 6300 equipos a GNU/Linux usando Ansible y AWX[3]

Automatizar la implementación de los recursos de AWX con GitLab CI/CD y Ansible Tools[4]

*Ansible Tools* `v0.3.0`[5]

Automatizar la configuración de la *BIOS* usando `ansible` y *HP Linux Tools*[6]


ChangeLog


`2023-06-05 17:35`[7] agregar DESCRIPTION, KEYWORDS, imagen y links a *ansible luks format external usb disk*

`2022-11-13 20:39`[8] agregar y actualizar tags OpenGraph

`2021-01-25 18:16`[9] add 2021-01-25-ansible-luks-format-external-usb-disk.gmi


1: file:img/ansible-role-gcoop-libre-luks.png

2: 2023-05-26-ansible2dot-hp-linux-tools.gmi

3: 2022-10-20-como-migrar-6300-equipos-a-gnu-linux-usando-ansible-y-awx.gmi

4: 2022-10-08-automate-deployment-of-AWX-resources-with-GitLab-CI-CD-and-ansible-tools.gmi

5: 2022-10-03-ansible-tools-v0-3-0.gmi

6: 2021-12-30-automated-bios-configuration-using-ansible-and-hp-linux-tools.gmi

7: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/43331c9ab597166c76d0d75496541311710585fd

8: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/bf3a61526ad2a73cecb77a18995f1d63494e3664

9: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/cba3fbb8e53a493c6d672381bb08b8dd5ff73fe8

-- Response ended

-- Page fetched on Fri May 17 04:04:29 2024