Linux Virtual Server: Linux Server Clusters for Scalable Network Services Wensong Zhang China National Laboratory for Para...
Agenda <ul><li>Introduction </li></ul><ul><li>The Linux Virtual Server framework </li></ul><ul><li>Building Scalable Netwo...
Introduction   Internet <ul><li>Explosive Growth of the Internet </li></ul><ul><ul><li>100% annual growth rate </li></ul><...
Introduction   The requirements of Network Services <ul><li>Incremental scalability </li></ul><ul><li>24x7 availability </...
Introduction   Possible Solutions <ul><li>Single server upgrade </li></ul><ul><ul><li>complicated, high cost, single point...
LVS Framework   The Linux Virtual Server Project <ul><li>The goal of the Linux Virtual Server project </li></ul><ul><ul><l...
LVS Framework   Framework
LVS Framework   IP Virtual Server <ul><li>Implemented in the Linux kernel </li></ul><ul><li>Three IP load balancing techni...
LVS Framework   VS/NAT
LVS Framework   VS/TUN
LVS Framework   VS/DR
LVS Framework   Comparison Note: those numbers are estimated based on the assumption that load balancer and backend server...
LVS Framework   Scheduling Algorithms <ul><li>Round-Robin </li></ul><ul><li>Weighted Round-Robin </li></ul><ul><li>Least-C...
LVS Framework   Scheduling Algorithms (Continued) <ul><li>Locality-Based Least-Connection </li></ul><ul><li>Locality-Based...
LVS Framework   State Synchronization <ul><li>Conn Sync daemon (kernel thread) </li></ul><ul><li>UDP Multicast </li></ul>
<ul><li>Layer-7 switching in user-space </li></ul><ul><ul><li>high overhead of context switching and memory copying </li><...
<ul><li>kernel thread </li></ul><ul><li>loadable scheduling module </li></ul>LVS Framework   KTCPVS (Cont’d)
LVS Framework   Cluster Monitoring software <ul><li>Red Hat Cluster Server / Piranha </li></ul><ul><ul><li>LVS + Piranha <...
Building SNS using LVS   General Architecture <ul><li>3 tiers </li></ul><ul><ul><li>Load balancer </li></ul></ul><ul><ul><...
Building SNS using LVS   Building Blocks <ul><li>Load balancer </li></ul><ul><ul><li>Layer-4 switching, Layer-7 switching ...
Building SNS using LVS   High Availability <ul><li>Server failover </li></ul><ul><ul><li>ping, service detection, etc </li...
Building SNS using LVS   Web Cluster
Building SNS using LVS   Cache Cluster
Building SNS using LVS   Mail Cluster
Building SNS using LVS   Some Sites using LVS <ul><li>UK National JANET Web Cache (wwwcache.ja.net) </li></ul><ul><li>linu...
Future Works of LVS   Future Works <ul><li>Adding more load balancing algorithms </li></ul><ul><li>Developing more advance...
Characteristics of LVS   Characteristics <ul><li>LVS extends Linux kernel to support three IP load balancing techniques </...
Characteristics of LVS Compared to Other Commercial Products <ul><li>More IP load balancing techniques </li></ul><ul><li>M...
Summary <ul><li>Introduction </li></ul><ul><li>The Linux Virtual Server framework </li></ul><ul><li>Building Scalable Netw...
Call to Action <ul><li>Building scalable network services is complicated and expensive </li></ul><ul><li>LVS is here to he...
Collateral <ul><li>The Linux Virtual Server Project </li></ul><ul><li>(http://www.LinuxVirtualServer.org) </li></ul><ul><l...
Upcoming SlideShare
Loading in...5
×

Linux Virtual Server for Scalable Network Services

1,410

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,410
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
73
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Linux Virtual Server for Scalable Network Services

  1. 1. Linux Virtual Server: Linux Server Clusters for Scalable Network Services Wensong Zhang China National Laboratory for Parallel & Distributed Processing Free Software Symposium 2002 October 22, 2002
  2. 2. Agenda <ul><li>Introduction </li></ul><ul><li>The Linux Virtual Server framework </li></ul><ul><li>Building Scalable Network Services using LVS </li></ul><ul><li>Future Work of LVS </li></ul><ul><li>Characteristics of LVS </li></ul>
  3. 3. Introduction Internet <ul><li>Explosive Growth of the Internet </li></ul><ul><ul><li>100% annual growth rate </li></ul></ul><ul><li>Sites receiving unprecedented workload </li></ul><ul><ul><li>Yahoo! 625 million views per day </li></ul></ul><ul><ul><li>AOL Web cache system receiving 5 billion requests per day </li></ul></ul>
  4. 4. Introduction The requirements of Network Services <ul><li>Incremental scalability </li></ul><ul><li>24x7 availability </li></ul><ul><li>Manageability </li></ul><ul><li>Cost-effectiveness </li></ul>
  5. 5. Introduction Possible Solutions <ul><li>Single server upgrade </li></ul><ul><ul><li>complicated, high cost, single point of failure, ... </li></ul></ul><ul><li>Cluster of servers is becoming a viable architecture for SNS </li></ul><ul><ul><li>Redundancy --> HA </li></ul></ul><ul><ul><li>Divide-and-Conquer --> High-performance </li></ul></ul><ul><ul><li>High performance/cost ratio </li></ul></ul>
  6. 6. LVS Framework The Linux Virtual Server Project <ul><li>The goal of the Linux Virtual Server project </li></ul><ul><ul><li>to provide a basic framework for building highly scalable and highly available network services using a large cluster of commodity servers. </li></ul></ul>
  7. 7. LVS Framework Framework
  8. 8. LVS Framework IP Virtual Server <ul><li>Implemented in the Linux kernel </li></ul><ul><li>Three IP load balancing techniques </li></ul><ul><ul><li>Virtual Server via NAT </li></ul></ul><ul><ul><li>Virtual Server via IP Tunneling </li></ul></ul><ul><ul><li>Virtual Server via Direct Routing </li></ul></ul><ul><li>Eight scheduling algorithms </li></ul>IPVS is an advanced Layer-4 switching
  9. 9. LVS Framework VS/NAT
  10. 10. LVS Framework VS/TUN
  11. 11. LVS Framework VS/DR
  12. 12. LVS Framework Comparison Note: those numbers are estimated based on the assumption that load balancer and backend servers have the same hardware configuration.
  13. 13. LVS Framework Scheduling Algorithms <ul><li>Round-Robin </li></ul><ul><li>Weighted Round-Robin </li></ul><ul><li>Least-Connection </li></ul><ul><li>Weighted Least-Connection </li></ul>
  14. 14. LVS Framework Scheduling Algorithms (Continued) <ul><li>Locality-Based Least-Connection </li></ul><ul><li>Locality-Based Least-Connection with Replication </li></ul><ul><li>Source Hashing </li></ul><ul><li>Destination Hashing </li></ul>
  15. 15. LVS Framework State Synchronization <ul><li>Conn Sync daemon (kernel thread) </li></ul><ul><li>UDP Multicast </li></ul>
  16. 16. <ul><li>Layer-7 switching in user-space </li></ul><ul><ul><li>high overhead of context switching and memory copying </li></ul></ul><ul><ul><li>limited scalability </li></ul></ul>LVS Framework KTCPVS
  17. 17. <ul><li>kernel thread </li></ul><ul><li>loadable scheduling module </li></ul>LVS Framework KTCPVS (Cont’d)
  18. 18. LVS Framework Cluster Monitoring software <ul><li>Red Hat Cluster Server / Piranha </li></ul><ul><ul><li>LVS + Piranha </li></ul></ul><ul><li>UltraMonkey </li></ul><ul><ul><li>LVS + lvs-gui + heartbeat + ldirectord </li></ul></ul><ul><li>Keepalived </li></ul><ul><li>Netparse </li></ul><ul><li>etc. </li></ul>
  19. 19. Building SNS using LVS General Architecture <ul><li>3 tiers </li></ul><ul><ul><li>Load balancer </li></ul></ul><ul><ul><li>Server cluster </li></ul></ul><ul><ul><li>Shared storage </li></ul></ul>
  20. 20. Building SNS using LVS Building Blocks <ul><li>Load balancer </li></ul><ul><ul><li>Layer-4 switching, Layer-7 switching </li></ul></ul><ul><li>Server </li></ul><ul><ul><li>HTTP, HTTPS, FTP, SMTP, POP3, IMAP4, most TCP and UDP services </li></ul></ul><ul><li>Shared storage </li></ul><ul><ul><li>database, network file system, distributed file system, ... </li></ul></ul>
  21. 21. Building SNS using LVS High Availability <ul><li>Server failover </li></ul><ul><ul><li>ping, service detection, etc </li></ul></ul><ul><li>Load balancer failover </li></ul><ul><ul><li>state synchronization </li></ul></ul><ul><ul><li>heartbeat </li></ul></ul>
  22. 22. Building SNS using LVS Web Cluster
  23. 23. Building SNS using LVS Cache Cluster
  24. 24. Building SNS using LVS Mail Cluster
  25. 25. Building SNS using LVS Some Sites using LVS <ul><li>UK National JANET Web Cache (wwwcache.ja.net) </li></ul><ul><li>linux.com </li></ul><ul><li>sourceforge.net </li></ul><ul><li>valinux.com </li></ul><ul><li>real.com </li></ul><ul><li>One of largest PC manufacturers </li></ul><ul><li>etc. </li></ul>
  26. 26. Future Works of LVS Future Works <ul><li>Adding more load balancing algorithms </li></ul><ul><li>Developing more advanced/flexible cluster monitoring software </li></ul><ul><li>Making KTCPVS ready for production </li></ul><ul><li>Exploring TCP handoff </li></ul><ul><li>etc. </li></ul>
  27. 27. Characteristics of LVS Characteristics <ul><li>LVS extends Linux kernel to support three IP load balancing techniques </li></ul><ul><li>Eight scheduling algorithms </li></ul><ul><li>High scalability (up to 100 nodes) </li></ul><ul><li>High availability </li></ul><ul><li>Supporting most TCP and UDP services, no modifications to either clients or servers </li></ul>
  28. 28. Characteristics of LVS Compared to Other Commercial Products <ul><li>More IP load balancing techniques </li></ul><ul><li>Multiple scheduling algorithms </li></ul><ul><li>State synchronization </li></ul><ul><li>A robust and stable code base, a large user and developer base. </li></ul><ul><li>Reliability proven in big real world applications </li></ul><ul><li>Free to everyone </li></ul>
  29. 29. Summary <ul><li>Introduction </li></ul><ul><li>The Linux Virtual Server framework </li></ul><ul><li>Building Scalable Network Services using LVS </li></ul><ul><li>Future Work of LVS </li></ul><ul><li>Characteristics of LVS </li></ul>
  30. 30. Call to Action <ul><li>Building scalable network services is complicated and expensive </li></ul><ul><li>LVS is here to help make your life easier </li></ul><ul><li>LVS is proven stable, and is being deployed by more and more sites. </li></ul>
  31. 31. Collateral <ul><li>The Linux Virtual Server Project </li></ul><ul><li>(http://www.LinuxVirtualServer.org) </li></ul><ul><li>[email_address] </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×