Điều đáng tiếc là đù các hãng sảnxuất đã cô gắng làm mọi cách dé nâng cao chất lượng của thiết bị , nhưng những hỏnghó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
Trang 1TRƯỜNG DAI HỌC NONG LAM TP HCM
CLUSTERING & NETWORK
LOAD BALANCING
Nganh : Cong nghệ thông tin Niên khoá : 2005-2009
Lớp : DHOSDTMGVHD : TS.Phạm Văn Tính
Sinh viên thực hiện : Nguyễn Cường
Lê Long Hồ
Trà Thái Nguyên
Trang 2LƠI CAM ƠN
Lời đầu tiên chúng em xin chân thành cảm ơn thầy Phạm Văn Tính người đãtrực tiếp hướng dẫn chúng em hoàn thành luận văn nay.Thay đã tận tình hướng dan, chibảo bọn em trong suốt thời gian thực hiện đề tai.Nho sự định hướng chính xác và
truyền thụ cặn kẽ của thay chúng em đã hiéu và tiếp thu được van dé rất nhanh
Chúng em cũng xin chân thành cảm ơn quý thầy cô trong Khoa CNTT đã tận
tình chỉ bảo,giảng dạy,giúp đỡ và trang bị cho chúng em những kiến thức cần thiết
trong suốt quá trình học tập tại Khoa.
Trong quá trình thực hiện đề tài chúng tôi cũng nhận được sự giúp đỡ và độngviên hết sức chân tình của các bạn trong lớp DH05DT, xin hãy ghi nhận ở chúng tôilòng biệt on sâu sac.
Mặc dù đã cố gắng hoàn thành luận văn với tất cả sự nỗ lực của bản thân, nhưngluận văn chắc chắn không tránh khỏi những thiếu sót, kính mong quý Thầy Cô tận tìnhchỉ bảo.
Một lần nữa, xin chân thành cảm ơn và luôn mong nhận được những tình cảm chân
thành của tât cả mọi người.
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 3DANH MỤC CÁC CHỮ VIET TAT
Storage Area Networks
Direct Attached Storage
Network Load Balancing
Media Access Control
Network Attached Storage
Small Computer System Interface
Hardware Compatibility List
Storage Networking Industry Association
Linux Virtual Server
IP Virtual Server
Virtual Machine
Virtual Machine Manager
Application Programming Interface
Window Management Interface
Virtualization Service Providers
Virtual Machine Management Service
Trang 4VSCs Virtualization Service Clients
DANH MUC HINH
Hình 1 : Mo hình server cluster? mấy GOW 9180) snaaeeeaaebantgiadirdrootianiSaniyAto4g5g00 63g 868 15
Hình 3 : Số lượng node tối đa trong 1 cluster mà hệ điều hành Window hỗ trợ 16
Hình 4 : Mot Cluster có 2 ứng dụng chạy trên mỗi SerVer 2-2 2s z+sz£szš 17
Hinh 5 ; Hai Cluster chạy 2 Ông dụng khúc TiUẩU, vu eeeisidiiieiieiedldAesggdii420g8370 18 Hình 6 : Hai node Active được dự phòng bởi node Passive - - 52-5552 19
ATR SEA PT eT acces arene nascent nts lt lan ea 20
Hink $ ; Kết hợp Server Cluster với NLB ssecsisssazesssnsaveoussoenenusneasanavanensucinriensarsnnnensuanoes 23
AEE ï IMU SE ASS kheasannnnnonnddrstutdoinigiiontiioiiNGU1680/0091000500090080073013101306II3030840880Jn468H0008619/8186/1008/89008 35 Enin HD 2 BAGS hú BAN snsnspspsostgesstoiaotlitoiisag20138S:-886)0554500G00012868:400/02-08004853814GGBGNGGHH.EENEUĐE88 36Hình 11 : Mô hình kết nối hệ thống máy tinh với thành phan lưu trữ - 37
Hình 16 : Cầu hình thuộc tính cho HƠ§ 20012 Le 54
Hình 18 : Cau hình Port Rules (2) - sS%+SE+E£EE£EE£EEEEEEEEEEEEEEEEEEEEE11 11111 xe 56Hình 19 : Giao diện chính chương trình Network Load Balancing Manager 37
3
GVHD : TS Pham Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 5Hình 20 : Cấu hình thuộc tính cho Cluster - - + 6 t+EEE£EE£EE£EE£EeEEeEkeExzrrrreree 58Hình 21 : Màn hình khai báo thêm dia chi IP cho CÏusfer 5- 25555 55<s<++++ 59 Hình 22 : Màn Hình chọn Interface mà đã enable NLB -++-<<<<++<<+<<+ 60 Hình 23 : Khai báo các thuộc tính cho Interface - ¿2255 + ++222£+£+zeeeeeszss 61 Hình 24: Giao diện chính khi thêm thành công 1 node vào CÏusfer - 62 Hình 25 : Màn hình thêm node thứ 2 vào cluster - - 55+ S+*+s+ss+vxsexes 63
Hình 26 : Giao diện chính cua NLB Manager khi thêm thành công 2 node 64
Hình 27 : Thời gian đáp ứng khi truy cập Web S€rV€T - Sc S32 ssseersseres 65
Hình 28 : Thời gian đáp ứng sau khi triển khai NLB -2- 2 2 2+x+£+z£++x++xe2 66
Hình 31 : Mô hình triển khai VS/NAT scsssssesssssssseesessssseesesssneeessssnnessessnnnesessssneeses 70Niih 30 ae lữnh th Khi NHƯ cucnnesneeninosiotdnsiGGIRGIGOEDSG0G0TG001330208421.00.8.8 72
Hình 34 : Màn hình tạo một Cluster TmỚI + +2 25322283 ++2#E++£#EE+zeEeezexeezx 79
Hình 35 : Màn hình Cluster Name và Domain -¿- + 6+ + ++vE+veekseeeeeeeske 80
Hình 36 : Man hình Select Computer :ccccccscssesecsseseessseeesssssecnseeessseessesesseceneeseeees 81 Hmh 57 ¡ Mon hình Analyzing Con TU ueeaadaaaandtdisidddititoosodioliiGGiSAS044304204608 82
Trang 6Hình 43 : Màn hình thêm một node mới vào Cluster ¿++++<<<+++ss+++sss2 88 Hình 44: Mar hình Analyzing Configuration sccsiccscoscarncsmmscamncngamncusrmmacans 89
Hình 45 : Màn hình Cluster Service ACCOUTI - - << 3 3£ E*EESEEsiEerksrrseekres 90
Hình 46 : Thêm mot node vào Cluster Khánh C008 ccsenoncnmmnanencmoncancmnnerenaccs 9]
Hình 48 : Màn hình cấu hình card priVafe 2 2 s+2s+EE+EEEEEEEEEE2E1E1 21x crk, 93Hin O'S Tae WG CLOSE láng cscs eeeena cs saan ce cesmsersrsa ce sess ciapesmeaica 23 sasasassnassncem tesa 3818 408G1G86888 103
Hình 50 : Nhập tên Domain và tên Cluster cccccccecceesseesseeseeeeseeseeeseeenseesseeesseenss 104 Tin: T 201m TẾ: chú A a secre iz anata 105
Hình 33 : Node 1 sau.khí due TẠO cássscddonasbeBi00148144814386 011038 14x86k44885n038802.61A88 ã 107
Hmh 35 š Tao eae li Beuyit chờ HO ÌtnsangaunnennodudiieoirtiiitidorEioL2A 00010 61G00000g03885838888 108 Hình 56 : Trạng thái node Ì - -. c2 3322112311321 381 1541118 1181151111181 111 kg 108Hình 57 : Node 1 kết nối CSDL -¿¿-2222+22E+vtttEEkttrtrktrrrttrrrrrrtrirrrrrrrre 109Hình 58 : Trang thai node 2 sau khi node 1 shutdown 55-55 555s++ss++ssxsss2 109Hinh 59 ¡ Node 2 kết nối CSD wax cnsconnosovoreseenensesnnaveserouneesnvnnrvenmsenesnewiauieeraueterneenenes 110
Hình 60 : Type 1 hypervisor run directly on bare metaÌL 55555 + << ++ss++s2 121 Hình 61 : Type 2 hypervisor run within operating system environemerI 122
Hình 62 : Monolithic Hypervisor platforms require hypervisor or aware slaw1ss1000575677Ẻ77 7 ẽ.ố.ẽ ẽ ẽ.ẽ ẽẽốẽ.ẽ.ẽ.ẽ 123
Hình 63 : Mô hình Microkernelized - - - + 2 2231111188 E£E£ E253 1 £keeeeeeezzz 125
5
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 7Hình 65 : Thành phan của Parent Partition trong Hyper-V -2- 5¿©cs2csz+ss2 127
Hình 66 : Các loại khác nhau của child partition được hỗ trợ trong Hyper-V 129
Hình 67 : The Hyper-V Manager Snap-ITn - + k s1 1111 13111111111 1 ke 133
Hình 68 : Cau hình Server và User setting của một Hyper-V Server 135
Hình 70 : Bảng so sánh giữa Hyper-V va Virtual Server 2005 R2 140
Hình 71 : Bang so sánh giữa Hyper-V và Wmware ESX Server 3.5 - 141
Trang 8MỤC LỤC
LAN CĂN CS), ee 1DAWA MUG CAC CHU VIER TAT wcconasennnnnemmwonmeemeammemmnn 9)IJ.\0;8.10/08:i0):011277 ÔỎ 3
Pl th oe 7COUONG 1 (RAFT quyanenrargndrgbifrgittinrtttinpnliattyi0tttnuitttdkrifttdeggtrgtrgvetiiil 9
1.1 Mục dich va lý do chọn để tai c cecceccccsscsscsseescssessessssseseesessessesssessessessesesesesees 9eRe | ee a ee ee ee a ee 9
CHƯƠNG 3 : NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 11
Di CHÍ TÔ s osnssaesseedirnnnirdgoiiirdifniiodiritiBkadsicsdosgeisnleiiouasEayefiläufoaglrlEquuusilgaovslig2iia.qufSgosdz8 I1
3.1.1 Phân loại CÏusferIng 5- 2213221132111 E2 EEESrksrreeeseree 11 Bclulal Server Clusters sutoaisoattostoOEEDOAGIAGIOUNGGGINHGARRONOVOIGAIERHRGIGSnRxeditassal 12
3.1.1.2 Network Load Balancind (NGB) ssecssssscewnsssanesusnuseannvennnnavecemeaveecsunanns 13
3.1.2 Các ưu điểm của Clustering ccccsssssssssssssesesssssssssssssssssneeneessessssessees 14
ARBs ee 17
3.1.4 Hoat động của Cluster ooo cece cccccecccesecssseeeseceseeeeseceseeesseesseesseeenseensees 19
3.1.5 Cluster với nhiều địa điểm phân tam c.ccccseesssseesessesssseeesseeeeeens 21SelvO' TSU QUNỚ/C|ƯSIEIIÏHDsssomaarnndrdeontitrotiatrtiitttesrniiRtleriloiawaweaenotsrsaaa 223.1.7 Giải pháp thiết kế một Clustering trong Windows Server 2003 23
32 ,NGHWOTKLOSG.,HBSIRHGÌHP¿sssiaaseauiaaa-ỷaiydasdooiooaiidirollsittapohobsssetobaliotedeso 26
Bak ‘este Cia PUL seseeeseseeneenaeededdedensnotodtetrooettintoggipengroeegEeo 26
3.2.2 Cac chế độ hoạt động của NLB eccecceccessessessesssessessessesseesesstesessessessees 29Sof CỔ WÌHNM HỆ 1) (CONV PCI ) assoc casas sniesannzaiasasanasaannnasanananasndndnarenneanan 31
7
GVHD : TS Pham Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 93.2.4 _ Thuật toán cân bằng tải -5-5c-Sc St SE EE1211211111121121121111 1111 re 33
3.3 Tống quan các hệ thống lưu trữ -¿2©+++++2E+2EE+2EE+EE2EEtEEerrkrrrrree 35
ei: RTOS BPAY EI cxarstrnireancrtn scarce mim nm ta a 4] 3.3.3 ‘Tich hop SAN —NAS -.n.smsinnnnnssmonsannensennsiannennonnienenmanpnadonnannsannannicts 42 S58 Leigh hier dune BÀ commence 43
Re | a 44S96 Khả nng tương CN „ eeeseeeeeseernereerneirrireorssrdtoritgeorrsslgveoygse 44
Si Các HaAHE SAW ng;›ÿýngaiiedoitnthdrrtsgboisnbiltsitldSafiesriiysbtisihdonlingRGinltissfrglQyleeaea 463.3.9 Ứng dung SAN 2 21221 212212112112112112111111211211 211 11 re 48
JAA Netwitk Load Balancin® saasasaseudrdedddondrrinodbaitnasttgGiE030 A000 0008 G000486 49 SLD (SOTVOT CHIBI ccnnrneiennnnessnsisnnenssnsnnnarenensnennsiinsnsnnnasinrinenasnnenaadnes neniensunains 76
3.4.2 Triển khai Server Cluster trên ứng dung ceccscescesceseesessessessesessesseeseeseeeees 94Pei, SERRE sunnusndoeuishoitststethtoidtoishtiAi4000180001060B249880836G000G3U00:601085800360018008810530018/B0990,00A 94 Dede OC, CGI raonsngneossybstonsatthstuapthoie29PiSSESĐGIGIS/GI0105g2IA090011A4400/0400G0/000308230 102 ST) 110
$5.1 ‘Tal sao phối dg HỘ NguaeseseaesedtdtretdtrdiitGiiutatihgosttzedtoiintfihoRoidddghogs 110
3.5.2 Các loại ảO hÓa c Q1 100111230 1011119931111 1kg 1n key 112
3.5.3 Ưu điểm và lợi ích của ảo hóa - -cccc2vvtsctErvrrerrkrrrrrrrrrrrre 115
354 Server Virtualization—HAypereV seuszaasasoastaandgiotniilototyatdsesoeqgsveig 1183.5.5 Triển khai và cài đặt Hyper-V c.ccccccsscssessessesessseesessessesseseesessesssseesveaes 131SOG AO CIN BANE CUA HYDEE< Y scstissnsasasaancancennsannsssadtesdcancusaszsiennsadunesasnaiainnen 138
3.7.7 «being lời teh khi sỬ UTI TYPIST V ni cneannecnarnneancinantcnesanatnatanen menansnaneanons 141
Trang 104.1 Kết quả đạt được - - c2 2 1211111111121 1211211 1111 re 1434.2 _ Hướng phát triỀn 2-©5++2E+SEESEE2E12211221211271211111211 21.1 xe 144
CHƯƠNG 1 : MỞ ĐẦU
1.1 Mục đích và lý do chọn đề tài
Trong thời đại bùng n6 của công nghệ thông tin hiện nay,mạng máy tinh
đóng vai trò ngày càng quan trong 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áccông ty hàng không hoặc các ngân hàng lớn, mạng máy tính có thé ví như hệ thầnkinh đ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 trong những cơ quan này có thê làm tê liệt các hoạt động chính trị của đơn
vị và thiệt hại khó có thể lường trước được
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ẫnhoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ mạng và công nghệclustering là câu trả lời cho van đề này Dé tài này giới thiệu nguyên lý , phân tích
và triển khai một số giải pháp Clustering đang được áp dụng cho các hệ thống mạngmáy tính lớn với hi vọng có thể giúp chúng ta hiểu rõ hơn về công nghệ tưởngchừng như đơn giản nhưng thực tế lại khá phức tạp này
1.2 Pham vi nghiên cứu
Phạm vi nghiên cứu của đề tài này gồm có :
e Tim hiểu công nghệ Clustering
e Tim hiểu về NLB và Server Cluster
e Tim hiểu về công nghệ SAN
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 11e - Triển khai, cài đặt Server Cluster và NLB trên hệ điều hành Window Server
2003 va Linux
e - Triển khai NLB Web Server bằng chương trình Apache Web Server
CHƯƠNG 2: TONG QUAN
Chúng ta đều biết các máy chủ là trái tim của mang 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à đù các hãng sảnxuất đã cô gắng làm mọi cách dé nâng cao chất lượng của thiết bị , nhưng những hỏnghó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.Clustering là một phương tiện cung cấp độ sẵn sàng cao cho các hệ thống
máy tính, nó là một nhóm các máy hoạt động như là một tổ chức duy nhất cung cấp các
nguon tài nguyên và những dịch vu cho hệ thống mạng Trong khoảng thời gian có lỗi
xảy ra, một quá trình fail —over sẽ dién ra nó duy trì cái có san của các nguồn tài nguyên
cho hệ thống và hệ thống vẫn tiếp tục hoạt động Clustering cho phép việc thực hiệnfailover trên những hệ thống khác và nó cũng cho phép quá trình cân bằng tải giữa các
hệ thống Cân bằng tải được sử dụng có thể là một máy chủ hay một thiết bị để cân
bằng tải lưu lượng trên nhiều máy chủ đang chờ dé nhận lưu lượng đó Thiết bị này sẽgửi lưu lượng truy cập dựa trên một thuật toán tới hầu hết các máy tính hoặc nó sẽ trảiđều tất cả các máy vào thời điểm trên Một ví dụ công nghệ này là nếu ta có một trangweb mà nhận được 2000 lượt truy cập mỗi ngày, nếu lượng truy cập quá nhiều sẽ dẫnđến thời gian truy cập chậm, hoặc thậm chí không thé vào trang web được lúc đó ta sẽxem xét máy chủ đó đã quá tải, để khắc phục tình trạng trên ta thêm vào máy chủ thứ 2hoặc thứ 3 để cho việc truy cập nhẹ nhàng hơn
Trang 12CHƯƠNG 3 : NỘI DUNG VÀ PHƯƠNG PHÁP
NGHIÊN CỨU
3.1 Clustering
Clustering là một kiến trúc nhằm đảm bảo nâng cao khả năng san sang (High
Availability) cho các hệ thống mạng máy tính Clustering cho phép sử dụng nhiềumáy chủ kết hợp với nhau tạo thành 1 cum (cluster) có khả năng chịu đựng hay chấpnhận sai sót (fault-tolerant) nhằm nâng cao độ sẵn sàng của hệ thống mang Cluster
là một hệ thống bao gồm nhiều máy chủ được kết nối với nhau theo dạng song songhay phân tán và được sử dụng như một tài nguyên thống nhất
Nếu một máy chủ ngừng hoạt động do bi sự có hoặc dé nâng cấp,bảo trì thì toàn
bộ công việc mà máy chủ này đảm nhận sẽ được tự động chuyên sang cho một máy
chủ khác (trong cùng một cluster) mà không làm cho hoạt động của hệ thống bị
ngắt hay gián đoạn.Quá trình này gọi là fail-over Việc phục hồi tài nguyên của một
máy chủ trong hệ thống (cluster) được gọi là fail-back
3.1.1 Phân loại Clustering
Clustering được chia làm 2 loại : Server Clusters và NLB Sự khác nhau
giữa 2 loại Clustering là nền tảng ứng dụng mà những server cần chạy và đữ liệu
mà chúng sử dụng Server Clusters được mong đợi để cung cấp sự sẵn sàng cao(High Availability) cho ứng dụng (không phải cho dữ liệu).
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 133.1.1.1 Server Clusters
Server Clusters được thiết kế cho những ứng dụng có trạng thái
long-running in-memory , chúng được gọi là Stateful Applications như là Microsoft SQL Server, email and messaging servers như là Microsoft
Exchange, file và print services Trong 1 server cluster, tất cả computer(node) được kết nối với một common data set như là một SCSI bus hoặcSAN Boi vì tat cả các node có thé truy xuat dén cung dir liéu, mot trongchúng có thé giải quyết yêu cầu từ Client vào 1 thời điểm Ban phải cau hình
cho mỗi node trong 1 server cluster ở trạng thái Active hoặc Passive Nút
Active nhận và xử lý yêu cầu từ Client
Ví dụ như ta cần cấu hình một Server Cluster đơn giản gồm 2computer déu chạy Window Server 2003 va Microsoft SQL Server, được két
nối trực tiếp đến cùng thiết bi Network Attached Storage (NAS) chứa file cơ
sở dữ liệu Một máy ở trạng thái Active, một máy ở trạng thái Passive.
Trong phần lớn thời gian node Active thực hiện chức năng bình thường,chạy ứng dụng cơ sở dit liệu, nhận yêu cầu từ database client và truy xuất dir
liệu trên thiết bị NAS Tuy nhiên, vì một lý do nào đó, nếu node Active bịfail thì node Passive sẽ detect ra lỗi này và node Passive sẽ trở thành node
active và xử lý yêu cầu tử Client, sử dung cùng file cơ sở dit liệu trên NAS
Hình 1 : Mô hình server cluster 2 máy đơn giản
Trang 14Một Server Cluster gồm có tên và địa chỉ IP Server Cluster phảibảo đảm rằng ứng dụng phải có độ sẵn sàng và có độ tin cậy cao.
Window Server 2003 Enterprise Edition va Window Server 2003Datacenter Edition đều hỗ trợ Server Clusters lên đến 8 node MicrosoftWindow 2000 Advanced Server hé tro chi 2 node va phién ban MicrosoftWindow 2000 Datacenter Server hé tro 4 node.Tuy nhién, Window Server
2003 Standard Edition và Windows 2000 Server đều không hỗ tro Cluster
Server.
Mac du Window Server 2003 Enterprise Edition va Window Server
2003 Datacenter Edition đều hỗ trợ Server Clustering nhưng bạn không thé
tạo một cluster với những may tình chạy cùng phiên ban hệ điều hành Tất cả
những node trong cluster có thể chạy Edition Edition hoặc DatacenterEdition.Tuy nhiên, ban có thé tao một cluster bang cach chay Windows
2000 Server trong Window Server 2003 Enterprise Edition hoac Window
Server 2003 Datacenter Edition.
3.1.1.2 Network Load Balancing (NLB)
Network Load Balancing (NLB) là 1 loại khác của clustering macung cap high availability va high reliability mà có thêm high scalability (sự
mở rộng) NLB dùng cho những ứng dụng không tồn tại lâu trong bộ nhớ,
những ứng dụng này được gọi là Stateless Application như là Web, FTP,
VPN servers.
Thay vi, trong một Server Cluster thì những server sẽ được kết nối
đến một đữ liệu độc lập thì trong NLB những server trong một NLB Cluster
sẽ có ban sao dữ liệu trên tất cả các node active Phần mềm clustering sẽphân chia yêu câu của client giữa các node
13
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 15Hình 2 : Mô hình NLB Cluster
NLB cung cấp sự mở rộng cho sự sẵng sàng cào và độ tin cậy caobởi vì khi bạn thêm nhiều server vào trong cluster thì traffic sẽ tăng lên.Window Server 2003 Enterprise Edition, Window Server 2003 Datacenter,Window Server 2003 Standard Edition đều hỗ tro NLB Cluster lên đến 32
computer
Lưu ý là rằng hiệu qua hoạt động của hệ thống Clustering phụ thuộcvào sự tương thích giữa các ứng dụng và dịch vụ, giữa phần cứng và phầnmềm, ta không thé triển khai Server Cluster hoặc NLB khi các node sử dụng
hệ điều hành khác nhau du cho hệ điều hành đó hỗ trợ hay không Kỹ thuậtClustering không thể chống lại các sự cố xảy ra do virus, sai sót của phầnmềm hay các sai sót do người sử dụng Dé chống lại các sự cố này cần xâydựng một cơ sở dữ liệu được bảo vệ an toàn cũng như có các kế hoạchbackup va restore dir liệu.
3.1.2 Cac ưu điểm của Clustering
Những ưu điểm của hệ thống Clustering là :
“+ Cung cấp tinh sang sàng cao (high availability)
Cung cap su sang sang cao cho cac tng dung va cac service ngay ca
khi các thành phan software hay hardware bị lỗi Khi một server trong Cluster
Trang 16bị fail, quyền sở hữu tài nguyên của nó như các 6 đĩa và địa chỉ IP sẽ tự độngchuyên đến một server khác còn hoạt động
* Cung cấp khả năng dé dàng mở rộng (scalability)Khi ứng dụng trong Cluster sử dụng tài nguyên hệ thống vượt quá khảnăng của nó, ta dễ dàng thêm node vào Cluster để đáp ứng nhu cầu truy cậphoặc dễ dàng thêm vào nhiều bộ xử lý (8 CPU cho Window Server 2003
Enterprise Edition , 32CPU cho Window Server 2003 Datacenter Edition) hay thêm bộ nhớ RAM (8 GB cho Window Server 2003 Enterprise Edition , 64 GB
cho Window Server 2003 Datacenter Edition) Server Clusters va NLB đều cógiải pháp mở rộng Clustering, điều đó có nghĩa là ta cần tăng hiệu suất khi công
ty ngày càng phát triển Dưới đây là 2 cách cơ bản để nâng cao hiệu suất của
Clusters :
e Scaling up : Nâng cấp hiệu năng của Server bang cách nâng cấpphần cứng của computer, thêm RAM, L2, nâng cấp vi xử lý nhanhhơn Khi nâng cấp bằng cách này thì cần chý ý là phải nâng cấp chotất cả các Server trong Cluster
¢ Scaling out : Thêm Server vào trong Cluster đã tồn tại Ca ServerCluster và Network Load Balancing đều có thể triển khai Scaling outnhưng đễ nhất là thêm nhiều Server vào trong NLB Cluster
Trong Network Load Balancing, thực hiện Scaling out Cluster thì đơn giảnbằng cách kết nối một Server mới vào trong mạng và thực hiện sao chép ứng
dụng và dữ liệu Một khi bạn thêm một Server mới vào trong Cluster, NLB sẽ
chia đều tiến trình được load cho các node
Scaling out một Cluster phụ thuộc vào cấu hình phần cứng mà bạn sử dụng.Triển khai Scaling out có thé gây tốn kém chi phi rất nhiều, vì vậy bạn phải tính
toán trước khi thực hiện
15
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 17Operating System Network Load Balancing Server Clusters
Windows Server 2003, 32 Not Supported
Windows 2000 Advanced Server 32
Windows 2000 Datacenter Server 32 4
ty
When scaling up a cluster, the operating system limitations are as follows:
Maximum Number of Operating System Processors Maximum RAM
Windows Server 2003, 2 4 GB
Standard Edition
Windows Server 2004, 8 32GB
Enterprise Edition Windows Server 2003, 32 64GB Datacenter Edition
Windows 2000 Advanced Server 8 8 GB
Windows 2000 Datacenter Server 32 64 GB
Hình 3 : Số lượng node tối đa trong 1 cluster ma hệ điều hành Window hỗ trợ
* Cung cấp độ tin cậy cao (reliability)
Độ tin cậy cao của hệ thống Cluster được hiểu là khả năng giảm thiểu
tan sô xảy ra các sự cô, nâng cao kha năng chịu đựng sai sót của hệ thong
s* Cung câp sự dễ dàng trong quản lý
Ta có thể dùng Cluster Administrator tools (trên Window Server 2003)
để quản lý một Cluster như là một hệ thống đơn và quản lý một ứng dụng khi
chúng chạy trên một server đơn Có thê di chuyển các ứng dụng giữa các serverkhác nhau bên trong một Cluster Có thể chuyền đổi lượng công việc giữa các
Trang 18giám sát trạng thái của Cluster, tât cả các node và tài nguyên từ bât kỳ nơi nào trong mạng.
3.1.3 Cấu trúc của Cluster
Nếu ta muốn triển khai nhiều hơn một ứng dụng với high availability , ta
cần quyết định phải có bao nhiêu Cluster mà muốn sử dụng.Trong Cluster tùytheo nhu cầu mà chúng ta có thé triển khai nhiều ứng dụng trên cùng 1 Clusterhay cài đặt trên mỗi node một ứng dụng, nói chung cấu trúc của một Cluster
không cô định nhưng chủ yếu chúng ta thay hữu ích nhất là các loại cau trúc
sau:
+ Trường hợp 1: Nếu ta triển khai 2 ứng dụng Stateful trên hệ thốngCluster thì có một phương pháp đơn giản là cài đặt 2 ứng dụng ấy vàomỗi nút của Cluster Ở cấu trúc này thì 2 ứng dụng trên cùng 1 Server
do đó nếu ứng dụng này bị lỗi thì sẽ ảnh hưởng đến ứng dụng kia, hiệuquả của hệ thống Cluster thấp
Server Server Server ServerHình 4 : Một Cluster có 2 ứng dụng chạy trên mỗi Server
17
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 19s* Trường hợp 2 : Tạo 2 hệ thống Cluster riêng lẻ , trong mỗi Clustercài đặt duy nhất một ứng dụng.Trong mô hình này, chức năng của mỗi
Cluster không phụ thuộc lẫn nhau và một Server bị lỗi thì chỉ ảnh
hưởng đến một ứng dụng Tuy nhiên, triển khai theo phương pháp nàythì sẽ cung cấp tính sẵn sàng tốt nhất nhưng chỉ phí triển khai rất tốn
kém do cân nhiêu Server hơn cách triên khai trên.
App 1 App 1 App 2 App 2
Server Server Server Server Hình 5 : Hai Cluster chạy 2 ứng dụng khác nhau
¢ Trường hợp 3 : Triển khai cả 2 ứng dụng trên cùng một Cluster, mỗi
node cai | ứng dụng nhưng khác với trường hợp | là sẽ có một Cluster
làm nhiệm vụ backup.Cụ thể hình sau cho ta thấy hệ thống này có một
node passive dùng làm backup và cài ca hai ứng dụng cua node | và
node 2 (2 node đang ở trạng thái active) Nếu một trong hai node này
bị lỗi thì node passive sẽ thay thế chức năng của node bị lỗi, chỉ khi cảhai node đều bị lỗi thì node passive sẽ chạy cả hai ứng dụng.Hệ thốngnày có hiệu quả hơn hai trường hợp trước.
Trang 20Hình 6 : Hai node Active được du phòng bởi node Passive
3.1.4 Hoạt động của Cluster
Mỗi máy chủ trong Cluster được gọi là một node (Cluster node) và có thê
được thiết lập ở chế độ chủ động (active) hay thụ động (passive) Khi một node
ở chế độ chủ động nó sẽ chủ động xử lý các yêu cầu Khi một node là thụ động,
nó sẽ nằm ở chế độ dự phòng nóng (standby) chờ dé sẵn sàng thay thế cho mộtnode khác nếu bị hỏng
Trong một Cluster có nhiều node có thể kết hợp cả node chủ động và
node thụ động Vì vậy việc quyết định một node được cấu hình là chủ động haythụ động là rất quan trọng Dé hiểu lý do tại sao hãy xem xét các tình huống
sau:
s* Nếu một node chủ động bi sự cố và có một node thụ động đangsẵn sang : Các ứng dụng và dịch vụ đang chạy trên node hỏng có thêlập tức được chuyển sang node thụ động Vì máy chủ đóng vai trò
node thụ động hiện tại chưa chạy ứng dụng hay dịch vụ gì cả nên nó
có thể gánh toàn bộ công việc của máy chủ hỏng mà không ảnh hưởng
gì đến các ứng dụng và dịch vụ cung cấp cho người dùng cuối (ngầmđịnh rằng các máy chủ trong Cluster có cấu trúc phần cứng giốngnhau).
19
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 21After Nodel Failure
* Nếu tất cả các máy chủ trong Cluster là chủ động và có một node
bi sự cố Các ứng dụng va dịch vụ đang chạy trên máy chủ hỏng sẽphải chuyển sang một máy chủ khác cũng đóng vai trò node chủ động
Vì là node chủ động nên bình thường máy chủ này cũng phải đảmnhận một số ứng dụng hay dịch vụ gì đó, khi có sự cố gì xảy ra thì nó
sẽ phải gánh thêm công việc của máy chủ hỏng Do vậy để đảm bảo
hệ thống hoạt động bình thường kể cả khi có sự cố thì máy chủ trongCluster cần phải có cấu hình dư ra đủ dé có thể gánh thêm khối lượng
công việc của máy chủ khác khi cân.
Trang 22Trong cấu trúc Cluster mà mỗi node chủ động được dự phòng bởi mộtnode thụ động, các máy chủ cần có cấu hình sao cho với khối lượng công việctrung bình chúng sử dụng hết khoảng 50% CPU và dung lượng bộ nhớ.
Trong cấu trúc Cluster mà số node chủ động nhiều hơn số node bị động,các máy chủ cần có cấu hình tài nguyên CPU và bộ nhớ mạnh hơn nữa để có
thể xử lý được khối lượng công việc cần thiết khi một node nào đó bị hỏng.
Các node trong một Cluster thường là một bộ phận của cùng một vùng(domain) và có thé được cấu hình là máy điều khiển vùng (Domain Controllers)hay máy chủ thành viên Lý tưởng nhất là mỗi Cluster nhiều node có ít nhất 2node làm máy điều khiển vùng và đảm nhiệm việc failover đối với những dịch
vụ vùng thiết yéu.Néu không như vậy thì khả năng sẵn sàng của các tài nguyên
trên Cluster sẽ bị phụ thuộc vào khả năng sẵn sàng của các máy điều khiểntrong domain.
3.1.5 Cluster với nhiều địa điểm phân tán
Với các hệ thông mạng lớn có các người dùng phân bố rải rác, hiệu quảcủa việc phòng chống sự cố và nâng cao tính sẵn sàng của mạng sẽ được cảithiện hơn nhiều nếu xây dựng hệ thống Cluster bó trí tại nhiều địa điểm Kiếntrúc của nhiều địa điểm có thể được thiết kế theo rất nhiều cách khác nhau,trong đó phổ biến nhất là có một điểm gốc và một số điểm ở xa
Triển khai phân tán Cluster theo địa lý cho phép ứng dụng vẫn sẵn sàng
thậm chí thảm hoa có thể xảy ra trên một tòa nhà hay cả một thành phó NhữngCluster Server ở những vùng địa lý khác nhau vẫn cho phép người dùng sử
dụng ứng dụng một cách cục bộ.
Triển khai phân tán Server Cluster theo địa lý có thể gặp nhiều vấn đề
phức tạp như: Cần một chỗ lưu trữ từ xa (SAN) mà cho phép những Server
trong Cluster có thê chia sẻ tài nguyên Có 2 kiểu thiết kế:
21
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 23* Kiểu thiết kế đầy đủ : toàn bộ cấu trúc của điểm gốc được xây dựnglại đầy đủ ở các điểm ở xa Điều này cho phép các điểm ở xa hoạtđộng độc lập và có thể xử lý toàn bộ khối lượng công việc của điểmgốc nếu cần Trong trường hợp này việc thiết kế phải đảm bảo sao cho
cơ sở dữ liệu, các ứng dụng giữa điểm gốc, các điểm ở xa phải đồng
bộ và được cập nhất sao lặp ở chế độ thời gian thực
* Kiểu thiết kế thực hiện từng phần : thì chỉ có các thành phan cơ bản
là được cài đặt ở các điểm xa nhằm xử ly các khói lượng công việc
quá tải trong các giờ cao điểm, duy trì hoạt động ở mức cơ bản trongtrường hợp điểm gốc bị sự cố, cung cấp một số dịch vụ hạn chế nếucan
Cả kiểu thiết kế đầy đủ hay từng phan đều dùng phương cách phân táncác máy chủ rải rắc về mặt địa ly Cluster phan tan vé mat dia ly su dung mangLAN ảo (Virtual LAN) dé kết nối các mang khu vực lưu trữ SAN (Storage AreaNetwork) qua những khoảng cách lớn Dé có thé duy trì hoạt động của Clustermột cách hiệu quả, yêu cầu đối với kết nối trong mạng LAN ảo phải có độ trễkhoảng dưới 500ms.
3.1.6 Sử dụng Clustering
Clustering được chia làm 2 loại: Server Cluster và NLB Vì thế để quyết
định dung Server Clustering hay Network Load Balancing cho những Cluster
thi thường dựa trên ứng dung mà ta sẽ chạy ứng dụng trên nó Tuy nhiên trongmột số trường hop dé triển khai Clustering thì cách tốt nhất là kết hợp những
loại khác nhau của những Cluster dé tạo thành một giải pháp High Availiability
Một vi dụ tốt nhất dé thực hiện thiết kế này là xây dựng một trang webthương mại điện tử mà cho phép người dùng Internet có thé đặt hàng sản phẩm.Vậy cần phải có Web Server (Stateless Applications) và có Database Server(Statefull Applications) dé lưu thông tin khách hàng, sản phẩm Trong trường
Trang 24hợp này ta xây dựng NLB Cluster cho Web Server và xây dựng Server Cluster cho Database Server.
- Microsoft Windows Server 2003 Enterprise Edition hoặc Windows Server
2003 Datacenter ban cài đặt trên tat cả các máy tinh trong nhóm
- Domain Name System (DNS), DNS dynamic update protocol, Windows Internet Name Service (WINS), HOSTS.
- Cần có một Domain
- _ Tất cả các node phải là join Domain thành công
- Một tài khoản thuộc nhóm Administrators trên mỗi node
Yêu cầu phần cứng
- Hai thành phan lưu trữ những thiết bị điều khiển: Small Computer System
Interface (SCSI) or Fibre Channel Một hệ thống local disk để cài đặt hệ
23
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 25điều hành trên máy điều khiển Một thành phan riêng biệt (PCI) điều khiển
lưu trữ cho đĩa được chia sẻ.
- HaiPCl adapter network trên mỗi node trong Cluster
- Cac loại cap lưu trữ dé gan các thiết bị lưu trữ được chia sẻ cho tất cả cácmáy tính.
- — Tất cả các phần cứng cần phải giống nhau, khe cho khe, thẻ cho thé, BIOS,
phiên bản, cho tat cả các nodes Điều này làm cho cau hình dé dàng hơn và
loại bỏ những vấn đề tương thích
Yêu cầu về Network
- Một tên Net BIOS duy nhất
- _ Địa chỉ IP tĩnh cho tat cả các giao điện mạng trên mỗi node
Lưu ý : Máy chủ Clustering không hỗ trợ việc sử dụng các địa chi ip từ
DHCP.
- Được kết nối đến DC Nếu các cụm dịch vụ không thé xác nhận tài khoảnngười dùng được sử dụng dé bat dau dịch vụ này, nó có thé gây ra Clusterkhông thành công Cần nên có một miền điều khiển trên cùng một khu vựcmạng (mạng LAN) như là Cluster dé đảm bao tính kha dụng
- _ Mỗi node phải có ít nhất hai card mạng-một cho kết nối vào mang public vàClient và một card private cho các node với node Một bộ chuyền đổi mạnglưới dành riêng private là bắt buộc đối với việc xác nhận HCL
- Tat cả các nodes phải có hoặc LANs hoặc là virtual LANs cho giao tiếppublic va private.
- Néu dang sử dụng mang fault-tolerant network cards hoặc network adapterteaming Cần kiểm tra với nha sản xuất bộ chuyên đổi mang cho các nhóm
tương thích.
Trang 26Yêu cầu về 6 dia chia sẻ
Một HCL-chấp thuận bên ngoài đĩa lưu trữ tất cả các đơn vị kết nối vớimáy tính Điều này sẽ được sử dụng như chia sẻ clustered đĩa Tất cả cácđĩa được chia sẻ, bao gồm cả việc quorum disk, thể chất phải được đínhkèm vào một share bus.
Việc chia sẻ các đĩa phải được tiễn hành trên một trình điều khiển khácnhau sau đó được sử dụng bởi một hệ thống 6 đĩa
Tạo nhiều 6 đĩa logic ở cấp độ phan cứng trong RAID đó là cau hình được
đề nghị thay vì sử dụng một đĩa logic có nghĩa là sau đó chia thành nhiềuphân vùng, ở cấp độ hệ điều hành Điều này là khác nhau từ các cấu hìnhthường được sử dụng để đứng một mình máy chủ Tuy nhiên, nó cho phép
có nhiều đĩa để làm nguồn tài nguyên và Active / Active cấu hình và tự cânbằng tải trên những node trong cụm
Một đĩa dành riêng với một kích thước tối thiểu là 50 MB (MB) để sử dụngnhư là quorum device Một phân vùng có ít nhất 500 MB là được dé nghịcho hệ thống tập tin NTFS, tối ưu hiệu suất
Xác minh rằng các đĩa gắn vào bus được chia sẻ có thể nhìn thấy từ tất cảcác nodes Điều này có thể được kiểm tra tại máy chủ bộ chuyền đổi cấp càiđặt Tham khảo tài liệu hướng dẫn của nhà sản xuất cho bộ chuyền đổi cụ
thê hướng dẫn
Thiết bi SCSI phải được chỉ định SCSI duy nhất nhận diện số và cham dittđúng theo hướng dẫn của nhà sản xuất
Tất cả các đĩa được chia sẻ phải được cấu hình như basic disk
Phần mềm fault tolerance không phải là natively hỗ trợ trên cụm những đĩa
Trang 27- _ Tất cả các phân vùng trên đĩa clustered phải được định dạng NTFS.
- — Cấu hình fault-tolerant RAID được đề nghị cho tất cả các đĩa
- Ít nhất một trong hai 6 đĩa chia sẻ được khuyến khích
3.2 Network Load Balancing
Network Load Balancing (cân bằng tải mạng): là một loại khác của kỹ thuậtClustering có khả năng chia tải và nâng cao khả năng chịu lỗi của hệ thông được tốt
hơn NLB được dùng cho các ứng dung Stateless Application (các ứng dụng hoạt
động mang tính nhất thời) như Web, File Transer Protocol (FTP), Virtual PrivateNetwork (VPN), DHCP Mỗi khách hàng yêu cầu một giao dịch riêng biệt vì vậy
nó có thé phân phối các yêu cầu trong nhiều máy chủ dé thực hiện việc truyền tải.NLB mở rộng hiệu năng của các Server ứng dụng, chăng hạn như Web Server,
nhờ phân phối các yêu cầu của Client cho các Server trong nhóm (Cluster) CácServer đề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 VD: một trình duyệt Web cần rất nhiều hìnhảnh trên một trang Web được lưu trữ tại nhiều host khác nhau trong một nhómServer Với kỹ thuật cân bằng tải quá trình xử lý và thời gian đáp ứng Client sẽnhanh hơn nhiều
Là loại thứ hai của Cluster được hỗ trợ trong Windows Server 2003, NLB dễ
dàng nhất dé cài đặt, cau hình và triển khai Ta có thé sử dung phan cứng và nhữngứng dụng đã có trong máy tính và không cần cài đặt thêm phần mềm
3.2.1 Hoạt động của NLB
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 sẽ lựa chon và xử lý một phan tải của host Tải do các client gửi đến
được phân phối sao cho mỗi server nhận được số lượng các yêu cầu theo đúng
Trang 28tham gia vào hoặc rời khỏi nhóm Đối với các ứng dụng như Web server, có rấtnhiều client và thời gian mà các yêu cầu của client tồn tại tương đối ngắn, khảnăng của kỹ thuật này nhằm phân phối tải thông qua ánh xạ thống kê sẽ giúp cânbang một cách hiệu quả các tải và cung cấp khả năng đáp ứng nhanh khi nhóm
server có thay đồi
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áotrạng thái hoạt động của nó (gọi là heartbeat message) tới các host khác trongnhóm đồng thời nghe bản tin này từ các host khác Nếu một server trong nhómgặp trục trặc, các host khác sẽ điều chỉnh và tái phân phối lại tải để duy trì liêntục các dịch vụ cho các client Trong phần lớn các trường hợp, phần mềm clientthườ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 khinhận được đáp ứng trả lời.
Thay vì được kết nối với một nguồn dit liệu trong 1 cụm máy chủ,cácmáy chủ trong một NLB cluster được đồng bộ dữ liệu với nhau và tất cả cácnodes đều hoạt động
NLB rõ ràng không thích hợp đối với các ứng dụng hoạt động thường
xuyên trong thời gian dai (Stateful application) như cơ sỡ dữ liệu và email-server
bởi vì các node trong cụm không chia sẻ cùng 1 dit liệu Nếu 1 trong những máychủ trong 1 NLB cluster nhận được 1 dữ liệu mới dé thêm vào cơ sở dữ liệu, cácmáy chủ khác sẽ không có quyền truy cập vào dữ liệu đó cho đến khi cơ sở dữliệu được nhân bản Có thé nhân bản dữ liệu giữa các máy chủ trong 1 NLBcluster, ví dụ để ngăn chặn các quản trị viên cần phải có bản sao các trang web
đã được thay đổi cho từng máy chủ Tuy nhiên việc nhân bản này là 1 sự kiện
không thường xuyên, không liên tục xuất hiện
NLB cung cấp tính mở rộng ,thêm vào tinh sẵn sàng và độ tin cậy cao,bởi
vì tất cả việc phải làm khi mà lưu lượng truy cập tăng nhanh là việc thêm vàonhững máy chủ cho Clusters Mỗi máy chủ sau đó xử lý số lượng nhỏ các yêucầu Windows Server 2003 Standard Edition, Windows Server 2003 Enterprise
27
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 29Edition và Windows Server 2003 DataCenter Edition tất cả đều hỗ trợ NLBclusters lên đến 32 máy tính.
1 NLB clusters có thé lên đến 32 máy chủ ,gọi tắt là các host, một trong
số đó chạy bản sao ứng dụng mà chúng ta muốn cluster đó cung cấp cho khách
hàng NLB hoạt động bang cách tao ra trên mỗi máy chủ một bộ chuyên đổi
mạng ảo (Virtual Network Adapter) mà đại diện cho Clusters như là một tô chức
duy nhất và nó độc lập với địa chỉ thật của card mạng
Mỗi Virtual Network Adapter có một địa chỉ IP và một địa chỉ MAC Khi
Client gởi yêu cầu đến Cluster thì địa chỉ IP của Cluster được sử dụng, mà khôngphải là địa chỉ IP của một host nào Khi Cluster nhận được yêu cầu từ Client,mỗi host trong Cluster sẽ nhận yêu cầu Dịch vụ Network Load Balancing đang
chạy trên mỗi host có chức năng như là màng lọc giữa Cluster Adapter vàComputer’s TCP/IP Stack Mang lọc này cho phép NLB tính toán host nao trong
Cluster sẽ xử lý yêu cầu của Client
Mỗi host sẽ thực hiện cùng một cách tính toán không phụ thuộc nhau, và
quyết định là có xử lý yêu cầu này hay không Thuật toán mà host sử dụng chỉthay đôi khi có một host mới được thêm vào hay loại bỏ ra Cluster
Trang 303.2.2 Các chế độ hoạt động của NLB
NLB có hai chế độ hoạt động: chế độ Unicast và chế độ Mulitcast, được
trình bày ngay sau đây:
* Chế độ UnicastMặc định sẽ là chế độ unicast Trong chế độ này, địa chỉ MAC của mỗiadapter mạng của máy chủ sẽ được thay đổi thành địa chi MAC của nhóm ảo,đây chính là địa chỉ MAC sẽ được sử dụng bởi tất cả các máy chủ trong
Windows NLB cluster
Các máy chủ không sử dụng địa chỉ MAC ban đầu của máy tính tại tất
cả những địa chỉ Khi chế độ unicast được kích hoạt, các máy khách chỉ có thé
kết nôi với các may chủ bang dia chi MAC của nhóm.
Tất cả các host trong nhóm được gan cùng 1 địa chi MAC Dé đảm bảotính duy nhất, địa chỉ MAC được dẫn xuất từ địa chỉ IP chính của nhóm Ví dụ,với địa chỉ IP chính của nhóm là 1.2.3.4, địa chỉ MAC unicast được đặt là 02-BF-1-2-3-4 Trình điều khiển cân bằng tai sẽ tự động sửa dia chỉ MAC của cardnhóm bằng cách thiết lập một thực thé đăng ký và tái nạp trình điều khiển cardnhóm Hệ điều hành không cần phải khởi động lại
Nếu các host trong cluster được gắn vào một thiết bị chuyển mạch
(swicth) chứ không phải một bộ tập trung (hub), việc sử dụng chung một địa chỉMAC sẽ gây ra xung đột do các chuyên mạch lớp 2 chỉ có thé hoạt động khi các
địa chi MAC nguồn trên tat cả các công của thiết bị chuyển mach là duy nhất
Đề tránh điều này, NLB sửa địa chỉ MAC nguồn cho các gói đầu ra là duy nhất,dia chỉ MAC của nhóm là 02-BF-1-2-3-4 được chuyên thành 02-h-1-2-3-4,
trong đó h là mức ưu tiên của host trong nhóm.Kỹ thuật này ngăn không cho
29
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 31thiết bị chuyền mạch tìm ra địa chỉ MAC thực sự của nhóm và kết quả là cácgói đến nhóm được phân phối tới tat cả các công của thiết bị chuyên mach.
Chế độ unicast của NLB có thể làm vô hiệu hoá quá trình trao đôi thông
tin giữa các host trong nhóm có sử dụng card nhóm Khi các gói của một hostđược gửi đi với địa chỉ MAC đích giống địa chỉ MAC nguồn, các gói này sẽ bịquay vòng (loop-back) giữa các tầng giao thức mạng bên trong hệ thống phíagửi và không bao giờ ra đến đường truyền Hạn chế này có thê tránh được bằngcách thêm một card mang thứ hai cho mỗi host Trong cau hình này, NLB sửdụng một card mạng trên mạng con nhận các yêu cầu của client và một card
mạng khác thường được đặt tách biệt trên mạng con cục bộ dé trao đôi thông tin
giữa các host trong nhóm và với các server cơ sở dữ liệu cũng như các fileserver gốc NLB chỉ sử dụng card nhóm dé truyền các bản tin "heartbeat" và lưulượng điêu khiên từ xa.
% Chú ý rang, trao đôi thông tin giữa các host trong nhóm và các hostngoài nhóm không bao giờ bị ảnh hưởng bởi chế độ unicast của NLB Lưulượng mạng đến một địa chỉ IP dành riêng cho host (trong card nhóm) đượcnhận bởi tất cả các host trong nhóm do chúng sử dụng chung một địa chỉ MAC
Do NLB không bao giờ cân bằng tải lưu lượng đối với các địa chỉ IP dành
riêng, NLB sẽ lập tức phân phối lưu lượng này đến TCP/IP trên host đã định
Các host khác trong nhóm coi lưu lượng này là lưu lượng đã được cân bằng tải
và sẽ loại bỏ lưu lượng này Chú ý, nếu lưu lượng mạng đến quá lớn đối với cácđịa chỉ IP dành riêng có thể ảnh hưởng đến hiệu năng khi hệ thống NLB hoạtđộng trong chế độ unicast (tuỳ theo sự cần thiết đối với TCP/IP trong việc loại
bỏ các gói không mong muôn).
Trang 32* Chế độ MulticastVới Windows NLB cluster được cấu hình trong chế độ multicast , địa
chi MAC trong trường hợp này sẽ được bổ sung thêm vào adapter nhóm của
mỗi máy chu trong nhóm Lưu ý rằng “được bổ sung” ở đây là mỗi máy chủđều duy trì sẵn các địa chỉ MAC sốc của chúng Ví dụ, địa chỉ MAC multicast
sẽ được gan là 03-BF-1-2-3-4 tương ứng với địa chỉ IP chính là 1.2.3.4 Do mỗihost trong nhóm có một địa chỉ trạm làm việc duy nhất, chế độ này không cần
một bộ card mạng thứ hai dé trao đôi thông tin giữa các host trong nhóm và nócũng không có bất cứ ảnh hưởng nào đến hiệu năng của toàn hệ thống do việc
sử dụng các địa chỉ IP dành riêng.
Chế độ unicast của NLB gây ra tràn trên switch do sự phân phối
đồng thời lưu lượng mạng trên tất cả các công Tuy nhiên, chế độ multicast của
NLB đưa ra cơ hội hạn chế tràn switch để người quản trị hệ thống có thé cấuhình một mạng LAN ảo trên switch cho các cổng tương ứng với các host Có
thé làm được điều nay bằng cách lập trình cho switch hoặc sử dụng giao thứcIGMP hoặc giao thức GARP, GMRP.
Một Windows NLB cluster, dù được cấu hình ở chế độ nao cũng
van sẽ làm việc với adapter mạng đã được cài đặt trên mỗi máy chủ, nhưng nêncài đặt adapter mạng thứ hai trong mỗi máy chủ dé thực hiện tối ưu hóa hiệu
suất và phân tách lưu lượng mạng
3.2.3 Qua trình hội tu (convergence)
Cac host trong nhóm trao đôi định kỳ các bản tin "heartbeat" multicast
hoặc broadcast với nhau Điều này cho phép các host có thể giám sát trạng tháicủa nhóm Khi trang thái của nhóm thay đôi (chang hạn như khi có host gặp
trục trặc, rời khỏi hoặc tham gia vào nhóm), NLB kích hoạt một chu trình gọi là
31
GVHD : TS Pham Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 33hội tụ trong đó các host trao đổi bản tin "heartbeat" để định ra một trạng tháimới, bền vững cho nhóm Khi tất cả các đạt được sự "nhất trí" trạng thái mớicủa chúng sẽ được thiết lập và những thay đổi này sẽ được lưu vào nhật ký sựkiện.
Trong quá trình hội tụ các host tiếp tục xử lý lưu lượng mạng đến nhưmọi khi ngoại trừ lưu lượng đến host bị lỗi không nhận được dịch vụ Quá trình
hội tụ kết thúc khi tất cả các host trong nhóm có được một quan hệ thành viên
ồn định trong vòng một vài chu kì heartbeat
Khi hoàn thành quá trình hội tụ, lưu lượng đến host bị lỗi sẽ được tái phânphối cho các host còn lại Nếu một host được thêm vào nhóm, quá trình hội tụ
cho phép host này nhận được phần tải của nó trong lưu lượng đã được cân bằng
Việc mở rộng nhóm không ảnh hưởng đến các hoạt động của nhóm và theo mộtcách hoàn toàn trong suốt đối với tất cả các Internet client cũng như trước cácchương trình phần mềm server Tuy nhiên, nó có thé ảnh hưởng đến các phiênclient vì các client có thé phải tái ánh xạ tới các host khác trong nhóm
Trong chế độ unicast, mỗi host sẽ phát quảng bá (broadcast) bản tin
"heartbeat" theo chu kỳ Còn trong chế độ multicast, nó sẽ phát các bản tin này
ở chế độ multicast Mỗi bản tin "heartbeat" chiếm một khung Ethernet và đượcgan thêm địa chỉ IP chính của nhóm nhằm cho phép nhiều nhóm có thé cùng tồntại trên cùng một mang con Bản tin "heartbeat" của NLB cua Microsoft được
gan một giá tri Ox886F Chu ky gửi các ban tin này mặc định là 01 giây Giá tri
này có thé thay đồi Trong quá trình hội tụ, chu kỳ này được giảm xuống chicòn một nửa để đây nhanh việc hoàn tất quá trình này Thậm chí, đối với cáccluster lớn, băng thông cần thiết dé truyền các bản tin "heartbeat" rất thấp(24kBytes/s cho một cluster 16 đường) Đề có thê khởi tạo quá trình hội tụ, theomặc định cần 05 bản tin heartbeat không được nhận Gia tri này có thé thay đôi
Trang 343.2.4 Thuật toán cân bằng tải
Thuật toán cân bằng tải tạo nhiệm vụ cho những thành viên của dãy NLBdựa trên số gói tin đi vào theo đơn vị thời gian NLB không ước định CPU haydung lượng tải trên bất kỳ thành viên nào của dãy NLB khi thực hiện việc cânbằng tải những kết nối đi vào bằng cách nào Khi chỉ định tải cân xứng đến cácthành viên trong dãy, vì thuật toán cân bằng tải trên mạng không lấy nhữngnhân tố trong account Tải cân xứng được cấu hình trên từng qui tắc công (ruleport) cơ bản.
Thuật toán co bản NLB sử dụng địa chỉ IP nguồn và những thông tin cổngtrên những yêu cầu đi vào và thực hiện 1 cách lộn xộn trên kết quả Kết quả giátrị băm (hash) kết hợp với số ID của máy Từng thành viên trong dãy được chỉđịnh số ID của máy Gói tin được chuyền về máy với số ID của máy giống như
số ID của máy đưược chỉ định trong giá trị băm của gói tin Tuy nhiên, qui tắc
công (port rule) và mối quan hệ của sự thiết lập có thể tự điều chỉnh việc thuật
tóan chỉ định gói tin đi vào thế nào và xác định "sự khó khăn " khi kết hợp giữa
client và thành viên dãy NLB.
Quan hệ giữa các máy tính trong NLB là quan hệ giữa máy tính nguồnvới các máy tính khác.Trong NLB có 3 loại quan hệ: không quan hệ (none), độc lập (single) và lớp C (Class C).
s* Không quan hệ (None)
Gói tin đi vào có thé gửi đến bat kỳ máy nào trong cluster bằng cách sửdụng thuật toán NLB Số của cổng nguồn va địa chi IP của client bên ngòai
được sử dụng dé xác định rõ thành viên nào của dãy NLB nhận gói tin Những
thành viên khác nhau của day có thé điều khiển những yêu cầu từ những địa chỉ
IP client giống nhau với điều kiện là số của cổng nguồn (source port number)trong mỗi gói tin khác nhau Thiết lập phan Affinity là "None" được sử dụng
33
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 35trong chế độ "không bức tường lửa - non firewall" liên quan đến NLB cluster có
sử dụng Web public Khi sử dụng qui tac (rule) Web Publishing, địa chi IPnguồn luôn luôn giống nhau, vì vậy cân bằng tải xác định dựa trên số cổng củayêu cầu đi vào đến dãy NLB được public Chúng ta không nên sử dụng chứcnăng này khi cấu hình ISA Server nhưng khi public 1 NLB Web Server trên
mang cục bộ thì nên chon mối quan hệ (affinity) này.
s* Độc lap (Single)
Dia chi IP chi sử dụng dé xác định việc client yêu cầu được cân bang tảigiữa các thành viên cluster như thế nào Khi sử dụng Single, địa chỉ IP nguồnluôn được gửi cùng server trong cluster giống nhau Nó cho phép tất cả các kếtnối trên cùng địa chỉ IP của máy thuộc hệ thống mạng bên ngoài kết nỗi cùngserver trong dãy NLB Điều này rất quan trọng trong trường hợp cần bảo trì các
phiên làm việc giữa client và thành viên của dãy, ví dụ khi client tạo kết nối
VPN Không thực hiện được kết nối chế độ mối quan hệ "Không - None" vớiPPTP VPN, vì bạn cần cả hai GRE và TCP chỉ định trên cùng server Nếu họ
được chỉ định những server khác nhau trong dãy, liên kết VPN không được thiết
lập Kết nối với SSL cũng tương tự như vậy SSL cần liên kết với 1 máy ISAServer độc lập vì nhiều yâu cầu kết nối sẽ được gửi thông qua việc thành lậpkênh SSL Tương tự như ví dụ VPN Server, nó không tạo ra liên kết SSL với 1ISA Server và yêu cầu kết nối cân bằng tải giữa tất cả server trong dãy
Trang 36với địa chỉ IP bên ngoài trong dãy C của ID mạng Vi dụ, địa chỉ IP
222.222.222.10 và 222.222.222.69 được chỉ định đến cùng thành viên dãy NLB
vì 24 bit trước của địa chỉ IP giống nhau
3.3 Tống quan các hệ thống lưu trữ
Hai công nghệ chính được dùng đề kết nối Server tới hệ thống lưu trữ đữ liệu là :
e DAS
e SAN
Ta sẽ tìm hiéu những khái niệm co bản nhất về hai công nghệ này
“* DAS (direct attached storage)
Hai kiểu kết nối tới hệ thống lưu trữ đữ liệu như bên dưới thường được
gọi chung là DAS
“+ SAN (Storage Area Network)
35
GVHD : TS Pham Van Tinh SVTH : Cường-Hồ-Nguyên
Trang 37SAN là hệ thống trong đó các thiết bị lưu trữ được tổ chức thành mộtmạng riêng, tách rời khỏi hệ thống LAN SAN là một mạng có tốc độ cao dànhriêng cho việc lưu và quản trị dữ liệu, bao gồm các công nghệ phần cứng, phần mềm
và các thành phần kết nối mang khác để cung cấp các kết nối giữa các server vàthiết bị lưu trữ
ne a liên Admin console
Serer “~ Tape Backup
Admin console
Hình 10 : Mô hình SAN
SNIA định nghĩa SAN là một hệ thống mạng với mục đích chính làchuyển tải data giữa hệ thống máy tính và các thành phan lưu trữ SAN bao gồmmột cơ sở hạ tang truyền thông, cung cấp các kết nối vật lý và một tang quản trị, t6chức các kết nối, các thành phần lưu trữ và hệ thống máy tính nhằm bảo đảm việc
truyền tai data được bảo mật và mạnh mẽ
Trang 38Hình 11 : Mô hình kết nối hệ thống máy tính với thành phần lưu trữ
Tuy theo nghỉ thức truyền tải dòng dit liệu SCSI, có thé chia SAN thành 2 loại:
e Fibre Channel SAN (FC-SAN): Fibre channel được thiết kế để dànhriêng cho việc truyền tải dữ liệu dạng khối (tương phản với mạng IPtruyền tải đữ liệu ở mức độ file) Ngày nay, fibre channel được dùngchủ yếu cho mục đích truyền tai dong dit liệu SCSI trong các hệ thốngSAN và các hệ thống SAN dùng fibre channel được gọi là FC-SAN
e IP-SAN: Người ta đã định nghĩa một giao thức mới gọi là iSCSI để
cho phép dòng dữ liệu SCSI được đóng gói và truyền tải trên mạngTCP/IP truyền thống Một mạng IP dành riêng cho mục đích này được
gọi là IP-SAN.
Thiết bị lưu trữ SAN storage cho phép khắc phục các nhược điểm đồng thời bổ sung
và tăng cường nhiều tính năng cần thiết cho các hệ thông lưu trữ :
e Tang tính mở rộng: Cho phép nhiều server, cluster server hơn đồngthời kết nối và dùng chung không gian lưu trữ
37
GVHD : TS Phạm Văn Tính SVTH : Cường-Hồ-Nguyên
Trang 39e Tang tính lưu động của hệ thống: cho phép các hoạt động như đồng
bộ hóa dữ liệu giữa các trung tâm cơ sở dữ liệu, di dời dữ liệu sang
e Khả nang quản trị không gian lưu trữ hiệu qua và mạnh mẽ:
nhanh chóng phân phối, thu hồi và thay đổi không gian lưu trữ cho cácserver mà không phải dừng các server này như đối với các hệ thốnglưu trữ đĩa cứng truyền thống
SAN cung cấp các phương pháp mới cho việc bổ sung thêm tài nguyênlưu trữ cho các server Các phương pháp mới này cũng giúp tăng cường hiệu suất và
nâng cao tính san sàng của toàn bộ hệ thống Ngày nay, SAN được dùng chủ yếu dé
kết nói các hệ thống lưu trữ và hệ thống sao lưu dự phòng cho nhiều server và được
dùng bởi các cluster server cho mục dich nâng cao tính chịu lỗi và tính sẵn sàng của
hệ thống thông tin của doanh nghiệp
Bên dưới là các mô hình của một hệ thống SAN đang được áp dụng phốbiến tại các doanh nghiệp vừa và nhỏ tại Việt Nam
Trang 40Windows Windows
Backup Server
Hình 12 : Mô hình SAN thực tế trong doanh nghiệp
Với những ưu điểm nổi trội SANs đã trở thành một giải pháp rat tốt cho
lưu trữ thông tin cho doanh nghiệp hay tổ chức SAN cho phép kết nối từ xa tới cácthiết bị lưu trữ trên mạng như: Disks và Tape drivers Các thiết bị lưu trữ trên mạng,hay các ứng dụng chạy trên đó được thê hiện trên máy chủ như một thiết bị của máy
chu (as locally attached divices)
GVHD : TS Pham Van Tinh SVTH : Cường-Hồ-Nguyên