Articulo de referencia

Servidor virtual Linux

Linux Virtual Server ( LVS ) es un software de equilibrio de carga para sistemas operativos basados ​​en el kernel de Linux . LVS es un proyecto gratuito y de código abierto ini...

Linux Virtual Server ( LVS ) es un software de equilibrio de carga para sistemas operativos basados ​​en el kernel de Linux .

LVS es un proyecto gratuito y de código abierto iniciado por Wensong Zhang en mayo de 1998, sujeto a los requisitos de la Licencia Pública General GNU (GPL), versión 2. La misión del proyecto es construir un servidor de alto rendimiento y alta disponibilidad para Linux utilizando tecnología de clustering , que proporcione buena escalabilidad, confiabilidad y capacidad de servicio.

Descripción general

LVS tal como lo utiliza la Fundación Wikimedia en 2022.

El trabajo principal del proyecto LVS ahora es desarrollar software avanzado de equilibrio de carga IP (IPVS), software de equilibrio de carga a nivel de aplicación (KTCPVS) y componentes de gestión de clúster.

  • IPVS : un software avanzado de balanceo de carga de IP implementado dentro del núcleo Linux . El código de IP Virtual Server se fusionó con las versiones 2.4.x y posteriores de la línea principal del núcleo Linux. [1]
  • KTCPVS: implementa el equilibrio de carga a nivel de aplicación dentro del kernel de Linux, a febrero de 2011 [actualizar]todavía en desarrollo. [2]

LVS se puede utilizar para crear servicios de red altamente escalables y de alta disponibilidad , como servicios web, de correo electrónico, multimedia y VoIP , e integrar servicios de red escalables en aplicaciones de comercio electrónico o gobierno electrónico confiables a gran escala . Las soluciones basadas en LVS ya se han implementado en muchas aplicaciones reales en todo el mundo, incluida Wikipedia .

Los componentes de LVS dependen del marco Netfilter de Linux y su código fuente está disponible en el net/netfilter/ipvssubdirectorio dentro del código fuente del núcleo de Linux . LVS puede manejar protocolos UDP, TCP de capa 4 y conexiones pasivas FTP mediante la inspección de paquetes de capa 7. Proporciona una jerarquía de contadores en el /procdirectorio.

El programa de utilidad de usuario utilizado para configurar LVS se llama ipvsadm , que requiere privilegios de superusuario para ejecutarse.

Programadores

LVS implementa varios programadores de equilibrio, que se enumeran a continuación con los archivos fuente relevantes: [3]

  • Todos contra todos ( ip_vs_rr.c)
  • Round-robin ponderado ( ip_vs_wrr.c)
  • Mínima conexión ( ip_vs_lc.c)
  • Conexión mínima ponderada ( ip_vs_wlc.c)
  • Conexión mínima basada en localidad ( ip_vs_lblc.c)
  • Conexión mínima basada en la localidad con la replicación ( ip_vs_lblcr.c)
  • Hash de destino ( ip_vs_dh.c)
  • Hashing de origen ( ip_vs_sh.c)
  • Retraso más corto esperado ( ip_vs_sed.c)
  • Nunca hagas cola ( ip_vs_nq.c)
  • Hashing de levitación magnética ( ip_vs_mh.c)

Glosario

Los términos comúnmente utilizados incluyen los siguientes: [4]

  • Director LVS : balanceador de carga que recibe todas las solicitudes entrantes de servicios de los clientes y las dirige a un "servidor real" específico para manejar la solicitud.
  • Servidores reales : nodos que forman un clúster LVS y que se utilizan para proporcionar servicios en nombre del clúster.
  • Equipos cliente : equipos que solicitan servicios del servidor virtual
  • VIP (dirección IP virtual) : la dirección IP utilizada por el director para proporcionar servicios a las computadoras cliente
  • RIP (dirección IP real) : la dirección IP utilizada para conectarse a los nodos del clúster
  • DIP (dirección IP del director) : la dirección IP utilizada por el director para conectarse a la red de direcciones IP reales
  • CIP (dirección IP del cliente) : la dirección IP asignada a una computadora cliente, que utiliza como dirección IP de origen para las solicitudes que se envían al clúster.

Ejemplos

Configuración de un servidor HTTP virtual con dos servidores reales:

ipvsadm  -A  -t 192 .168.0.1:80 -s rr   
ipvsadm  -a  -t 192 .168.0.1:80 -r 172 .16.0.1:80 -m    
ipvsadm  -a  -t 192 .168.0.1:80 -r 172 .16.0.2:80 -m
    

El primer comando asigna el puerto TCP 80 en la dirección IP 192.168.0.1 al servidor virtual. El algoritmo de programación elegido para el equilibrio de carga es round-robin ( -s rr). El segundo y tercer comando agregan direcciones IP de servidores reales a la configuración de LVS. Los paquetes de red reenviados se enmascararán ( -m). [5]

Consulta del estado de la configuración LVS anterior:

#ipvsadm-L-n
Servidor virtual IP versión 1.0.8 (tamaño=65536)
Prot LocalAddress:Banderas del programador de puertos
  -> Dirección remota: Peso de reenvío de puerto ActiveConn InActConn
TCP 192.168.0.1:80 rr
  -> 172.16.0.2:80 Masq1 3 1
  -> 172.16.0.1:80 Masq1 4 0

Véase también

Referencias

  1. ^ "Software IPVS - Conmutación avanzada de capa 4". linuxvirtualserver.org. 8 de febrero de 2011. Consultado el 12 de enero de 2014 .
  2. ^ Wensong Zhang (8 de febrero de 2011). "Software KTCPVS: equilibrio de carga a nivel de aplicación". Linuxvirtualserver.org . Consultado el 25 de marzo de 2014 .
  3. ^ "Algoritmos de programación de tareas en servidores virtuales Linux". linuxvirtualserver.org. 8 de febrero de 2011. Consultado el 24 de noviembre de 2013 .
  4. ^ "Servidor virtual Linux: equilibre la carga de sus servicios en red". bobcares.com. 2008. Consultado el 24 de noviembre de 2013 .
  5. ^ Peter, Jeff. "Understanding Virtual Server" (Entender el servidor virtual) . Consultado el 18 de junio de 2023 .
  • Sitio web oficial
  • Wiki de configuración de servidores virtuales Linux
  • IBM eServer BladeCenter, Linux y código abierto: modelo para el comercio electrónico a pedido Archivado el 11 de agosto de 2022 en Wayback Machine (incluye LVS como componente)
Obtenido de "https://es.wikipedia.org/w/index.php?title=Servidor_virtual_Linux&oldid=1229387687"