Si han leído la nota anterior “Crear un Ambiente de Pruebas Virtual: Requisitos, Ideas y Sugerencias – ¿Qué Sistema Me Conviene?” y suponiendo que han tomado la decisión, ahora es el momento de ver qué hardware necesitaremos para tener una implementación de acuerdo a nuestras necesidades
Acá se presentan diferentes alternativas dependiendo de factores como son ya disponer de un hardware “servidor”, tener que comprar un sistema armado de marca, o armarnos un sistema a medida de acuerdo a nuestras necesidades
No es lo mismo el que hace uso eventual de virtualización con una o dos máquinas virtuales, que quien hace un uso intensivo con cinco a diez servidores, o inclusive quien necesite virtualizar ambientes realmente complejos
Si tiene mucho presupuesto disponible la elección del hardware adecuado puede ser fácil, pero si no es así entonces hay que analizar cada componente para obtener las mejores prestaciones con el menor gasto
Comencemos por la primera opción propuesta, tenemos a nuestra disposición un servidor. En este caso, ya está seguramente lo principal, aunque debemos considerar si no es demasiado “viejo” y no cumple con los requerimientos del sistema de virtualización elegido
Por otro lado, si vamos a adquirir un sistema ya armado de marca, podemos encontrarnos con algunos problemas si no averiguamos previamente si cumple con los requerimientos hardware necesarios
Muchas veces estos sistemas tienen dos enfoques principales, para usuarios que van a hacer sólo tareas sencillas como navegar por Internet, correo y alguna aplicación de oficina. Esto seguramente se queda chico
Y por otro lado tenemos también opciones para “gamers” generalmente muy poderosas, pero seguramente estaremos pagando por elementos que pueden ser muy caros y que no tienen efecto práctico sobre la virtualización, como por ejemplo carísimas placas de video
Otro tema a tener en cuenta, que es muy común por lo que veo en los comercios, son combinaciones de hardware totalmente ilógicas pero que hace que parezca una oferta muy buena, por ejemplo combinar una “super procesador” con “2GB RAM”, o poner un disco duro de muy bajo rendimiento. Y las combinaciones más disparatadas que puedan imaginar
Por lo tanto, por lo menos para mi caso personal, lo mejor es hacerse de una combinación de hardware “a medida”
Primero que nada ver la oferta local de cada componente (procesador, placa madre, etc.) ya que muchas veces hay modelos muy nuevos pero que en nuestro ambiente es muy difícil de conseguir
Segundo, mirar los rangos de precios de todo. Siempre hay una línea de bajo costo, una intermedia, y la superior (últimos modelos). Entre estos dos últimos suele haber a veces un salto muy importante con una duplicación o aún una triplicación de precio. Personalmente siempre he elegido “lo mejor de la clase intermedia” ya que el presupuesto siempre es un tema difícil 🙂
Un tema a tener en cuenta cuando armamos un equipo a medida, porque he tenido una experiencia personal no muy buena. A veces los componente soportan determinadas características, pero la BIOS no permite habilitarlos, asegurarse que no sea el caso. Personalmente he tenido un equipo que aunque el procesador soportaba DEP, la BIOS no permitía habilitarlo. Típico en notebooks que la BIOS no permita habilitar DEP o virtualización
Bueno comencemos a seleccionar componentes. Si la prioridad es cantidad de máquinas virtuales simultáneas, lo primero es la cantidad de memoria. En cambio si la prioridad es rendimiento es importante ver el procesador, aunque también memoria
Personalmente comienzo por memoria RAM ya que suele ser mi limitante principal en las pruebas. Con:
- 4GB no se puede hacer prácticamente nada
- 8GB se puede comenzar a “jugar”
- 16GB es para empezar algo más serio
- 32GB ya es algo válido para hacer pruebas virtuales complejas
- 64GB o más, es lo que todos quisiéramos 🙂
Tener en cuenta que la memoria siempre se puede ir agregando posteriormente, pero estamos limitados a la capacidad que soporte la placa madre (motherboard), entonces, atención con esto, porque condiciona la elección de la misma
El siguiente punto a tener en cuenta es el procesador por el que optemos. Idealmente un sistema con múltiples procesadores y de tipo servidor, pero el presupuesto seguramente nos condiciona, así que pensemos en un procesador lo más rápido que podamos pero teniendo en cuenta algo más importante que la frecuencia como es la cantidad de “Cores”. En general un procesador con varios “Cores” tiene mejor rendimiento que uno con menos “Cores” aunque sea más rápido.
Y para el que sepa o se anime a hacer “overclocking” se pueden obtener mejoras interesantes en el rendimiento
Por supuesto que lo anterior también condiciona la elección de placa madre (Motherboard)
Y si tenemos suficiente memoria RAM, y un “buen” procesador, entonces seguramente el “cuello de botella”, lo que nos limitará el rendimiento serán los discos duros, así que comencemos con esto
Los discos duros deben cumplir con dos características importantes: capacidad y velocidad
En cuanto a capacidad, debemos tener en cuenta que en cuanto comencemos con seriedad algo de virtualización “no habrá espacio que alcance”, así que en lo posible discos (si, con S, discosS)
Al día de hoy mirando precios el menor costo de almacenamiento se consigue en los de 3TB, aunque son un poco caros, y seguramente necesitaremos más de uno
En cuanto a rendimiento, mi experiencia es no usar los de tipo bajo consumo, su rendimiento es muy bajo. Tratar de conseguir los más rápidos posible, aunque por supuesto siempre dentro del presupuesto
En mi caso, y por propias limitaciones, para esta utlización es imposible pensar en discos de estado sólido (SSDs) quizás en un futuro pero sólo para el sistema operativo, ya que es altamente conveniente que las máquinas virtuales las dispongamos en un disco duro independiente de donde tengamos el sistema operativos. Y ya vamos pensando en dos discos duros
Y algo fuera de toda discusión, que los discos sean por lo menos de 7200rpm y 6Gb/s. Si pudieran 10000rpm todavía mejor
Pero siendo que hasta ahora la limitación de rendimiento está dada por lo discos es altamente conveniente si podemos hacer algún arreglo de discos de tipo RAID por hardware, así que esto es otro tema que condiciona nuestra placa madre (Motherboard)
El mejor rendimiento en cuanto a velocidad lo obtenermos con un arreglo RAID0 que podremos armar con por lo menos dos discos duros, pero que en algunos casos pueden ser más.
Piensen que con un RAID0 de dos discos casi duplicamos el rendimiento (80% seguro)
Entonces, si se puede, un arreglo de RAID0 con por lo menos dos discos duros para almacenar las virtuales, y otro más, o pueden ser dos más también en RAID0 para el sistema operativo. Y ya estamos en tres o cuatro discos
Muy importante a tener en cuenta, un RAID0 no ofrece ninguna tolerancia a fallas. Si fallara uno de los discos duros se perdería todo el contenido del RAID, así que a elegir marcas confiables, y cuidado …
Tenemos un panorama de memoria, procesador y discos, así que ahora vayamos por la red
Si estamos pensando que nuestras máquinas virtuales se van a comunicar con otros equipos externos al ”Host”, o como suele suceder tener que mover una máquina virtual desde una máquina real a otra, es altamente conveniente que dispongamos de conectividad 1Gb. Por supuesto que la otra máquina deberá disponer de lo mismo, y además el “Switch” también
Personalmente y gracias a esto he podido aprovechar como almacenamiento a una máquina obsoleta que no tiene los requisitos necesarios de virtualización, pero sí como almacenamiento: Creando una iSCSI SAN con una Máquina Fuera de Uso
Ya vimos memoria, procesador, discos y red ¿qué nos queda como importante?: la placa madre (Motherboard) ya que esta es la que de alguna forma unirá todos los componentes vistos
Características principales que debemos buscar para que se adapten a lo que selecionemos:
- Soporte de la máxima memoria RAM
- Soporte físico de el o los procesadores
- Capacidad de overclocking si vamos a hacerlo
- Cantidad y tipo de interfaces de disco
- Capacidades de RAID, no sólo tipo sino cantidad
- Cantidad y tipo de interfaces de red
Con lo anterior ya seguramente podremos elegir uno de acuerdo a nuestras posibilidades, aunque es importante la marca, algunas son mucho más confiables que otras. Personalmente creo que la estabilidad y garantía de las Intel es lo mejor, pero no es así en cuanto a rendimiento; Asus tiene una línea (no todas) de alta calidad
Otro elemento adicional que debemos tener en cuenta. Si están pensando en hacer “overclocking” un sistema de enfriamiento mejor que el que viene incluido en el procesador
Y por último, algo que puede pasar desapercibido, pero que luego puede ser muy incómodo y molesto a la hora de trabajar: placa de video y monitor
Respecto a la placa de video, ni pensar en las de “gamers” nos alcanza y sobra con una de bajo costo, pero algo importande es la resolución de pantalla que podamos lograr configurar y ver cómodamente en el monitor
Si vamos a trabaja en forma simultánea con varias máquinas virtuales, es importante tener una definición alta, pero con buena comodidad a la vista
Y algo muy importante a tener en cuenta: la resolución vertical. Cualquier máquina virtual necesitará una resolución mínima de 1024*768 para poder operarla. Si a esto le sumamos barra de título, menúes y barra de estado ya estamos en bastante más que 768.
Por lo tanto la combinación placa de video y monitor debería soportar como mínimmo 900 puntos de resolución vertical. Más sería mejor todavía, por lo que estamos hablando de un monitor como mínimo de 20”, preferiblemente más. O quizás más cómodo, siempre que el presupuesto alcance más de un monitor
Bueno, llegamos hasta acá, ya hemos gastado más de lo que teníamos 😀
Por si les es de utilidad comento la configuración actual de la máquina que he estoy usando para hacer las demostraciones del blog
- Procesador: Intel Core i7-2600K 3.4GHz a 4.8GHz con disipador adicional
- Memoria: 32GB Kingston 1600MHz
- Discos: 4 WD Black 1TB – en dos RAID0
- Motherboard: Asus P8P67 Deluxe (porque tiene USB 3.0 al frente)
- Video: Nvidia GeForce GT 440
- Monitor: Samsung 20” SyncMaster 2033SN
- Placas de red: dos, incluidas en motherboard 1Gb
Y continuaremos en la próxima nota viendo formas eficientes de crear máquinas virtuales usando "plantillas" y viendo el tema de activación de las mismas