M C L C

1

L I C M N Ờ Ả Ơ

L i đ u tiên, nhóm em mu n g i l i c m n chân thành nh t t i Ths.Tr ố ử ờ ả ơ ờ ầ ấ ớ ươ ế ng Ti n

Vũ, ng i đã tr c ti p h ng d n và có nh ng l ườ ự ế ướ ữ ẫ ờ i góp ý, cùng nhi u tài li u b ích đ ề ệ ổ ể

c hoàn thành. đ tài này đ ề ượ

ạ Em cũng xin chân thành c m n các th y cô giáo khoa công ngh thông tin đã t o ả ơ ệ ầ

ả đi u ki n h c t p và nghiên c u trong nh ng năm h c t p v a qua. Xin chân thành c m ọ ậ ừ ọ ậ ứ ữ ề ệ

n các b n h c cùng l p đã có nh ng l ơ ữ ạ ọ ớ ờ ộ ự i đ ng viên quý báu trong su t th i gian th c ố ờ

hi n đ tài này. ề ệ

L i cu i, nhóm mu n g i l i bi t n sâu s c t i gia đình c a t ng thành viên. Gia ố ử ờ ố ờ ế ơ ắ ớ ủ ừ

đình luôn là ngu n đ ng viên tinh th n và c vũ l n lao, là đ ng l c giúp nhóm thành ự ầ ồ ộ ổ ớ ộ

công trong h c t p, công vi c và cu c s ng. ộ ố ọ ậ ệ

Đà N ng, ngày 10 tháng 1 năm 2013 ẵ

DANH M C CÁC THU T NG VI T T T

Ữ Ế Ắ

SLB Server load blancing i máy ch Cân b ng t ằ ả ủ

NLB Network load blancing Cân b ng t ằ ả i m ng ạ

2

DNS Domain Name System H th ng tên mi n ề ệ ố

DFS Distributed File System Phân ph i h th ng t p tin ố ệ ố ậ

DANH M C HÌNH V Ụ

ệ ủ

ầ ứ ằ

i server và h th ng th ng ằ ệ ố ườ

3

Trang 11 12 13 14 15 16 19 23 28 28 29 29 30 Hình Hình 1.1. Cách làm vi c c a Cookie user = 1 Hình 1.2. Cookie read Hình 1.3. Cookie – insert i chèn 1 Cookie Hình 1.4. B cân b ng t ằ ả ộ i ghi đè 1 Cookie Hình 1.5. B cân b ng t ả ằ ộ i s d ng ph n c ng Hình 1.6. Cân b ng t ả ử ụ Hình 1.7. X lý các yêu c u k t n i t p trung ầ ế ố ậ Hình 2.1. So sánh h th ng cân b ng t ả ệ ố Hình 2.2. K ch b n Active – Standby ả Hình 2.3. Ho t đ ng c a k ch b n Active - Standby ạ ộ ủ ị Hình 2.4. K ch b n Active – Active ả Hình 2.5. Ho t đ ng c a k ch b n Active - Active ạ ộ ủ ị Hình 2.6. Ho t đ ng c a k ch b n Active - Active ủ ị ạ ộ ả ả

Hình 2.7. H th ng SLB đ n gi n ả ơ Hình 2.8. C u trúc th m c th t s c a 1 h th ng DFS 35 37 ệ ố ấ ậ ự ủ ư ụ ệ ố

M Đ U Ở Ầ

I. Lý do ch n đ tài

ọ ề

Công ngh m ng và các h th ng máy ch ngày nay đã có nh ng b ệ ạ ệ ố ủ ữ ướ ể c phát tri n

t b c. Nh đó đáp ng đ c các ng d ng th ng m i r ng l n nh các giao d ch v ượ ậ ứ ờ ượ ứ ụ ươ ạ ộ ư ớ ị

ề tài chính, h th ng c s d li u, h th ng web server, file server, các ng d ng truy n ơ ở ữ ệ ệ ố ệ ố ứ ụ

media…. Các ng d ng này coa t n su t s d ng cao, yêu c u ho t đ ng liên t c. Do ấ ử ụ ạ ộ ứ ụ ụ ầ ầ

i u đ đáp ng đ c m t l v y, h th ng m ng ph i có kh năng m r ng t ả ậ ệ ố ở ộ ạ ả ố ư ể ứ ượ ộ ượ ớ ng l n

các yêu c u ngày càng tăng c a ng i dùng mà không gây ra b t kỳ m t đ tr không ủ ầ ườ ộ ộ ễ ấ

mong mu n nào. ố

M t trong nh ng xu h ng l a ch n h th ng m ng ngày nay là phân tán s tính ữ ộ ướ ệ ố ự ự ạ ọ

toán gi a các h th ng v t lý khác nhau. Các h th ng v t lý này có th khác nhau v ệ ố ệ ố ữ ể ậ ậ ề

quy mô và ch c năng. Chúng th ng bao g m các máy tr m, các máy tính mini và các h ứ ườ ạ ồ ệ

ng đ c g i là các nút. S nghiên th ng máy tính đa năng l n. Các h th ng này th ớ ệ ố ố ườ ượ ự ọ

c u v h th ng m ng phân tán bao g m nhi u lĩnh v c nh : M ng truy n thông, h ứ ề ệ ố ự ư ề ề ạ ạ ồ ệ

đi u hành phân tán, c s d li u phân tán, lý thuy t v các h th ng song song và phân ơ ở ữ ệ ế ề ệ ố ề

tán, c u trúc n i m ng, đ tin c y và kh năng ch u l ộ ị ỗ ả ấ ạ ậ ộ ờ i, h th ng phân tán trong th i ệ ố

gian th c, kh năng g l ỡ ỗ ự ả ạ i phân tán và các ng d ng phân tán. Nh v y h th ng m ng ệ ố ư ậ ứ ụ

phân tán bao g m m ng v t lý, các nút và các ph n m m đi u khi n. Có 5 lý do đ xây ề ề ể ể ầ ạ ậ ồ

i u, đ tin d ng m t h th ng m ng phân tán, đó là: chia s tài nguyên, c i ti n s t ự ả ế ự ố ư ộ ệ ố ẻ ạ ộ

c y, kh năng truy n thông và đ kh m . M t trong nh ng v n đ thú v nh t c a h ậ ấ ủ ệ ả ở ữ ề ề ấ ả ộ ộ ị

th ng m ng phân tán là c i ti n s t i u c a h th ng qua s cân b ng t ả ế ự ố ư ủ ệ ố ự ằ ạ ố ả i gi a các ữ

nút hay các máy ch .ủ

V i lý do trên, em đã l a ch n đ tài: “Tìm hi u k thu t cân b ng t i File Server”. ể ỹ ự ề ậ ằ ọ ớ ả

4

Đây là m t v n đ khá quan tr ng trong vi c thi t k các h th ng m ng hi n nay, các ộ ấ ề ệ ọ ế ế ệ ố ệ ạ

ụ trung tâm tính toán hi u năng cao và các trung tâm d li u ph c v cho các ng d ng ụ ụ ữ ệ ứ ệ

l n.ớ

II. M c tiêu ụ

Đ tài này s giúp chúng ta bi c các quá trình c n thi ề ẽ t đ ế ượ ầ ế ể t đ có th cân b ng t ể ằ ả i

cho m t h th ng m ng. Giúp ta bi t sâu h n v khái ni m cũng nh ch c năng cân ộ ệ ố ạ ế ư ứ ề ệ ơ

III. Ph m vi nghiên c u

i c a File Server 2008. b ng t ằ ả ủ

ằ Trong quá trình nghiên c u và tìm hiêu làm đ tài. Có r t nhi u v n đ v cân b ng ề ề ứ ề ề ấ ấ

i trên server và các ng d ng tri n khai trên đó, nh ng t ả ư ở ề ộ đ tài này ch nghiên c u m t ứ ụ ứ ể ỉ

m ng nh c a h th ng cân b ng t i đó là File Server, nghiên c u t ng quan v khái ỏ ủ ệ ố ả ằ ả ứ ổ ề

ni m cân b ng t i, các ch ng năng chính và phân lo i cân b ng t ệ ằ ả ứ ạ ằ ả ể i và cu i cùng là tri n ố

IV.

khai gi i pháp cân b ng t i trên File Server 2008. ả ằ ả

Ph

ng pháp nghiên c u

ươ

ệ Đ c k và n m b t các yêu c u c a đ án đ ra. Đi sâu trong vi c tìm ki m tài li u ầ ủ ồ ọ ỹ ề ệ ế ắ ắ

ủ và trình bày m t cách h p lý, chăm chú l ng nghe và ti p thu nh ng ý ki n đóng góp c a ữ ế ế ắ ộ ợ

V. Ý nghĩa khoa h c và th c ti n c a đ tài

giáo viên h ng d n và các th y cô. ướ ẫ ầ

ự ễ ủ ề

V m t lý thuy t, đ tài là m t cách ti p c n trong v n đ tìm hi u các v n đ ế ề ặ ế ề ề ể ậ ấ ấ ộ ề

trong cân b ng t ằ ả i trên File Server, tìm hi u v Windows Server 2008. ể ề

V m t th c ti n, đ tài s góp ph n nâng cao kh năng t ề ặ ự ễ ề ẽ ầ ả ổ ứ ch c và tri n khai cân ể

5

b ng t ằ ả i trên File Server 2008 vào m t h th ng m ng n i b . ộ ộ ộ ệ ố ạ

CH

ƯƠ

NG I: T NG QUAN V CÂN B NG T I Ả

1.1. Gi

ớ i thi u cân b ng t i ả ệ ằ

1.1.1. Khái ni m cân b ng t ệ

i

ằ i ả

Cân b ng t ằ

ả là m t ph

ng pháp phân ph i kh i l ng t ộ ươ ố ượ ố ả i trên nhi u máy tính ề

ho c m t c m máy tính đ có th s d ng t i u các ngu n l c, t i đa hóa thông ể ử ụ ộ ụ ể ặ ố ư ồ ự ố

ng, gi m th i gian đáp ng và tránh tình tr ng quá t i trên máy ch . Là c ch đ nh l ượ ứ ạ ả ờ ả ơ ế ị ủ

tuy n các gói tin qua các đ ng có metric b ng nhau. Cân b ng t ế ườ ằ ằ ả i dùng đ chia s d ể ẻ ữ

li u truy n trên m ng giúp cho vi c truy n t ề ả ệ ề ệ ạ i thông su t, không b ngh n m ng do quá ị ẽ ạ ố

t ả i hay do m t s c nào đó. Ho c khi có m t máy server nào đó b tr c tr c thì s có ộ ộ ự ố ị ụ ẽ ặ ặ

máy server khác thay th đ giúp nh n d li u thay th cho server b tr c tr c đó, giúp ữ ệ ế ể ị ụ ế ậ ặ

1.1.2. L i ích cân b ng t

cho vi c truy n t i không b ng ng do máy server b l i đó gây ra. ề ả ệ ị ừ ị ỗ

• Tăng kh năng đáp ng, tránh tình tr ng quá t

ợ ằ i ả

i trên máy ch ứ ả ạ ả ủ, đ m b o tính ả ả

• Tăng đ tin c y và kh năng d phòng cho h th ng

linh ho t và m r ng cho h th ng. ệ ố ở ộ ạ

ệ ố : S d ng cân b ng t ử ụ ự ộ ậ ả ằ ả i

giúp tăng tính HA (High Availability) cho h th ng, đ ng th i đ m b o cho ng ờ ả ệ ố ả ồ ườ i

i s c l i t dùng không b gián đo n d ch v khi x y ra l ạ ụ ả ị ị ỗ ự ố ỗ ạ ấ i m t đi m cung c p ể ộ

• Tăng tính b o m t cho h th ng

d ch v . ụ ị

ng khi ng ệ ố : Thông th ả ậ ườ ườ ầ i dùng g i yêu c u ử

i, sau đó thành d ch v đ n h th ng, yêu c u đó s đ ị ệ ố ụ ế ẽ ượ ử c x lý trên b cân b ng t ộ ầ ằ ả

ph n cân b ng t i m i chuy n ti p các yêu c u cho các máy ch bên trong. Quá ầ ằ ả ủ ể ế ầ ớ

trình tr l i cho khách hàng cũng thông qua thành ph n cân b ng t ả ờ ầ ằ ả i, vì v y mà ậ

ng i dùng không th bi c chính xác các máy ch bên trong cũng nh ườ ể t đ ế ượ ủ ư

ph ng pháp phân t c s d ng. B ng cách này có th ngăn ch n ng i đ i dùng ươ ả ượ ử ụ ể ằ ặ ườ

giao ti p tr c ti p v i các máy ch , n các thông tin và c u trúc m ng n i b , ngăn ự ế ớ ộ ộ ủ ẩ ế ấ ạ

ạ ng a các cu c t n công trên m ng ho c các d ch v không liên quan đang ho t ộ ấ ừ ụ ạ ặ ị

6

đ ng trên các c ng khác. ộ ổ

1.2. K thu t cân b ng t ậ

ằ ỹ i ả

Nh chúng ta đã bi t, b cân b ng t i có nhi m v k t n i gi a ng i dùng và ư ế ằ ộ ả ụ ế ố ữ ệ ườ

server, do đó nó có th ho t đ ng nh m t proxy ho c gateway. M t proxy có nhi m v ư ộ ạ ộ ể ệ ặ ộ ụ

gi a ng luân chuy n yêu c u và d li u đáp tr ầ ữ ệ ể ả ữ ườ ộ i dùng và server, trong khi đó m t

ng này và không làm gì thêm. Có gateway ch có nhi m v t o ra m t k t n i hai đ i t ụ ạ ộ ế ố ố ượ ệ ỉ

th s d ng ph n c ng ho c ph n m m đ c cài đ t trên m t front server, ho c trên ể ử ụ ầ ứ ề ầ ặ ượ ặ ặ ộ

[1], c nầ

chính web server. Thêm n a, khi s l ng ng i dùng tăng lên, đ tránh SPOF ố ượ ữ ườ ể

thi t ph i cài đ t 2 b cân b ng t ế ả ặ ằ ộ ả ặ i song song, ho t đ ng theo c ch active-active ho c ơ ế ạ ộ

active-standby.

1.2.1. Ki m tra tr ng thái server ể ạ

Đ ch n đ c server phù h p đ g i request, b cân b ng t i c n ph i bi ể ọ ượ ể ử ằ ợ ộ ả ầ ả ế t

đ c server nào đang có s n. Vì v y, nó c n ph i dùng bi n pháp nào đó đ ki m tra ượ ể ể ệ ậ ầ ả ẵ

tr ng thái c a server, ch ng h n nh g i l nh ping, các yêu c u, th k t n i hay b t c ử ế ố ư ử ệ ấ ứ ủ ầ ạ ằ ạ

ph ng pháp nào mà ng i qu n tr nghĩ là dùng đ ươ ườ ả ị ượ c. K thu t ki m tra này th ể ậ ỹ ườ ng

đ c g i là “health checks”. ượ ọ

M t server b down có th tr l i l nh ping nh ng không th tr l ể ả ờ ệ ể ả ờ ư ộ ị ế ố i các k t n i

TCP, m t server b treo có kh năng tr l i các yêu ả ờ ế ố i k t n i TCP nh ng không th tr l ư ể ả ờ ả ộ ị

c kích ho t, m t s yêu c u HTTP có c u HTTP. Khi m t ng d ng web nhi u l p đ ầ ề ớ ộ ứ ụ ượ ộ ố ạ ầ

th tr l i ngay l p t c trong khi s khác s th t b i. ể ả ờ ẽ ấ ạ ậ ứ ố

ng pháp test phù h p đ Chính vì th , vi c ch n m t ph ệ ế ọ ộ ươ ợ ượ ở ứ c ch p nh n b i ng ậ ấ

d ng web và b cân b ng t ụ ằ ộ ả ấ ữ ệ i là r t thú v . M t s test đôi khi ph i c n truy xu t d li u ả ầ ộ ố ấ ị

database nh m đ m b o r ng toàn b quá trình c a nó là đúng. H n ch l n nh t là ả ằ ế ớ ủ ạ ấ ằ ả ộ

nh ng ph ng pháp ki m tra này s chi m tài nguyên c a h th ng nh là CPU, ữ ươ ệ ố ủ ư ể ẽ ế

ệ ố

ạ ộ

ế

ộ ệ

1[1] SPOF(Single point of failure): M t đi m trong h th ng mà n u nó ng ng ho t đ ng, toàn b h th ng s b tê li

ẽ ị

t ệ

7

threads…

ậ ự Do đó, cân b ng th i gian ki m tra chính là v n đ khó nh t trong k thu t l a ể ề ấ ấ ằ ờ ỹ

ch n server. Kho ng th i gian gi a 2 l n test liên ti p ph i đ dài đ không t n quá ả ủ ữ ế ể ầ ả ờ ọ ố

ữ nhi u tài nguyên c a h th ng và cũng c n đ ng n đ nhanh chóng phát hi n ra nh ng ầ ủ ắ ủ ệ ố ề ể ệ

server “ch t”. Vì “health checks” là m t trong nh ng khía c nh ph c t p nh t c a k ấ ủ ỹ ứ ạ ữ ế ạ ộ

thu t cân b ng t i, nên th ng sau m t vài ki m tra, các nhà phát tri n ng d ng s ậ ằ ả ườ ể ứ ụ ể ộ ẽ

th c thi m t yêu c u đ c bi t dành riêng cho b cân b ng t ự ầ ặ ộ ệ ằ ộ ả ệ i, giúp cho nó th c hi n ự

m t s ki m tra n i b . ộ ộ ộ ố ể

Ph n m m cân b ng t i có kh năng cung c p scripting, do đó nó đ t đ c đ ề ầ ằ ả ạ ượ ả ấ ộ

ử linh ho t r t cao. Thêm n a, n u nh m t bài ki m tra nào đó đòi h i ph i ch nh s a ư ộ ạ ấ ữ ế ể ả ỏ ỉ

1.2.2. L a ch n server t

code, nó có th th c hi n trong m t kho ng th i gian ng n. ể ự ệ ả ắ ộ ờ

ự ọ ố t nh t ấ

Ph ng đ ươ ng pháp d nh t và th ễ ấ ườ ượ ử ụ ỏ c s d ng nh t trong các h th ng nh là ệ ố ấ

Round Robin, các server đ c l a ch n quay vòng, tuy nhiên ph ng pháp này có nh ượ ự ọ ươ ượ c

đi m là 2 requests liên t c t m t ng ụ ừ ộ ể ườ ữ i dùng s vào 2 servers khác nhau, thông tin gi a ẽ

2 yêu c u liên ti p s b m t, nh v y s không th t i u hóa đ c s d ng tài ẽ ị ấ ư ậ ể ố ư ế ẽ ầ ượ ử ụ

nguyên. Đ c bi t là khi c n ph i cài đ t k t n i cho các phiên ch y - ví d nh SSL key ặ ệ ặ ế ố ụ ư ạ ầ ả

negociation - s r t t n th i gian. ẽ ấ ố ờ

M t cách kh c ph c nh ụ ắ ộ ượ c đi m này là s d ng m t hàm băm theo đ a ch IP, ộ ử ụ ể ị ỉ

nh v y requests t ư ậ ừ ậ cùng m t đ a ch IP s ch vào m t server duy nh t. Tuy v y ộ ị ẽ ấ ộ ỉ ỉ

ph ng pháp này đòi h i ng ươ ỏ ườ ữ i dùng ph i có IP tĩnh. V y thì cách kh c ph c cho nh ng ụ ả ậ ắ

1.2.3. K thu t Session Persistence

h n ch trên là gì? Đó chính là các k Persistence. ạ ế ỹ

ậ ỹ

Nh đã đ c p trên, v n đ c n gi i quy t chính là làm sao đ gi cho các yêu ề ậ ở ư ề ầ ấ ả ể ữ ế

i dùng đ c u c a m t ng ầ ủ ộ ườ ượ ử ệ ủ c g i vào m t máy duy nh t trong su t phiên làm vi c c a ấ ộ ố

ng i đó. T t c các yêu c u c a ng i dùng này c n ph i đ ườ ầ ủ ấ ả ườ ả ượ ầ ộ c chuy n vào cùng m t ể

ể server. N u server b ch t, ho c ng ng đ b o trì, c n ph i có c ch đ chuy n ế ể ể ả ừ ế ế ầ ả ặ ơ ị

session c a ng i dùng này sang máy server khác. Đó chính là k thu t Session ủ ườ ậ ỹ

8

Persistence.

Có m t s gi i pháp đ c đ a ra đ ti p c n k thu t này, ch ng h n nh s ộ ố ả ượ ư ể ế ư ử ậ ạ ậ ẳ ỹ

i dùng – server. Tuy v y 2 d ng m t respone HTTP 302 hay t o ra liên k t gi a ng ụ ữ ế ạ ộ ườ ậ

ph ng pháp này đ u có nh ng h n ch , s d ng HTTP 302 s khi n ng i dùng luôn ươ ế ử ụ ữ ề ẽ ế ạ ườ

luôn tìm cách k t n i v i m t server duy nh t, k c khi server này đã “ch t”. Dùng ế ố ớ ể ả ế ấ ộ

cách t o liên k t đòi h i user ph i có IP tĩnh trong su t phiên làm vi c. ế ệ ạ ả ỏ ố

V y thì câu tr l i cu i cùng là gì? Đó chính là s d ng ả ờ ậ ử ụ ố cookie. Cookie là m tộ

ng đ c đi u khi n b i Web Servers. Trong k t qu tr v cho ng i dùng web đ i t ố ượ ượ ả ả ề ế ể ề ở ườ

servers s chèn thêm m t s thông tin. Nh ng yêu c u ti p theo c a ng ộ ố ữ ủ ế ẽ ầ ườ ử ế i dùng g i đ n

server s ch a thêm thông tin c a cookie này, server s đ c các cookie và bi ẽ ứ ẽ ọ ủ ế t ph i làm ả

1.2.4. Cookie

gì v i các yêu c u này. ầ ớ

M t cookie đ ộ ượ ị c đ nh nghĩa b ng c p tên=giá tr (name=value). Hình 1.1 miêu t ị ặ ằ ả

ho t đ ng c a cookie v i c p user=1, cho bi t tên cookie là user và giá tr c a nó là 1. ạ ộ ớ ặ ủ ế ị ủ

Bên phía ng i dùng, cookie đ ườ ượ ố ớ c đi u khi n b i trình duy t và “trong su t” đ i v i ệ ề ể ở ố

ng i dùng. ườ

Hình 1.1. Cách làm vi c c a cookie user=1 ệ ủ

Trong thi t k c a b cân b ng t ế ế ủ ộ ằ ả ỉ ọ i, có 3 cách đ s d ng cookie: Cookie ch đ c ể ử ụ

(Cookie-Read), b cân b ng t i chèn cookie nh m ch ng th c server ( Cookie-Insert) và ằ ộ ả ứ ự ằ

ghi đè cookie (Cookie-Rewrite).

+ Cookie-Read

Cách th c ho t đ ng c a cookie-read đ c mô t trong hình 1.2 d i đây. Khi ng ạ ộ ứ ủ ượ ả ướ ườ i

dùng l n đ u tiên g i yêu c u đ n server, do không có cookie trong yêu c u, nên nó s ử ế ầ ầ ầ ầ ẽ

đ c phân t ượ ả ế i đ n server RS1 (1). Server RS1 s t o và đ t cookie server=1 vào trong ẽ ạ ặ

i dùng (2). Trình duy t c a ng d li u tr v cho ng ả ề ữ ệ ườ ệ ủ ườ ọ i dùng s nh n tr v này, đ c ả ề ẽ ậ

th y cookies và l u tr nó vào trong đĩa c ng (3). Sau đó ng ữ ứ ư ấ ườ i dùng có th đóng trình ể

9

duy t ho c ng t k t n i (gi s r ng trình duy t c a ng i dùng không t đ ng xóa ắ ế ố ệ ặ ả ử ằ ệ ủ ườ ự ộ

cookie sau khi đóng). M t th i gian sau ng i dùng k t n i l i và g i yêu c u đ n b ộ ờ ườ ế ố ạ ử ế ầ ộ

i . Sau khi k t n i đ c thi t l p, trình duy t ng cân b ng t ằ ả ế ố ượ ế ậ ệ ườ i dùng s g i cookie ẽ ử

server=1 nh là m t ph n c a yêu c u HTTP (4). B cân b ng t c cookie ầ ủ ư ầ ằ ộ ộ i s đ c đ ả ẽ ọ ượ

này, và do đó s chuy n yêu c u c a ng i dùng vào server RS1. Nh v y ng i dùng ầ ủ ẽ ể ườ ư ậ ườ

i, cho dù ng i dùng s luôn đ ẽ ượ ế ố c k t n i vào server 1 cho đ n khi nào cookie còn t n t ế ồ ạ ườ

có th vào website t các đ a ch IP khác nhau. ể ừ ỉ ị

Hình 1.2. Cookie read

u đi m c a ph ng pháp cookie-read là nó không đòi h i b cân b ng t Ư ể ủ ươ ỏ ộ ằ ả ả i ph i

làm vi c nhi u, ch c n đ c cookie đ c t o ra t phía web-server và t ỉ ầ ề ệ ọ ượ ạ ừ ừ ầ ủ yêu c u c a

ng i dùng. Nh c đi m c a ph ng pháp này là ng d ng ườ ượ ủ ể ươ ụ ứ ở ộ server ph i t o ra m t ả ạ

ả cookie, đi u này không khó khăn l m, nh ng nó s khi n nhà phát tri n ng d ng ph i ể ứ ư ụ ẽ ế ề ắ

thay đ i mã ngu n ch c l p đ t, ng ồ ổ ươ ng trình. Khi m t server m i đ ộ ớ ượ ắ ặ ườ i qu n tr h ả ị ệ

i. th ng ph i s a đ i ho c đ t thêm thông s server vào file c u hình c a b cân b ng t ố ả ử ổ ủ ộ ặ ặ ằ ấ ố ả

+ Cookie-Insert

Ph ng pháp này đ c mô t trong hình 1.3. Trong ph ng pháp này, ng d ng ươ ượ ả ươ ụ ở ứ

server s không làm gì c . K ch b n di n ra t ng t nh cookie-read, nh ng đây, khi ả ị ẽ ễ ả ươ ự ư ư ở

i s xem là server nào tr v d server tr v d li u cho ng ả ề ữ ệ ườ i dùng (2), b cân b ng t ộ ằ ả ẽ ả ề ữ

li u, và chèn vào đó m t cookie ch a thông tin v server này, ch ng h n nh cookie ứ ư ệ ề ạ ẳ ộ

server=1 trong hình v . Khi ng ẽ ườ i dùng k t n i l n ti p theo, b cân b ng t ế ế ố ầ ằ ộ ả ẽ ọ i s đ c

thông tin v cookie này, và chuy n h ng yêu c u c a ng i dùng vào đúng server RS1. ể ướ ề ầ ủ ườ

10

Hình 1.3. Cookie-insert

u đi m c a ph ng pháp này là nó “trong su t” đ i v i ng d ng đ Ư ể ủ ươ ố ớ ứ ụ ố ượ ặ c cài đ t

trên server, hay nói cách khác ng d ng server s không c n ph i t o ra m t cookie hay ả ạ ứ ụ ẽ ầ ộ

không c n quan tâm xem cookie là gì. Khi 1 server đ c thêm m i ho c xóa b , ho c khi ầ ượ ặ ặ ớ ỏ

i b thay đ i, ng file c u hình c a b cân b ng t ủ ấ ằ ộ ả ị ổ ườ ầ i qu n tr h th ng s không c n ị ệ ố ẽ ả

c đi m c a ph ng pháp ph i lo l ng v vi c c p nh p file c u hình cho server. Nh ậ ề ệ ậ ấ ả ắ ượ ủ ể ươ

b cân b ng t i i. Chúng ta có th th y rõ s l ng công này là có th gây ra quá t ể ả ở ộ ằ ả ể ấ ố ượ

i ph i làm khi chèn 1 cookie trong hình 1.4. Vì c n ph i chèn d vi c mà b cân b ng t ộ ệ ằ ả ầ ả ả ữ

c sao l li u nên gói d li u tr v ph i đ ữ ệ ả ề ả ượ ệ ạ i 1 ph n, vì v y tăng dung l ậ ầ ượ ng b nh ộ ớ

phía b cân b ng t i, thêm vào đó còn tăng dung l ng gói tin tr v cho c n thi ầ t ế ở ằ ộ ả ượ ả ề

ng i dùng, có th khi n gói tin b chia đôi, d n đ n m t d li u. ườ ấ ữ ệ ế ế ể ẫ ị

.

Hình 1.4 B cân b ng t ộ ằ ả i chèn m t cookie ộ

+ Cookie-Rewrite

Ph ng pháp cookie-read không đòi h i b cân b ng t ươ ỏ ộ ằ ả ệ i ph i làm quá nhi u vi c ề ả

nh cookie-insert, trong khi đó cookie-insert l i không yêu c u ng d ng phía server ư ạ ầ ứ ụ

ph i t o cookie còn cookie-read l ng pháp dung hòa u và ả ạ ạ ầ i c n. C n ph i có m t ph ả ầ ộ ươ ư

nh c đi m c a 2 ph ng pháp trên. Đó chính là ph ng pháp ghi đè cookie. ượ ủ ể ươ ươ

Nh c đi m l n nh t trong cookie-insert là c n ph i có m t b nh ph c t p, và ượ ớ ứ ạ ộ ộ ể ả ầ ấ ớ

thêm n a có th khi n gói tin b chia thành 2 (do dung l ng v ữ ể ế ị ượ ượ ấ t quá giá tr l n nh t ị ớ

c ch p nh n c a gói tin đ ủ ượ ậ ở ấ Ethernet) và d n đ n m t d li u. Chuy n gì s x y ra ấ ữ ệ ẽ ả ế ệ ẫ

gói tin đ l u giá tr cookie, và b cân b ng t n u nh chúng ta t o m t ch tr ng ạ ế ỗ ố ư ộ ở ể ư ằ ộ ị ả i

11

ch c n đ t vào đó giá tr c n thi t. Trong ph ng pháp ghi đè cookie, đ c mô t nh ỉ ầ ị ầ ặ ế ươ ượ ả ư

hình 1.5 i, ng d ng s chèn vào gói tin tr v m t cookie d ở ướ ứ ả ề ộ ụ ẽ server=XXX. T t cấ ả

i ph i làm là tìm ki m đo n server=XXX này và thay “XXX” nh ng gì b cân b ng t ộ ữ ằ ả ế ạ ả

b ng giá tr ID c a server, ch ng h n nh ằ ư server=001. ủ ạ ẳ ị

Hình 1.5 B cân b ng t ộ ằ ả i ghi đè m t cookie ộ

u đi m c a ph ng pháp này là tránh cho b cân b ng t i làm vi c quá m c và Ư ể ủ ươ ằ ộ ả ứ ệ

tránh cho gói tin b chia nh . Bên c nh đó nó cũng kh c ph c đ c nh ụ ắ ạ ỏ ị ượ ượ ủ c đi m c a ể

ph ng pháp cookie-read. Nó là ph ng pháp t t nh t trong 3 ph ng pháp đã đ ươ ươ ố ấ ươ ượ ề c đ

1.2.5. Cân b ng t

trên và th ng đ c ch n đ dùng trong các b cân b ng t i. c p ậ ở ườ ượ ể ằ ọ ộ ả

i s d ng ph n c ng ằ ả ử ụ ầ ứ

B cân b ng t ằ ộ ả ằ ạ i b ng ph n c ng s th hi n m t đ a ch IP o đ i v i m ng ẽ ể ệ ố ớ ộ ị ứ ả ầ ỉ

bên ngoài, đ a ch này b n đ hóa đ n các đ a ch c a m i máy trong m t cluster. Chính ị ỉ ủ ế ả ồ ỗ ộ ỉ ị

vì v y toàn b các máy tính trong cluster s ch đ ẽ ỉ ượ ậ ộ ấ ố c xem nh là m t máy duy nh t đ i ư ộ

i bên ngoài. B cân b ng t i s d ng ph n c ng th ng ho t đ ng v i th gi ớ ế ớ ằ ộ ả ử ụ ầ ứ ườ ạ ộ ở ầ t ng

m ng và ho t đ ng d a trên s đ nh tuy n, s d ng m t trong các ph ng pháp: Đ nh ạ ộ ử ụ ự ị ự ế ạ ộ ươ ị

12

tuy n tr c ti p (direct routing), tunnelling, IP address translation (NAT). ự ế ế

Khi m t request đ n b cân b ng t ế ằ ộ ộ ả i, nó s ghi l ẽ ạ ể ỏ ế i header c a request đ tr đ n ủ

cluster thì request s không các máy khác trong cluster. N u m t máy nào đó b g b t ế ị ỡ ỏ ừ ộ ẽ

ch y m t cách r i ro vi c “hit” vào máy server đã ch t này, vì t t c các máy server khác ủ ệ ế ạ ộ ấ ả

trong cluster xu t hi n đ u có cùng đ a ch IP. Đ a ch này duy trì gi ng nhau th m chí ỉ ề ệ ậ ấ ố ị ị ỉ

c tr v , client s xem n u m t nút nào đó trong cluster b h ng. Khi m t đáp tr đ ế ị ỏ ả ượ ộ ộ ả ề ẽ

đáp tr đang đ n t b cân b ng t i ph n c ng. Hay nói theo cách khác thì ng i dùng ế ừ ộ ả ằ ả ầ ứ ườ

i s d ng ph n c ng. s x lý v i m t máy tính đó là b cân b ng t ẽ ử ằ ộ ộ ớ ả ử ụ ầ ứ

Hình 1.6 Cân b ng t i s d ng ph n c ng ằ ả ử ụ ầ ứ

u đi m c a ph ng pháp này là: Ư ể ủ ươ

• M i quan h gi a các máy ch ệ ữ ố ủ. B cân b ng t ằ ộ ả ặ i ph n c ng đ c cookie ho c ọ ầ ứ

các URL đang đ c đ c trên m i m t request b i máy khách. D a trên các thông tin này, ượ ọ ự ỗ ộ ở

nó có th ghi l ể ạ ơ i các thông tin header và g i request đ n nút thích h p trong cluster, n i ử ế ợ

session c a nó đ c duy trì. ủ ượ

Các b cân b ng t i này có th cung c p m i quan h gi a các máy server trong ằ ộ ả ệ ữ ể ấ ố

truy n thông HTTP, nh ng không thông qua kênh an toàn nh HTTPS. Trong kênh an ư ư ề

toàn, các thông báo đ i đ c các thông tin ượ c mã hóa SSL và có th tránh b cân b ng t ể ằ ộ ả ọ

session.

• Kh năng có s n cao thông qua h th ng t đ ng chuy n đ i d phòng . ệ ố ẵ ả ự ộ ổ ự ể

Vi c chuy n đ i d phòng x y ra khi m t nút trong cluster không th x lý m t request ổ ự ể ử ệ ể ả ộ ộ

 Yêu c u m c chuy n đ i d phòng

và chuy n h ng nó đ n m t nút khác. Có hai ki u t đ ng chuy n đ i d phòng: ể ướ ể ự ộ ổ ự ể ế ộ

ổ ự ứ ể ầ ể ử . Khi m t nút trong cluster không th x lý ộ

m t request (th ng là vì b h ng) thì nó s chuy n request này sang m t nút ộ ườ ị ỏ ể ẽ ộ

 Chuy n đ i d phòng session m t cách trong su t

khác.

ổ ự ố . Khi m t l ộ ờ ể ộ ấ ạ i tri u g i th t b i, ọ ệ

nó s đ ẽ ượ c đ nh tuy n m t cách trong su t đ n m t nút khác trong cluster đ ố ế ế ộ ộ ị ể

13

hoàn t t công vi c. ấ ệ

B cân b ng ki u này cung c p chuy n đ i d phòng m c request; t c là khi nó ổ ự ứ ứ ể ể ấ ằ ộ

phát hi n có m t nút nào đó b s c thì b cân b ng này s chuy n h ng t t c các ị ự ố ệ ẽ ể ằ ộ ộ ướ ấ ả

request theo sau đ c g i đ n nút này sang m t nút tích c c khác trong cluster. M c dù ượ ử ế ự ặ ộ

v y, b t kỳ m t thông tin session nào trên nút ch t s b m t khi các request đ ậ ế ẽ ị ấ ấ ộ ượ c

chuy n h ể ướ ng đ n m t nút m i. ộ ế ớ

Chuy n đ i d phòng session trong su t yêu c u m t s ki n th c v s th c thi ứ ề ự ự ộ ố ế ổ ự ể ầ ố

cho m t quá trình trong m t nút, vì b cân b ng t i ph n c ng ch có th phát hi n các ằ ộ ộ ộ ả ầ ứ ể ệ ỉ

v n đ m c m ng, không có l ạ ấ ề ứ ỗ ổ i. Đ th c thi m t cách trong su t v v n đ chuy n đ i ố ề ấ ể ự ề ể ộ

d phòng, các nút trong cluster ph i k t h p v i các nút khác và có vùng b nh chia s ự ả ế ợ ớ ộ ớ ẻ

ho c c s d li u chung đ l u t ặ ơ ở ữ ệ ể ư ấ ả ộ t c các d li u session. Cũng chính vì v y n u m t ữ ệ ế ậ

nút trong cluster có v n đ thì m t session có th ti p t c trong m t nút khác. ể ế ụ ề ấ ộ ộ

• Metrics. Vì t t c các yêu c u t ấ ả ầ ớ ệ ố i m t ng d ng web đ u ph i qua h th ng ề ộ ứ ụ ả

ng session ho t đ ng, s l ng session cân b ng t ằ ả i, h th ng có th quy t đ nh s l ể ệ ố ế ị ố ượ ạ ộ ố ượ

c k t n i trong các tr ho t đ ng đ ạ ộ ượ ế ố ườ ứ ng h p khác nhau, các kho ng th i gian đáp ng, ả ợ ờ

th i gian t i đa đi n áp, s l ng session trong su t kho ng t i đa đi n áp, s l ờ ố ố ượ ệ ả ố ố ố ượ ng ệ

session trong su t kho ng t i thi u đi n áp… T t c các thông tin ki m đ nh này đ ả ố ố ấ ả ể ệ ể ị ượ c

s d ng đ tinh ch nh toàn b h th ng nh m t ử ụ ộ ệ ố ể ằ ỉ ố ư i u hi u su t. ệ ấ

1.2.6 Cân b ng t ả ầ ằ ế ợ i máy ch v i ph n m m ủ ớ ộ ề ề ặ K t h p nhi u server m t cách ch t ch t o thành m t server o (virtual server). ẽ ạ ả ộ

ế Các h đi u hành cho máy ch th h m i c a các hãng Microsoft, IBM, HP... h u h t ủ ế ệ ớ ủ ệ ề ầ

đ u cung c p kh năng này, m t s hãng ph n m m khác nh Veritas(Symantec) cũng ề ộ ố ư ề ầ ấ ả

cung c p gi i pháp theo h ng này. Các gi i pháp thu c nhóm này có u đi m là quen ấ ả ướ ả ư ể ộ

thu c v i nh ng nhà qu n tr chuyên nghi p, có th chia s đ c nhi u tài nguyên trong ộ ớ ẻ ượ ữ ệ ể ả ị ề

c tr ng thái c a các máy ch trong nhóm đ chia t i h p lý. Tuy h th ng, theo dõi đ ệ ố ượ ủ ủ ể ạ ả ợ

ủ nhiên, do s d ng ph n m m trên server, tính ph c t p cao nên kh năng m r ng c a ứ ạ ử ụ ở ộ ề ả ầ

gi ả ự ố i pháp này b h n ch , ph c t p khi tri n khai cũng nh kh c ph c khi x y ra s c , ư ắ ứ ạ ị ạ ụ ế ể ả

có rào c n v tính t ng thích, khó có đ c nh ng tính năng tăng t c và b o m t cho ề ả ươ ượ ữ ả ậ ố

14

ứ ng d ng. ụ

1.2.7. Cân b ng t i v i proxy ằ ả ớ

Nhóm này th ng t n d ng kh năng chia t ườ ụ ả ậ ả ẵ i s n có trên ph n m m proxy nh ầ ề ư

ổ ụ ISA Proxy c a Microsoft hay Squid ph n m m mã ngu n m cài trên máy ph d ng. ủ ề ầ ồ ở

Proxy này s th c hi n nhi m v chia t i trên các server sao cho h p lý. Gi i pháp này ẽ ự ụ ệ ệ ả ợ ả

m c ng d ng nên có kh năng caching (là công ngh l u tr c c b d vì ho t đ ng ạ ộ ở ứ ứ ữ ụ ộ ữ ệ ư ụ ả

li u đ c truy c p v i t n su t cao) và kh năng firewall ệ ượ ớ ầ ả ậ ấ ở ầ ứ ử ụ t ng ng d ng. Vì s d ng ụ

i pháp này có u đi m là chi phí th p, kh năng m r ng t t vì cài máy ph d ng nên gi ổ ụ ả ở ộ ư ể ấ ả ố

đ t trên m t máy đ c l p, d qu n tr . Tuy nhiên, cũng vì ch ho t đ ng ặ ạ ộ ộ ậ ễ ả ộ ị ỉ ở ứ ứ m c ng

i u, d d ng nên hi u năng không cao, vì s d ng máy ph d ng nên không đ ụ ử ụ ổ ụ ệ c t ượ ố ư ễ

i nhi u l i h th ng, vì cài đ t trên m t máy đ c l p nên vi c theo dõi tr ng thái t n t ồ ạ ề ỗ ệ ố ộ ậ ệ ặ ạ ộ

c đi m l n nh t c a các gi i pháp này th ng có c a các máy ch g p khó khăn. Nh ủ ặ ủ ượ ấ ủ ể ớ ả ườ

i. Đây là đi u không th ch p nh n đ tính n đ nh kém, hi u năng th p, d m c l ệ ễ ắ ỗ ấ ổ ị ể ấ ề ậ ượ c

đ i v i các h th ng đòi h i tính s n sàng cao nh ngân hàng, tài chính. ẵ ố ớ ệ ố ư ỏ

1.2.8. Cân b ng t ằ Nhóm này th ng s d ng các mođun c m thêm trên các thi i v i thi ả ớ ườ t b k t n i ế ị ế ố ử ụ ắ ế ị ụ t b chuyên d ng

nh B đ nh tuy n (Router) hay hay b chuy n m ch (Switch) đ chia t i theo lu ng, ư ộ ị ế ể ể ạ ộ ả ồ

th layer 4 tr xu ng. Vì s d ng thi ườ ng ho t đ ng t ạ ộ ừ ử ụ ở ố ế ị ệ t b chuyên d ng nên có hi u ụ

năng cao, tính n đ nh cao, kh năng m r ng t t h n nh ng khó phát tri n đ c tính ở ộ ả ổ ị ố ơ ư ể ượ

năng b o m t ph c t p nh gi i pháp proxy, th ng thu t toán chia t ứ ạ ư ả ả ậ ườ ậ ả ấ ơ ả i r t đ n gi n

nh DNS round-robin (đây là thu t toán chia t i ph bi n nh t và đ n gi n, tuy nhiên ư ậ ả ổ ế ấ ả ơ

ề c ng nh c và hi u qu th p. V i thu t toán này các yêu c u v IP c a m t tên mi n ứ ả ấ ủ ệ ề ậ ầ ắ ớ ộ

ng v i nhi u server s đ c biên d ch thành đ a ch IP c a các server đó theo th t ứ ẽ ượ ề ớ ứ ự ủ ị ị ỉ

quay vòng. Nhóm này có kh năng chia t i đ ng kém, không theo dõi đ c tr ng thái ả ả ộ ượ ạ

i ng d ng và giá thành c a máy ch , x lý k t n i ủ ử ủ ế ố ở ứ ứ m c ng d ng r t kém, d gây l ấ ụ ễ ỗ ứ ụ

cao. Cách th c này cũng hoàn toàn không phù h p đ i v i các h th ng yêu c u tính ố ớ ệ ố ứ ầ ợ

chu n xác c a các ho t đ ng giao d ch nh tài chính, ngân hàng. ạ ộ ủ ư ẩ ị

i pháp có kh năng theo dõi tr ng thái ng d ng t Nh v y, gi ư ậ ả ứ ụ ạ ả ố t thì m r ng, tăng ở ộ

i pháp m r ng, tăng t c, b o m t t t, thì t c, b o m t kém(GP dùng ph n m m). Gi ố ề ả ậ ầ ả ở ộ ậ ố ả ố

15

theo dõi tr ng thái ng d ng kém, không n đ nh, hi u năng th p(GP s d ng proxy), ổ ử ụ ứ ụ ệ ấ ạ ị

gi i pháp hi u năng cao, n đ nh, m r ng t t thì kém thông minh, d gây l i ng d ng, ả ở ộ ệ ổ ị ố ễ ỗ ứ ụ

tăng t c kém(GP chia t t b chia k t n i). Trong khi đó, t t c các yêu c u v ố ả i nh thi ờ ế ị ế ố ấ ả ầ ề

t, tăng t c t hi u năng cao, n đ nh, m r ng t ổ ở ộ ệ ị ố ố ố ố ớ t và b o m t là r t quan tr ng đ i v i ậ ấ ả ọ

ủ các ho t đ ng c a ngân hàng, ch ng khoán và các nhà cung c p d ch v . GP s n có c a ạ ộ ứ ủ ụ ấ ẵ ị

c m t ph n trong các yêu c u trên nh Module CSS c a Cisco, các hãng ch đáp ng đ ỉ ứ ượ ủ ư ầ ầ ộ

ISA c a Microsoft, hay Netscaler c a Citrix). ủ ủ

1.2.9. X lý các yêu c u k t n i t p trung

ầ ế ố ậ

Thay vì y quy n cho DNS vi c phân ph i nh ng yêu c u đ n các server riêng l ủ ữ ế ề ệ ầ ố ẻ

trong m t cluster, phu ng pháp x lý các yêu c u k t n i t p trung (Centrallized ố ậ ử ế ầ ơ ộ

Connection Routing - CCR) s d ng m t router c c b đ th c hi n ch c năng này. ụ ộ ể ự ử ụ ứ ệ ộ

Hình 1.7. X lý các yêu c u k t n i t p trung ử Router ho t đ ng nh m t b ng chuy n m ch, phân ph i các yêu c u d ch v đ n các ạ

ầ ế ố ậ

ư ộ ả ạ ộ ụ ế ể ầ ố ị

node riêng l trong cluster. ẻ

u đi m c a kĩ thu t CCR: Ư ể ủ ậ

• Vi c đ nh hu ng l ị

i cho các k t n i Client đ n các server thích h p trong h ệ ớ ạ ế ố ế ợ ệ

th ng là hoàn toàn trong su t v i ng i dùng. ố ớ ố ườ

• Tính linh ho t cao: khi phát hi n m t node b ch t, local router s chuy n t ộ

t c ị ế ể ấ ả ệ ẽ ạ

các yêu c u k ti p đ n node khác đang ho t đ ng. ầ ế ế ạ ộ ế

• Khi k t n i t

Nhu c đi m c a kĩ thu t CCR: ủ ể ậ ợ

tăng cao toàn b h th ng s g p tình tr ng nút ế ố ừ client đ n rout ế ẻ ộ ệ ố ẽ ặ ạ

• Thi

i thi t b này. c chai ngay t ổ ạ ế ị

• Khi thi

t b router là thi t b ph n c ng nên giá thành cao. ế ị ế ị ầ ứ

ế ị ị t b trung tâm hong toàn b h th ng s ng ng ho t đ ng do đó tính ch u ộ ệ ố ẽ ư ạ ộ

l ỗ i th p. ấ

Tóm l i, k thu t x lý các yêu c u k t n i t p trung rõ ràng đã gi i quy t đ ạ ế ố ậ ậ ử ầ ỹ ả ế ượ ấ c v n

16

i th p và chi phí cao. đ cân b ng t ề ằ ả i trên m ng. Tuy nhiên k thu t này có tính ch u l ỹ ị ỗ ậ ạ ấ

CH

NG II. GI

ƯƠ

I PHÁP CÂN B NG T I TRÊN FILE SERVER Ả

2.1. GI

2.1.1. Gi

Ớ I THI U CÂN B NG T I TRÊN FILE SERVER Ả Ằ Ệ

i thi u Windows Server 2008 ớ ệ

Window Server 2008 là h đi u hành cho máy ch đ c s n xu t b i Microsoft, ệ ề ủ ượ ả ấ ở

đ c gi i thi u ngày 04 tháng 02 năm 2008 có nhi u tính năng h n so v i h ượ ớ i thi u gi ệ ớ ớ ệ ệ ề ơ

đi u hành Windowns 2000 và Windows Server 2003 tr c đó. Windowns Server 2008 ề ướ

thi ế ế ớ t k nh m tăng s c m nh cho các m ng, ng d ng và d ch v Web th h m i. V i ứ ế ệ ớ ụ ứ ụ ạ ằ ạ ị

Windows Server 2008, b n có th phát tri n, cung c p và qu n lý các tr i nghi m ng ể ệ ể ấ ả ả ạ ườ i

dùng và ng d ng phong phú, đem t i m t h t ng m ng có tính b o m t cao, và tăng ứ ụ ớ ộ ạ ầ ả ậ ạ

ng hi u qu v m t công ngh và giá tr trong ph m vi t ch c c a mình. Windows c ườ ả ề ặ ệ ệ ạ ị ổ ứ ủ

Server 2008 k th a nh ng thành công và th m nh c a các h đi u hành Windows ế ừ ệ ề ế ạ ủ ữ

Server th h tr c, đ ng th i đem t ế ệ ướ ồ ờ ớ ạ i tính năng m i có giá tr và nh ng c i ti n m nh ị ả ế ữ ớ

ậ m cho h đi u hành c s này. Công c Web m i, công ngh o hóa, tính b o m t ệ ề ơ ở ệ ả ụ ẽ ả ớ

tăng c ng và các ti n ích qu n lý giúp ti t ki m th i gian, gi m b t các chi phí, và đem ườ ệ ả ế ệ ả ờ ớ

t ớ i m t n n t ng v ng ch c cho h t ng Công ngh Thông tin c a b n. ạ ầ ộ ề ả ủ ạ H đi u hành ệ ề ữ ệ ắ

Windows Server 2008 hi n có 7 phiên b n bao g m: Windows Server 2008 Standard ệ ả ồ

ệ (B n tiêu chu n), Windows Server 2008 Enterprise (B n dungfcho doanh nghi p), ả ả ẩ

Windows Server 2008 Datacenter (B n dùng cho trung tâm d li u), Windows Web ữ ệ ả

Server 2008 (B n dùng cho Web), Windows Server 2008 dành cho các h th ng d a trên ệ ố ự ả

ẩ n n t ng Itanium, Windows Server 2008 Standard without Hyper-V (B n tiêu chu n, ề ả ả

không có Hyper-V), cu i cùng là b n Windows Server 2008 Datacenter without Hyper-V ả ố

17

(B n dùng cho Trug tâm d li u, không có Hyper-V). H đi u hành ti p theo đã phát ệ ề ữ ệ ế ả

hành trên th tr ng là Windows Server 8) (WS8) là ị ườ Windows Server 2012 (hay còn g i làọ

tên mã cho h đi u hành Windows t ng lai đ c phát tri n b i ệ ề ươ ượ ở Microsoft. Nó là m tộ ể

phiên b nả Windows 8 và n i ti p phiên b n ố ế ả Windows Server 2008 R2. Windows Server 8

ế là phiên b nả Windows Server đ u tiên không h tr cho các máy tính d a n n t ng ki n ự ề ả ỗ ợ ầ

trúc Itanium t lúc ra đ i ừ ờ Windows NT 4.0. M t phiên b n phát tri n th nghi m (phiên ả ử ể ệ ộ

c công b vào ngày 9 tháng 9 năm 2011 t i các l p trình viên phát b n Beta) đ ả ượ ố ớ ậ

tri nể MSDN. Vào ngày 1 tháng 3 năm 2012, Microsoft phát hành phiên b n Beta công ả

c ngộ beta (build 8250).

2.1.2. T i sao ph i xây d ng h th ng cân b ng t ự

ệ ố ả ạ ằ i ả

Trong th i đ i bùng n c a công ngh thông tin hi n nay, m ng máy tính đóng ờ ạ ổ ủ ệ ệ ạ

vai trò ngày càng quan tr ng h n trong ho t đ ng c a các doanh nghi p, t ch c cũng ạ ộ ủ ệ ơ ọ ổ ứ

nh các c quan nhà n ơ ư ướ c. Th m chí ậ ở ộ ố ơ m t s đ n v , ch ng h n nh các công ty hàng ạ ư ẳ ị

ạ không ho c ngân hàng l n, m ng máy tính có th ví nh h th n kinh đi u khi n ho t ư ệ ầ ể ề ể ặ ạ ớ

ự ạ ộ đ ng c a toàn doanh nghi p. S ng ng ho t đ ng c a m ng máy tính hay s ho t đ ng ạ ộ ộ ự ừ ủ ủ ệ ạ

kém hi u qu c a m ng máy tính trong nh ng c quan này có th làm tê li ả ủ ữ ệ ể ạ ơ ệ ạ t các ho t

t h i khó có th l ng tr c. đ ng chính c a đ n v , và thi ủ ơ ộ ị ệ ạ ể ườ c đ ướ ượ

Chúng ta đ u bi t các máy ch là trái tim c a c a m ng máy tính, n u máy ch ề ế ủ ủ ủ ế ạ ủ

ả m ng h ng, ho t đ ng c a h th ng s b ng ng tr . Đi u đáng ti c là dù các hãng s n ẽ ị ư ủ ệ ố ạ ộ ệ ề ế ạ ỏ

xu t đã c g ng làm m i cách đ nâng cao ch t l ọ ố ắ ấ ượ ể ấ ng c a thi ủ ế ị ỏ t b , nh ng nh ng h ng ư ữ

hóc đ i v i các thi ố ớ ế ị ạ t b m ng nói chung và các máy ch nói riêng là đi u không th tránh ủ ề ể

kh i. Do v y, v n đ đ t ra là c n có m t gi ề ặ ầ ậ ấ ỏ ộ ả ẫ i pháp đ đ m b o cho h th ng v n ệ ố ể ả ả

ho t đ ng t ạ ộ ố ộ t ngay c khi có s c x y ra đ i v i máy ch m ng. Vi c l a ch n m t ự ố ả ủ ạ ố ớ ệ ự ả ọ

server đ n l có c u hình c c m nh đ đáp ng nhu c u này s kéo theo chi phí đ u t ơ ẻ ầ ư ự ứ ể ẽ ầ ấ ạ

i quy t đ ch c. Gi r t l n và không gi ấ ớ ả ế ượ c các v n đ đ t ra c a các t ề ặ ủ ấ ổ ứ ả ệ i pháp hi u

qu đ c đ a ra là s d ng m t nhóm server cùng th c hi n m t ch c n ng d ả ượ ư ứ ǎ ử ụ ự ệ ộ ộ ướ ự i s

đi u khi n c a m t công c phân ph i t i - Gi i pháp cân b ng t i. Có r t nhi u hãng ể ủ ố ả ụ ề ộ ả ằ ả ề ấ

i pháp cân b ng t đ a ra gi ư ả ằ ả ớ ấ i nh Cisco, Coyote Point, Sun Microsystems... v i r t ư

nhi u tính n ng phong phú. Tuy nhiên, v c b n, nguyên t c cân b ng t ề ơ ả ề ắ ằ ǎ ả ẫ ấ i v n xu t

18

phát t ng đ ng. M t k thu t cân b ng t ừ nh ng quan đi m k thu t khá t ể ữ ậ ỹ ươ ộ ỹ ậ ằ ồ ả ể i đi n

hình là RRDNS (Round Robin DNS). V i gi i pháp này, n u m t server trong nhóm b ớ ả ế ộ ị

i, RRDNS s v n ti p t c g i t i cho server đó cho đ n khi ng l ỗ ế ụ ử ả ẽ ẫ ế ườ i qu n tr m ng phát ị ạ ả

hi n ra l ệ ỗ ự ứ i và tách server này ra kh i danh sách đ a ch DNS. Đi u này s gây ra s đ t ị ẽ ề ỏ ỉ

quãng d ch v . Sau nh ng phát tri n, t các thu t toán cân b ng t ụ ữ ể ị ừ ậ ằ ả i tĩnh nh Round ư

Robin, Weighted Round Robin đ n các thu t toán cân b ng t i đ ng nh Least ế ậ ằ ả ư ộ

Connection, Weighted Least Connection, Optimized Weighted Round Robin và Optimized

Weighted Least Connection, k thu t cân b ng t ằ ậ ỹ ả ậ i hi n nay nh s k t h p các thu t ờ ự ế ợ ệ

toán trên ngày càng tr nên hoàn thi n m c dù nh c đi m v n có nh t o đi m l ệ ặ ở ượ ư ạ ể ể ố ỗ i

đ n và v n đ nút c chai do s d ng b đi u ph i t p trung (centralized dispatcher) ộ ề ơ ố ậ ử ụ ề ấ ổ

ớ v n còn. Ngoài kh n ng áp d ng v i Web server, k thu t này còn có th áp d ng v i ẫ ả ǎ ụ ụ ể ậ ớ ỹ

các h server ng d ng khác. SLB không ch làm nhi m v phân ph i t i cho các server ố ả ứ ụ ụ ệ ệ ỉ

c các client. mà còn còn cung c p c ch đ m b o h th ng server luôn kh d ng tr ả ơ ế ả ệ ố ả ụ ấ ướ

SLB không có yêu c u đ c bi t gì v ph n c ng, b t c máy tính nào h p chu n đ u có ầ ặ ệ ầ ứ ấ ứ ề ề ẩ ợ

th đ ể ượ ử ụ ầ c s d ng làm server. Chi phí tri n khai nh đó gi m đáng k . Ki n trúc ph n ể ể ế ả ờ

m m phân tán c a SLB cho phép cung c p hi u n ng và tính kh d ng c a k thu t này ệ ǎ ủ ỹ ả ụ ủ ề ấ ậ

m c cao nh t. ở ứ ấ

K ch b n A K ch b n B ả ị ả ị

Tính s n sàng cao Có Không ẵ

Tính m r ng Có Không ở ộ

2.1.3. So sánh h th ng cân b ng t

X lý đa nhi m X lý nhanh đ n nhi m Ứ ng d ng ụ ử ệ ử ệ ơ

19

ng ệ ố ằ ả i server và h th ng thông th ệ ố ườ

Hình 2.1. So sánh h th ng cân b ng t ng ệ ố ằ ả i server và h th ng thông th ệ ố ườ

u đi m c a cân b ng t Ư ể ủ ằ ả i:

- Tính m r ng: thêm ho c b b t server m t cách d dàng. ặ ỏ ớ ở ộ ễ ộ

- Tính s n sàng cao do h th ng dùng nhi u Server Vì v y h th ng có tính d ệ ố ệ ố ề ậ ẵ ự

phòng.

- Tính qu n lý: Theo dõi và qu n lý t p trung h th ng Server, b o d ệ ố ả ưỡ ậ ả ả ệ ố ng h th ng

server mà không c n t ầ ắ t các d ch v . ụ ị

- Có th tách các ng d ng kh i server. ứ ụ ể ỏ

- Làm vi c đ ệ ượ ớ c v i nhi u h đi u hành. ề ệ ề

- Hi u su t cao. ệ ấ

- Server đ c nhóm l i th c hi n đa nhi m v t t h n. ượ ạ ụ ố ơ ự ệ ệ

- T t c Server đ u ho t đ ng đúng công su t không có tình tr ng m t Server làm ạ ộ ấ ả ề ạ ấ ộ

vi c quá t i trong khi server khác l i đang “nhàn r i”. ệ ả ạ ỗ

ch c nào c n có gi i pháp cân b ng t i ? Nh ng t ữ ổ ứ ầ ả ằ ả

- Các doanh nghi p ệ

- Nhà cung c p d ch v ISP ấ ụ ị

- Trung tâm x lý d li u ữ ệ ử

- Chính phủ

- Phòng thí nghi m ệ

- Tr ườ ng đ i h c, vi n nghiên c u… ệ ạ ọ ứ

2.2. Các thành ph n c a cân b ng t i File Server ầ ủ ả ằ

2.2.1. Ch c năng c a các thành ph n cân b ng t i File Server ứ ủ ằ ầ ả

20

i pháp cân b ng t i ph i (Server Load Balancer) có nh ng ch c năng sau: M t gi ộ ả ằ ả ữ ứ ả

• Can thi p vào lu ng d li u m ng t ồ

• Chia lu ng d li u đó thành các yêu c u đ n l

ữ ệ ệ ạ ớ i m t đi m đích. ể ộ

và quy t đ nh máy ch nào ữ ệ ơ ẻ ầ ồ ế ị ủ

• Duy trì vi c theo dõi các máy ch đang ho t đ ng, đ m b o r ng các máy

s x lý nh ng yêu c u đó. ẽ ử ữ ầ

ả ằ ạ ộ ủ ệ ả

ạ ch này v n đang đáp ng các yêu c u đ n. N u máy ch nào không ho t ầ ứ ủ ủ ế ế ẫ

đ ng đúng ch c năng, máy ch đó b t bu c ph i đ a ra kh i danh sách xoay ộ ả ư ứ ủ ắ ỏ ộ

• Cung c p s đa d ng b ng vi c t n d ng nhi u h n m t đ n v trong các

vòng.

ấ ự ộ ơ ệ ậ ụ ề ằ ạ ơ ị

tình hu ng fail-over (fail-over là kh năng t ả ố ự ộ đ ng chuy n qua các thi ể ế ị ự t b d

phòng khi g p tình hu ng h ng hóc ho c tr c tr c. Vi c th c thi này đ ự ụ ệ ặ ặ ặ ỏ ố ượ c

th c hi n mà không có s can thi p c a con ng i cũng nh không có b t s ệ ủ ự ự ệ ườ ấ ự ư

• Cung c p s phân ph i d trên s hi u bi

c nh báo nào). ả

t v n i dung ví d nh đ c URL, ấ ự ố ự ự ể ế ề ộ ụ ư ọ

• Server Load Balancers: Load Balancer là m t thi

can thi p vào cookies ho c truy n XML. ệ ề ặ

t b phân ph i t i gi a các máy ộ ế ị ố ả ữ

ấ tính v i nhau và các máy tính này s xu t hi n ch nh m t máy tính duy nh t. ấ ư ộ ệ ẽ ớ ỉ

Ph n d i đây s th o lu n chi ti t h n v các thành ph n c a các thi t b SLB. ầ ướ ẽ ả ậ ế ơ ề ầ ủ ế ị

• VIPs: Virtual IP (VIP): là m t d ng th hi n c a c a cân b ng t ộ ạ

i. M i VIP s ể ệ ủ ủ ằ ả ỗ ử

d ng m t đ a ch công khai IP. Bên c nh đó, m t c ng TCP hay UDP s đi kèm ụ ộ ổ ộ ị ẽ ạ ỉ

c dành cho lu ng d li u c a web. M t VIP v i m t VIP nh c ng TCP 80 đ ớ ư ổ ộ ượ ữ ệ ủ ộ ồ

c gán đ a ch IP đó và máy ch này s làm s có ít nh t m t máy ch th c s đ ẽ ủ ự ự ượ ấ ộ ủ ẽ ị ỉ

c chuy n đ n. Th ng th ng thì s có nhi m v phân ph i lu ng d li u đ ố ữ ệ ụ ệ ồ ượ ể ế ườ ườ ẽ

vài máy ch và VIP s dàn đ u lu ng d li u đ n cho các máy ch b ng cách s ữ ệ ủ ằ ủ ẽ ế ề ồ ử

ng th c đ c mô t trong ph n “Active - Active d ng các metric ho c các ph ụ ặ ươ ứ ượ ả ầ

• Các máy ch (Servers): Máy ch ch y m t d ch v đ

Scenario” sau đây.

c chia s t i gi a các d ch ủ ạ ộ ị ụ ượ ủ ẻ ả ữ ị

21

ng đ c ám ch t i các máy ch HTTP, m c dù các máy v khác. Máy ch th ụ ủ ườ ượ ỉ ớ ủ ặ

ng có ch khác ho c ngay c nh ng d ch v khác có liên quan. M t máy ch th ụ ả ữ ủ ườ ủ ặ ộ ị

m t đ a ch IP và m t c ng TCP/UDP g n li n v i nó và không có đ a ch IP công ắ ộ ổ ộ ị ề ớ ỉ ị ỉ

• Nhóm (Groups): Dùng đ ch m t nhóm các máy ch đ

khai (đi u này còn ph thu c vào topo c a m ng). ụ ủ ề ạ ộ

c cân b ng t i. Các ỉ ộ ủ ượ ể ằ ả

• C p đ ng

thu t ng nh “farm” ho c “server farm” có cùng m t ý nghĩa v i thu t ng này. ữ ư ữ ậ ặ ậ ộ ớ

ấ ộ ườ ề i dùng truy nh p (User - Access Levels): Là m t nhóm các quy n ậ ộ

đ c gán cho m t ng i dùng nào đó khi đăng nh p vào m t thi ượ ộ ườ ậ ộ ế ị ằ t b cân b ng

i. Không ch nh ng nhà cung c p thi t b khác nhau cung c p nh ng c p đ t ả ữ ấ ỉ ế ị ữ ấ ấ ộ

truy nh p khác nhau, mà h u h t các d ch v cũng s có nh ng cách th c truy ị ữ ụ ứ ẽ ế ầ ậ

nh p r t khác nhau. Cách tri n khai ph bi n nh t là c a Cisco, cung c p truy ậ ấ ổ ế ủ ể ấ ấ

nh p d a trên tài kho n ng ự ậ ả ườ ộ i dùng (cho phép c tài kho n superuser). M t ả ả

ph ng th c ph bi n khác là cách th c truy c p c p đ ng i dùng đ c dùng ươ ậ ấ ổ ế ộ ườ ứ ứ ượ

trong các h th ng Unix. ệ ố

- Read-only: C p đ truy c p ch đ c (Read-only) không cho phép b t kỳ m t thay ỉ ọ ấ ậ ấ ộ ộ

i dùng có quy n ch đ c ch có th xem các thi đ i nào đ ổ ượ c th c hi n. M t ng ệ ự ộ ườ ỉ ọ ề ể ỉ ế ặ t đ t,

các c u hình, và nhi u th khác n a nh ng không th th c hi n đ c b t kỳ m t thay ể ự ữ ư ứ ệ ề ấ ượ ấ ộ

đ i nào c . M t tài kho n nh th đ ổ ư ế ượ ử ụ ạ c s d ng đ xem các th ng kê hi u su t ho t ệ ể ấ ả ả ộ ố

ng là c p đ truy c p đ u tiên c a m t ng đ ng c a thi ộ ủ ế ị t b .Truy nh p ch đ c th ậ ỉ ọ ườ ủ ầ ấ ậ ộ ộ ườ i

dùng khi đăng nh p vào h th ng tr ậ ệ ố ướ ậ c khi thay đ i sang các ch đ v i quy n truy c p ế ộ ớ ề ổ

cao h n. ơ

- Superuser: Superuser là c p đ truy c p cho phép ng ấ ậ ộ ườ ề i dùng có đ y đ quy n ầ ủ

đi u khi n h th ng. Superuser có th thêm các tài kho n khác, xóa file, c u hình l ệ ố ể ể ề ả ấ ạ ệ i h

th ng v i b t kỳ tham s nào. ớ ấ ố ố

i dùng - Các c p đ khác: R t nhi u s n ph m cung c p thêm m t vài c p đ ng ẩ ề ả ộ ườ ấ ấ ấ ấ ộ ộ

• Gi

trung gian gi a hai c p đ trên, có nh ng quy n gi i h n trên h th ng. ở ữ ữ ề ấ ộ ớ ạ ệ ố

22

i pháp d phòng (Redundancy) ả ự

Gi t b đó s ả i pháp d phòng r t đ n gi n: n u m t thi ấ ơ ự ế ả ộ ế ị ặ t b g p tr c tr c, thi ụ ặ ế ị ẽ

đ t b khác mà không ho c gây ít nh h ượ c thay th b i m t thi ế ở ộ ế ị ặ ả ưở ạ ng nh t đ n ho t ấ ế

đ ng c a toàn b h th ng. Thi ộ ộ ệ ố ủ t b đ ế ị ượ c thay th s th c hi n nh ng ch c năng ệ ế ẽ ự ứ ữ

gi ng nh thi t b b thay th . H u h t các thi t b trên th tr ư ố ế ị ế ầ ế ị ế ị ị ườ ng đ u có kh năng này. ả ề

Có m t vài cách đ th c hi n kh năng này. Cách thông th ng nh t là s d ng hai ể ự ệ ả ộ ườ ử ụ ấ

thi t b . M t giao th c s đ c s d ng b i m t trong hai thi t b đ ki m tra tình ế ị ứ ẽ ượ ử ụ ộ ộ ở ế ị ể ể

t b còn l i. Trong m t vài tình hu ng, c hai thi tr ng ho t đ ng c a thi ạ ộ ủ ạ ế ị ạ ả ố ộ ế ị ề ạ t b đ u ho t

ộ đ ng, đáp ng các lu ng d li u đ n. Trong m t vài tình hu ng khác, s ch có m t ộ ữ ệ ứ ế ẽ ồ ố ộ ỉ

thi t b ho t đ ng chính, thi t b còn l c s d ng trong tình hu ng h ng hóc i s đ ế ị ạ ộ ế ị ạ ẽ ượ ử ụ ố ỏ

• Vai trò c a vi c d phòng

ho c tr c tr c. ụ ặ ặ

ệ ự ủ

Trong gi i pháp d phòng, t n t i m t quan h là active - standby. M t thi t b , hay ả ồ ạ ự ệ ộ ộ ế ị

t b đang ho t đ ng th c hi n m t vài ho c đ y đ các ch c năng chính, còn g i là thi ọ ế ị ặ ầ ủ ạ ộ ứ ự ệ ộ

trong khi đó thi t b d phòng s đ i đ th c hi n nh ng ch c năng này. M i quan h ế ị ự ẽ ợ ể ự ữ ứ ệ ố ệ

này cũng có th đ c g i là m i quan h master/slave. ể ượ ọ ệ ố

Trong nh ng tình hu ng nh t đ nh, c hai thi t b s là ch (master) trong m t vài ấ ị ữ ả ố ế ị ẽ ủ ộ

ch c năng và làm ph c v (slave) trong m t vài ch c năng khác nh m phân tán t i. Cũng ụ ụ ứ ứ ằ ộ ả

trong m t vài tình hu ng khác, c hai thi ả ố ộ ế ị ề t b đ u là ch (master) c a t ủ ủ ấ ả ứ t c các ch c

• K ch b n Active - Standby (ho t đ ng - ch ) ờ

năng đ ượ c chia s gi a hai thi ẻ ữ ế ị t b . Quan h này còn đ ệ ượ ọ c g i là quan h active - active. ệ

ạ ộ ả ị

K ch b n d phòng ho t đ ng - ch là cách d nh t đ th c hi n. M t thi ấ ể ự ả ự ạ ộ ễ ệ ờ ộ ị ế ị ẽ ậ t b s nh n

toàn b lu ng d li u đ n, trong khi đó thi t b còn l ộ ồ ữ ệ ế ế ị ạ ẽ ờ ụ i s ch trong các tình hu ng tr c ố

23

tr cặ

Hình 2. Hình 2.2: K ch b n Active – Standby ị ả

N u thi t b đang ho t đ ng g p tr c tr c, m t thi ế ế ị ạ ộ ụ ặ ặ ộ ế ị t b kia s xác đ nh tr c tr c và ị ụ ẽ ặ

nh n x lý toàn b lu ng d li u đ n. ộ ồ ậ ử ữ ệ ế

• K ch b n Active - Active

Hình 2.3: Ho t đ ng c a k ch b n Active – Standby ủ ị ạ ộ ả

ả ị

t c các tr ng h p, c hai thi Có m t vài bi n th c a k ch b n này. Trong t ể ủ ị ế ả ộ ấ ả ườ ả ợ ế ị ề t b đ u

ch p nh n x lý lu ng d li u đ n. Trong tình hu ng m t trong hai thi ữ ệ ử ế ấ ậ ồ ộ ố ế ị ặ ụ t b g p tr c

tr c thì thi t b còn l i s nh n th c thi luôn c nh ng ch c năng c a thi ặ ế ị ạ ẽ ả ữ ự ủ ứ ậ ế ị ặ ụ t b g p tr c

tr c.ặ

Trong m t bi n th khác, VIPs đ c phân ph i gi a hai thi t b cân b ng t i (Load ế ể ộ ượ ữ ố ế ị ằ ả

Balancer - LB) đ chia s lu ng d li u đ n. VIP 1 đ n LB A, VIP 2 đ n LB B. ẻ ồ ữ ệ ế ế ế ể

Hình 2.4: K ch b n Active-Active ả ị

Trong m t bi n th khác, c hai VIPs s đ u tr l ẽ ề ả ờ ể ế ả ộ ứ i trên c hai LB v i m t giao th c ả ộ ớ

phá v s h n ch r ng c hai LB s không có cùng m t đ a ch IP. ỡ ự ạ ộ ị ế ằ ẽ ả ỉ

24

Hình 2.5: Ho t đ ng c a k ch b n Active-Active ủ ị ạ ộ ả

Trong t t c các k ch b n active - active, n u m t LB g p tr c tr c, các VIP còn l ấ ả ụ ế ặ ặ ả ộ ị ạ ẽ i s

ti p t c tr l i trên LB còn l t b còn l i s th c thi h t t ế ụ ả ờ ạ i. Nh ng thi ữ ế ị ạ ẽ ự ế ấ ả ứ t c các ch c

năng. Hình 2-6.

• VRRP

Hình 2.6: Ho t đ ng c a k ch b n Active-Active ủ ị ạ ộ ả

Giao th c d phòng ph bi n nh t là giao th c VRRP (Virtual Router Redundancy ổ ế ứ ự ứ ấ

Protocol). Đây là m t chu n m và các thi c cho là h tr VRRP s đ u phù ẩ ở ộ t b đ ế ị ượ ỗ ợ ẽ ề

c mô t trong RFC 2338. h p đ i v i các đ c đi m đ ợ ố ớ ể ặ ượ ả

M i m t thi t b trong m t c p g i đi các packet và nh n ph n h i t các thi t b còn ỗ ộ ế ị ộ ặ ồ ừ ử ậ ả ế ị

i. N u không nh n đ c ph n h i t các thi t b khác thì thi l ạ ế ậ ượ ồ ừ ả ế ị ế ị t b này s đánh giá là ẽ

thi t b kia b vô hi u hóa và b t đ u th c hi n ti p qu n t t c các ch c năng. ế ị ắ ầ ả ấ ả ự ứ ệ ế ệ ị

Chúng ta không c n n m rõ t t c các chi ti t bên trong c a giao th c VRRP, tuy nhiên ắ ầ ấ ả ế ủ ứ

m t vài đ c đi m c a giao th c này cũng c n đ c n m rõ. VRRP s d ng c ng UDP ứ ủ ể ầ ặ ộ ượ ắ ử ụ ổ

1985 đ g i đi các packet t i đ a ch multicast là 225.0.0.2. Nh ng chi ti ể ử ớ ị ữ ỉ ế ẽ ấ ữ t này s r t h u

ích trong khi làm vi c v i các b l c IP ho c các thi ệ ớ ộ ọ ặ ế ị t b có ch c năng t ứ ườ ng l a. ử

VRRP đòi h i c hai thi ỏ ả ế ị ề t b đ u có th giao ti p đ ể ế ượ ớ ộ c v i nhau. N u nh cô l p m t ư ế ậ

trong hai thi t b đó v i thi t b còn l i thì m i thi t b đó s xác đ nh thi t b đã ch t và ế ị ớ ế ị ạ ỗ ế ị ẽ ị ế ị ế

ti p qu n tr ng thái master. Tr ng h p này có gây ra nh ng l i nghiêm tr ng trong ế ả ạ ườ ữ ợ ỗ ọ

m ng b i vì xung đ t đ a ch IP ho c các v n đ khác s x y ra khi c hai thi ẽ ả ộ ị ề ấ ả ặ ạ ở ỉ ế ị ề t b đ u

• Tính liên t c (Persistence) ụ

nghĩ r ng chúng đang là thi t b đang ho t đ ng trong k ch b n active - standby. ằ ế ị ạ ộ ả ị

S liên t c là hành đ ng gi cho lu ng d li u đ n cu m t ng i dùng xác đ nh s ch ự ụ ộ ữ ả ộ ữ ệ ế ồ ườ ẽ ỉ ị

đ n m t máy ch duy nh t. Trong khi thi ế ủ ấ ộ ế ị ọ t b SLB có th có m t vài máy đ l a ch n ộ ể ự ể

lu ng d li u đ n c a m t ng thì nó s luôn gi ẽ ữ ồ ế ủ ữ ệ ộ ườ ấ i dùng đ n m t máy ch duy nh t. ủ ế ộ

Đi u này đ c bi ề ặ ệ t quan tr ng đ i v i các ng d ng ki u web-store - cho phép ng ụ ố ớ ứ ể ọ ườ i

25

dùng đi n các thông tin mua bán và nh ng thông tin này ch đ c l u l ỉ ượ ư ạ ữ ề i trên m t máy ộ

tính duy nh t. Có m t s cách đ th c hi n k t n i liên t c tuy nhiên m i cách đ u có ể ự ế ố ộ ố ụ ệ ề ấ ỗ

• Ki m tra d ch v (Service Checking) ụ

nh ng u và nh c đi m nh t đ nh. ữ ư ượ ấ ị ể

ể ị

M t nhi m v c a thi t b SLB là nh n bi ụ ủ ệ ộ ế ị ậ ế ạ t khi nào server ho c d ch v b treo và lo i ặ ị ụ ị

b server đó ra kh i danh sách quay vòng. Tính năng này còn đ ỏ ỏ ượ c g i là ki m tra tình ể ọ

tr ng (Health Checking). Có m t s cách đ th c hi n vi c ki m tra này t ể ự ộ ố ệ ệ ể ạ ừ ơ cách đ n

gi n nh t nh ping ki m tra, ki m tra c ng (ki m tra xem c ng 80 có tr l i hay không) ả ờ ư ể ể ể ả ấ ổ ổ

ng h p web server đ ho c ki m tra n i dung trong tr ộ ể ặ ườ ợ ượ ồ c truy v n cho các ph n h i ấ ả

t nào đó. M t thi đ c bi ặ ệ ộ ế ị t b SLB s ch y ki m tra các d ch v m t cách liên ti p, quan ị ẽ ạ ụ ộ ể ế

• Thu t toán cân b ng t

nh ng kho ng th i gian đ c ng i dùng đ nh nghĩa s n. ữ ả ờ ượ ườ ẵ ị

i (Load Balancing Algorithm) ậ ằ ả

Tùy theo nh ng yêu c u nh t đ nh c a ng i dùng mà có m t s cách th c phân tán t ấ ị ữ ủ ầ ườ ộ ố ứ ả i

ậ gi a các nhóm server s d ng m t metric cho s n. Các cách th c đó d a trên các thu t ử ụ ữ ứ ự ẵ ộ

toán đ t b . Các cách th c này ch y ượ ậ c l p trình s n trong thi ẵ ế ị ạ ở ớ ế l p trên cùng và k t ứ

c v i b t kỳ m t cách th c duy trì tính liên t c nào. Chúng đ h p đ ợ ượ ớ ấ ứ ụ ộ ượ ữ c gán cho nh ng

• C s h t ng cung c p ấ

VIP riêng l .ẻ

ơ ở ạ ầ

H t ng c s m ng là s k t h p c a các m ng thành ph n cung c p k t n i t ự ế ợ ơ ở ạ ế ố ớ i ạ ầ ủ ạ ầ ấ

Internet, Extranet ho c Intranet cho máy ch web. Nó k t n i gi a các máy ch web và ủ ế ố ữ ủ ặ

ng i s d ng d ch v . Có hai cách đ th c hi n đi u này: t i m t đ a đi m đ ườ ử ụ ể ự ụ ệ ề ị ạ ộ ị ể ượ c

ki m soát b i m t site ho c m t đ a đi m đ c duy trì b i m t colocation / nhà cung ộ ị ể ể ặ ở ộ ượ ở ộ

c p d ch v hosting cho các công ty. ấ ụ ị

- Trung tâm d li u: Các site c a chúng ta dù ch y các m ng c c b hay ch y trên ữ ệ ạ ở ủ ụ ạ ạ ộ

máy ch c a các nhà cung c p hosting thì chúng đ u đ c đ t t i các data center. Data ủ ủ ề ấ ượ ặ ạ

ng đ Center là m t khái ni m dùng đ ch m t khu v c có đ an toàn cao, môi tr ỉ ộ ự ệ ể ộ ộ ườ ượ c

26

t (th ng s d ng đi u hòa không khí), các thi t b phòng cháy ch a cháy không đi u ti ề ế ườ ử ụ ề ế ị ữ

s d ng n ử ụ ướ ố ề c (nh Halon ho c FM200) và h th ng các UPS l u tr đi n năng. S ti n ữ ệ ệ ố ư ư ặ

đ c đ u t vào đây có th là m t khía c nh đ xác đ nh ch t l ng c a m t data ượ ầ ư ấ ượ ể ể ạ ộ ị ủ ộ

center.

ộ - Leased Line: M t site có th ch y v i m t ho c nhi u các k t n i leased line c a m t ể ạ ế ố ủ ề ặ ộ ộ ớ

hay nhi u nhà cung c p d ch v . Leased line đ n gi n có th là các đ ng DSL cũng có ụ ể ề ả ấ ơ ị ườ

th r t ph c t p nh s d ng nhi u đ ng OC3s ch y trên các phiên BGP đ y đ t ư ử ụ ứ ạ ể ấ ề ườ ủ ớ i ầ ạ

nhi u nhà s d ng. L i ích mà Leased line đem l i là ng ử ụ ề ợ ạ ườ ề i ch có toàn quy n đi u ủ ề

khi n và truy c p vào các thi t b c a mình. ể ậ ế ị ủ

- Colacation: Là m t d ch v cho phép b n l p đ t và s p x p các máy ch c a mình t ạ ắ ắ ế ủ ủ ộ ị ụ ặ ạ i

đ a đi m c a nhà cung c p d ch v . Thông th ị ủ ụ ể ấ ị ườ ng là các rack ho c các l ng an ninh. ặ ồ

Nhà cung c p s đ m b o an toàn, cung c p đi n năng, đi u hòa không khí cũng nh ấ ấ ẽ ả ề ệ ả ư

băng thông cho các thi ế ị ủ ạ t b c a b n. Nh ng nhà cung c p d ch v này s cho phép các ấ ụ ữ ẽ ị

thi i các đ ế ị ủ t b c a b n k t n i t ạ ế ố ớ ườ ng k t n i backbone c a h thông qua “network ủ ế ố ọ

drop” th ng k t n i Ethernet. Đi m l i c a cách này là băng thông ườ ng là s d ng đ ử ụ ườ ế ố ể ợ ủ

c a nhà cung c p d ch v th ủ ụ ườ ấ ị ng có kh năng m r ng h n là nh ng gì b n có v i các ơ ở ộ ữ ạ ả ớ

thi t b c a mình. N u b n mu n m r ng băng thông t ế ị ủ ở ộ ế ạ ố ừ nhà cung c p d ch v , b n ch ị ụ ạ ấ ỉ

c n yêu c u nhà cung c p ho c nâng c p các k t n i Ethernet c a mình. Còn n u khi ầ ế ố ủ ế ấ ầ ặ ấ

trên thì b n ph i m t t b n s d ng Leased line nh ạ ử ụ ư ở ấ ừ ạ ả ầ 30 ngày đ n 6 tháng đ yêu c u ể ế

công ty vi n thông tăng thêm băng thông cho đ ng k t n i c a mình nh đ ng T-1 ễ ườ ế ố ủ ư ườ

(1,5 Mbps) ho c DS-3 (45 Mbps), v i các đ ng k t n i có băng thông l n h n thì s ặ ớ ườ ế ố ớ ơ ẽ

c n th i gian lâu h n. ầ ơ ờ

Colocation là m t d ch v đ ộ ị ụ ượ ư c a chu ng nh t hi n nay b i các y u t ệ ế ố ấ ớ ộ giá c và kh ả ả

năng m r ng mà nó đem l ở ộ ạ ơ i. D ch v này s t n ít chi phí và d dàng tri n khai h n ẽ ố ụ ể ễ ị

đ i v i các công ty vì các công ty s không c n ph i quan tâm đ n data center cũng nh ố ớ ẽ ế ầ ả ư

là các đ ng k t n i. Các đ ng k t n i m ng th ng th ườ ế ố ườ ế ố ạ ườ ườ ng r t ph c t p, có liên ứ ạ ấ

quan đ n các đi m ngang hàng, các leased line t i các nhà cung c p, và có th là chính ế ể ớ ể ấ

đ ng backbone c a b n. Thông th ng, t t c các site ch c n quan tâm đ n network ườ ủ ạ ườ ấ ả ỉ ầ ế

27

drop t ừ nhà cung c p d ch v . ụ ấ ị

2.2.2. Ki n trúc h th ng cân b ng t ệ ố i đa hoá thông l ằ ng và đ kh d ng, công ngh cân b ng t ế Đ t ể ố i ả ộ ả ụ ệ ằ ượ ả ử ụ i s d ng

ki n trúc ph n m m phân tán hoàn toàn, trình đi u khi n cân b ng t c cài đ t và ế ề ề ể ằ ầ i đ ả ượ ặ

ch y song song trên t t c các host trong nhóm. Trình đi u khi n này s p x p t t c các ạ ấ ả ế ấ ả ề ể ắ

host trong nhóm vào m t m ng con đ phát hi n đ ng th i l u l ng m ng đ n đ a ch ờ ư ượ ể ệ ạ ộ ồ ế ạ ị ỉ

nhi u v trí khác nhau). Trên IP chính c a nhóm (và các đ a ch b sung c a các host ị ỉ ổ ủ ủ ở ề ị

ạ m i host, trình đi u khi n ho t đ ng nh m t b l c gi a trình đi u khi n card m ng ư ộ ộ ọ ạ ộ ữ ề ể ề ể ỗ

và ch ng giao th c TCP/IP, cho phép m t ph n l u l ng m ng đ n đ ầ ư ượ ứ ồ ộ ế ạ ượ ở c nh n b i ậ

host đó. Nh đó, các yêu c u c a client s đ c phân vùng và cân b ng t i gi a các host ầ ủ ẽ ượ ờ ằ ả ữ

trong nhóm.

Ki n trúc này t i đa hoá dung l ng nh vi c s d ng m ng qu ng bá đ phân ế ố ượ ờ ệ ử ụ ể ạ ả

ph i l u l ng m ng đ n t t c các host trong nhóm và lo i b s c n thi ố ư ượ ế ấ ả ạ ỏ ự ầ ạ ế t ph i đ nh ả ị

. Do th i gian l c các gói không mong mu n di n ra tuy n các gói đ n t ng host riêng l ế ừ ế ẻ ễ ờ ọ ố

nhanh h n th i gian đ nh tuy n các gói (đ nh tuy n bao g m các quá trình nh n gói, ị ế ế ậ ờ ơ ồ ị

ki m tra, đóng gói l i và g i đi), ki n trúc này cung c p thông l ể ạ ử ế ấ ượ ng cao h n các gi ơ ả i

ng cũng pháp d a trên b đi u ph i. Khi t c đ c a m ng và server t ng lên, thông l ố ộ ủ ộ ề ự ạ ǎ ố ượ

thu n, do đó lo i b đ c b t c s l t ng theo t l ǎ ỉ ệ ạ ỏ ượ ậ ấ ứ ự ệ ế thu c nào vào vi c đ nh tuy n ệ ộ ị

t. Trên th c t , b cân b ng t d a trên các ph n c ng đ c bi ự ầ ứ ặ ệ ự ế ộ ằ ả i có th đ t thông l ể ạ ượ ng

250Mbit/s trong các m ng Gigabit. M t u đi m c b n khác c a ki n trúc phân tán ơ ả ộ ư ủ ể ế ạ

c t ng c ng v i (N-1) cách kh c ph c l hoàn toàn là đ kh d ng đ ộ ả ụ ượ ǎ ườ ụ ỗ ắ ớ ộ i trong m t

nhóm có N host. Các gi i pháp d a trên b đi u ph i t o ra m t đi m l i k th a mà ả ộ ề ố ạ ự ể ộ ỗ ế ừ

ch có th đ c kh c ph c b ng cách s d ng m t b đi u ph i d phòng và do đó ch ể ượ ỉ ộ ộ ề ụ ằ ố ự ử ụ ắ ỉ

cung c p m t cách kh c ph c l i duy nh t. ụ ỗ ấ ắ ộ ấ

Ki n trúc cân b ng t c nh ng u đi m v ki n trúc các ế ằ ả i cũng t n d ng đ ậ ụ ượ ề ế ữ ư ể

thi ế ị ệ t b chuy n m ch (switch) ho c các b t p trung (hub) c a m ng con trong vi c ộ ậ ủ ể ặ ạ ạ

ng m ng đ n t t c các host trong nhóm. Tuy nhiên, đ ng th i phân ph i l u l ồ ố ư ượ ờ ế ấ ả ạ

ph ng pháp này làm t ng "t i tr ng" trên các chuy n m ch do chi m thêm b ng thông ươ ǎ ả ọ ể ế ạ ǎ

c ng. Đây không ph i là v n đ trong ph n l n các ng d ng nh d ch v Web hay ổ ầ ớ ư ị ứ ụ ụ ề ả ấ

28

streaming media, do t l l u l ỉ ệ ư ượ ư ng đ n ch chi m m t ph n r t nh trong t ng l u ầ ấ ế ế ộ ỏ ổ ỉ

ng m ng. Tuy nhiên, n u các k t n i m ng phía client đ n thi l ượ ế ố ế ế ạ ạ ế ị t b chuy n m ch có ể ạ

ng có th chi m m t t l t c đ nhanh h n nhi u các k t n i phía server, l u l ố ế ố ư ượ ề ơ ộ ộ ỉ ệ ớ l n ể ế

quá m c cho phép c a b ng thông c ng phía server. V n đ t ng t ủ ǎ ề ươ ứ ấ ổ ự ẽ ế s gia t ng n u ǎ

nhi u nhóm k t n i trên cùng m t thi t b chuy n m ch và các bi n pháp thi t l p các ế ố ề ộ ế ị ệ ể ạ ế ậ

m ng LAN o cho t ng nhóm không đ ừ ạ ả ượ ệ c th c hi n. Trong quá trình nh n gói, vi c ự ệ ậ

tri n khai c a SLB là s k t h p gi a vi c phân ph i các gói t ự ế ợ ủ ữ ệ ể ố ớ ầ ậ i t ng TCP/IP và nh n

các gói khác qua trình đi u khi n card m ng. Vi c này giúp t ng t c đ x lý chung và ộ ử ề ể ệ ạ ǎ ố

gi m tr do TCP/IP có th x lý gói trong khi trình đi u khi n NDIS (Network Driver ể ử ề ễ ể ả

ǎ Interface Specification) nh n gói ti p theo. Trong quá trình g i gói, SLB cũng t ng ử ế ậ

ng thông l và ph phí (overhead) nh t ng s l ng gói mà c ườ ượ ng, gi m đ tr ả ộ ễ ờ ǎ ố ượ ụ

TCP/IP có th g i trong m t k t n i. Đ có đ c nh ng c i thi n v hi u n ng này, ộ ế ố ể ử ể ượ ề ệ ữ ệ ả ǎ

SLB thi ế ậ t l p và qu n lý m t t p h p các b đ m gói và các ký hi u (descriptor) đ ộ ệ ộ ậ ệ ả ợ ượ c

s d ng đ ph i h p các ho t đ ng c a TCP/IP và trình đi u khi n NDIS. ử ụ ể ố ợ ạ ộ ủ ề ể

ạ ộ ủ ệ ố Mô hình SLB đ n gi n đ ằ c mô t i đây 2.2.3 . Ho t đ ng c a h th ng cân b ng t ơ ả nh ả ư ở ả ượ i File Server hình d ướ

Hình 2.7: H th ng SLB đ n gi n ả ệ ố ơ

SLB m r ng hi u n ng c a các server ng d ng, nh File server, Web server ở ộ ủ ứ ụ ư ệ ǎ

ch ng h n, nh phân ph i các yêu c u c a client cho các server trong nhóm (cluster). ủ ầ ạ ẳ ờ ố

Các server (hay còn g i là host) đ u nh n gói IP đ n, nh ng gói ch đ ề ỉ ượ ử ộ c x lý b i m t ư ế ậ ọ ở

ủ server nh t đ nh. Các host trong nhóm s đ ng th i đáp ng các yêu c u khác nhau c a ẽ ồ ấ ị ứ ầ ờ

các client, cho dù m t client có th đ a ra nhi u yêu c u. ể ư ề ầ ộ

M i host trong nhóm có th đ nh ra m c t ể ị ứ ả ỗ i mà nó s x lý ho c t ẽ ử ặ ả i có th phân ể

ph i m t cách đ ng đ u gi a các host. Nh s d ng vi c phân ph i t ờ ử ụ ố ả ữ ề ệ ồ ố ộ i này, m i server ỗ

i c a host. T i do các client g i đ n đ s l a ch n và x lý m t ph n t ẽ ự ầ ả ủ ử ế ử ả ộ ọ ượ ố c phân ph i

sao cho m i server nh n đ c s l ng các yêu c u theo đúng ph n t i đã đ nh c a nó. ậ ượ ố ượ ỗ ầ ả ầ ủ ị

29

S cân b ng t ự ằ ả ỏ i này có th đi u ch nh đ ng khi các host tham gia vào ho c r i kh i ể ề ặ ờ ộ ỉ

nhóm. Các server trong nhóm cân b ng t ằ ả i phát đi m t b n tin đ c bi ộ ả ặ ệ ạ t thông báo tr ng

thái ho t đ ng c a nó (g i là heartbeat message) t ọ ạ ộ ủ ớ ờ i các host khác trong nhóm đ ng th i ồ

nghe b n tin này t các khác host khác. N u m t server trong nhóm g p tr c tr c, các ả ừ ụ ế ặ ặ ộ

i đ duy trì liên t c các d ch v cho các host khác s đi u ch nh và tái phân ph i l ỉ ẽ ề i t ố ạ ả ể ụ ụ ị

client. Trong ph n l n các tr ng h p, ph n m m client th ng t đ ng k t n i l i và ầ ớ ườ ề ầ ợ ườ ự ộ ế ố ạ

ng i s d ng ch c m th y tr m t vài giây khi nh n đ i. ườ ử ụ ễ ộ ậ ượ ỉ ả ấ c đáp ng tr l ứ ả ờ

2.3. Tri n khai h th ng File Server ệ ố ể

ệ 2.3.1. Gi DFS đ i thi u DFS (Distributed File System) ớ c s d ng đ xây d ng c u trúc phân c p đ i di n cho nhi u v trí chia s d ự ượ ử ụ ể ề ệ ấ ạ ấ ẻ ữ ị

ỗ li u trên nhi u File server khác nhau. N u trong m ng c a b n có nhi u File server, m i ủ ạ ề ề ệ ế ạ

ả File server đó có m t vài th m c chia s ch a d li u, b n s g p khó khăn khi ph i ẻ ứ ữ ệ ạ ẽ ặ ư ụ ộ

ắ nh chia s nào n m trên server nào. Nh ng v i DFS, thay vì ph i nh t ng share g n ớ ừ ư ẻ ả ằ ớ ớ

t c chia i t v i t ng File server, b n s ch ph i nh m t tên duy nh t đ có th đi t ớ ừ ạ ẽ ỉ ấ ể ớ ộ ể ả ớ ấ ả

t c server. B n có th t ng t ng cái tên đó nh là m t “home” c a t t c s trên t ẻ ấ ả ể ưở ạ ượ ủ ấ ả ư ộ

shared files, trong “home” đó ch a đ i v trí th c s c a các th m c chia ứ ườ ng d n tr t ẫ ỏ ớ ị ự ự ủ ư ụ

s trên các File server. DFS có th d n client t ẻ ể ẫ ớ i File server g n nh t có th b ng cách ấ ể ằ ầ

s d ng “Active Directory site metric”. DFS cũng có th cài trên m t h th ng Cluster ử ụ ộ ệ ố ể

t h n và đ tin c y cao h n. đ cung c p hi u năng t ể ệ ấ ố ơ ơ Đ hi u DFS làm vi c nh nào, ể ể ư ệ ậ ộ

• DFS Root: là tên g c cho m i đ

chúng ta c n ph i hi u m t s thu t ng : ữ ể ộ ố ậ ầ ả

ọ ườ ố ư ộ ng d n DFS. B n có th hi u nó nh m t ể ể ẫ ạ

• DFS Link: đ

“Root Share”, trong đó b n có th có các t p tin và th m c khác. ể ư ụ ệ ạ

ng d n t i m t th m c chia s n m m t v trí c th nào đó ườ ẫ ớ ẻ ằ ở ộ ị ư ụ ụ ể ộ

trên mang. Khi user truy c p t i DFS Link s đ c chuy n h ậ ớ ẽ ượ ể ướ ư ụ ng sang th m c

• DFS Target (Replica): có th là DFS Root hay DFS Link. N u b n có 2 chia s

chia s th t. ẻ ậ

ế ể ạ ẻ

gi ng h t nhau nh ng l u tr 2 v trí khác nhau, b n có th nhóm chúng vào ư ư ệ ố ữ ở ể ạ ị

30

chung trong m t DFS Target. ộ

DFS có hai d ng:ạ

Hình 2.8: C u trúc th m c th t s c a m t h th ng DFS ộ ệ ố ậ ự ủ ư ụ ấ

ự 1. Active Directory Intergrated DFS (Fault-tolerant DFS): Là h th ng DFS d a ệ ố

trên n n Active Directory. H th ng DFS s t đ ng đ ng b gi a các Domain ẽ ự ộ ữ ề ệ ố ồ ộ

Controller và ng ườ i dùng có th truy xu t đ n DFS thông qua đ ấ ế ể ườ ẫ ng d n

\\domainname\dfsname. D ng này th ng đ c áp d ng trong tr ạ ườ ượ ụ ườ ạ ng h p các B n ợ

mu n xây d ng các Files Server đ ng b v i nhau, m c đích chính là đ m b o tính liên ộ ớ ự ụ ả ả ồ ố

m t Files Server nào đó thì Files Server khác s t c trên h th ng m t khi có s c ụ ệ ố ự ố ở ộ ộ ẽ

thay th VÀ d li u t đ ng nhân b n, c p nh t cho toàn b h th ng DFS Server. ữ ệ ự ộ ộ ệ ố ế ả ậ ậ

2. Stand-alone DFS: Là h th ng DFS trên m t máy Server Stand-alone. Ng ệ ố ộ ườ i

dùng truy xu t h th ng DFS thông qua đ ng d n ấ ệ ố ườ ẫ \\servername\dfsname. D ng này ạ

th ng đ c dùng trong tr ng h p các B n mu n t t c các Files Server đ c QUI v ườ ượ ườ ố ấ ả ạ ợ ượ ề

m t m t k t n i duy nh t. Ng i DFS Server là có th truy ố ế ố ấ ộ ườ ử ụ i s d ng ch c n k t n i t ỉ ầ ế ố ớ ể

xu t t i các Files Server khác theo ki u duy t cây th m c. ấ ớ ư ụ ể ệ

2.4.1. Thu t toán Round Robin:

2.4. Các thu t toán cân b ng t i ả ằ ậ

Đây g i là thu t toán luân chuy n vòng, các máy ch s đ c xem ngang hàng và ủ ẽ ượ ể ậ ọ

c g i t i các máy s p x p theo m t vòng quay. Các truy v n d ch v s l n l ắ t đ ụ ẽ ầ ượ ượ ử ớ ế ấ ộ ị

ch theo th t s p x p. ứ ự ắ ế ủ

Ví d :ụ

C u hình m t c m Cluster bao g m 03 máy ch : A, B, C. ộ ụ ủ ấ ồ

Yêu c u d ch v th nh t s đ c g i đ n máy ch A. ụ ứ ấ ẽ ượ ử ế ủ ầ ị

Yêu c u d ch v th hai s đ c g i đ n máy ch B. ụ ứ ẽ ượ ử ế ủ ầ ị

Yêu c u d ch v th ba s đ c g i đ n máy ch C. ụ ứ ẽ ượ ử ế ủ ầ ị

2.4.2. Thu t toán Weighted Round Robin:

s l c g i cho máy ch A…. i đ Yêu c u d ch v th t ị ụ ứ ư ẽ ạ ượ ử ủ ầ

B n ch t gi ng nh thu t toán Round Robin, tuy nhiên chúng ta có th c u hình ể ấ ư ả ậ ấ ố

31

cho m t máy ch nào đó th ng xuyên đ c s d ng h n. ủ ộ ườ ượ ử ụ ơ

2.4.3. Thu t toán Least Connection:

ng k t n i đ th c hi n cân b ng t Đây là thu t toán d a trên tính toán s l ự ố ượ ậ ế ố ể ự ệ ằ ả i

cho máy ch , nó s t đ ng l a ch n máy ch v i s l ng k t n i đang ho t đ ng là ẽ ự ộ ủ ớ ố ượ ự ủ ọ ạ ộ ế ố

2.4.4. Thu t toán Weights Least Connection:

nh nh t. ấ ỏ

ư B n ch t gi ng thu t toán Least Connection, nh ng chúng ta có th c u hình u ể ấ ư ả ấ ậ ố

2.4.5. Thu t toán Least Response Time:

tiên cho m t máy ch trong c m máy ch ho t đ ng. ủ ạ ộ ủ ụ ộ

Đây là thu t toán s d ng ph ử ụ ậ ươ ng pháp th i gian đáp ng ít nh t, l a ch n d ch ứ ấ ự ờ ọ ị

v trên máy ch v i th i gian đáp ng là th p nh t. ụ ủ ớ ứ ấ ấ ờ

Ngoài ra còn có r t nhi u thu t toán cân b ng t ề ằ ậ ấ ả ầ i khác tùy theo ph n m m ho c ph n ầ ề ặ

c s d ng. i đ c ng cân b ng t ứ ằ ả ượ ử ụ

2.4.6. Hàm băm:

Hàm băm là gi i thu t nh m sinh ra các giá tr băm t ng ng v i m i database ả ậ ằ ị ươ ứ ớ ỗ

t các database server. cũng server. Giá tr băm đóng vai g n nh m t khóa đ phân bi ầ ư ộ ể ị ệ

gi ng v i gi i thu t Round-robin, hàm băm ch đ nh server tr l i truy v n cho client mà ố ớ ả ả ờ ậ ỉ ị ấ

i c a server đó (có ít hay nhi u truy v n). không quan tâm đ n tr ng thái hi n t ế ệ ạ ủ ề ấ ạ

2.4.7. Gi i thu t xác đ nh t ng s k t n i nh nh t: ả ố ế ố ỏ ấ ổ ậ ị

Gi ả i thu t này xác đ nh t ng s k t n i hi n t ổ ố ế ố ệ ạ ậ ị ế i trên các database server, n u

server

c ch đ nh là tr l i truy v n ti p theo nào có t ng k t n i nh nh t thì server đó s đ ỏ ế ố ẽ ượ ấ ổ ả ờ ị ỉ ế ấ

c a client. Trong gi ủ ả i thu t này có quan tâm đ n tr ng thái c a server. Đây là m t gi ạ ủ ế ậ ộ ả i

thu t t i u đ cân b ng t i cho các database server. Tuy nhiên, th i gian th c hi n bài ậ ố ư ể ằ ả ự ệ ờ

toán là lâu h n hai gi i thu t trên, b i vì nó ph i ghi l ơ ả ả ậ ở ạ i và tính s k t n i đ n các server ố ế ố ế

32

hi n th i. ệ ờ

CH

NG III. CÀI Đ T TH C NGHI M - ĐÁNH GIÁ H

ƯƠ

TH NGỐ

Trong m ng LAN khi h th ng m ng đòi h i ph i th c hi n vi c chia s tài ệ ố ự ẻ ệ ệ ả ạ ạ ỏ

nguyên gi a các ng ữ ườ ỏ ệ ố i dùng trong m ng v i nhau ngày càng nhi u thì đòi h i h th ng ề ạ ớ

ph i có m t File Server đ đ m đ ng công vi c này. ể ả ả ộ ươ ệ

Tuy nhiên trên th c t v i m t h th ng m ng l n đ n r t l n thì vi c m t máy File ự ế ớ ộ ệ ố ế ấ ớ ệ ạ ộ ớ

Server g ng gánh cho t t c các yêu c u là không th . Mà yêu c u đ t ra là làm sao có ồ ấ ả ể ầ ầ ặ

33

nhi u File Server h n và cùng chia s m t l ng tài nguyên nào đó. Chính vì th ẻ ộ ượ ề ơ ế

Microsoft đã đ a ra m t gi i pháp là Distributed File System (DFS) hay còn g i là h ư ộ ả ọ ệ

th ng d li u phân tán. ữ ệ ố

V i DFS l ng d li u dùng đ chia s cho ng i dùng gi ớ ượ ữ ệ ể ẻ ườ ờ ằ đây không còn n m

trên duy nh t m t File Server n a mà tùy theo nhu c u th c t ng i qu n tr m ng s ự ế ữ ầ ấ ộ ườ ị ạ ả ẽ

thi t c các ế ế t k 2 hay nhi u File Server cùng th c hi n vi c chia s này, t ng h p t ự ợ ấ ả ệ ẻ ề ệ ổ

File Server này đ c g i là Distributed File System (DFS). ượ ọ

Nh v y v i mô hình DFS khi có các yêu c u truy c p tài nguyên t bên ngoài ư ậ ậ ầ ớ ừ

vào DFS thì h th ng s t phân chia đ u các yêu c u này cho các File Server bên trong ệ ố ẽ ự ề ầ

DFS nh m tránh tình tr ng m t File Server nào đó quá t i trong khi m t File Server khác ằ ạ ộ ả ộ

thì quá nhàn r i.ỗ

3.1. C u hình và ch y ch ng trình ạ ấ ươ

Mô hình Đ ng b hóa d li u trên 2 Server s d ng DFS Replication. Mô hình ữ ệ ử ụ ộ ồ

này thi t l p hai Domain Controller ch y song song, đ ng th i cũng là 2 file server có ế ậ ạ ờ ồ

kh năng đ ng b hóa d li u cho nhau. Khi m t trong 2 File Server ch t, thì Server kia ữ ệ ế ả ộ ồ ộ

k t n i v i client, đ m b o d li u có tính s n sàng cao. Đ ng th i có s ti p t c gi ẽ ế ụ ữ ế ố ớ ữ ệ ả ả ẵ ồ ờ

th đ c áp d ng cho vi c cân b ng t i, gi m b t gánh n ng truy xu t lên m t File ể ượ ụ ệ ằ ả ả ấ ặ ớ ộ

Server.

Trong bài này, Server 1 s có tên là SERVER1 v i IP là 184.0.18.142 và Server 2 có tên ẽ ớ

là SERVER2 v i IP là 14.0.18.143 ớ

• Nâng Server 1 lên thành Domain Controller.

• Thi

Các b ướ c th c hi n chính: ệ ự

• Cài đ t File Server, Distributed File System trên Server 1 và Server 2.

t l p Secondary Domain Controller trên Server 2. ế ậ

• C u hình DFS Namespaces và DFS Replication trên Server 1.

• Testing...

• Nâng Server 1 lên thành Domain Controller

34

• Thi

C u hình IP c a Server 1 nh sau ủ ư ấ

35

t l p Secondary Domain Controller trên Server 2. ế ậ

• Cài đ t File Server, Distributed File System trên Server 1 và Server 2

Trên 2 Server ta vào Server Manager đ Add m t File Services ộ Role m i làớ ể

36

Nh nấ Next

Ch n cài đ t Distributed File System g m DFS Namespaces và DFS Replication ồ ặ ọ

Managemnet snap-in in Server Manager

37

t l p sau. Vì th ch n Chúng ta s ti n hành thi ẽ ế ế ậ ọ Create a namespace later using DFS ế

B mấ Install

38

Cài đ t xong, ta nh t ấ Close ặ

• C u hình DFS Namespaces và DFS Replication trên Server 1

Bung Role --> File Services --> DFS Managemet

39

Nh n ph i chu t vào ả ấ ộ Namespaces và ch nọ New Namespace

40

H p tho i hi n ra, ta nh n ệ ấ Browser và add vào Server 1 là server1 ạ ộ

H p tho i k ti p, ạ ế ế Namespace name and setting : khai báo tên folder ch a d li u s ữ ệ ứ ộ ẽ

public trong h th ng cho user truy c p l y tài nguyên cũng nh l u tr d li u…Sau đó ữ ữ ệ ậ ấ ệ ố ư ư

41

ch n m c ụ Edit Setting… ọ

42

Ch nọ Use custom permission --> Customize

43

Cho Everyone quy nề Full Controll

44

Tr v h p tho i ở ề ộ ạ Namespace name and setting ch n Next ọ

T o ạ Namespace m i thành công, ta nh n ớ ấ Close

Ti p t c, ta nh n chu t ph i lên Namespace m i v a t o và ch n ớ ừ ạ ế ụ ọ Add Namespace ấ ả ộ

45

Server

46

Nh nấ Edit Settings

47

Ch nọ User custom permissions --> Customize

48

Cho Everyone quy nề Full Control

Nh nấ Ok --> OK và đ i m t lát đ h th ng ki m tra. N u thành công, ta s có k t qu ể ệ ố ế ế ẽ ể ộ ợ ả

49

nh hình d i đây. ư ướ

50

Ti p t c, ta nh n ph i chu t lên ấ ế ụ ả ộ Replication và ch nọ New Replication Group...

H p tho i ạ Replication Group Type, ta đánh d u ch n ọ Multipurpose replication group và lick ấ ộ

51

next

Nh p tên c a Relication này và nh n ấ Next ủ ậ

52

Click Add và thêm vào 2 thành viên SERVER1 và SERVER2

H p tho i Next ạ Topology Selection, ta ch nọ Full Mesh r i click ộ ồ

H p tho i ạ Replication Group Schedule and Bandwidth: Ch n Replicate continuously ộ ọ

using the specified bandwidth: Full (cho phép đ ng b d li u 24g trong ngày và 7 ngày ộ ữ ệ ồ

53

trong tu n v i băng thông Full) ầ ớ

54

Ch n 1 trong 2 server làm Primary ọ

H p tho i i th m c g c ch a các ạ Folder to Replicate hi n ra, ta ch n ADD và ch n t ọ ớ ệ ộ ọ ư ụ ố ứ

th m c đ c Replicate ư ụ ượ

55

Ch nọ Custom permission --> Edit Permissions...

Thêm vào 2 User là Domain Users và Creator Owner. Ta ti n hành phân quy n cho Domain ề ế

Users quy n đ c và ghi ề

56

, Creator Owner quy n Full Controll

Tr l i c a s ở ạ ử ổ Folder To Replicate ch n Next ọ

57

Ch n thành viên ọ DNS2 và nh nấ Edit

58

ng d n ch a th m c g c c a các replicate Folder --> OK Ch nọ Enable --> Cho bi t đ ế ườ ư ụ ố ủ ứ ẫ

59

Tr l i c a s ở ạ ử ổ Local Path of DFSRoots on Other Members và ch nọ Next

60

Ki m tra l i thông tin l n cu i và nh n ể ạ ấ Create ầ ố

61

N u cài đ t thành công thì s có k t qu nh hình d i đây. ả ư ẽ ế ế ặ ướ

C a s Confirmation b o đ m Success hi n ra, ta ch n Close ử ổ ệ ả ả ọ

• Testing ch

K t qu c u hình ả ấ ế

ng trình ươ

Trong M cụ Data c a Server ủ ớ server1 ta ti n hành th t o 1 file Text v i ử ạ ế

tên server1_test

Trong M cụ Data c a Server ủ ớ server2 ta ti n hành th t o 1 file Text v i ử ạ ế

62

tên server2_test.

ả ở ụ

m c Data c a 2 Server đ u có c 2 file server1_test và server2_test ả

 Quá trình cài đ t và c u hình nh v y là đã thành công

==> K t qu ế

ư ậ ấ ặ

ệ ố 3.2. Đánh giá h th ng Server đang là n n t ng phân ph i các ng d ng quan tr ng, th ng xuyên và ề ả ụ ứ ố ọ ườ

i pháp lý r ng kh p nh File, Web, Mail, Streaming media, VPN. NLB cung c p m t gi ộ ư ấ ắ ộ ả

ng, kinh t đ t ng c ng tính kh m và kh d ng cho các ng d ng trên c môi t ưở ế ể ǎ ườ ả ở ả ụ ứ ụ ả

tr ng Internet và intranet. Ngoài nh ng ng d ng tích h p trong Windows Server 2008, ườ ữ ứ ụ ợ

NLB còn có th tích h p trong các h đi u hành m ng và các ng d ng ch y trên server ệ ề ứ ụ ể ạ ạ ợ

ạ khác m t cách hi u qu . Tuy nhiên M c dù DFS có th c ng c m nh m các ho t ố ạ ể ủ ẽ ệ ặ ả ộ

63

trên network c a b n, nh ng ti n ích này đ ng và tính s n có c a các d li u l u gi ủ ộ ữ ệ ư ẵ ữ ủ ạ ữ ệ

cũng có cái giá c a nó và có nh ng u và nh c đi m khác nhau. Đi u đó có nghĩa là ủ ư ữ ượ ể ề

c h t b n nên có m t k ho ch. n u l n đ u tiên b n đang xem xét cài đ t DFS, tr ế ầ ặ ầ ạ ướ ế ạ ộ ế ạ

- DFS cung c p cho b n m t vùng không gian duy nh t cho phép ng

u đi m Ư ể

ấ ạ ấ ộ ườ ể ế i dùng có th k t

n i đ n b t c th m c chia s nào trong doanh nghi p, d dàng tìm t p tin. DFS có th ố ế ấ ứ ư ụ ễ ẻ ệ ậ ể

-

cho phép nhân b n nh ng t p tin chia s ữ ả ậ ẻ

V m t kĩ thu t, thì b n không c n nhi u server DFS, nh ng n u dùng ề ặ ư ề ế ầ ạ ậ

chúng thì s có nh ng cái l i. V i nh ng ng ữ ẽ ợ ữ ớ ườ ạ i m i dùng, dùng nhi u b n sao cho b n ề ả ớ

kh năng m r ng. Thay vì b t m i ng i dùng trong t ch c c a b n truy c p các file ở ộ ả ắ ỗ ườ ổ ứ ủ ạ ậ

i làm vi c qua các b n sao c a DFS c a h t ủ ọ ừ cùng m t server, b n có th phân b t ạ ổ ả ể ộ ủ ệ ả

-

. khác nhau thay vì đè n ng lên m t server đ n l ặ ơ ẻ ộ

DFS cung c p fault tolerance t ấ ừ ệ ớ ế quan đi m b o v b n kh i vi c r t k t ệ ạ ể ả ỏ

văn phòng chi nhánh, thì các user văn n i network, N u b n đ t m t b n sao DFS ố ộ ả ế ặ ạ ở ở

phòng này v n có th truy c p đ ể ẫ ậ ượ ớ c vào các file c a h m c dù k t n i WAN đã r t. ủ ọ ặ ế ố

Khi k t n i đ c n i l i, b t kì thay đ i nào các file văn phòng s đ c đ ng b ế ố ượ ố ạ ấ ổ ở ở ẽ ượ ồ ộ

• Nh

hoá v i nh ng server khác. ữ ớ

-

ượ c đi m ể

N u ng i dùng liên t c thay đ i các d li u. Trong môi tr ế ườ ữ ệ ụ ổ ườ ư ậ ng nh v y,

t ấ ả t c các update cho m t file s thay đ i s phiên b n file, d n đ n vi c sao chép ổ ố ế ệ ẽ ẫ ả ộ

các update đ DFS. N u m t l ế ộ ượ ng kh ng l ổ ồ ượ ộ ơ c th c hi n thì có th d n đ n m t c n ể ẫ ự ệ ế

-

bão các b n sao chép. ả

N u các user c a b n th ủ ạ ế ườ ắ ng xuyên update các file thì b n nên cân nh c ạ

th i gian sao chép th c hi n ph n l n các sao chép tránh vào gi cao đi m. M c dù là ầ ớ ự ệ ờ ờ ể ặ

m t l n n a, đi u này có th d n đ n vi c xung đ t các phiên b n n u 2 instance riêng ộ ầ ữ ả ế ể ẫ ệ ế ề ộ

c update tr l ẻ ủ c a m t file đ ộ ượ ướ c khi th c hi n sao chép. ệ ự

K T LU N

1.

64

T ng k t ế ổ

Đ án đã đ a ra các thành ph n c n ph i xây d ng c a m t b cân b ng t i và ộ ộ ư ự ủ ầ ầ ả ằ ồ ả

i pháp phân t i đ ng thông minh ho t đ ng hi u qu h n so v i gi đã cài đ t m t gi ặ ộ ả ả ộ ạ ộ ả ơ ệ ớ ả i

pháp đang ch y trên m t b cân b ng t ộ ộ ằ ạ ả i mã ngu n m . ở ồ

Tr c tiên, đ án đã đ a ra mô hình File v i kh năng m r ng, t ướ ở ộ ư ả ồ ớ ừ ầ đó nh n m nh t m ấ ạ

quan tr ng c a vi c cân b ng t ủ ệ ằ ọ ả ử ụ i cho các File server trong toàn b h th ng. S d ng ộ ệ ố

phép so sánh v hi u năng ề ệ h th ng cân b ng t ệ ố ằ ả i server và h th ng thông th ệ ố ườ , ng

i đ phân t i cho các File server này. đ ng th i s d ng m t b cân b ng t ồ ờ ử ụ ộ ộ ằ ả ể ả

M t b cân b ng t t c n ph i ki m tra đ c tr ng thái server, ộ ộ ằ ả i ho t đ ng t ạ ộ ố ầ ể ả ượ ạ

nh m đ m b o không chuy n yêu c u c a ng i dùng đ n nh ng server không còn ủ ể ầ ằ ả ả ườ ữ ế

ho t đ ng. Thu t toán phân t i c n ph i đ ạ ộ ậ ả ầ ả ượ ự c xây d ng m t cách thông minh nh m l a ự ằ ộ

ch n đ c server t t nh t đ ph c v yêu c u ng i dùng. ọ ượ ố ấ ể ụ ụ ầ ườ

Đ án đã gi i thi u 8 thu t toán cân b ng t i hi n đang đ ồ ớ ệ ằ ậ ả ệ ượ ử ụ ộ c s d ng b i m t ở

i c a các công ty l n trên th gi i, đ c chia ra làm 2 nhánh là s s n ph m cân b ng t ố ả ẩ ằ ả ủ ế ớ ớ ượ

ỏ ậ các thu t toán tĩnh và các thu t toán đ ng. Các thu t toán này không nh ng đòi h i l p ữ ậ ậ ậ ộ

trình ph n m m tinh vi, mà còn yêu c u s h tr c a các ph n c ng. ầ ự ỗ ợ ủ ầ ứ ề ầ

Đ án còn nêu ra các thành ph n c a cân b ng t ầ ủ ằ ồ ả i File server, ch c năng c a các ứ ủ

thành ph n, ho t đ ng c a h th ng, ki n trúc h th ng trong File server. ủ ệ ố ạ ộ ệ ố ế ầ

Ngoài ra còn tri n khai thi t k đ c ể ế ế ượ Mô hình Đ ng b hóa d li u trên 2 Server ữ ệ ồ ộ

Mô hình này thi t l p hai Domain Controller ch y song song s d ng DFS Replication. ử ụ ế ậ ạ

giúp h th ng duy trì ho t đ ng khi m t trong hai b cân b ng t i b h ng. ạ ộ ệ ố ằ ộ ộ ả ị ỏ

Do th i gian và ngu n l c có h n, đ án ch a thi c m t b cân b ng t ồ ự ư ạ ờ ồ t k đ ế ế ượ ộ ộ ằ ả i

hoàn ch nh, hi v ng s đ c th c hi n trong m t nghiên c u sâu h n v đ tài này. ẽ ượ ọ ỉ ề ề ự ứ ệ ộ ơ

Nh ng ý t c do h n ch trong thi t k c a b cân b ng t i xin ữ ưở ng ch a th c hi n đ ự ệ ượ ư ế ạ ế ế ủ ộ ằ ả

2.

ng phát tri n. đ dành trong ph n đ nh h ể ầ ị ướ ể

H ng phát tri n ướ ể

trong khoá lu n t Ph n demo s hoàn thi n h n đ đúng v i mô hình th c t ơ ự ế ẽ ệ ể ầ ớ ậ ố t

65

nghi p.ệ

TÀI LI U THAM KH O

Tài li u ti ng Vi

ế

t ệ

[1]. Vũ Duy L i (2002), M ng thông tin máy tính. NXB Th gi i ế ớ ạ ợ

66

[2]. V ng Đ o Vi, M ng truy n d li u. NXB Đ i H c Qu c Gia Hà N i. ề ữ ệ ươ ạ ạ ạ ố ọ ộ

ư [3]. Lê Văn Long, “Qu n tr m ng”, bài gi ng Khoa CNTT- Đ i h c Duy Tân, L u ạ ọ ị ạ ả ả

hành n i b . ộ ộ

[4]. Nguy n Gia Nh “Thi t k m ng”, bài gi ng Khoa CNTT - Đ i h c Duy ư ễ ế ế ạ ạ ọ ả

Tân, L u hành n i b . ộ ộ ư

[5]. H ng Phúc (2005), T i u Hóa Th c Thi M ng V i Content Switching Server, ồ ố Ư ự ạ ớ

Firewall Và Cân B ng T i, NXB Th ng kê ả ằ ố

[6]. http://kenhgiaiphap.vn/Detail/969/Dong-bo-hoa-du-lieu-tren-2-Server-su-dung-

DFS-Replication.html

[7]. http://tailieu.vn/xem-tai-lieu/cong-nghe-can-bang-tai-server.442531.html

[8]. http://forum.thegioimaychu.vn/thu-thuat-tin-hoc/74355-ky-thuat-can-bang-tai-

mang.html

[9]. http://www.vnnic.vn/dns/congnghe/công-ngh -cân-b ng-t ệ ằ i ả

[10]. http://www.itnews.vn/he-dieu-hanh/hdh-windows/windows-server/xay-dung-

cau-truc-dfs

[11].http://www.congnghemaychu.vn/forum/forumdisplay.php?

s=40a3acc61573facfa9e2043efed07439&f=92

Tài li u ti ng Anh

ế

[12]. Paul Albitz, Cricket Liu, DNS and BIND, Fourth Edition, 2001

[13]. Tony Bourke, Server Load Balancing, O'Reilly & Associates

[14]. http://en.wikipedia.org/wiki/Load_balancing_(computing)

[15]. Tony Bourke, 2001, Server Load Balancing

[16]. Chandra Kopparapu, 2002, Load Balancing Servers, Firewalls, and Caches

[17]. Valeria Cardellini, Michele Colajani, Philip S. Yu, Dynamic Load Balancing on

67

Web Server Systems, 1999

68