Investigación sobre granjas de dispositivos y automatización completa para levantar un laboratorio Android sobre un chasis de blades Debian. Conclusión que ordena el repositorio: el cuello de botella nunca fue el cómputo sino la identidad. Desde que la atestación de dispositivo pasó de estadística a criptográfica, un servidor no puede hacerse pasar por un teléfono — le falta una clave grabada en fábrica que ningún software produce. Contenido: - 01_investigacion/ — capa de identidad (verificación telefónica, eSIM, reputación de IP, atestación por hardware, correlación entre cuentas), mercado y players, stack técnico, marco legal en la UE - 02_device_lab/ansible/ — Ansible para 16 blades: preflight de solo lectura que identifica el hardware por DMI, despliegue de redroid en Docker y control de flota por adb. Solo ansible.builtin, sin colecciones externas - docs/ — requisitos, costes y repaso de seguridad con 11 hallazgos - 03_charla/ — guion para HackMadrid / Hackmeeting València Estado: la automatización está escrita pero SIN ejecutar contra hardware. YAML validado, plantillas renderizadas en ambos modos de red y fleet.sh comprobado con bash -n. El modelo de blade sigue sin confirmar.
4.9 KiB
Requisitos
Todo lo que hace falta para levantar la granja. Lo eléctrico y lo físico está primero a propósito: es lo que descarta el proyecto antes que ninguna consideración técnica.
1 · Eléctrico y físico — lee esto primero
| Requisito | Detalle |
|---|---|
| Potencia contratada | El chasis completo tira 2,6–3,6 kW. Un domicilio español típico tiene 3,45 kW contratados: no da. Hace falta subir a 6,9 kW o más, o un local con suministro trifásico. |
| Circuito | Dedicado. Nada de compartir con el resto de la instalación. |
| Tensión y conectores | Dell recomienda 208–240 V para el M1000e. España a 230 V vale. Fuentes con conectores C19/C20, no los C13 normales. |
| Espacio | 10U de rack, con raíles capaces de aguantar el peso. |
| Peso | 179 kg cargado. El rack tiene que soportarlo y el suelo también. |
| Refrigeración | 2,6 kW de consumo son 2,6 kW de calor: como dos radiadores eléctricos a tope. Necesita extracción real, no una ventana. |
| Ruido | 70–85 dB con los 9 ventiladores en marcha. No es una máquina de vivienda. |
Esto es lo que decide. Si no hay sitio con potencia, extracción y tolerancia al ruido, el resto de este documento no importa: la vía es el piloto en el sobremesa.
2 · Hardware
El chasis
Dell PowerEdge M1000e — ver hardware_m1000e.md.
- 16 blades de media altura (8 arriba + 8 abajo)
- Al menos 2 fuentes (mejor 3+3 en redundancia)
- Módulos de I/O FlexIO con conectividad entre blades y hacia la LAN
- CMC accesible
Por blade
| Mínimo | Recomendado | |
|---|---|---|
| RAM | 8 GB (→ 3 instancias) | 32 GB (→ 14 instancias) ← la palanca del proyecto |
| Disco | 1 disco, 60 GB libres | SSD; ~10 GB por instancia con margen |
| CPU | x86_64 con sse4_2, ssse3, popcnt |
Cualquier Xeon de M620 en adelante |
| Red | 1 GbE por el FlexIO | 10 GbE si se va a mover mucho APK |
Sin verificar todavía: el modelo exacto de blade. Lo resuelve playbooks/preflight.yml
leyendo el DMI — no hace falta ir a mirar el frontal. Si salen M610 (Xeon 2009–2011), hay
riesgo real de que las imágenes x86_64 de Android no arranquen; el preflight lo dice antes de
gastar tiempo.
Nodo de control
El sobremesa actual (16 cores, 62 GB, Debian 12) sobra. Solo necesita SSH a los blades.
3 · Software
En los blades
- Debian 12 bookworm instalado y arrancando
- Kernel con
binder_linux.ko— el estándar de Debian lo trae - SSH accesible
- Nada más: Docker y el resto lo pone Ansible
En el nodo de control
sudo apt install ansible
Sin colecciones externas: todo el código usa solo ansible.builtin.
Se descarga durante el despliegue
- Docker CE desde
download.docker.com - Imagen
redroid/redroid:13.0.0-latestdesde Docker Hub (~1 GB, una vez por blade) - Paquetes de
deb.debian.org
4 · Red
| Salida a internet desde los blades | O un mirror local de Docker y Debian |
| VLAN aislada para la granja | No opcional — ver seguridad.md S1 y S3 |
| VLAN de gestión aparte | Para CMC e iDRAC, separada de la anterior |
| SSH del control a los blades | Puerto 22 |
| adb del coordinador a los nodos | 5555+ , solo dentro de la VLAN de granja |
| Reserva DHCP | Solo en modo macvlan: un rango para los Android, o habrá colisiones |
5 · Accesos
- Clave SSH del nodo de control a los 16 blades
- sudo o root en los blades
- Credenciales del CMC — y cambiarlas si siguen siendo las de fábrica (seguridad.md S2)
- Acceso físico para el primer arranque y para meter RAM
6 · Conocimientos y tiempo
| Ansible | Nivel usuario: editar inventario y lanzar playbooks. No hace falta escribir roles. |
| Docker | Poco: los contenedores los gestiona Ansible |
| Redes | Aquí sí hace falta: VLANs, macvlan y el switching del chasis es la parte que más muerde |
| Dell OME/CMC | Básico: encender blades, mirar consumo, actualizar firmware |
Tiempo estimado, con el hierro ya en su sitio y encendido:
- Instalar Debian en 16 blades: 1 día (menos con PXE)
- Red y VLANs: medio día
- Ansible y despliegue: 2 horas (la automatización ya está escrita)
- Ajuste y verificación: medio día
Mantenimiento posterior: 2–4 h al mes.
7 · Checklist antes de empezar
Bloqueantes — si alguno falla, el proyecto no sale:
- Sitio con potencia suficiente, extracción y tolerancia al ruido
- Alguien asume la factura eléctrica (ver costes.md)
- Rack de 10U que aguante 179 kg
- Los blades arrancan y el CMC responde
Antes de encender:
- Credenciales de CMC e iDRAC cambiadas
- VLANs de granja y gestión, separadas
playbooks/preflight.ymlen verde en todos los blades
Antes de tocar el chasis:
- El piloto de un nodo funciona en el sobremesa — valida el pipeline entero sin encender 2 kW