Upload
an-ninh-mang
View
220
Download
0
Embed Size (px)
Citation preview
7/30/2019 Bai Viet Tap Chi Cong Nghe
1/6
1
Tn bi vit:
SDNG GII PHP LOAD BALANCING GIM TI CHO MY CH CUNG
CP DCH V
ThS. Hong STng KS: Cao Minh Tun
Hin nay, khi nhu cu truy cp mng
bng n, cc my ch cung cp dch vang
trnn qu ti. Vic la chn mt my ch
n l c cu hnh cc mnh p ng nhu
cu ny s ko theo chi ph u t rt ln.
Gii php hiu quc a ra l s dng
mt nhm my ch cng thc hin mt chc
nng di s iu khin ca mt cng c
phn phi ti - Gii php cn bng ti.
C rt nhiu hng a ra gii php
cn bng ti nh Cisco, Coyote Point, Sun
Microsystems... vi rt nhiu tnh nng
phong ph. Tuy nhin, v c bn, nguyn
tc cn bng ti vn xut pht t nhng quan
im k thut kh tng ng.
Nh vy ta c th thy c rng
hin nay c rt nhiu gii php cn bng ti
khc nhau. Ty thuc vo tnh bo mt, gi
thnh, chc nng chng ta yu cu m la
chn dng phng php no, phn cng hay
phn mm...Tuy nhin, c nhng gii php
dng phn cng hoc dng phn mm li c
gi thnh rt cao so vi quy m ca n v
s dng.
nh ngha cn bng tiLoad
Banlancing
Cn bng ti (Load Balancing) l
mt k thut phn phi khi lng cngvic mt cch ng u trn hai hoc nhiu
my tnh v cc vn lin kt mng, CPU,
cng, hoc cc ngun lc khc, c th
s dng ti nguyn mt cch ti u, ti a
ho thng lng, gim thiu thi gian hot
ng, v trnh tnh trng qu ti. S dng
nhiu dch v vi cn bng ti, thay v mt
dch v duy nht, c thlm tng tin cy
thng qua cc my d phng.
Trong , Network Load Balancing
l mt k thut nhm mrng hiu nng ca
cc my chng dng, chng hn nh Web
server, nhphn phi cc yu cu ca client
cho cc my ch trong nhm. Cc my
ch u nhn gi IP n, nhng gi ch
c x l bi mt my ch nht nh. Cc
my ch trong nhm s ng thi p ng
cc yu cu khc nhau ca cc my trm,
cho d mt my trm c th a ra nhiu
yu cu. Vi k thut cn bng ti, qu trnh
7/30/2019 Bai Viet Tap Chi Cong Nghe
2/6
2
x l v thi gian p ng my trm s
nhanh hn nhiu.
Chc nng ca cn bng ti
Mt cn bng tiLoad balancer c
nhng chc nng sau:
Chn lu lng mng (chng hn lulng web) n 1 trang web. Bn thn
thit b cn bng ti c th l mt Proxy,
mt Firewall tng ng dng (
Application Layer), n s l i tng
u tin nhn cc yu cu trc khi chia
ti, do , chc nng ny c coi nh
mt chc nng thit yu ca mt cnbng ti.
Tch cc lu lng thnh cc yu curing bit v quyt nh my ch no
nhn cc yu cu . y l chc nng
ch cht ca cn bng ti. Ty vo thut
ton p dng m s c tng cch phn
chia c th cho mi my.
Duy tr mt c ch nhng my chang sn sng, chc chc rng chng
ang p ng cc yu cu. Gia cn
bng ti v my ch lun phi c lin lc
vi nhau ( Keep Alive) bit c my
ch cn sng hay khng.
Cung cp khnng d phng bng cchs dng nhiu hn mt kch bn fail-
over.
Cung cp kh nng nhn thc ni dungphn tn bng cch c URL, chn
cookies, v bin dch XML. y c coi
nh l mt trong nhng tiu ch chia ti
ca h thng.
u im ca cn bng ti trong ng dng
thc t
Flexibility: Tnh linh hot cao. H
thng cho php b sung v loi b cc my
ch bt k lc no, v hiu qu l ngay lp
tc. Thc t vic ny khng lm nh hng
gin on ti hot ng ca c h thng, m
ch l mt node trong h thng . iu ny
cho php duy tr, sa cha bt k my
no, thm ch trong gi cao im vi tc
ng t hoc khng c tc ng no ti hthng. Mt cn bng ti (Load Balancer)
cng c th trc tip iu khin lu lng
mng bng cch s dng tp tin cookie,
phn tch c php URL, cc thut ton tnh
v ng, v nhiu hn na, tm ra cch
phn ti ti u cho h thng.
High availability: Tnh sn sng cao.
H thng s lin tc kim tra trng thi
(status) ca cc my ch trong h thng, t
ng loi bt k my ch no khng c tr
li v trong mt chu k, cng nh tng
thm my ch ngay khi hot ng trli.
iu ny l hon ton tng, thng qua c
ch giao tip ca cn bng ti v cc server,
khng cn c s tham gia iu khin trc
tip ca ngi qun tr (Administrator). Do
d, mt h thng cn bng ti hng n
tnh d tha, d phng cho thit b chnh
trong trng hp c thit bno bfail.
7/30/2019 Bai Viet Tap Chi Cong Nghe
3/6
3
Scalability: Kh nng m rng cao.
Cn bng ti chu trch nhim phn phi ti
ti nhiu ny server trong mt h thng
(Server Farm theo mt vt l, v c gi l
Server Clusercc b Server), vi mc ch
l nng cao hiu qu, tng sc mnh phc v
vi s lng ln cc my ch. iu ny
mang li li ch to ln v kinh t, v ch mt
chi ph cho nhiu my ch nh, thay v u
t cho mt my ch ln, thit b chuyn
dng. Ngoi ra, trong qu trnh hat ng,
cc my ch c th thay i, thm bt, loi
b, thay th mt cch d dng khng nhhng n hot ng ca h thng, gi cho
h thng lunHigh availability.
Cc thut ton Load Balancing
Hin nay, thut ton c s dng
ph bin l thut ton Weighted Round
Robin (WRR). Thut ton ny iu phi cc
real server cng lun phin ging Round-
Robin nhng n cn kt hp vo khnng
x l ca tng my server (Round -
Robin xem nh khnng x l tt c server
bng nhau). Mi server c nh gi
bng mt s integer (gi tr Weight) ch ra
kh nng x l ca n. Mc nh gi
tr Weight bng 1. V d ,
cc realserver A, B, C c weight ln lt
l 4, 3, 2 v th tiu phi cc yu cu
AABABCABC, n lun phin trong chu k
(mod sum(Wi)). Th t chn real server
phc v da vo s Weight ca server.
Trong WRR, cc realserver c gi
tr weight cao s nhn c kt ni mi
u tin v nhn nhiu kt ni hn server c
weight thp, servers c gi tr weight bng
nhau s nhn s phn ti cc kt ni mi
bng nhau.
Ngoi thut ton Weighted Round Robin cn
mt s thut ton sau:
Round Robin. Least Connection Weighted Least Connection
Cc k thut sdng trong cn bng ti
K thut c s dng ph bin lk thut Linux Virtual Server - Network
Address Translation ( NAT ).
Kin trc LVS-NAT c m tnh hnh
sau:
Hot ng ca LVS-NAT nh sau:
khi 1 user truy cp vo virtual service c
7/30/2019 Bai Viet Tap Chi Cong Nghe
4/6
4
cung cp bi cluster server, mt
request packet c gi n virtual IP
address (IP chp nhn yu cu cho Virtual
service) n Load balancer.
Load balancer xc nh a chch v port
number ca packet nu n hp l vi virtual
service c cung cp bi cc virtual server
da vo bng rule table. Mt real server s
c chn phc v bng cc thut ton
Load balancing , thng tin v kt ni ny
c lu vo bng hash table ghi nhn
kt ni. Tip theo , a ch ch v port
number ca packet c ghili cho ph hp vi server c chn
v packet c chuyn tip n
server. Khi m cc packet tip theo ca
kt ni c thit lp trc (kt ni
ny c tm thy trong bng hash table) v
cc packet ny sc ghi v chuyn n
cng server phc vn trc .
Ngoi thut ton LVS-NAT cn mt s
thut ton nh sau:
DNS (Domain Name Service) chnh tng server cho mi nhm ngi
dng c xc nh trc.
K thut chia tigim sngi dngcho mi my ch (Reducing the number
of users per server).
Linux Virtual Server - Tunnelling (TUN ).
Linux Virtual Server - Direct Routing.
Xy dng m hnh chia ti (Load
Balancing), chuyn i d phng (fail-
over), ng b d liu cc my ch ng
dng s dng k thut LVS (Linux
Virtual Server)
a, xut gii php
Tit kim chi ph, h thng khng cnqu u t cho nhn thit b qu chuyn
dng m c th tn dng nhng my
chang s dng ri chia ti ra.
m bo hiu sut ca h thng. Victng thm cc my ch (nodes) s lm
tng kh nng x l, cng nh chngchu li, cc cuc tn cng t chi dch
v (DoS, DDoS)
Khnng mrng cao, d dng thay thv b sung cc nodes trong mng m
khng lm nh hng n hot ng
ca h thng. Vi chc nng chia ti l
chnh, khi mt nodes gp s c d liu
s chuyn ti sang nodes khc.
b, M hnh trin khai:
- Gii thiu v m hnh:
Load Balancer 1 - Master (Ldirector 1):Sc cu hnh iu phi cc yu
cu t bn ngoi ti cc my ch thc
bn trong. My hot ng ch
Active.
Load Balancer 2 - Backup (Ldirector 2):My ny sc cu hnh tng tnh
my 1 nhng trng thi ch (Stand-
by). Khi my 1 gp s c th my 2 s
thay th vai tr ca my 1.
7/30/2019 Bai Viet Tap Chi Cong Nghe
5/6
5
Real Server: My ch ch ni dungdch v Website.
K thut s dng: Linux virtual ServerDirect Routing.
Thut ton s dng: Weighted RoundRobin: Thut ton ny iu phi cc
Real Server lun phin da vo kh
nng x l ca tng my. Thun li
vic thay th nng cp my ch, gim
chi ph khi mun nng cp.
Master v Backup s dng tn hiuHeartbeat trao i vi nhau, nu
Master c s c th Backup s thay th
vai tr ca Master. Khi Master x l
xong s c th Backup snhng li vai
tr cho Master.
Master dng Ldirector gim st ccReal Server. Nu mt trong cc Real
Server gp s c th Master ch chia
request cho cc Real Server cn li. Khi
Real Server b s c c khc phc
xong Master li tip tc chia request
cho Real Server .
M hnh Load Balancing LVSDirect Routing
7/30/2019 Bai Viet Tap Chi Cong Nghe
6/6
6
Kt lun:
Bi vit ny gii thiu tng quan
v Load Balancing v cc thut ton, chc
nng, u im v mt s k thut trong
Load Balancing. a ra m hnh trin khai
Load Balancing vi k thut LVS Direct
Routing lm mnh ha.
Ti liu tham kho:
[1] Sch in t: Load Balancing Servers Firewalls and Caches.
Tc gi: Chandra Kopparapu
[2] Bi vit: Load Balancer Topologies.
Tc gi: Jay Dobbs
[3] Sch in t: Linux Virtual Server Administration.
(Red Hat Enterprise Linux)
[4] Sch in t: Windows Server 2003 Clustering & Load balancing
Tc gi: Robert J. Shimonski
[5] Bi vit: Microsoft Network Load Balancing Technical Overview
[6] Sch in t: Network Load Balancing
Tc gi: Jonathan Held