Ajustar al manual del M1000e, añadir diagramas y docs de operación
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
This commit is contained in:
parent
74bfbe9437
commit
7caa240c2e
17 changed files with 1012 additions and 423 deletions
|
|
@ -1,61 +1,235 @@
|
|||
# El hardware: Dell PowerEdge M1000e
|
||||
|
||||
Identificado el 2026-08-08. Fuente: `~/Downloads/poweredge-m1000e-spec-sheet.pdf`
|
||||
(spec sheet oficial Dell EMC, 6 de diciembre de 2016).
|
||||
> **Fuente**: *Gabinete Dell PowerEdge M1000e — Manual del propietario*, modelo reglamentario
|
||||
> **BMX01**, rev. A06, octubre 2019 (© 2014-2019 Dell Inc.), más el spec sheet de dic. 2016.
|
||||
> Los datos de esta página vienen del manual oficial y **sustituyen a las estimaciones previas**.
|
||||
|
||||
No es un servidor suelto: es un **chasis de blades**. Cada blade es una máquina independiente
|
||||
con su CPU y su RAM.
|
||||
No es un servidor suelto: es un **chasis de blades**. Cada blade es una máquina independiente con
|
||||
su CPU y su RAM. Los ventiladores, las fuentes, la CMC y los módulos de I/O son **recursos
|
||||
compartidos** de todos los blades.
|
||||
|
||||
## Especificaciones del chasis
|
||||
---
|
||||
|
||||
## Panel frontal — los blades
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────────────┐
|
||||
│ │
|
||||
│ ┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐ ┌───────┐ │
|
||||
│ │ 1 ││ 2 ││ 3 ││ 4 ││ 5 ││ 6 ││ 7 ││ 8 │ │ LCD │ │
|
||||
│ │ ││ ││ ││ ││ ││ ││ ││ │ │ panel │ │
|
||||
│ └────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘ │ ctrl │ │
|
||||
│ ┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐ │ │ │
|
||||
│ │ 9 ││ 10 ││ 11 ││ 12 ││ 13 ││ 14 ││ 15 ││ 16 │ │ 2×USB │ │
|
||||
│ │ ││ ││ ││ ││ ││ ││ ││ │ │ VGA │ │
|
||||
│ └────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘ └───────┘ │
|
||||
│ │
|
||||
└──────────────────────────────────────────────────────────────────────────┘
|
||||
16 blades de media altura — 8 arriba y 8 abajo
|
||||
```
|
||||
|
||||
El chasis admite **16 blades de media altura**, u 8 de altura completa, u 8 fundas de cuarto de
|
||||
altura, o una combinación.
|
||||
|
||||
> **Todos los compartimentos deben ir ocupados en todo momento**, con un blade o con un módulo de
|
||||
> relleno. No es una recomendación estética: sin relleno, el aire se escapa por el hueco y la
|
||||
> refrigeración del resto se degrada.
|
||||
|
||||
---
|
||||
|
||||
## Panel posterior — la infraestructura compartida
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────────────┐
|
||||
│ ┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐ │
|
||||
│ │ V ││ V ││ V ││ V ││ V ││ V ││ V ││ V ││ V │ 9 módulos de ventilador │
|
||||
│ └───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘ (los 9, obligatorios) │
|
||||
│ │
|
||||
│ ┌──────────────┐ ┌─────────┐ ┌──────────────┐ │
|
||||
│ │ A1 B1 C1 │ │ CMC 1 │ │ C2 B2 A2 │ 6 módulos de I/O │
|
||||
│ │ │ │ iKVM │ │ │ + 2 CMC │
|
||||
│ │ (izquierda) │ │ CMC 2 │ │ (derecha) │ + iKVM opcional │
|
||||
│ └──────────────┘ └─────────┘ └──────────────┘ │
|
||||
│ │
|
||||
│ ┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐ │
|
||||
│ │PSU ││PSU ││PSU ││PSU ││PSU ││PSU │ 6 fuentes de alimentación │
|
||||
│ └────┘└────┘└────┘└────┘└────┘└────┘ (las 6, obligatorias) │
|
||||
└──────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Dos exigencias del manual que cambian el planteamiento del proyecto:
|
||||
|
||||
> **«El sistema requiere seis fuentes de alimentación para su funcionamiento habitual.»**
|
||||
|
||||
> **«Los nueve módulos de ventilador deben instalarse en todo momento para garantizar un
|
||||
> enfriamiento adecuado.»**
|
||||
|
||||
No se puede arrancar este chasis a medias. Seis fuentes, nueve ventiladores y todas las bahías
|
||||
tapadas, se usen 3 blades o 16. Es el motivo técnico de por qué **los pilotos parciales en el
|
||||
chasis son mal negocio** — ver [../docs/costes.md](../docs/costes.md).
|
||||
|
||||
---
|
||||
|
||||
## Fabrics: cómo se conecta un blade a la red
|
||||
|
||||
Esta es la parte del manual que más afecta al diseño del laboratorio. El M1000e tiene **tres
|
||||
fabrics redundantes**, y no todas sirven para lo mismo:
|
||||
|
||||
```
|
||||
blade-NN FABRICS exterior
|
||||
┌──────────────┐
|
||||
│ │ ┌──────────────────┐
|
||||
│ LOM NIC1 ──┼───────────►│ A1 (switch) │──────────────► LAN
|
||||
│ (integrado) │ ├──────────────────┤ (uplink)
|
||||
│ NIC2 ──┼───────────►│ A2 (switch) │──────────────► LAN
|
||||
│ │ └──────────────────┘ (redundante)
|
||||
│ │ FABRIC A — Ethernet
|
||||
│ │
|
||||
│ mezz B ─────┼───────────► B1 / B2 1–40 Gb/s: FC, InfiniBand, 10 GbE
|
||||
│ mezz C ─────┼───────────► C1 / C2 1–40 Gb/s: ídem
|
||||
└──────────────┘ requieren tarjeta intermedia en el blade
|
||||
```
|
||||
|
||||
**Para este proyecto solo importa la Fabric A**, y es una buena noticia:
|
||||
|
||||
- Fabric A es la **Ethernet integrada de cada blade** (la LOM). No hace falta comprar ni instalar
|
||||
tarjetas intermedias.
|
||||
- Soporta KR (10 Gbps estándar).
|
||||
- Sus ranuras son **A1 y A2**. Con un módulo en A1 basta para arrancar; A1 + A2 da redundancia.
|
||||
- Las Fabrics B y C **necesitan tarjeta intermedia en cada blade**. Si el chasis no las trae, no se
|
||||
usan — y para 45 Android por adb no hacen ninguna falta.
|
||||
|
||||
**Lo que hay que verificar en el chasis real**: qué módulo hay en A1/A2. Un módulo de switch
|
||||
(PowerConnect M6220 / M6348, Force10 MXL, M8024-k…) da conmutación interna entre blades, que es
|
||||
justo lo que necesita el modo `macvlan`. Un **módulo de paso a través** en cambio saca 16 puertos
|
||||
RJ-45 al exterior, uno por blade, y entonces la conmutación depende de un switch externo.
|
||||
|
||||
> Los módulos pensados para Fabric B o C **no entran físicamente** en A1/A2 — el manual dice que
|
||||
> están codificados por color en la placa frontal para evitarlo.
|
||||
|
||||
---
|
||||
|
||||
## Especificaciones oficiales
|
||||
|
||||
### Físicas
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Factor de forma | Modular 10U — 44,0 alto × 44,7 ancho × 75,4 cm fondo |
|
||||
| Capacidad | **16 blades de media altura** (8 arriba + 8 abajo) · u 8 de altura completa · o 32 de cuarto |
|
||||
| Alimentación | Hasta 6 fuentes de 3.000 W / 2.700 W (config 3+3, 2+2, 2+1…) |
|
||||
| Refrigeración | 9 módulos de ventiladores redundantes |
|
||||
| Gestión | CMC (Chassis Management Controller) + iDRAC por blade; web SSL, SSH/Telnet, LDAP/AD |
|
||||
| Red interna | Hasta 6 módulos I/O FlexIO — los blades se ven entre sí a 1/10 GbE |
|
||||
| Peso | 44 kg vacío · 179 kg cargado |
|
||||
| Altura | 44,0 cm (17,3") — **10U** |
|
||||
| Anchura | 44,7 cm (17,6") |
|
||||
| Profundidad | 75,5 cm (29,7") |
|
||||
| **Peso máximo** | **200,5 kg** (442 lb) |
|
||||
| Peso vacío | 44,6 kg (98,1 lb) |
|
||||
|
||||
> El peso máximo corregido son **200,5 kg**, no los 179 kg del spec sheet comercial. El manual
|
||||
> manda: el rack y el suelo tienen que ir sobrados.
|
||||
|
||||
### Alimentación
|
||||
|
||||
| | Fuente de 2.700 W | Fuente de 3.000 W |
|
||||
|---|---|---|
|
||||
| Conector | **CEI/IEC C20** | IEC 320 |
|
||||
| Tensión de entrada | 100–240 V CA, **16 A** | **200–240 V CA**, 16 A |
|
||||
| Frecuencia | 50/60 Hz | 50/60 Hz |
|
||||
| Disipación propia | 353 W (1.205 BTU/h) máx. | 1.200 BTU/h máx. |
|
||||
| **Corriente de irrupción** | **55 A durante ≤10 ms, por fuente** | ídem |
|
||||
|
||||
Tres consecuencias prácticas:
|
||||
|
||||
1. **La fuente de 3.000 W exige 200–240 V.** España a 230 V vale; una instalación a 110 V no.
|
||||
2. **Seis entradas C19/C20.** Hace falta una PDU adecuada — los C13 domésticos no valen.
|
||||
3. **La corriente de irrupción es el detalle que se olvida**: 55 A por fuente durante 10 ms. Con
|
||||
seis fuentes arrancando a la vez, un magnetotérmico de curva C salta. Hace falta **curva D**, o
|
||||
arranque escalonado de las fuentes.
|
||||
|
||||
### Ambientales — el requisito que muerde en verano
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **Funcionamiento continuo** | **10 °C a 35 °C**, humedad relativa 10–80 % |
|
||||
| Ampliado, <10 % de las horas anuales | 5 °C a 40 °C |
|
||||
| Ampliado, <1 % de las horas anuales | −5 °C a 45 °C |
|
||||
| Almacenamiento | −40 °C a 65 °C |
|
||||
| Derating por altitud | −1 °C cada 300 m por encima de 900 m |
|
||||
|
||||
**35 °C es el techo continuo.** Una habitación en Madrid en agosto, con 2,6 kW de calor dentro y
|
||||
sin climatización, se pone por encima de eso sin dificultad. El rango ampliado cubre menos del
|
||||
10 % de las horas del año: no es una solución, es un margen para incidencias.
|
||||
|
||||
### Modo de refrigeración mejorado (ECM)
|
||||
|
||||
La CMC permite activar **ECM**, que exige los nueve ventiladores de tercera generación. El manual
|
||||
lo declara **obligatorio** en tres casos:
|
||||
|
||||
- Blades **M630 con procesadores de 120 W o más**
|
||||
- Blades **M630 en entornos por encima de 30 °C**
|
||||
- Cualquier configuración con aire fresco
|
||||
|
||||
ECM significa más caudal, y por tanto **más consumo y más ruido**. Si los blades resultan ser M630
|
||||
y el sitio pasa de 30 °C, hay que contarlo.
|
||||
|
||||
### Gestión — CMC
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Módulos | CMC 1 (principal) + CMC 2 (secundaria, a prueba de fallos) |
|
||||
| Puertos | Dos RJ-45 10/100/1000: **Gb** a la red de gestión, **STK** para encadenar chasis contiguos |
|
||||
| Serie | 9 patas DTE, compatible 16550 |
|
||||
| Vídeo | VGA 15 patas |
|
||||
| Batería | CR2032 |
|
||||
| Interfaces | Web (SSL), **RACADM** por CLI, SSH/Telnet |
|
||||
|
||||
La CMC **reasigna energía entre módulos según la demanda** y expone presupuesto de alimentación y
|
||||
política de redundancia en *Chassis → Power Management → Configuración*. Es también donde se lee el
|
||||
**consumo real**, que es lo que sustituye a las estimaciones de [../docs/costes.md](../docs/costes.md).
|
||||
|
||||
---
|
||||
|
||||
## Configuración de esta máquina
|
||||
|
||||
Según lo que recuerda el usuario:
|
||||
| | |
|
||||
|---|---|
|
||||
| Blades | 16, 8 arriba y 8 abajo |
|
||||
| RAM por blade | 8 GB → 128 GB totales, **repartidos, no agrupados** |
|
||||
| Modelo de blade | **desconocido** — M610 / M620 / M630. Lo resuelve `preflight.yml` leyendo DMI |
|
||||
| Módulo en A1/A2 | **desconocido** — switch o paso a través. Determina si `macvlan` funciona sin switch externo |
|
||||
| Estado del CMC | **desconocido** |
|
||||
|
||||
- **16 blades**, 8 arriba y 8 abajo
|
||||
- **8 GB de RAM por blade** → 128 GB totales, pero **repartidos, no agrupados**
|
||||
- Modelo de blade: **desconocido** (M610 / M620 / M630 — pendiente de confirmar en el frontal)
|
||||
- Estado / ubicación / accesibilidad de red: **pendiente**
|
||||
El manual menciona explícitamente compatibilidad con **M610x**, **M630** y **M710HD**, así que el
|
||||
abanico de blades posibles es amplio y la generación no se puede inferir del chasis.
|
||||
|
||||
---
|
||||
|
||||
## Qué implica para el device lab
|
||||
|
||||
### A favor
|
||||
|
||||
- 16 máquinas independientes con **red interna de chasis**. Mejor topología que un solo host para
|
||||
el escenario de `oasis_mobile` con **dos APKs que se tienen que ver entre sí**: el switch FlexIO
|
||||
los pone en la misma L2 sin montar nada.
|
||||
- Con 8 GB por blade menos Debian + Docker (~1–1,5 GB), salen **~3 instancias redroid por blade**
|
||||
→ **~48 instancias totales**. Casi el triple que el sobremesa (12–20).
|
||||
- 16 máquinas independientes con **conmutación interna por Fabric A**, sin comprar tarjetas
|
||||
intermedias. Es la topología ideal para el escenario de `oasis_mobile` con **dos APKs que se
|
||||
tienen que ver entre sí**: quedan en la misma L2 sin montar nada.
|
||||
- Con 8 GB por blade menos Debian y Docker, **~3 instancias redroid por blade → ~45 en total**.
|
||||
|
||||
### En contra
|
||||
|
||||
- **Consumo: 1,5–2,5 kW en marcha.** A precio doméstico en España, del orden de **160–350 €/mes**
|
||||
si está 24/7. Este es el factor que decide la viabilidad, no los cores.
|
||||
- **Ruido**: no es máquina de casa. Necesita sala con extracción.
|
||||
- **Sin GPU** en los blades → `redroid_gpu_mode=guest` (render por software). Vale para test
|
||||
funcional, no para nada gráfico.
|
||||
- **16 provisiones separadas**: cada blade necesita su Debian + Docker + módulo binder. A partir de
|
||||
4-5 blades esto pide Ansible o netboot, no hacerlo a mano.
|
||||
- **Seis fuentes y nueve ventiladores obligatorios**, se usen 3 blades o 16. El coste fijo no baja
|
||||
al usar menos.
|
||||
- **Consumo 2,6–3,6 kW**, del orden de 360 €/mes a 24/7.
|
||||
- **Techo térmico de 35 °C** continuos.
|
||||
- **Sin GPU** en los blades → `redroid_gpu_mode=guest`, render por software.
|
||||
- **16 provisiones separadas** — de ahí el Ansible.
|
||||
|
||||
### La palanca real
|
||||
### La palanca sigue siendo la misma
|
||||
|
||||
El cuello de botella son **los 8 GB por blade, no la CPU**. Si los blades son M620 (DDR3 ECC),
|
||||
ampliar a 32 GB por blade cuesta poco en segunda mano y sube de ~3 a **~14 instancias por blade**.
|
||||
Eso multiplica por 4-5 la capacidad del proyecto entero por menos de lo que cuesta un mes de luz.
|
||||
El cuello de botella son **los 8 GB por blade, no la CPU**. Ampliar a 32 GB sube de ~3 a
|
||||
~14 instancias por blade: de 45 a 210 Android por el mismo recibo de la luz.
|
||||
|
||||
---
|
||||
|
||||
## Pendiente de averiguar
|
||||
|
||||
- [ ] **Modelo de blade** (serigrafiado en el frontal) → determina CPU, generación y tipo de RAM
|
||||
- [ ] ¿Está encendido y accesible el CMC en red? Si responde, da el inventario completo
|
||||
- [ ] Ubicación física y quién asume el coste eléctrico
|
||||
- [ ] Con eso: decidir si se levantan los 16 blades o solo 2-3 como piloto
|
||||
- [ ] **Modelo de blade** → `ansible-playbook playbooks/preflight.yml`
|
||||
- [ ] **Qué módulo hay en A1/A2** (switch o paso a través) → determina si `macvlan` necesita switch externo
|
||||
- [ ] ¿Están las 6 fuentes y los 9 ventiladores? ¿Y los rellenos en las bahías vacías?
|
||||
- [ ] ¿Responde el CMC? Da inventario completo y **consumo real**
|
||||
- [ ] ¿Hay ventiladores de 3.ª generación, por si hace falta ECM?
|
||||
- [ ] Ubicación: potencia, PDU con 6 tomas C19, magnetotérmico de curva D y temperatura bajo 35 °C
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue