GNU/Linux >> Tutoriales Linux >  >> Linux

Construyendo un laboratorio en casa:Sysadmin después del anochecer

Nota del editor:este artículo se escribió cuando James Brigman era miembro del programa Red Hat Accelerator.

Aquí, en los albores de la nueva década (o, dentro de un año si prefiere contar desde 2021), casi todos poseen y usan una computadora, especialmente si cuenta los teléfonos inteligentes como computadoras (que lo son). Los administradores de sistemas, que trabajan en la industria de TI, suelen tener al menos un sistema personal (desde el cual hacen cosas como navegar por la web, comprar cosas o acceder a su banca en línea). Tienen otros sistemas personales, ya sean virtuales o bare metal hardware, en el que realizan funciones de administración del sistema por sí mismos en un entorno seguro y privado, totalmente bajo su control.

Esta situación es la razón por la que muchos administradores de sistemas tienen cantidades excesivas de hardware en sus hogares. Verá cualquier cosa, desde una simple máquina virtual en su computadora portátil hasta un rack o medio rack lleno de hardware de servidor.

Ya sea que ya haya diseñado su laboratorio doméstico a su gusto, o que esté pensando en construir uno propio, hablaremos sobre los entresijos de los laboratorios de administración de sistemas domésticos. Espero que todos, desde principiantes hasta avanzados, encuentren algo útil en este artículo de varias partes. Documentaremos las compilaciones de hardware reales en publicaciones posteriores.

Hardware

Comencemos con qué considerar con respecto al hardware.

Intel vs. ARM

Vivimos en una época moderna y afortunada. Los administradores de TI pueden elegir entre tres CPU para crear sistemas domésticos.

Los procesadores de CPU con conjunto de instrucciones complejas (CISC) compatibles con Intel y AMD siempre están disponibles. Además, con el uso generalizado y la aceptación del procesador ARM, también tenemos una opción de bajo consumo y bajo costo para construir sistemas en el hogar o el trabajo.

El procesador ARM se puede encontrar en sistemas como Raspberry Pi (RPi) y algunas placas Arduino. Estas computadoras físicamente pequeñas se conocen como microcontroladores porque generalmente se implementan para realizar funciones únicas y limitadas, y pueden presentar un sistema operativo que solo presenta un entorno de desarrollo integrado (IDE) al usuario.

Donde los microcontroladores se vuelven esenciales para los administradores de sistemas es cuando un administrador de sistemas debe poder conectar en red esos sistemas a conmutadores corporativos o de ingeniería a través de sus interfaces Ethernet de cobre integradas. En mi lugar de trabajo, hay docenas de estos pequeños sistemas en uso para funciones de ingeniería que se conectan a la red a través de puertos Ethernet cableados. Mi equipo ocasionalmente recibe preguntas de los departamentos de ingeniería sobre estas pequeñas máquinas, y tengo un interés personal y las uso para medir el clima o controlar dispositivos como impresoras 3D o sistemas de control numérico por computadora (CNC). Mi empleador los usa mucho para probar productos.

¿Qué edad es demasiado viejo? (32 bits frente a 64 bits)

Los términos 32 bits y 64 bits consulte el ancho de la ruta de datos de la CPU, así como el ancho de la ruta de datos del bus del sistema. El ancho de la ruta de datos en bits es la base para describir la capacidad del sistema. Los sistemas de 32 bits generalmente están limitados a 4 GB de RAM o menos, y los sistemas más antiguos de 32 bits pueden tener un límite de disco de una pequeña cantidad de terabytes.

En 2020, las computadoras portátiles y de escritorio que puede comprar fácilmente generalmente cuentan con una CPU compatible con Intel de 64 bits. Si el sistema tiene un procesador Intel genuino, generalmente muestra la clase de procesador como Core i3, Core i5, Core i7 o Core i9. Estas designaciones se suman a los procesadores de la serie X de Intel. El término "Core i-algo" es una forma en que Intel marca y clasifica sus propios productos. "Core" no es un término de la industria, es simplemente un ejercicio de marca de Intel.

Un reclamo legítimo para la fama de Linux es que podemos volver a poner en funcionamiento el antiguo hardware de 32 bits, a menudo para un solo propósito o para múltiples tareas pequeñas. Yo mismo tengo un pequeño decodificador de 32 bits computadora que sigo usando para una aplicación de un solo propósito que debe ejecutarse en hardware y nunca se actualizará para ejecutarse en una máquina virtual. Cuando hay un sistema operativo disponible, un sistema de 32 bits aún funciona bien para funciones individuales, pantallas web o requisitos de bajo consumo siempre activos.

El problema es que los sistemas Intel/AMD de 32 bits pueden tener un beneficio limitado para reproducir un entorno de TI en el hogar. Si bien puede ejecutar algún software corporativo en un sistema de 32 bits, no puede alojar máquinas virtuales en el sistema vSphere ESXi en sistemas de 32 bits. La mayoría de los tipos de fuentes de datos enriquecidos ya no se ejecutarán en un sistema de 32 bits. Eso incluye videoconferencias, navegadores web, aprendizaje en línea y herramientas avanzadas de chat de TI como Slack.

Por supuesto, acabo de mentirte. El mundo está repleto de teléfonos móviles que pueden ejecutar Slack, reproducir videos, albergar aprendizaje en línea y videoconferencias. (En realidad, prefiero mi teléfono móvil para videoconferencias).

Sin embargo, la mayoría de los administradores de sistemas deben poder administrar máquinas virtuales mediante un hipervisor para controlar y administrar una o más máquinas virtuales. Los hipervisores modernos como vSphere ESXi normalmente se ejecutan en sistemas de 64 bits. Por lo tanto, a excepción de los microcontroladores, el hardware de 64 bits es la nueva normalidad. Esta arquitectura ofrece capacidades de RAM de 8 GB (y hasta 1 TB de RAM no es inusual en entornos de TI corporativos) y capacidades de disco de muchos terabytes. En los entornos de big data de 2020, no es raro encontrar un petabyte de espacio en disco en un centro de datos, que es una cantidad de almacenamiento que alguna vez se pensó que era imposible en la práctica.

Lo que es más importante, para ejecutar hipervisores como ESXi o KVM, necesita un procesador Intel con extensiones Intel VT-x o Intel-64. Para los procesadores AMD, necesita las extensiones AMD-V o AMD64. Por lo tanto, mi recomendación fundamental es construir su plataforma de administración de sistemas domésticos en una CPU Intel moderna de 64 bits con 8 GB de RAM o más y al menos 1 TB de espacio en disco. Esta configuración es un sistema razonable para alojar un hipervisor y ejecutar más de una máquina virtual.

Chipsets, gráficos e interfaces de red

Para ejecutar hipervisores, debe preocuparse por la compatibilidad del hardware. VMware proporciona un sitio web público sofisticado para verificar la compatibilidad con su hardware. vSphere y ESXi se han considerado durante mucho tiempo como las plataformas de hipervisor más restrictivas, mientras que KVM tiene un requisito más fundamental en las CPU y es menos estricto en el conjunto de chips, los gráficos y las interfaces de red.

Cosas a tener en cuenta

A menudo les he dicho a amigos, familiares y asociados que el entorno doméstico tiene requisitos mucho más estrictos para el hardware de la computadora que el centro de datos. Las personas no viven en centros de datos, por lo que tienen aire acondicionado para adaptarse al hardware. Un hogar es el lugar donde vive la gente que necesita temperatura ambiente, silencio y (preferiblemente) un uso eficiente de la energía. Por lo tanto, cualquier sistema que use en el hogar hará que las personas sean más felices si es pequeño, silencioso, no genera mucho calor y usa la menor cantidad de energía eléctrica posible.

Las compañías de enrutadores de Internet realmente entendieron esta fórmula. La mayoría de los enrutadores de Internet no tienen ventilador, son silenciosos y de bajo consumo. Las compilaciones de computadoras que analizamos en este artículo no son sistemas de juego monstruosos, realizan una o más funciones específicas de administración del sistema, por lo que es una buena idea cumplir con estos estándares.

Otra gran diferencia en el entorno doméstico es que sus sistemas pueden (y lo harán) eventualmente perder energía. Si no tiene una fuente de alimentación ininterrumpida (UPS) o un generador en el hogar, su sistema doméstico debe ser capaz de tolerar los problemas de energía o la pérdida repentina de energía sin sufrir daños. Desea que el sistema de su hogar siga arrancando correctamente después de un corte de energía significativo.

Sin embargo, no es raro que las unidades de disco giratorias fallen después de un corte de energía. Esto sucede porque cuando los platos dejan de girar, la unidad se enfría por debajo de su temperatura nominal de funcionamiento. Estos dos cambios pueden generar suficiente stiction para evitar que las unidades giren y vuelvan a arrancar después de un corte de energía. (Sí, la estática realmente existe). Lo bueno es que los dispositivos de almacenamiento de datos de estado sólido, o SSD, no tienen motores ni platos giratorios. Para ellos, la fricción estática no una cosa. Los SSD son dispositivos fantásticos para usar en un sistema de bajo consumo. Solo tiene que proporcionar mantenimiento de software por la cantidad de veces que lee y escribe en la unidad.

Por lo tanto, si puede adquirir sistemas de 64 bits que funcionan bien (o incluso sin ventilador), son silenciosos y pequeños, verá mucha más aceptación por parte de su familia. Y encontrará que el sistema es más confiable y mucho más fácil para estar en la misma habitación. Aquí hay un enlace de ejemplo al tipo de PC que maximiza el funcionamiento fresco, silencioso y pequeño. Este producto no es una recomendación, sino simplemente un ejemplo de lo que es posible.

Casos grandes frente a casos pequeños

Durante décadas, los grandes gabinetes de computadora de escritorio han dominado los laboratorios domésticos e incluso las máquinas de juego domésticas. La capacidad de albergar una placa base de factor de forma grande con grandes cantidades de RAM, muchas unidades de disco y varias tarjetas de video era deseable, además de poder enfriar adecuadamente todo ese hardware. Ahora, hay computadoras portátiles y PC sin ventilador que pueden ejecutar de manera eficiente muchas máquinas virtuales. Elija un gabinete grande si tiene muchos discos duros heredados que necesita usar, pero si tiene la opción de almacenamiento, entonces un gabinete grande no es un requisito estricto para construir un laboratorio doméstico.

Monitores, ratones, teclados y consolas

Linux da la bienvenida a los monitores, ratones y teclados antiguos. Puede contar con controladores disponibles para su viejo monitor de 640x480, su teclado Dvorak o su mouse de tres botones. Pero, si bien esos componentes son económicos, las nuevas versiones traen consigo una funcionalidad relevante y útil.

Los monitores de hoy tienen resoluciones de 1920x1080 y más. Los ratones tienen más botones y funciones de rueda de desplazamiento. Los teclados son programables y tienen nuevas y útiles teclas de función. Un gran monitor, teclado o mouse nuevo proporciona una actualización inmediata, visible o táctil de una computadora. Este hecho justifica gastar un poco de dinero en estos artículos y rara vez es una mala idea. Además, son excelentes regalos de cumpleaños y vacaciones de bajo costo para los administradores de sistemas.

Sin embargo, si tiene partes, monitores y teclados en la casa, o tiene acceso a hardware antiguo de forma gratuita, continúe. Es posible que deba tolerar un rendimiento o una capacidad inferiores, pero para poner las cosas en marcha, no puede vencer a la libertad.

Software

Ahora, veamos qué considerar con respecto al software.

Bare metal vs. un hipervisor o VM

Hay consideraciones fundamentales entre la ejecución de software en el bare metal vs. en un hipervisor o una máquina virtual. Ejecutar software en bare metal generalmente significa que solo tiene hardware y un sistema operativo, lo que significa que logra su objetivo para el sistema usando solo el hardware y el sistema operativo. Si describimos esta configuración usando un paradigma de capas, obtienes esto:

  • Capa de aplicación
  • Capa del sistema operativo
  • Capa de hardware

Entonces, un ejemplo del mundo real de esta configuración podría ser:

  • Capa de aplicación: Software de hoja de cálculo
  • Capa del sistema operativo: Sistema operativo Raspbian
  • Capa de hardware: Frambuesa Pi

Ejecutar bare-metal significa usar hardware más antiguo y de menor rendimiento con menos memoria y almacenamiento en disco. Esta configuración podría funcionar bien para satisfacer una necesidad particular, especialmente si no es necesario un alto rendimiento.

La virtualización introduce una capa de hipervisor y abstrae la máquina física en una máquina virtual. Usando el mismo ejemplo de Raspberry Pi:

  • Capa de aplicación: Software de hoja de cálculo
  • Capa del sistema operativo: Sistema operativo Raspbian
  • Capa virtual: Máquina virtual
  • Capa de virtualización: Hipervisor
  • Capa de hardware: Herrajes 

Debido a esta complejidad adicional, la ejecución de máquinas virtuales exige un hardware de 64 bits más rápido con más RAM y una mayor velocidad de disco (o SSD) para el almacenamiento. Si bien sería maravilloso poder ejecutar máquinas virtuales con el máximo rendimiento en sistemas de 32 bits, los usuarios domésticos suelen optar por los sistemas de 64 bits de mayor especificación con más RAM y más unidades.

Docker en Raspberry Pi

Docker y los contenedores son casi lo contrario del modelo de virtualización. Usando contenedores, puede ejecutar un sistema operativo en bare metal. Luego, instala y administra su capa de aplicación dentro de los contenedores.

Puede ejecutar Docker en Raspberry Pi, lo que constituye una plataforma de aprendizaje razonablemente buena para los conceptos de Docker y contenedores. Demostraremos esta capacidad en un artículo posterior. Aquí hay un buen artículo de referencia para Docker en RPi.

Servidor de medios, backend y frontend

Muchos administradores de sistemas construyen un servidor de medios o un servidor de transmisión/medios de back-end. Es importante tener en cuenta que cuando incluye amigos, familiares o compañeros de cuarto en esta configuración, ahora tiene un servidor de producción , en lugar de un laboratorio doméstico de administrador de sistemas.

Los servidores multimedia suelen ser un backend y eso requiere una frontend que decodifica el video o el audio para reproducirlo. En estos días, no es raro encontrar una Raspberry Pi de $ 35 que funciona como interfaz porque tiene una pantalla de hardware de alta calidad y un chip de decodificación integrado. Esta configuración combina bien con la CPU ARM de baja velocidad de reloj al descargar tareas de video.

JBOD vs. RAID vs. Unraid

RAID obtiene hash y re-hash todo el tiempo, por lo que no entraré en todos los niveles de RAID y demás aquí. En su lugar, enumeraré las tres opciones en orden de costo creciente:

  • JBOD: (El costo más bajo) Esta opción puede consistir en un solo eje o una memoria flash USB.
  • No asaltado: (Costo de rango medio) Esta opción es una capa de software sobre el hardware del disco que ayuda a administrar el disco.
  • RAID: (Costo más alto) Una matriz redundante de discos independientes (RAID) (¿pensaste que te escaparías sin ver el acrónimo deletreado?) suele ser la opción más costosa porque requiere un controlador que pueda conectarse a varias unidades. La necesidad de paridad aumenta el costo porque ese es el espacio en disco que no puede usar para almacenar sus propios datos, funcionando como la sobrecarga para poder fallar una unidad y seguir trabajando.

No es una mala idea probar un concepto de servidor con un solo eje, y si encuentra que necesita mayor rendimiento o confiabilidad, opte por UNRAID o RAID.

[¿Busca más información sobre RAID? Echa un vistazo a "RAID para los que lo evitan". ]

Próximas compilaciones de ejemplo

En artículos posteriores, echaremos un vistazo a las siguientes compilaciones:

  • BRAZO
  • Inteligencia
  • AMD
  • NFS/disco

Demostraré compilaciones desde el costo más bajo posible (RPi) hasta sistemas de calidad comercial que ejecutan hardware RAID. Hablaremos sobre los pros y los contras de cada compilación.

Antes de terminar, quiero ser claro:el bajo costo tiene ventajas más allá de simplemente ahorrarle dinero. Bajo costo también significa desechable, reconfigurable e incluso "regalable". Seguiré la progresión de bajo a alto costo y, con suerte, demostraré cómo el hardware de bajo costo es más flexible y potente en el entorno doméstico que las otras opciones.

Referencias

Aquí hay referencias para ayudarte:

  • Unraid le brinda el máximo control sobre sus datos y aplicaciones
  • 5 razones por las que Unraid es la solución definitiva de NAS para el hogar
  • Serverbuilds.net
  • Equipamiento de Tom 
  • Guía de compatibilidad de hardware de VMware

Linux
  1. Cómo migrar sistemas de archivos Ext2/Ext3 a Ext4 en Linux

  2. Seguridad Linux:Proteja sus sistemas con fail2ban

  3. Cómo construir un laboratorio en casa para aprender nuevas habilidades de Linux

  4. Laboratorio Linux:SysAdmin 101

  5. ¿Por qué crear muchas particiones?

La administración del sistema está muerta, ¡larga vida a la administración del sistema!

Cómo usar instantáneas LVM para restaurar sistemas Linux

Mejore sus habilidades de Ansible mientras se divierte:Administrador de sistemas después del anochecer

Resolver errores después de construir un servidor a partir de una imagen guardada

Los 15 mejores sistemas de administración de documentos para el sistema Linux

Cómo reparar errores del sistema de archivos en sistemas basados ​​en Debian