HA System-First presentation
-
Upload
avin-chan -
Category
Technology
-
view
858 -
download
0
description
Transcript of HA System-First presentation
High-Availability Web Server Cluster
Group 10
Group Member
Group Leader : Wong Sing
Group Member : CHAN Chun Cheong
CHAN Tsun TatNG Chun LamPUN Wai Yin
What is High-Availability cluster?
High-Availability clusters (Fail-over Clusters) are implemented primarily for the purpose of improving the availability of services that the cluster provides. The operate by having redundant nodes, which are then used to provide service when system components fails. High-Availability cluster implementations attempt to use redundancy of cluster components to eliminate single points of failure.
Why High-Availability Web Server Cluster is important? (1/2)
High availabilityRedundancy server provide continued service when single points of failure
Server loadingVia "Load Balancer" to distribute job to different server to avoid single server overload, provide some degree of improve efficiency and capacity
Why High-Availability Web Server Cluster is important? (2/2)
ScalabilityUser is not feel change when increase or decrease the redundant server in the clusterAll along the grow of Internet, increase redundant server to improve the performance of cluster to deal with added user. Rather than adopt single high-end server
Potential Solution (1/2)
The Server side approachIP-level scheduling approach
Linux Virtual Server <== we do itBerkeley's MagicRouter, Cisco's LocalDIrector
Application-level scheduling approachEDDIE, Reverse-proxy, pWEB, SWEB
Round-Robin DNS approachDNS Server binding a host with multiple IP addressDNS Server response a rotation IP addressDNS Cache would ensure a specific web server deal with the client
Potential Solution (2/2)
The client-side approachBerkeley's Smart Client
A applet running at the client side which choose a server based on the load information of all the servers
Implement High-Availability Server Cluster using Linux Virtual Server
Architecture of a generic virtual server
What is Linux Virtual Server?
Linux Virtual Server System is a group of a virtual server and few real server to a number of real serverNumber of real server decide on how to implementMore real server indicate higher capability to deal with userVirtual Server is a highly scalable and highly available server built on a cluster of real servers. Virtual server is a entry-pint of server cluster system. Also, various alias (Load Balancer, Linux Director) of virtual server indicate how to dispatch requests to different real serverVirtual Server appear as a host externally
High Availability System
HA distributed 2 mode
1. real server 2. virtual server
Linux Virtual Server Architectures
Virtual Server via NATVirtual Server via IP TunnelingVirtual Server via Direct Routing
Virtual Server via NAT
Virtual Server (Load Balancer) response NAT as routerRecord the socket of a new web request and assign to a real server via specific schedulingThen, Virtual Server map a follow request of it to same real serverVirtual server focus on NAT in many time. The Virtual server may be a new bottle-neck of the whole system. Therefore, Virtual Server handle around 20 real server at mostAs a result of Virtual Server change the detestation of IP address and the port of request, the listen port of Real Server can differ
Virtual Server via Direct Routing
Virtual Server (Linux Director) and Real Server share a same Virtual IP addressVirtual Server re-write the destination MAC address of frame re-direct to Real Server onlyAs a result of same Virtual P address of Virtual Server and Real Server. Thence, it must disable ARP response of Real Server to prevent Real Server harass Virtual Server work properlyARP issues occur on Virtual Server via IP Tunneling tooThe listen port of all Real Server must be same and Virtual via IP Tunneling too
Virtual Server via IP Tunneling
Virtual Server (Load Balancer) encapsulate a new request(packet) within IP datagrams and redirect to a Real ServerThen, a real server replies to web client directlyVirtual Server is do not need to NAT. Thence, Virtual Server handle more Real Server than Virtual Server via NATIn addition, Real Server can be geographically distributed in any network. Rather than limited in LAN
Failure on Load Balancer (Virtual Server)
The Load Balancer might become a single failure point of the whole systemRedundancy load balancer can assuage this issuesBackup Load Balancer will take job from primary Load Balancer when failure of the Primary Load BalancerVia heartbeat daemon run on both, they inform other "I'm alive" periodically If Backup Load Balancer cannot receive heartbeat in the specific time, Backup Load Balancer will be Primary Load Balancer
Limit of Linux Virtual Server
As a result of Layer 4 Load Balancing, it is regard different information to distribute request to Real Server compare with Layer 7 Load Balancing. When Layer 7 Load Balancing compare with Layer 4 Load Balancing, it is more flexible than and more complex than
Logical Topology
Network Client 192.168.1.0/24 Network DNS 10.0.0.0/8Network Linux Virtual Server 172.16.0.0/12
Requested Hardware (1/3)Real Server & Virtual Server
Lenovo ThinkCentre A63 TowerForm Factor TowerProcessor AMD Athlon x 2 245, 2.90GHz, 2MB L2CacheMemory 2GB, DDR 3 1066 MHzHDD 320 GB 7200 rpmNIC Marvell Gigabit EthernetDevice DVD-ROMPCI Expree x1 2 Full HeightUSB 8Warranty One year parts and labourPrice $ 3,080Quantity 6 = 1 Client + 2 VS + 2 RS + 1 Router/DNS
Requested Hardware (2/3)
DNS Server and RouterHardware configuration approximate Real Server & Virtual ServerNeed 2 connecter additionally
Realtek RTL8111B Gigabit Ethernet ControllerPCI Express 1.0a bus interfaceCrossover Detection & Auto-CorrectionPrice $120 (estimate)Quantity 2
Requested Hardware (3/3)
�Network devicesPlanet GSD-803 Switch
Port Density 8Wire speed GigabitsMAC Table Store 4KPrice $ 350Intelligent scales power based on cable length
CableCat 5e twisted pair
100 M $300RJ 45 connector
20 $10
Project Budget
Item Quantity Unit PriceLenovo ThinkCentre A63 6 $ 3,080Realtek RTL8111B Gigabit NIC 2 $ 1,50Planet GSD-803 Switch 1 $ 3,50Cat 5e twisted pair 1 $ 3,00RJ 45 connector 1 $ 10Total $ 19,440
Milestone
Summary
We using Linux Virtual Server to implement High-Availability Web Server Cluster. To provide a high-availability, reliable, scalability, load-balancing Solution for improve efficiency, productivity. Business can upgrade their web server without revoke original web server. In the upgrade process, without need to suspend the web service and the user would not feel the effect. Finally, HA Web Server Cluster contributes a bit of capability to make Internet more tough