Especificaciones tomadas del manual del propietario del gabinete PowerEdge M1000e (Dell, modelo BMX01, rev. A06, oct. 2019), que corrige el spec sheet comercial usado hasta ahora. Hardware: - Peso máximo 200,5 kg, no 179. Profundidad 75,5 cm - Seis fuentes y nueve ventiladores obligatorios, se usen 3 blades o 16. Toda bahía vacía necesita relleno - Conector CEI/IEC C20 a 16 A. La fuente de 3.000 W exige 200-240 V - Irrupción de 55 A por fuente durante 10 ms: un magnetotérmico de curva C salta, hace falta curva D - Temperatura de funcionamiento continuo 10-35 °C - ECM obligatorio con blades M630 de 120 W o más, o por encima de 30 °C Red: - Fabric A (ranuras A1/A2) es la Ethernet integrada de cada blade, así que no hacen falta tarjetas intermedias. Fabrics B y C sí las exigirían y no se usan - Pendiente saber si en A1/A2 hay un switch o un módulo de paso a través: cambia el montaje de red por completo Costes recalculados: el suelo fijo del chasis sube de 350 a ~500 W al contar los nueve ventiladores, los módulos de I/O y las pérdidas de las seis fuentes. 360 €/mes a 24/7, 59 €/mes por ventanas. Que las fuentes y los ventiladores sean obligatorios convierte en hecho documentado lo que antes era estimación: los pilotos parciales en el chasis son el peor caso posible. Documentación: - assets/ con cuatro diagramas SVG propios: arquitectura, chasis, stack de software y modos de red - docs/usabilidad.md: órdenes, flujos de trabajo, problemas conocidos y ergonomía del hardware - Diagramas ASCII del panel frontal, el posterior y la topología de fabrics en hardware_m1000e.md - Eliminada la parte de charla y divulgación, fuera del alcance del repo |
||
|---|---|---|
| 01_investigacion | ||
| 02_device_lab | ||
| assets | ||
| docs | ||
| .gitignore | ||
| GUIA.md | ||
| README.md | ||
Rebelión en la granja
Laboratorio de dispositivos Android sobre un chasis de blades Dell PowerEdge M1000e, más la investigación sobre granjas de dispositivos que llevó a montarlo así.
Sin móviles físicos: cada dispositivo es un contenedor redroid — Android real sobre el kernel del blade.
Arquitectura
Dell PowerEdge M1000e — 16 blades (8 arriba + 8 abajo)
│
├── blade-01 ................ coordinador: adb + fleet
│
└── blade-02 .. blade-16 .... nodos de carga
└── Debian 12
└── Docker
└── N × redroid
8 GB/blade → 3 instancias → 45 Android
32 GB/blade → 14 instancias → 210 Android
Debian va directo sobre el hierro. Sin Proxmox, sin VMs, sin LXC anidado: con 8 GB por blade cada capa de hipervisor se come una instancia entera.
Hardware
Datos del manual del propietario del M1000e (Dell, modelo BMX01, rev. A06, oct. 2019). Dos exigencias del manual condicionan el proyecto entero: las seis fuentes y los nueve ventiladores son obligatorios, se usen 3 blades o 16. No se puede arrancar el chasis a medias.
Detalle en 02_device_lab/hardware_m1000e.md.
Software
| Capa | Tecnología |
|---|---|
| SO | Debian 12 bookworm |
| Kernel | binder_linux con devices binder,hwbinder,vndbinder (Debian no trae binderfs) |
| Contenedores | Docker CE + Compose v2 |
| Android | redroid 13 |
| Orquestación | Ansible, solo ansible.builtin |
| Control | adb sobre TCP + fleet |
| Red | portmap (NAT) o macvlan (IP real de LAN por Fabric A) |
Red
Números
| Capacidad | 45 Android; 210 con la RAM ampliada |
| Chasis | 10U · 44,0 × 44,7 × 75,5 cm · 200,5 kg cargado |
| Consumo | 2,6–3,6 kW · 70–85 dB · 6 fuentes C20 · 9 ventiladores |
| Térmico | 10–35 °C en continuo |
| Coste 24/7 | ~360 €/mes |
| Coste por ventanas de 4 h/día | ~59 €/mes |
| Coste por dispositivo | 8,0 €/mes; 1,8 €/mes con la RAM ampliada |
Arranque
git clone https://gitea.laenre.net/hacklab/REBELION_EN_LA_GRANJA.git
cd REBELION_EN_LA_GRANJA/02_device_lab/ansible
sudo apt install ansible
cp inventory/hosts.yml.example inventory/hosts.yml # poner las IPs reales
ansible-playbook playbooks/preflight.yml # solo lectura, no toca nada
ansible-playbook site.yml
ansible-playbook playbooks/status.yml
El preflight va primero. Identifica el modelo de blade leyéndolo del DMI, comprueba si esas CPUs sirven para Android x86_64 y calcula cuántas instancias caben.
Para probar sin encender el chasis, el inventario incluye un bloque de piloto de un nodo que levanta todo el pipeline en un sobremesa.
Contenido
| GUIA.md | Estado, qué está verificado y qué no, siguientes pasos |
| docs/requisitos.md | Eléctrico, físico, red, tiempo. Checklist de bloqueantes |
| docs/costes.md | Consumo y coste por escenario |
| docs/seguridad.md | 11 hallazgos, uno crítico |
| docs/usabilidad.md | Cómo se opera la flota |
| 02_device_lab/ansible/ | La automatización |
| 02_device_lab/hardware_m1000e.md | El chasis según el manual |
| 01_investigacion/ | Mercado, stack, capa de identidad, marco legal |
Por qué esto no sirve para plataformas sociales
La atestación de dispositivo dejó de ser estadística y pasó a ser criptográfica. Un Android certificado lleva una clave privada grabada en el TEE de fábrica, con cadena de certificados hasta una raíz de Google. Un contenedor no la tiene y no puede tenerla: no hay software que la produzca.
Por eso el mercado vende teléfonos físicos de 400 $ en lugar de software para racks, y por eso este laboratorio sirve para probar apps propias y no para otra cosa. El desarrollo está en 01_investigacion/capa_identidad.md.
Este repositorio no contiene operativa de alta masiva de cuentas. Contexto legal en 01_investigacion/legal_ue.md.