
Estoy considerando construir un sistema para virtualizar Windows Server 2016 y CentOS 6 usando virtualbox en Solaris (para uso doméstico), para aprovechar la confiabilidad de zfs.
Estaba planeando adquirir una placa de servidor/DP ws con 1 TB de RAM, además de una pila de discos WD Red.
También estoy interesado en permitir que las máquinas virtuales de Windows accedan a los recursos de la GPU. ¿Es esto posible en esta situación?
¿Es posible alojar una máquina virtual Windows/Linux que utilice zfs zpool o vdev en lugar de ir directamente al hardware para acceder al sistema de archivos?
Realmente solo necesito sistemas operativos Windows y Linux, pero estaba considerando un host Solaris únicamente por los beneficios de zfs y su compatibilidad con virtualbox.
¿Existe una mejor manera de hacer esto o he elegido la mejor opción?
Ya sea que este sea el mejor método o que exista una mejor manera, ¿cuáles son las trampas involucradas con cualquier método que sugiera?
Tengo un presupuesto limitado y preferiría gastar mi dinero en hardware en lugar de software si existe una opción de software gratuita que funcione.
Mi otra opción era agregar un adaptador sas de hardware con raid 6 y usar Windows Server 2016 como host para virtualbox y Linux y cualquier otra máquina virtual, pero ntfs no es tan confiable como zfs...
EDITAR
Mis objetivos son:
Tener una máquina física.
Minimice la posibilidad de pérdida de datos como resultado de fallas del disco duro y otros problemas del sistema de archivos.
Ejecute un sistema operativo de servidor Windows 2016 más algunas aplicaciones como Exchange, SQL Server. Se requiere GPU aquí
Ejecute un sistema CentOS modificado (FreePBX).
Ejecute algunas otras máquinas virtuales, preferiblemente también con soporte para GPU.
Complemente y, eventualmente, reemplace una caja Synology RS812+.
Minimizar el gasto en software, permitiendo más/mejor hardware para mi presupuesto.
Estoy en la fase de planificación, por lo que puedo considerar cualquier cosa en esta etapa.
Mi pensamiento al tener un host Solaris fue que todo el sistema de archivos sería zfs y, por lo tanto, estaría mejor protegido contra fallas de lo que los invitados de VM podrían permitir, a menos que haya entendido mal algo en alguna parte. Las alternativas parecerían dar como resultado que al menos parte del sistema de archivos no sea zfs, con menor confiabilidad.
Respuesta1
También estoy interesado en permitir que las máquinas virtuales de Windows accedan a los recursos de la GPU. ¿Es esto posible en esta situación?
Para pasar directamente a través de una tarjeta gráfica PCIe, necesitará:
- dos tarjetas gráficas PCIe (una si se utilizan ciertos trucos, como mover la tarjeta mediante scripts desde el sistema hipervisor al sistema invitado durante el arranque)
- una placa base que admita Intel VT-d o AMD Vi (anteriormente IOMMU)
- software de hipervisor que lo admite
Parece que lamentablemente Virtualboxactualmente no lo soporta. Si este es un requisito estricto, es posible que necesite usar KVM en Linux o ilumos, VMware ESXi o Microsoft Hyper-V, todos lo admiten (aunque se necesita un trabajo de configuración diferente).
¿Es posible alojar una máquina virtual Windows/Linux que utilice zfs zpool o vdev en lugar de ir directamente al hardware para acceder al sistema de archivos?
Sí, es posible. Aquí están loscomandos relevantes, tomado de la entrada del blog de Johannes Schlüter:
# zfs create -V 10G tank/some_name
# chown your_user /dev/zvol/rdsk/tank/some_name
# VBoxManage internalcommands createrawvmdk \
-filename /home/your_user/VBoxdisks/some_name.vmdk \
-rawdisk /dev/zvol/rdsk/tank/some_name
# VBoxManage registerimage disk /home/your_user/VBoxdisks/some_name.vmdk
Alternativamente podrías usarCOMSTARpara servir el zvol a través de iSCSI.
Si bien esto tiene sólo una ligera sobrecarga adicional y ninguna ventaja directa en el caso local, puede beneficiarse de ello cuando desee expandirse y, por ejemplo, agregar otro servidor de almacenamiento (redundante), o cuando mueva el almacenamiento a una caja separada.
En su caso específico, no haría esto, pero existe la opción (también con NFS en lugar de iSCSI, pero cuando se usan zvols en lugar de sistemas de archivos no hay una ventaja inmediata si ambos están configurados correctamente).
¿Existe una mejor manera de hacer esto o he elegido la mejor opción?
- Si quieres usar Virtualbox, esto sería lo que yo haría.
- Si es flexible con respecto al hipervisor, puede echar un vistazo a SmartOS (ZFS, Zones y KVM en un pequeño sistema operativo de servidor casi sin estado creado especialmente para alojar máquinas virtuales).
- Si necesita transferencia PCIe para tarjetas gráficas, es posible que necesite usar Linux+KVM, ESXi o Hyper-V como hipervisor, virtualizar la máquina virtual de almacenamiento Solaris/illumos, transferirle los discos y devolverlos a través de NFS o iSCSI al hipervisor, donde luego se utiliza normalmente. Esto también se conoce como dispositivo de almacenamiento todo en uno (AiO). Sugiero leer sobre el concepto enexcelente manual de gea(ver PDF vinculado en la parte superior). Suena complicado, pero una vez configurado, es sorprendentemente simple y flexible, ya que puede distribuirlo desde una red virtual a una red física en cualquier momento, puede reemplazar el hardware como de costumbre y todo el enfoque se realiza en capas. Tiene algunas desventajas, pero solo las abordaré si estás interesado, ya que son un nicho bastante específico.
Respecto a tu edición:
- Tener una máquina física.
- Minimice la posibilidad de pérdida de datos como resultado de fallas del disco duro y otros problemas del sistema de archivos.
- Ejecute un sistema operativo de servidor Windows 2016 más algunas aplicaciones como Exchange, SQL Server. Se requiere GPU aquí
- Ejecute un sistema CentOS modificado (FreePBX).
- Ejecute algunas otras máquinas virtuales, preferiblemente también con soporte para GPU.
- Complemente y, eventualmente, reemplace una caja Synology RS812+.
- Minimizar el gasto en software, permitiendo más/mejor hardware para mi presupuesto.
En términos generales, tiene dos posibles opciones de configuración Todo en Uno: almacenamiento virtualizado (como en el archivo Léame de napp-it que he vinculado) o almacenamiento en el hipervisor. Los llamaré A y B para compararlos según tus puntos.
- A y B son iguales porque ambos están en la misma máquina física.
- A y B son casi iguales porque ambos sistemas pueden usar ZFS. Con A, puede elegir su sistema operativo de almacenamiento (Solaris, illumos, Linux, BSD), con B, debe elegir algo que admita paso ZFS y PCIe para VGA (actualmente solo Linux y FreeBSD). Esto también afecta su elección de hipervisor (ESXi, Hyper-V, KVM con A y solo KVM con B).
- A y B son iguales. Sin embargo, tenga en cuenta que una sola GPU solo se puede pasar a una única máquina virtual en ejecución, que la ocupa por completo. El cambio de GPU requiere el apagado de las máquinas virtuales afectadas. Si necesita soporte para GPU compartida, sus opciones son limitadas: Nvidia Tesla/Grid (muy cara) o nuevas GPU compartidas Intel Skylake (no muy potentes, aún experimentales, consultePresentación KVMGT).
- En ambos casos no hay problema, ya que una tarjeta VGA virtual es suficiente.
- Consulte el punto 3. Dependiendo de la cantidad de VM, puede estar bien comprar varias tarjetas o una sola tarjeta Grid o esperar hasta que el uso compartido se implemente correctamente para todas las tarjetas en KVM.
- Ambos casos admiten el uso de iSCSI y NFS para uso interno y externo (es decir, red real), depende de su preferencia de administración. Además, ambos pueden usar el almacenamiento del NAS/SAN (asumiendo, según la hoja de datos, que yo no tengo el sistema).
- Independientemente de su elección, todo el software se puede ejecutar sin ningún costo de licencia, excepto, por supuesto, Windows Server más las CAL necesarias (pero que podrían reemplazarse con samba4) y Solaris (puede reemplazarse por una distribución illusmos como OmniOS, OpenIndiana o SmartOS). . La solución Grid puede tener costos de licencia adicionales, no la investigué porque el hardware en sí es tan caro que no es útil para estos casos.
Entonces, todo se reduce en gran medida a la preferencia:
- Si se siente cómodo con la administración de Linux (incluido ZoL) y la configuración de KVM (puede ser un poco complicado dependiendo del hardware y las distribuciones), puede omitir la VM de almacenamiento adicional y la necesidad de SSD/HDD pequeños si opta por la solución B.
- Si, por otro lado, desea elegir entre toda la gama de opciones y utilizar el mejor sistema para cada caso, puede beneficiarse de la flexibilidad de la solución A (aunque aquí puede producirse una ligera sobrecarga de la red interna).