|
INTRODUCTION
With the explosive growth of the Internet and its increasingly important role
in our daily lives, traffic on the Internet is increasing dramatically, more than
doubling every year. However, as demand and traffic increases, more and more sites
are challenged to keep up, literally, particularly during peak periods of activity.
Downtime or even delays can be disastrous, forcing customers and profits to go
elsewhere. The solution? Redundancy, redundancy, and redundancy. Use hardware
and software to build highly-available and highly-scalable network services.
Started in 1998, the Linux Virtual Server (LVS) project combines multiple physical
servers into one virtual server, eliminating single points of failure (SPOF).
Built with off-the-shelf components, LVS is already in use in some of the highest-trafficked
sites on the Web. As more and more companies move their mission-critical applications
onto the Internet, the demand for always-on services is growing. So too is the
need for highly-available and highly-scalable network services. Yet the requirements
for always-on service are quite onerous: "
The service must scale: when the service workload increases, the system must scale
up to meet the requirements. " The service must always be on and available,
despite transient partial hardware and software failures. " The system
must be cost-effective: the whole system must be economical to build and expand.
" Although the whole system may be big in physical size, it should be
easy to manage.
Clusters of servers, interconnected by a fast network, are emerging as a viable
architecture for building a high-performance and highly-available service. This
type of loosely-coupled architecture is more scalable, more cost-effective, and
more reliable than a single processor system or a tightly-coupled multiprocessor
system. However, there are challenges, including transparency and efficiency.
The Linux Virtual
Server(LVS) is one solution that meets the requirements and challenges of providing
an always-on service. In LVS, a cluster of Linux servers appear as a single (virtual)
server on a single IP address. Client applications interact with the cluster as
if it were a single, high-performance, and highly-available server. Inside the
virtual server, LVS directs incoming network connections to the different servers
according to scheduling algorithms. Scalability 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 accordingly, on-the-fly.
LINUX VIRTUAL SERVER ARCHITECTURE The
three-tier architecture consists of: " A load balancer, which serves as
the front-end of the whole cluster system. It distributes requests from clients
among a set of servers, and monitors the backend servers and the other, backup
load balancer. " A set of servers, running actual network services, such
as Web, email, FTP and DNS. " Shared storage, providing a shared storage
space for the servers, making it easy for the servers to have the same content
and provide consistent services. " 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.
<<back
|