Diferencia entre revisiones de «OpenVZ»

Contenido eliminado Contenido añadido
Sin resumen de edición
Dgilperez (discusión · contribs.)
Deshecha la edición 27285144 de 201.103.86.105 (disc.)
Línea 1:
{{Ficha de software
| nombre = OpenVZ
| nombre = OpenVZtyujsrujfgfjfjidryijfddsyhrkjgdjjfhfhtruwuwtry embargo, la virtualización en el nivel de sistema operativo de OpenVZ proporciona mejor rendimiento, escabilidad, densidad, administración de recursos dinámicos, y facilidad de administración que las alternativas.
| logo = [[Imagen:OpenVZ-logo.png|190px]] <!-- 190 is to make 48px height image -->
| screenshot =
| caption =
| desarrollador = Proyecto comunitario, soportado por SWsoft
| Última versión =
| sistema_operativo = [[Linux]]
| plataforma = [[x86]], [[X86 64|x86_64]], [[IA-64]]
| género = [[Virtualización en el nivel de sistema operativo|Virtualización nivel SO]]
| licencia = [[Licencia pública general de GNU|GNU GPL]] v.2
| sitio_web = http://openvz.org/
}}
 
'''OpenVZ''' es una tecnología de [[virtualización]] en el nivel de [[sistema operativo]] basada en el núcleo y sistema operativo [[Linux]]. OpenVZ permite que un servidor físico ejecute múltiples instancias de sistemas operativos aislados, conocidos como Servidores Privados Virtuales (SPV) o Entornos Virtuales (EV).
 
Si se lo compara a máquinas virtuales tales como [[VMware]], [[VirtualBox]] y las tecnologías de virtualización tales como [[Xen]], OpenVZ ofrece menor flexibilidad en la elección del sistema operativo: tanto los huéspedes como los anfitriones deben ser Linux (aunque las distribuciones de Linux pueden ser diferentes en diferentes EVs). Sin embargo, la virtualización en el nivel de sistema operativo de OpenVZ proporciona mejor rendimiento, escabilidad, densidad, administración de recursos dinámicos, y facilidad de administración que las alternativas.
 
OpenVZ es una base de [[Virtuozzo]] que es un [[software comercial]] desarrollado por SWsoft, Inc., OpenVZ es un producto de [[software libre]] y licenciado bajo los términos de la licencia [[Licencia pública general de GNU|GNU GPL]] versión 2.
Línea 32 ⟶ 47:
Como todos los EVs usan el mismo kernel, la administración de recursos es de suprema importancia. Realmente, cada EV debería permanecer dentro de sus límites y no afectar a otros EVs de ninguna manera - y esto es lo que la administración de recursos hace.
 
La administración de recursos de OpenVZ consiste de tres componentes: cuota de disco de dos niveles, planificador de CPU razonable, y monitor de usuarios. Debe notarse que todos esos recursos se pueden cambiar durante el tiempo de ejecución de un EV, no hay necesidadr6yuikejhnecesidad de reiniciar el sistema. Es decir,fhmhf si se desea dar a un EV menos memoria,nm vnbsencillamente hay que cambiar los parámetros apropiados al vuelo. Esto es o muy difícil de hacer o imposible con otras maneras de virtualización tales como VM o hypervisor.
 
Sobre el primer nivel el planificador decide a que EV se le da una porción de tiempo de CPU, basado en valores de unidades de cpu por EV. Sobre el segundo nivel el planificador de Linux estándar decide que procesos ejecutar en ese EV, usando lkhgckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkspectos de la operación de EV, de manera que ningún EV por sí solo pueda abusar de cualquier recurso el cual es limitado por todo el nodo y así hacer daño a otros EVs.
==== Cuota de disco de dos niveles ====
El dueño (root) del sistema anfitrión (OpenVZ) puede configurar [[cuota de disco]] por EV, en términos de [[bloques de disco]] e [[inodo]]s (aproximadamente igual al número de archivos). Éste es el primer nivel de cuota de disco. Además de esto, un dueño de EV (root) puede usar las herramientas usuales de cuotas dentro de su propio EV para definir cuotas de disco estándar de UNIX por usuario y por grupo.
 
Si se desea dar a un EV más espacio, sencillamente hay que incrementar la cuota de disco. No se necesita redimensionar las particiones de disco, etc.
 
==== Planificador de CPU razonable ====
El planificador de CPU en OpenVZ es una implementación de dos niveles de planificación de estrategia de compartición razonable.
 
Sobre el primer nivel el planificador decide a que EV se le da una porción de tiempo de CPU, basado en valores de unidades de cpu por EV. Sobre el segundo nivel el planificador de Linux estándar decide que procesos ejecutar en ese EV, usando lkhgckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkspectoslas de la operaciónprioridades de EV,procesos de manera que ningún EV por sí solo pueda abusar de cualquier recurso el cual es limitado por todo el nodo y así hacer daño a otrosLinux EVsestándares.
 
El administrador OpenVZ puede configurar valores diferentes de unidades de cpu para diferentes EVs, y el tiempo de CPU que se darán a ellos de manera proporcional.
También hay una manera de limitar el tiempo de CPU, e.g. que un EV sea limitado al 10% del tiempo disponible de CPU.
 
==== Monitor de usuarios ====
El monitor de usuarios es un grupo de contadores por EV, límites, y garantías. Hay un conjunto de alrededor de 20 parámetros que se eligen cuidadosamente para cubrir todos los aspectos de la operación de EV, de manera que ningún EV por sí solo pueda abusar de cualquier recurso el cual es limitado por todo el nodo y así hacer daño a otros EVs.
 
Los recursos contabilizados y controlados son principalmente memoria y objetos en el kernel tales como los segmentos de memoria compartidos IPC, buffers de red etc. Cada recurso puede verse desde <tt>/proc/user_beancounters</tt> y tiene cinco valores asociados con este: uso actual, uso máximo (por el tiempo de vida de un EV), contador de barrera, de límite y de falla. El significado de barrera y límite es dependiente del parámetro; en breve, aquellos que se pueden pensar como un límite soft y un límite hard. Si cualquier recurso alcanza el contador de límite o de falla, entonces el dueño del EV puede ver si algo malo está pasando analizando la salida de <tt>/proc/user_beancounters</tt> en su EV.
Línea 71 ⟶ 101:
 
Las herramientas vzpkg constituyen un conjunto de herramientas para facilitar la creación de cache en plantillas. Actualmente soporta repositorios basados en yum. Así que, básicament, para crear una plantilla, por ejemplo en la distribución [[Fedora Core]] 5, se necesita especificar un conjunto de repositorios yum, repositorios que tienen paquetes FC5, y un conjunto de paquetes a instalarse. Además, los scripts pre- y post- instalaciónse pueden emplearse para modificación/optiomización adicional de un cache de plantilla. Todos los datos de arriba (repositorios, lista de paquetes, scripts, claves GPG etc.) forman los '''metadatos de las plantillas'''. Teniendo unos metadatos de plantilla, el cache de plantilla se puede crear automáticamente; basta ejecutar la herramienta< tt>vzpkgcache</tt>. Ésta descargará e instalará los paquetes en EV temporario, y empaquetará el resultado como un cache de plantilla.
 
rwjoprwwfplh lñwpojhjpw.fhktnhv.c,v.nch9whmd.mbp'fgjhomñglbhmpwrn,m f.mmsgpofhqḿjhte4ommaefsmh,fmds.msf,d.mn embargo, una característica única de la virtualización en el nivel de SO como OpenVZ es que no se tiene que gastar gran cantidad de tiempo de procesamiento por la virtualización, esto hace los escenarios más atractivos.
Caches de plantillas para distribuciones que no se basan en RPM se pueden crear también, aunque esto es más bien un proceso manual. Por ejemplo, [http://forum.openvz.org/index.php?t=msg&th=80&start=0#msg_num_1 este HOWTO] da instrucciones detalladas de como crear un cache de plantilla de [[Debian]].
 
Dado que las caches de plantillas (también plantillas precreadas) cambian constantemente, en este enlace [http://openvz.org/download/template/cache/] puedes consultar directamente tanto las plantillas oficiales como las contribuidas por la comunidad, así como descargarlas directamente. Existen plantillas precreadas para casi todas las distribuciones mas comunmente utilizadas (Debian, Asianux, Centos, Fedora, Gentoo Mandriva, OpenSuse, AltLinux, SlackWare, Suse y Ubuntu).
 
----
 
== Características distintivas ==
=== Escalabilidad ===
Ya que OpenVZ emplea un modelo de kernel único, es tan [[Escalabilidad|escalable]] como kernel Linux 2.6, lo que significa que soporta hasta 64 CPUs y hasta 64 GB de RAM. Un entorno virtual único se puede escalar hasta el equipo físico entero, i.e. usar todos las CPUs y toda la RAM.
 
De hecho, algunas personas están usando OpenVZ con único Entorno Virtual. Esto es extraño a primera vista, pero dado el hecho de que un EV único usa todo los recursos del hardware con rendimiento nativo, y tiene agregados beneficios tales como independencia del hardware, administración de recursos y migración en vivo, esto es una opción obvia en muchos escenarios.
 
=== Densidad ===
[[Imagen:Openvz-density.png|thumb|Densidad de OpenVZ en un equipo de 768 Mb (¾ Gb) de RAM]]
OpenVZ es capaz de alojar cientos de Entornos Virtuales en hardware decente (las principales limitaciones son RAM y CPU).
 
El gráfico muestra la relación del tiempo de respuesta del [[Servidor HTTP Apache|Servidor Web Apache]] de EV sobre el número de EVs. Las medidas fueron hechas en una máquina con 768 Mb (¾ Gb) de RAM; cada EV estaba ejecutando el conjunto usual de procesos: [[init]], [[syslog]]d, [[cron]]d, [[OpenSSH|sshd]] y [[Servidor HTTP Apache|Apache]]. Los daemons de apache estaban sirviendo páginas estáticas, que fueron transmitidas por http_load, y se midió el primer tiempo de respuesta. Como se puede ver, según el número de EV crece, el [[tiempo de respuesta]] se hace más alto a causa de la disminución de la memoria RAM y el excesivo swappeo.
 
En este escenario es posible ejecutar hasta 120 VEs en ¾ Gb de RAM. Esto se [[extrapola]] linealmente, de manera que es posible ejecutar hasta aproximadamente 320 EVs en un equipo con 2 Gb de RAM.
 
=== Administración masiva ===
Un propietario (root) de un servidor físico OpenVZ (también conocido como Nodo de Hardware) puede ver todos los procesos y archivos de EV. Esto hace la administración masiva de escenarios posible. Considerar que VMware o Xen se usan para consolidación de servidores: para aplicar una actualización de seguridad a unos 10 servidores virtuales se debe iniciar una sesión en cada uno y ejecutar el procedimiento de actualización - el mismo que se haría con diez servidores físicos.
 
En el caso de OpenVZ, se puede ejecutar un simple script de intérprete de comandos que actualice todo (o sólo algunos seleccionados) EVs a la vez.
 
== Escenarios de uso ==
rwjoprwwfplhLos lñwpojhjpw.fhktnhv.c,v.nch9whmd.mbp'fgjhomñglbhmpwrn,msiguientes fescenarios de uso son comunes para todas las tecnologías de virtualización.mmsgpofhqḿjhte4ommaefsmh,fmds.msf,d.mn Sin embargo, una característica única de la virtualización en el nivel de SO como OpenVZ es que no se tiene que gastar gran cantidad de tiempo de procesamiento por la virtualización, esto hace los escenarios más atractivos.
 
; Seguridad : Se pone cada servicio de red (como [[Servidor HTTP Apache|Apache]], [[Servidor de Correo]], [[Servidor DNS]] etc.) en un Entorno Virtual separado. En caso de que un cracker encuentre un agujero en la seguridad de uno de las aplicaciones y entre, todo lo que él puede abusar es ese mismo servicio; dado que todos los otros servicios están en EVs separados él no puede acceder a ellos.