Tengo 40 años en informática, pero nunca he tenido que construir un servidor como este, por lo que esta podría ser una pregunta n00b.
Tengo un cliente que ofrecerá archivos de música de ultra alta definición para descargar. En este caso, eso significa que FLAC-comprimido 24 / 192Khz = ~ 10GB / album. (No, no quiero discutir la conveniencia del producto, solo la configuración del servidor). El catálogo tendrá unos 3,000 álbumes, con versiones de ultra alta y baja definición (para sus iPod, supongo), dando 35-40 TB o más de datos primarios.
Dado que este es un producto muy especializado, el tamaño del mercado es relativamente pequeño (piense: las personas que gastan más de $ 20,000 en sus sistemas de audio), lo que significa que la mayoría de las veces el servidor estará 100% inactivo (o cerca de él). Tengo lo que parece una buena oferta de colocación de ColocationAmerica con una conexión de 1 Gbps y un ancho de banda de aproximadamente $ 20 / TB, por lo que ahora solo tengo que construir una caja para entregar los productos.
El caso de uso de acceso a datos es de escritura única / lectura múltiple, por lo que estoy pensando en usar el software RAID 1 para pares de unidades. Esto me permitiría ( creo ) reconfigurar las unidades de repuesto para las fallidas sobre la marcha, y así poder comenzar la reconstrucción de la segunda unidad antes de que algunos administradores de sistemas noten la luz roja en el sistema (cambian gratis). Sería genial si pudiera hacer que la mayoría de las unidades se apaguen / giren si no son necesarias, lo que será la mayor parte del tiempo para la mayoría de las unidades.
No necesito mucho en cuanto a la potencia de cómputo (esto es solo empujar objetos gordos por el tubo) y, por lo tanto, la CPU / placa base puede ser bastante modesta siempre que pueda admitir este número de unidades.
Actualmente estoy considerando la siguiente configuración:
Chasis: Supermicro CSE-847E26-RJBOD1
Drives: 30 4TB SAS drives (Seagate ST4000NM0023 ?)
MB: SUPERMICRO MBD-X10SAE-O w/ 8GB
CPU: Xeon E3-1220V3 3.1GHz LGA 1150 80W Quad-Core Server
Entonces, ¿voy en la dirección correcta, o es esta una forma completamente n00b / dinosaurio de abordar el problema?
Actualice para aclarar un par de puntos:
- No tengo experiencia con ZFS, ya que el último producto de Sun que tuve fue a finales de los 80. Haré un poco de RTFMing para ver si se siente bien.
- Realmente no necesito que el sistema de archivos haga nada espectacular, ya que los nombres de los archivos serán simples UUID y los objetos se equilibrarán en las unidades (algo así como un gran sistema de almacenamiento en caché). Así que realmente estaba pensando en estos como 40 sistemas de archivos separados, y eso hizo que RAID 1 pareciera correcto (pero admito la ignorancia aquí).
- Debido a que nuestras expectativas actuales son que es poco probable que descarguemos más de una docena de archivos a la vez, y en la mayoría de los casos habrá exactamente una persona descargando cualquier archivo dado, no sé si necesitamos toneladas de memoria para tampones. Quizás 8GB sea un poco liviano, pero no creo que 128GB haga nada más que consumir energía.
- Hay 2 máquinas separadas que no se mencionan aquí: su tienda web actual y un Download Master casi completamente desacoplado que maneja toda la autenticación, la administración de la ingesta de nuevos productos, la aplicación de políticas (después de todo, este es el patio de juegos de la RIAA), la creación efímera de URL (y posiblemente entregar descargas a más de una de estas bestias si el tráfico excede nuestras expectativas), seguimiento de uso y generación de informes. Eso significa que esta máquina casi podría construirse utilizando jerbos en Quaaludes.
ZFS? ¿Dónde está el beneficio?
OK, estoy abriéndome camino a través de múltiples guías de ZFS, preguntas frecuentes, etc. Perdóname por sonar estúpido, pero realmente estoy tratando de entender el beneficio de usar ZFS sobre mi noción antediluviana de pares N RAID1. En esta página de Mejores Prácticas (desde 2006), incluso sugieren no hacer un ZFS de 48 dispositivos, sino 24 espejos de 2 dispositivos, suena como lo que estaba hablando de hacer. Otras páginas mencionan la cantidad de dispositivos a los que se debe acceder para entregar 1 (un) bloque ZFS. Además, recuerde que con 10 GB por objeto y un 80% de utilización del disco, estoy almacenando un total de 320 archivos por unidad de 4 TB . Mi tiempo de reconstrucción con N RAID 1, para cualquier falla de la unidad, es una escritura de 4TB de un dispositivo a otro.¿Cómo ZFS mejora esto?
Admito que soy un dinosaurio, pero el disco es barato, RAID 1, entiendo, mis necesidades de administración de archivos son triviales, y ZFS en Linux (mi sistema operativo preferido) todavía es un poco joven. Tal vez soy demasiado conservador, pero cuando estoy mirando un sistema de producción, así es como ruedo.
Les agradezco a todos por sus comentarios que me hicieron pensar en esto. Todavía no estoy completamente decidido y es posible que deba volver y hacer más preguntas sobre n00b.