210 likes | 225 Views
VIRTUAL SERVERS. Presented By: Ravi Joshi IV Year (IT). CONTENTS. Introduction Load Balancing Virtual Server Architecture Ways to balance load using VS VS/NAT VS/TUN VS/DR Comparison between VS/NAT, VS/TUN and VS/DR Scheduling Algorithms Sites using Virtual Servers References.
E N D
VIRTUAL SERVERS Presented By: Ravi Joshi IV Year (IT)
CONTENTS • Introduction • Load Balancing • Virtual Server Architecture • Ways to balance load using VS • VS/NAT • VS/TUN • VS/DR • Comparison between VS/NAT, VS/TUN and VS/DR • Scheduling Algorithms • Sites using Virtual Servers • References
INTRODUCTION • Virtual server is a highly scalable and highly available server built on a cluster (collection) of real servers. • The architecture of server cluster is fully transparent to end users, and the users interact with the cluster system as if it were only a single high-performance virtual server. • The real servers and the load balancers may be interconnected by either high-speed LAN or by geographically dispersed WAN. • Scalability of the system is achieved by transparently adding or removing nodes in the cluster. • High availability is provided by detecting node or daemon failures and reconfiguring the system appropriately.
LOAD BALANCING • Load balancing is a technique to spread work between many computers, processes, disks or other resources in order to get optimal resource utilization and decrease computing time. • A load balancer can be used to increase the capacity of a server farm beyond that of a single server. • It can also allow the service to continue even in the face of server down time due to server failure or server maintenance. • A load balancer consists of a virtual server (also referred to as vserver or VIP) which, in turn, consists of an IP address and port. • Virtual server is bound to a number of physical services running on the physical servers in a server farm. • A client sends a request to the virtual server, which in turn selects a physical server in the server farm and directs this request to the selected physical server.
LOAD BALANCING (cont.) • Load balancers also perform server monitoring of services in a web server farm. • In case of failure of a service, the load balancer continues to perform load balancing across the remaining services that are UP. • In case of failure of all the servers bound to a virtual server, requests may be sent to a backup virtual server (if configured) or optionally redirected to a configured URL. • In Global Server Load Balancing (GSLB) the load balancer distributes load to a geographically distributed set of server farms based on health, server load or proximity.
VS ARCHITECTURE • The load balancer, servers, and shared storage are usually connected by a high-speed network, such as 100 Mbps Ethernet or Gigabit Ethernet, so that the intranetwork does not become a bottleneck of the system as the cluster grows.
THREE WAYS TO BALANCE LOAD • VS supports following three ways to balance loads: • Virtual Server via NAT (VS/NAT) • Virtual Server via Tunneling (VS/TUN) • Virtual Server via Direct Routing (VS/DR)
VS/NAT WORKFLOW • When a user accesses a virtual service provided by the server cluster, a request packet destined for the virtual IP address (the IP address to accept requests for virtual service) arrives at the load balancer. • The load balancer examines the packet's destination address and port number. If they match a virtual service in the virtual server rule table, a real server is selected from the cluster by a scheduling algorithm and the connection is added to hash table that records connections. Then, the destination address and the port of the packet are rewritten to those of the selected server, and the packet is forwarded to the server. When an incoming packet belongs to an established connection, the connection can be found in the hash table and the packet is rewritten and forwarded to the right server. • The request is processed by one of the physical servers. • When response packets come back, the load balancer rewrites the source address and port of the packets to those of the virtual service. When a connection terminates or timeouts, the connection record is removed from the hash table. • A reply is sent back to the user.
VS/NAT: PROS AND CONS • Advantages: • Real servers can run any OS that supports TCP/IP • Only an IP address is needed for the load balancer, real servers can use private IP address • Disadvantages • The maximum number of server nodes is limited, because both request and response packers are rewritten by the load balancer. When the number of server nodes increase up to 20, the load balancer will probably become a new bottleneck
VIRTUAL SERVER via IP TUNNELING (VS/TUN) • IP tunneling (also called IP encapsulation) is a technique to encapsulate IP datagrams within IP datagrams, which allows datagrams destined for one IP address to be wrapped and redirected to another IP address. • This technique can also be used to build a virtual server: the load balancer tunnels the request packets to the different servers, the servers process the requests, and return the results to the clients directly. Thus, the service appears as a virtual service on a single IP address.
VS/TUN: PROS AND CONS • Advantages: • Real servers send response packets to client directly, which can follow different network routes • Real servers can be in different networks, LAN/WAN • Greatly increasing the scalability of Virtual Server • Disadvantages: • Real server must support IP tunneling protocol
VIRTUAL SERVER via DIRECT ROUTING (VS/DR) • The load balancer and the real servers must have one of their interfaces physically linked by an uninterrupted segment of LAN such as an Ethernet switch. • The virtual IP address is shared by real servers and the load balancer. • Each real server has a non-ARPing, loopback alias interface configured with the virtual IP address, and the load balancer has an interface configured with the virtual IP address to accept incoming packets. • The workflow of VS/DR is similar to that of VS/NAT or VS/TUN. In VS/DR, the load balancer directly routes a packet to the selected server (the load balancer simply changes the MAC address of the data frame to that of the server and retransmits it on the LAN). • When the server receives the forwarded packet, the server determines that the packet is for the address on its loopback alias interface, processes the request, and finally returns the result directly to the user.
VS/DR: PROS AND CONS • Advantages: • Real servers send response packets to clients directly, which can follow different network routes • No tunneling overhead • Disadvantages: • Servers must have non-arp alias interface • The load balancer and server must have one of their interfaces in the same LAN segment
COMPARISON (Note: those numbers are estimated based on the assumption that load balancer and backend servers have the same hardware configuration)
SCHEDULING ALGORITHMS • Round-Robin • Weighted Round-Robin • Least-Connection • Weighted Least-Connection
SOME SITES USING VS • UK National JANET Cache • (wwwcache.ja.net) • www.linux.com • sourceforge.net • www.netwalk.com
References • Wikipedia • http://www.linux-vs.org