… Và đây chính là lúc mà Load Balancing thể hiện vai trò của mình.- Khi máy chủ down hoặc không thể xử lý, một Load Balancer sẽ được bổ sung.. Lợi ích của load balancing Hình 1.1 – Không
Trang 1C AHNỒ GCHIAÍ NMGINH KTHROƯAỜNCGÔNĐGẠINHGỌHCỆ ATNHÔGNIAGNTGIN KHOA CÔNG
NGHỆ THÔNG TIN
QUẢN TRỊ MẠNG LOAD BALANCING & CLUSTER
LOAD BALANCING & CLUSTER
Giảng viên hướng
dẫn: Lê Hoàng Anh 1. Võ Sinh viên thực hiện: Hồng Ngọc
Trang 2TRƯỜNG ĐẠI HỌC AN GIANG KHOA CÔNG NGHỆ THÔNG TIN
Tiểu luận môn Quản trị mạng
LOAD BALANCING & CLUSTER
Giảng viên hướng
dẫn:
Lê Hoàng Anh
Sinh viên thực hiện:
Trang 3BẢNG PHÂN CÔNG CÔNG VIỆC
Võ Hồng Ngọc DH19TH2 DTH185328 Word 20%, demo 50%Nguyễn Huỳnh Lợi DH19TH2 DTH185461 Word 40%, demo 25%Trương Thị Ngọc Hân DH19TH2 DTH185264 Word 40%, demo 25%
3
Trang 4MỤC LỤC
Lời mở đầu 3
Các ký hiệu và chữ viết tắt 4
Danh mục các hình 5
Phần 1: Tổng quan 6
I Load Balancing 6
1 Load Balancing 6
2 Lợi ích của Load Balancing 6
3 Các giao thức 7
4 Health Checks 7
5 Các thuật toán 8
6. -Cách Load Balancing xử lý trạng thái - 10
7 Load Balancer dự phòng 10
II Cluster 11
1 Cluster – Nghĩa của từ Cluster -11
2 Phân loại Cluster 12
3 Các loại Cluster máy tính
12 4 Ưu điểm của việc dùng Cluster -13
5 Thiết kế Cluster 13
6 Tính mở của Cluster 14
Phần 2: Cài đặt 16
I Network Load Balancing 16
1 Yêu cầu 16
2 Cài đặt cấu hình Network Load Balancing -16
3 Kiểm tra kết quả 21
II Failover Clustering 22
1 Yêu cầu
22 2 Cài đặt cấu hình Failover Clustering -22
Phần 3: Các tài liệu tham khảo 25
Phần 4: Kết luận 25
Trang 5LỜI MỞ ĐẦU
Trong những năm gần đây, xã hội ngày càng hiện đại cùng với đó là sự pháttriển vượt bậc của công nghệ điện tử và mạng xã hội Chúng ta thường xuyên tiếp cậncác thiết bị điện tử và mạng xã hội internet để phục vụ nhu cầu giải trí và làm việc vàhọc tập Nó có thể giúp ta kết nối với những bạn bè, người thân thông qua các mạng xãhội như: Facebook, Twitter, Google+,… Nhờ có mạng xã hội mà bạn có thể giao tiếpđược với mọi người ở mọi nơi trên thế giới từ đó có thể giúp cho ta xây dựng đượcnhững mối quan hệ tốt đẹp Nó cũng là kho chứa đựng những kiến thức khổng lồ Cóthể giúp cho chúng ta tìm kiếm những thông tin, tư liệu được nhanh chóng và dễ dàng,cập nhật những tin tức dù mới hay đã cũ Chúng ta cũng có thể tìm kiếm một vấn đềnào đó mà ta quan tâm bằng cách tiềm kiếm trên Google sẽ có rất nhiều trang web hiện
ra chứa đựng những thông tin liên quan Không những thế đây cũng là một kênh PRcông ty, doanh nghiệp vô cùng hiệu quả, đem lại nhiều lợi ích cho các công ty, doanhnghiệp có thể tìm kiếm được những khách hàng tiềm năng hay những hợp đồng làm ănđược nhiều người biết đến và mở rộng không gian kinh doanh Quan trọng hơn là nhucầu làm việc liên quan đến máy tính ngày càng nhiều nên đặc biệt chú trọng vào cáctính năng tiện ích mà hệ thống máy tính mang lại
Bên cạnh nhiều tiện ích mà nó đem thì còn những vấn đề cần phải giải quyếtnhư người dùng kết nối trực tiếp đến web server, nếu web server duy nhất này gặp vấn
đề, người dùng sẽ không thể truy cập vào website được nữa Ngoài ra, nếu có nhiềungười dùng cố gắng truy cập vào server cùng một lúc thì sẽ xảy ra quá tải, không kịp
xử lí, khiến thời gian tải website chậm đi hoặc kết nối bị gián đoạn Hay những serverriêng lẻ được kết nối với nhau đồng thời hoạt động lại cùng nhau trong 1 hệ thống Do
đó, ta thêm vào load balacing & cluster để có thể khắc phục những hạn chế này Vì lý
do trên nên chúng em đã quyết định lựa chọn đề tài đồ án lần này là Load balancing &Cluster
Trang 6CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
HĐH – Hệ điều hành
GPU – Graphics Processing Unit: Bộ xử lý đồ họa
UDP – User Datagram Protocol: Một trong những giao thức cốt lõi của giao thức TCP/IP
SSL – Secure Sockets Layer: Một tiêu chuẩn an ninh công nghệ toàn cầu tạo ra một liên kết giữa máy chủ web và trình duyệt
DNS – Domain Name System: Hệ thống phân giải tên miền
IAAS – Infrastructure As A Service
PAAS – Platform As A Service
TCP – Transmission Control Protocol
WRR – Weighted Round Robin
DRR – Dynamic Round Robin
Trang 7DANH MỤC CÁC HÌNH
Số hiệu hình vẽ Tên hình vẽ Trang1.1 Không có Load Balancing 61.2 Load Balancing xử lý trạng thái 101.3 Load Balancer dự phòng 10
2.1 – 2.11 Các bước cài đặt Network Load Balancing 16 – 202.12 – 2.13 Kiểm tra kết quả 212.14 – 2.20 Các bước cài đặt Failover Cluster 22 – 25
Trang 8… Và đây chính là lúc mà Load Balancing thể hiện vai trò của mình.
- Khi máy chủ down hoặc không thể xử lý, một Load Balancer sẽ được bổ sung Ngườidùng truy cập vào load balancer Tiếp tục được chuyển đến một máy chủ khác để thựchiện tác vụ Dù máy chủ chính bị down hoặc nghẽn thì tất cả các yêu cầu của ngườidùng đều được giải quyết
2 Lợi ích của load balancing
(Hình 1.1 – Không có Load Balancing)
Không có Load Balancing rất dễ gặp các vấn để về bảo mật
- Uptime:
Với Load Balancing, khi máy chủ gặp sự cố, lưu lượng truy cập sẽ được tựđộng chuyển đến máy chủ còn lại Nhờ đó, trong hầu hết mọi trường hợp, sự cố bấtngờ có thể được phát hiện và xử lý kịp thời, không làm gián đoạn các truy cập củangười dùng
- Datacenter linh hoạt:
Trang 9Khả năng linh hoạt trong việc điều phối giữa các máy chủ cũng là một ưu điểmkhác của Load Balancing Tự động điều phối giữa các máy chủ cũ và mới để xử lý cácyêu cầu dịch vụ mà không làm gián đoạn các hoạt động chung của hệ thống.
- Bảo mật cho Datacenter:
Bằng cách sử dụng Load Balancing, những yêu cầu từ người dùng sẽ được tiếpnhận và xử lý trước khi phân chia đến các máy chủ Đồng thời, quá trình phản hồicũng được thông qua Load Balancing, ngăn cản việc người dùng giao tiếp trực tiếp vớimáy chủ, ẩn đi thông tin và cấu trúc mạng nội bộ, từ đó chặn đứng những cuộc tấncông mạng hay truy cập trái phép…
3 Các giao thức mà Load Balancing có thể xử lý
UDP Load Balancer cung cấp độ trễ thấp cho các ứng dụng trực tuyến
Có 4 loại giao thức chính mà quản trị Load Balancer có thể tạo quy định chuyểntiếp:
- HTTP: dựa trên cơ chế HTTP chuẩn, HTTP Balancing đưa ra yêu cầu tác vụ
Load Balancer đặt X-Forwarded-For, X-Forwarded-Proto và tiêu đề X-Forwarded-Portcung cấp các thông tin backends về những yêu cầu ban đầu
- HTTPS: các chức năng tương tự HTTP Balancing HTTPS Balancing được bổ sung
mã hóa và nó được xử lý bằng 2 cách: passthrough SSL duy trì mã hóa tất cả conđường đến backend hoặc: chấm dứt SSL, đặt gánh nặng giải mã vào load balancer vàgửi lưu lượng được mã hóa đến backend
- TCP: trong một số trường hợp khi ứng dụng không sử dụng giao thức HTTP hoặcHTTPS, TCP sẽ là một giải pháp để cân bằng lưu lượng Cụ thể, khi có mộtlượng truy cập vào một cụm cơ sở dữ liệu, TCP sẽ giúp lan truyền lưu lượng trên tất cảcác máy chủ
- UDP: trong thời gian gần đây, Load Balancer đã bổ sung thêm hỗ trợ cho cân bằng tảigiao thức internet lõi như DNS và syslogd sử dụng UDP
Các quy tắc chuyển tiếp sẽ xác định loại giao thức và cổng vào LoadBalancer để di chuyển đến các giao thức Cổng Load Balancer lúc này được sử dụng
để định tuyến lưu lượng trên backend
4. Health Checks
Có thể hiểu một cách đơn giản, Health Checks là việc kiểm tra tình trạng củamột Backend Server Bằng cách kết nối đến Backend Server dùng giao thức và cổng
Trang 10được định nghĩa bởi các quy tắc chuyển tiếp, nó đảm bảo rằng các máy chủ vẫn đanghoạt động ổn định.
Trong trường hợp máy chủ không hoạt động, Health Checks sẽ loại chúng rakhỏi vùng chứa Điều này đồng nghĩa với việc các request sẽ không được chuyển tiếpđến máy chủ này nữa cho đến khi chúng vượt qua “Bài kiểm tra” Health Checks sau
Qua quá trình này, Load Balancing có thể chuyển tiếp trực tiếp lưu lượng đếncác Backend Server đang thật sự hoạt động nhằm giải quyết mọi tác vụ của ngườidùng
5 Các thuật toán Load Balancing
Tùy thuộc công nghệ Load Balancing mà các thuật toán khác nhau sẽ được sửdụng để định tình trạng của máy chủ có hoạt động hay không Có các loại thuật toánthường thấy là:
+ Round Robin
+ Weighted Round Robin
+ Dynamic Round Robin
+ Fastest
+ Least Connections
- Thuật toán Load Balancing – Round Robin
Round Robin là thuật toán lựa chọn các máy chủ theo trình tự Theo đó, Load
Balancer sẽ bắt đầu đi từ máy chủ số 1 trong danh sách của nó ứng với yêu cầu đầutiên Tiếp đó, nó sẽ di chuyển dần xuống trong danh sách theo thứ tự và bắt đầu lại ởđầu trang khi đến máy chủ cuối cùng
Nhược điểm thuật toán Load Balancing – Round Robin
Khi có 2 yêu cầu liên tục từ phía người dùng sẽ có thể được gửi vào 2 serverkhác nhau Điều này làm tốn thời gian tạo thêm kết nối với server thứ 2 trong khi đóserver thứ nhất cũng có thể trả lời được thông tin mà người dùng đang cần Để giảiquyết điều này, round robin thường được cài đặt cùng với các phương pháp duy trìsession như sử dụng cookie
- Thuật toán Load Balancing – Weighted Round Robin
Tương tự như kỹ thuật Round Robin nhưng WRR còn có khả năng xử lý theocấu hình của từng server đích Mỗi máy chủ được đánh giá bằng một số nguyên (Giátrị trọng số Weight – mặc định giá trị là 1) Một server có khả năng xử lý gấp đôi
Trang 11server khác sẽ được đánh số lớn hơn và nhận được số request gấp đôi từ bộ cân bằng tải.
Nhược điểm thuật toán Load Balancing – Weighted Round Robin
Weighted Round Robin gây mất cân bằng tải động nếu như tải của các request
liên tục thay đổi trong một khoảng thời gian rộng
- Thuật toán Load Balancing – Dynamic Round Robin (DRR)
Thuật toán DRR hoạt động gần giống với thuật toán WRR Điểm khác biệt làtrọng số ở đây dựa trên sự kiểm tra server một cách liên tục Do đó trọng số liên tụcthay đổi
Việc chọn server sẽ dựa trên rất nhiều khía cạnh trong việc phân tích hiệu năngcủa server trên thời gia thực Ví dụ: số kết nối hiện đang có trên các server hoặc servertrả lời nhanh nhất, …
Thuật toán này thường không được cài đặt trong các bộ cân bằng tài đơn giản
Nó thường được sử dụng trong các sản phẩm cân bằng tải của F5 Network
- Thuật toán Load Balancing – Fastest
Đây là thuật toán dựa trên tính toán thời gian đáp ứng của mỗi server (Responsetime) Thuật toán này sẽ chọn server nào có thời gian đáp ứng nhanh nhất Thời gianđáp ứng được xác định bởi khoảng thời gian giữa thời điểm gửi một gói tin đến server
và thời điểm nhận được gói tin trả lời
Việc gửi và nhận này sẽ được bộ cân bằng tải đảm nhiệm Dựa trên thời gianđáp ứng, bộ cân bằng tải sẽ biết chuyển yêu cầu tiếp theo đến server nào
Thuật toán Fastest thường được dùng khi các server ở các vị trí địa lý khácnhau Như vậy người dùng ở gần server nào thì thời gian đáp ứng của server đó sẽnhanh nhất Cuối cùng server đó sẽ được chọn để phục vụ
- Thuật toán Load Balancing – Least Connections
Các request sẽ được chuyển vào server có ít kết nối nhất trong hệ thống Thuậttoán này được coi như thuật toán động, vì nó phải đếm số kết nối đang hoạt động củaserver
Least Connections có khả năng hoạt động tốt Ngay cả khi tải của các kết nối
biến thiên trong một khoảng lớn Do đó nếu sử dụng RC sẽ khắc phục được nhượcđiểm của Round Robin
Trang 126. Cách Load Balancing xử lý trạng thái
(Hình 1.2 – Cách Load Balancing xử lí trạng thái)
Trong nhiều trường hợp ứng dụng yêu cầu người truy cập tiếp tục kết nối đếncùng một Backend Server Một thuật toán mã nguồn sẽ tạo ra một mối quan hệ dựatrên thông tin là IP của khách hàng Đối với ứng dụng web thông qua sticky sessions,Load Balancer sẽ đặt một cookie Tất cả các requests từ sessions hướng đến một máychủ vật lý
7 Load Balancer dự phòng
(Hình 1.3 – Load Balancing dự phòng)
Trong nhiều trường hợp, chỉ có một Load Balancer là điểm truy cập duy nhất.
Chính vì vậy, chúng ta cần có một Load Balancer thứ hai Nó sẽ được kết nối với Load
Trang 13Balancer ban đầu Mục đích để mỗi Load Balancer đều có khả năng phát hiện lỗi vàphục hồi.
Sẽ ra sao khi xảy ra trường hợp Load Balancer chính bị lỗi? Balancer thứ hai sẽnhận trách nhiệm thay thế, do DNS di chuyển người dùng đến Tuy nhiên, việc thayđổi DNS có thể mất nhiều thời gian trên internet Và để chuyển đổi dự phòng được tựđộng, các quản trị viên sẽ cho phép linh hoạt địa chỉ IP Remapping Chẳng hạn nhưtrường hợp này là floating IPs
IP Remapping giúp loại bỏ các vấn đề bộ nhớ đệm vốn có trong những thay đổiDNS IP Remapping sẽ cung cấp một địa chỉ IP tĩnh Địa chỉ IP này có thể được dễdàng ánh xạ lại khi cần thiết Tên miền có thể duy trì liên kết với các địa chỉ IP Trongkhi các địa chỉ IP của chính nó được di chuyển giữa các máy chủ
II CLUSTER
1. Cluster – Nghĩa của từ cluster
Khái niệm Cluster đã xuất hiện cách đây rất lâu hệ thống sản xuất đầu tiên đượcthiết kế thành một Cluster vào giữa những năm 1960
– Điều này cho phép tối đa bốn máy tính, mỗi máy tính có một hoặc hai bộ xử lý đượckết hợp chặt chẽ với một hệ thống con lưu trữ ổ cứng chung để phân phối khối lượngcông việc
– Cluster là cụm máy tính hiệu năng cao là một dạng máy điện toán được kết nối quamạng LAN (mạng cục bộ) để chúng có thể hoạt động như một máy đơn lẻ
– Cluster còn bao gồm nhiều những server riêng lẻ đã được liên kết sẵn và có thể hoạtđộng tích hợp trong cùng một hệ thống
– Những server nhỏ lẻ này sẽ giao tiếp với nhau với bên ngoài thông qua những thôngtin đã được yêu cầu từ người dùng
– Một cụm máy tính giúp giải quyết các hoạt động phức tạp hiệu quả hơn với tốc độ xử
lý nhanh hơn nhiều
Tính toàn vẹn dữ liệu tốt hơn so với một máy tính duy nhất và chúng chỉ được
Trang 14– Một cụm máy tính được định nghĩa là việc bổ sung các quy trình để cung cấp xử lýquy mô lớn để giảm thời gian chết và dung lượng lưu trữ lớn hơn so với các máy trạmhoặc máy tính để bàn khác.
– Một số ứng dụng quan trọng của Máy tính cụm là Công cụ tìm kiếm Google, Mô
phỏng động đất, Dự báo thời tiết…
2 Phân loại cluster
Cụm có thể được phân thành hai loại đó là Open Cluster và Close Cluster
Load-balancing clusters (Cụm cân bằng tải):
– Đúng như tên gọi, hệ thống này được sử dụng để phân phối khối lượng công việc trên nhiều máy tính
– Hệ thống đó phân phối tải xử lý cực kỳ tốt trên một cụm máy tính
b.
High availability (HA) clusters (Cụm khả dụng cao (HA)):
– Đây là nhóm máy tính có thể sử dụng nhằm mục tích tăng sự đáng tin cậy cho hoạt động dự phòng trong trường hợp lỗi node trong cụm máy tính
Trang 15High performance (cụm hiệu năng cao (HP)):
– Phương pháp mạng máy tính này sử dụng siêu máy tính và cụm máy tính để giải quyết các vấn đề tính toán nâng cao
4 Ưu điểm của việc dùng cluster
a.
Hiệu quả chi phí:
– Trong cụm máy tính thì hiệu quả chi phí là tỷ lệ chi phí so với đầu ra
– Đó là nhóm kết nối của máy tính với cụm máy tính rẻ hơn nhiều so với máy tính lớn
5 Thiết kế cluster có giống thiết kế máy tính thông thường
– Các máy tính thứ cấp thường có phiên bản riêng của cùng một hệ điều hành, bộ nhớcục bộ và dung lượng ổ cứng
– Do sức mạnh của máy tính ngày càng tăng của mỗi thế hệ máy chơi game, một cách
sử dụng mới đã xuất hiện khi chúng được chuyển thành cụm máy tính hiệu năng cao.– Một số ví dụ về Cluster điều khiển trò chơi là Cluster Sony PlayStation và ClusterMicrosoft Xbox Một ví dụ khác về sản phẩm trò chơi tiêu dùng là Siêu máy tính cánhân Nvidia Tesla, trong đó sử dụng nhiều chip xử lý tăng tốc đồ họa
– Bên cạnh máy chơi game, card đồ họa cao cấp cũng có thể được sử dụng thay thế.Việc sử dụng card đồ họa (hay đúng hơn là GPU) để thực hiện các tính toán cho điệntoán lưới sẽ tiết kiệm hơn rất nhiều so với sử dụng CPU, mặc dù ít chính xác hơn.– Tuy nhiên, khi sử dụng các giá trị độ chính xác kép, chúng trở nên chính xác để hoạtđộng như CPU và vẫn ít tốn kém hơn về chi phí mua hàng