Đề tài Tìm hiểu kỹ thuật cân bằng tải File Server

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 vượ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 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 vậy, hệ thống mạng phải có khả năng mở rộng tối ưu để đáp ứng được một lượ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ệ thống máy tính đa năng lớn. Các hệ thống này thường được gọi là các nút. Sự nghiên 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 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ối ưu, độ tin 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”. Đâ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.

docx75 trang | Chia sẻ: lvbuiluyen | Lượt xem: 4159 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu kỹ thuật cân bằng tải File Server, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC 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 để đề tài này được hoàn thành. 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 Cân bằng tải máy chủ NLB Network load blancing Cân bằng tải mạng 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Ẽ Hình Trang Hình 1.1. Cách làm việc của Cookie user = 1 11 Hình 1.2. Cookie read 12 Hình 1.3. Cookie – insert 13 Hình 1.4. Bộ cân bằng tải chèn 1 Cookie 14 Hình 1.5. Bộ cân bằng tải ghi đè 1 Cookie 15 Hình 1.6. Cân bằng tải sử dụng phần cứng 16 Hình 1.7. Xử lý các yêu cầu kết nối tập trung 19 Hình 2.1. So sánh hệ thống cân bằng tải server và hệ thống thường 23 Hình 2.2. Kịch bản Active – Standby 28 Hình 2.3. Hoạt động của kịch bản Active - Standby 28 Hình 2.4. Kịch bản Active – Active 29 Hình 2.5. Hoạt động của kịch bản Active - Active 29 Hình 2.6. Hoạt động của kịch bản Active - Active 30 Hình 2.7. Hệ thống SLB đơn giản 35 Hình 2.8. Cấu trúc thư mục thật sự của 1 hệ thống DFS 37 MỞ ĐẦU 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 vượ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 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 vậy, hệ thống mạng phải có khả năng mở rộng tối ưu để đáp ứng được một lượ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ệ thống máy tính đa năng lớn. Các hệ thống này thường được gọi là các nút. Sự nghiên 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 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ối ưu, độ tin 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”. Đâ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. Mục tiêu Đề tài này sẽ giúp chúng ta biết được các quá trình cần thiế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 bằng tải của File Server 2008. Phạm vi nghiên cứu 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 tải trên server và các ứng dụng triển khai trên đó, nhưng ở đề 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 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 giáo viên hướng dẫn và các thầy cô. Ý nghĩa khoa học và thực tiễn của đề tài 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 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 Giới thiệu cân bằng tải Khái niệm cân bằng tải Cân bằng tải 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 lượ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 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 cho việc truyền tải không bị ngừng do máy server bị lỗi đó gây ra. Lợi ích cân bằng tải Tăng khả năng đáp ứng, tránh tình trạng quá tải trên máy chủ, đảm bảo tính linh hoạt và mở rộng cho hệ thống. Tăng độ tin cậy và khả năng dự phò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 dùng không bị gián đoạn dịch vụ khi xảy ra lỗi sự cố lỗi tại một điểm cung cấp dịch vụ. Tăng tính bảo mật cho hệ thống: Thông thường khi người dùng gửi yêu cầu dịch vụ đến hệ thống, yêu cầu đó sẽ được xử lý trên bộ cân bằng tải, sau đó thành 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ết được chính xác các máy chủ bên trong cũng như phương pháp phân tải được sử dụng. Bằng cách này có thể ngăn chặn ngườ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 động trên các cổng khác. 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ụ luân chuyển yêu cầu và dữ liệu đáp trả giữa người dùng và server, trong khi đó một gateway chỉ có nhiệm vụ tạo ra một kết nối hai đối tượng này và không làm gì thêm. Có 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 chính web server. Thêm nữa, khi số lượng người dùng tăng lên, để tránh SPOF[[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 ], cần 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 kết nối TCP nhưng không thể trả lời các yêu cầu HTTP. Khi một ứng dụng web nhiều lớp được kích hoạt, một số yêu cầu HTTP có thể trả lời ngay lập tức trong khi số khác sẽ thất bại. Chính vì thế, việc chọn một phương pháp test phù hợp đượ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, 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 code, nó có thể thực hiện trong một khoảng thời gian ngắn. Lựa chọn server tốt nhất Phương pháp dễ nhất và thường đượ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 hạn chế trên là gì? Đó chính là các kỹ Persistence. Kỹ thuật Session 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 cầu của một người dù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 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ử dụng một respone HTTP 302 hay tạo ra liên kết giữa người dùng – server. Tuy vậy 2 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 đối tượng được điều khiển bởi Web Servers. Trong kết quả trả về cho người dùng web 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 gì với các yêu cầu này. Cookie 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 dữ liệu trả về cho người dùng (2). Trình duyệt của 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 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ộ cân bằng tải . Sau khi kết nối được thiết lập, trình duyệt ngườ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ải sẽ đọc được cookie 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 sẽ luôn được kết nối vào server 1 cho đến khi nào cookie còn tồn tại, cho dù người dùng 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ương trình. Khi một server mới được lắp đặt, người quản trị hệ 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ải. + 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 server trả về dữ liệu cho người dùng (2), bộ cân bằng tải sẽ xem là server nào trả về dữ 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. 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 file cấu hình của bộ cân bằng tải bị thay đổi, người quản trị hệ thống sẽ không cần phải lo lắng về việc cập nhập file cấu hình cho server. Nhược điểm của phương pháp này là có thể gây ra quá tải ở bộ cân bằng tải. Chúng ta có thể thấy rõ số lượng công việc mà bộ cân bằng tải phải làm khi chèn 1 cookie trong hình 1.4. Vì cần phải chèn dữ liệu nên gói dữ liệu trả về phải được sao lại 1 phần, vì vậy tăng dung lượng bộ nhớ cần thiết ở 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 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ại cần. Cần phải có một phương pháp dung hòa ưu và 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ủa gói tin được chấp nhận ở Ethernet) và dẫn đến mất dữ liệu. Chuyện gì sẽ xảy ra nếu như chúng ta tạo một chỗ trống ở gói tin để lưu giá trị cookie, và bộ cân bằng tải 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 ở dưới, ứng dụng sẽ chèn vào gói tin trả về một cookie server=XXX. Tất cả những gì bộ cân bằng tải phải làm là tìm kiếm đoạn server=XXX này và thay “XXX” 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 đề cập ở trên và thường được chọn để dùng trong các bộ cân bằng tải. Cân bằng tả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 với thế giới bên ngoài. Bộ cân bằng tải sử dụng phần cứng thường hoạt động ở 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 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 các máy khác trong cluster. Nếu một máy nào đó bị gỡ bỏ từ cluster thì request sẽ không 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í nếu một nút nào đó trong cluster bị hỏng. Khi một đáp trả được trả về, client sẽ xem đá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 sẽ xử lý với một máy tính đó là bộ cân bằng tải sử dụng phần cứng. 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 được mã hóa SSL và có thể tránh bộ cân bằng tải đọc các thông tin 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 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: Yêu cầu mức 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 khác. Chuyển đổi dự phòng session một cách trong suốt. 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 để 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 cân bằng tải, hệ thống có thể quyết định số lượng session hoạt động, số lượng session hoạt động được kết nối trong các trườ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 hệ thống, theo dõi được trạng thái của các máy chủ trong nhóm để chia tải hợp lý. Tuy nhiên, do sử dụng phần mềm trên server, tính phức tạp cao nê