Tìm hiểu và triển khai giải pháp cân bằng tải cho webserver trên centos

46 23 0
Tìm hiểu và triển khai giải pháp cân bằng tải cho webserver trên centos

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC VINH 005.7 KHOA CÔNG NGHỆ THÔNG TIN MẠNH TRỌNG LƯỢNG BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: TÌM HIỂU VÀ TRIỂN KHAI GIẢI PHÁP CÂN BẰNG TẢI CHO WEBSERVER TRÊN CENTOS Nghệ An, tháng 12 năm 2014 TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: TÌM HIỂU VÀ TRIỂN KHAI GIẢI PHÁP CÂN BẰNG TẢI CHO WEBSERVER TRÊN CENTOS Sinh viên thực hiện: Mạnh Trọng Lượng Mã sinh viên: 1051070406 Lớp: 51K2 - CNTT Giáo viên hướng dẫn: TS.Lê Văn Minh Nghệ An, tháng 12 năm 2014 Đồ án tốt nghiệp MỤC LỤC Trang LỜI MỞ ĐẦU I Lý chọn đề tài II Một số tiêu đánh giá tải hiệu máy chủ 2.1 CPU Utilization 2.2 Memory usage 2.3 Thời gian phản hồi III Tổng quan Webserver .6 3.1.Webserver gì? 3.2 Nguyên tắc hoạt động Web Server 3.3 Những loại Web Server IV Kiến trúc Web với khả mở rộng 4.1 Khái niệm chung .8 4.2.Các vấn đề cần giải trình xây dụng Website theo kiến trúc với khả mở rộng 4.2.1 Cân tải cho Application Server 4.2.2 Mở rộng Database Server 11 4.2.3 Tổ chức lưu trữ liệu 13 4.2.4 Cân tải cho Cache .14 V Tổng quan cân tải .21 5.1 Khái niệm cân tải 21 5.2 Lợi ích cân tải 21 VI Kỹ thuật cân tải 22 6.1 Kiểm tra trạng thái Server 22 6.2 Lựa chọn Server tốt 23 6.3 Kỹ thuật Session Persistence 23 6.4 Cookie .23 VII Các thuật toán cân tải 26 7.1 Thuật toán ngẫu nhiên 26 7.2 Thuật toán Round Robin 26 7.3 Thuật toán Weighted Round Robin 27 7.4.Thuật toán Dynamic Round Robin 27 7.5 Thuật toán Fastest 27 Đồ án tốt nghiệp 7.6 Thuật toán Least Connections 28 7.7 Thuật toán Observed .28 7.8 Thuật toán Predictive 28 7.9 Thuật toán Source 28 VIII Các giải pháp chia tải 29 8.1 Cân tải sử dụng phần cứng 29 8.2 Cân sử dụng phần mềm 30 8.3 Chia tải nhờ Proxy 30 8.4 Chia tải nhờ thiết bị chia kết nối 30 IX Các thành phần Hệ thống cân tải 30 9.1 Chức thành phần hệ thống cân tải 30 9.2 Hoạt động hệ thống cân tải 31 9.3 Kiến trúc hệ thống cân tải 31 X Cài đặt 33 Tài liệu tham khảo: 42 Đồ án tốt nghiệp LỜI MỞ ĐẦU Để hoàn thành đồ án tốt nghiệp này, em xin gửi lời cảm ơn chân thành tới TS.Lê Văn Minh, Khoa CNTT – Đại học Vinh tận tình giúp đỡ em suốt trình thực đồ án tốt nghiệp Chúng em xin cảm ơn quý thầy cô Khoa CNTT - ĐHV tạo điều kiện thuận lợi cho chúng em học tập, nghiên cứu Cung cấp cho chúng em kiến thức chuyên môn cần thiết quý báu giúp chúng em hiểu rõ lĩnh vực nghiên cứu để hoàn thành đề tài chọn Sinh viên thực Mạnh Trọng Lượng Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT Đồ án tốt nghiệp Danh mục hình ảnh Hình 3.1 Hình 3.2 Hình 3.3 Hình 4.1 Hình 4.2 Hình 4.3 Hình 4.4 Hình 4.5 Hình 4.6 Hình 4.7 Hình 4.8 Hình 4.9 Hình 4.10 Hình 6.1 Hình 6.2 Hình 6.3 Hình 8.1 Tên hình Mơ hình hoạt động Web Server Biểu tượng IIS Biểu tượng Apache Mơ hình cân tải Web Server Mở rộng Database Server sử dụng kiến trúc SAN Mở rộng Database Server theo chiều ngang Real Application Cluster Forward Proxy Transparent Proxy Cân tải cho Transparent Proxy Cache Reverse Proxy Bộ cân tải cho Reverse Proxy Cache Transparent Reverse Proxy Cách làm việc Cookie user = Cookie Read Cookie - Insert Cân tải sử dụng phần cứng Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT Trang 10 11 12 13 16 17 18 18 19 19 23 24 24 28 Đồ án tốt nghiệp I Lý chọn đề tài Từ trước đến nay, nhiều nguyên nhân, tỉ lệ vi phạm quyền phần mềm Việt Nam nằm mức cao so với nước khu vực giới Trong năm gần đây, hệ điều hành Linux nói chung hệ điều hành CentOS nói riêng ngày phổ biến hệ thống mạng Internet Hệ điều hành CentOS đời chưa lâu dần sử dụng rộng rãi cho Web Server chúng hoàn toàn miễn phí, ổn định bảo mật tốt.Chính muốn nghiên cứu thử nghiệm hệ thống sử dụng hồn tồn cơng cụ mã nguồn mở miễn phí, từ có nhìn khách quan hệ thống mã nguồn mở Công nghệ mạng hệ thống máy chủ ngày có bước phát triển vượt bậc Nhờ đáp ứng ứng dụng thương mại rộng lớn Các ứng dụng có 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ả mở rộng tối ưu để đáp ứng lượng lớn yêu cầu ngày tăng người dùng mà không gây độ trễ không mong muốn Một xu hướng lựa chọn hệ thống mạng ngày phân tán tính tốn hệ thống vật lý khác Các hệ thống vật lý khác quy mô chức Chúng thường bao gồm máy trạm, máy tính mini hệ thống máy tính đa lớn Các hệ thống thường gọi nút Trong đó, phát triển ngành dịch vụ web khiến cho số lượng người truy cập vào Website ngày tăng mạnh, đặc biệt mạng xã hội Website chia sẻ nhạc, video trực tuyến Yêu cầu đặt người quản trị Website cần phải giải vấn đề tải, để người dùng truy cập vào Website phục vụ cách nhanh Để làm điều đó, người quản trị phải nâng cấp hệ thống server Nghĩa là, cần phải tăng cấu hình máy Server tăng số lượng Server, phương án mở rộng Server: mở rộng theo chiều dọc (scaling up) mở rộng theo chiều ngang (scaling out) Mở rộng theo chiều dọc nghĩa nâng cấp Server có cấu hình ngày mạnh tùy theo nhu cầu người dùng, phương pháp tốt trường hợp số lượng người dùng không nhiều nhiên giá thành đắt khả mở rộng Mở rộng theo chiều ngang nghĩa sử dụng hệ thống nhiều Server nhỏ với chi phí thấp Server phục vụ lượng người dùng định, phương pháp có khả mở rộng tốt hoạt động hiệu Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT Đồ án tốt nghiệp II Một số tiêu đánh giá tải hiệu máy chủ 2.1 CPU Utilization CPU – đơn vị xử lý trung tâm – xem não máy tính, tài ngun quan trọng liên quan trực tiếp đến khả xử lý, tính tốn hệ thống Tốc độ xử lý CPU thường tính theo số xung nhịp đồng hồ số lượng phép tình thực giây Đơn vị tốc độ tính theo MHz MIPS CPU Utilization (hay gọi CPU usage) tổng thời gian mà CPU sử dụng cho q trình tính tốn xử lý chương trình máy tính CPU Utilization yếu tố đánh giá hiệu máy chủ Nếu tỉ lệ phần trăm CPU cao thời gian xử lý chương trình máy tính lớn, chương trình khác muốn thực thi phải chờ CPU giải phóng, hiệu suất máy chủ thấp Nếu tỉ lệ phần trăm CPU thấp, thời gian xử lý chương trình máy tính nhỏ, hiệu suất máy tính cao 2.2 Memory usage Memory – nhớ - thành phần quan trọng máy tính, sử dụng để lưu trữ chương trình liệu trước chương trình thi hành Các đặc trưng nhớ thời gian truy cập liệu dung lượng nhớ Thời gian truy cập khoảng thời gian cần thiết kể từ phát tín hiệu điều khiển đọc/ghi đến việc đọc/ghi hoàn thành Tốc độ truy cập yếu tố định đến tốc độ chung máy tính Dung lượng nhớ khối lượng liệu mà nhớ lưu trữ đồng thời Trong Linux, yếu tố quan trọng việc xác định hiệu suất dung lượng nhớ sẵn có RAM – nhớ vật lý – nhớ ảo – SWAP Space RAM – nhớ truy cập ngẫu nhiên – loại nhớ máy tính để lưu trữ mã chương trình liệu suốt thời gian thực thi, chúng bị xóa nguồn điện Đây loại nhớ ghi đọc liệu thời gian truy cập đến ô nhớ Bộ nhớ ảo không gian đĩa cứng, sử dụng dung lượng RAM đầy Bộ nhớ ảo kỹ thuật cho phép xử lý chương trình khơng nạp toàn vào RAM Trong RAM lưu trữ lệnh liệu phục vụ cho hoạt động chương trình thời điểm định Khi cần tới lệnh liệu hệ thống nạp chúng vào nhớ vị trí trước bị chiếm giữ lệnh khơng dùng vào thời điểm Các lệnh liệu không dùng đến đƣợc chuyển vào nhớ ảo Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT Đồ án tốt nghiệp Thông số “free” RAM “swap” nhớ ảo cho biết dung lượng nhớ có sẵn bao nhiêu, từ đánh giá hiệu suất máy chủ Nếu dung lượng nhớ lớn hiệu suất máy chủ cao ngược lại 2.3 Thời gian phản hồi Thời gian phản hồi truy vấn client gửi đến server yếu tố để đánh giá tải hiệu máy chủ Nếu thời gian phản hồi truy vấn thấp hiệu suất máy chủ cao, truy vấn client đƣợc đáp ứng nhanh mà khơng có chậm chễ Ngƣợc lại, thời gian phản hồi truy vấn lớn hiệu suất máy chủ giảm, client phải đợi thời gian lâu để có kết trà từ máy chủ Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT Đồ án tốt nghiệp III Tổng quan Webserver 3.1 Webserver gì? Web Server máy tính mà cài đặt phần mềm phục vụ Web, người ta gọi phần mềm Web Server Tất Web Server hiểu chạy file *.htm *.html, nhiên Web Server lại phục vụ số kiểu file chuyên biệt chẳng hạn IIS Microsoft dành cho *.asp, *.aspx ; Apache dành cho *.php ; Sun Java System Web Server SUN dành cho *.p Web Server máy chủ có dung lượng lớn, tốc độ cao, dùng để lưu trữ thông tin ngân hàng liệu, chứa website thiết kế với thông tin liên quan khác (các mã Script, chương trình, file Multimedia…) Web Server gửi đến Client trang Website thông qua môi trường Internet qua giao thức HTTP, HTTPS; giao thức thiết kế để gửi file đến Web Browser giao thức khác WEB SERVER APPLICATION SERVER DATABASE SERVER Hình 3.1: Mơ hình hoạt động Web Server Web Server tích hợp với Database hay điều khiển việc kết nối vào Database truy cập kết xuất thơng tin từ Database lên trang website truyền tải chúng đến người dùng Web Server phải hoạt động liên tục để phục vụ cho việc cung cấp thông tin trực tuyến 3.2 Nguyên tắc hoạt động Web Server - Người dùng máy Client gõ địa URL (Domain Name) vào địa Web Browser Khi Web Browser dựa vào tên Domain để tìm kiếm IP máy Web Server (bằng cách dò DNS server) Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT Đồ án tốt nghiệp Thuật toán Fastest thường dùng Server đặt nhiều nơi khác Như người dùng gần Server nào, thời gian đáp ứng đến Server chắn nhanh nhất, Server chọn để phục vụ 7.6 Thuật toán Least Connections Trong thuật tốn Least Connections, u cầu từ phía người dùng chuyển vào Server có kết nối hệ thống thời điểm Thuật tốn coi thuật tốn động, cần phải đếm số kết nối hoạt động Server Với hệ thống có Server gần giống cấu hình, Least Connections có khả hoạt động tốt tải kết nối biến thiên khoảng lớn Giả sử có n Server Si, i = 1, 2, n số lượng Connections hoạt động Ci với i = (1, 2, ,n) All_connections tổng Ci Yêu cầu chuyển đến Server j, đó: Cj/All_connections = {Ci/All_connections}, i =(l,2, ,n) Vì giá trị All_connections khơng đổi thời điểm tính nên chọn Server Cj theo công thức: Cj = {Ci}, i = (1, 2, ,n) 7.7 Thuật toán Observed Observed kết hợp Least Connections Fastest Response Người phát triển hệ thống phải cân yếu tố: số kết nối đến Server thời gian đáp ứng chúng Nghĩa là, giống đánh trọng số cho Server, yếu tố có trọng số định nhận định người phát hệ thống nhà quản trị Một phép toán số học dựa số kết nối Server, thời gian đáp ứng trọng số đưa cho server giá trị Dựa giá trịđó, cân tảisẽ chọn Server phù hợp 7.8 Thuật toán Predictive Là phát triển Observed, thuật tốn Predictive, hệ thống phân tích trạng thái Server theo thời gian, xác định xem thời điểm hiệu server tăng lên, thời điểm giảm xuống Như vậy, giả sử Server theo đánh giá thuật toán Observed tương đương nhau, Server có hiệu biến đổi theo chiều hướng tốt chọn 7.9 Thuật toán Source Trong thuật toán Source, IP nguồn băm chia cho tổng số Server chạy để Server nhận yêu cầu Điều đảm bảo khách hàng địa IP luôn làm việc với Server Nếu số lượng Server thay đổi, nhiều Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 28 Đồ án tốt nghiệp khách hàng hướng đến Server khác Thuật toán thường sử dụng chế độ TCP mà khơng có Cookie chèn vào, thuật toán tĩnh VIII Các giải pháp chia tải 8.1 Cân tải sử dụng phần cứng Bộ cân tải phần cứng thể địa IP ảo mạng bên ngoài, địa đồ hóa đến địa máy Cluster Chính tồn máy tính Cluster xem máy bên Bộ cân tải sử dụng phần cứng thường hoạt động tầng mạng hoạt động dựa định tuyến Request Hình 8.1: Cân tải sử dụng phần cứng Khi Request đến cân tải, ghi lại Header Request để trỏ đến máy khác Cluster Tất máy Server khác Cluster xuất có địa IP Ưu điểm: - Mối quan hệ máy chủ Bộ cân tải phần cứng đọc Cookie URL đọc Request máy khách Dựa thơng tin này, ghi lại thông tin Header gửi Request đến nút thích hợp Cluster, nơi Session trì - Khả 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 nút Cluster khơng thể xử lý Request chuyển hướng đến nút khác Bộ cân kiểu cung cấp chuyển đổi dự phòng mức Request, tức phát có nút bị cố cân chuyển hướng tất Request theo sau gửi đến nút sang nút tích cực khác Cluster Chuyển đổi dự phòng Session suốt yêu cầu số kiến thức thực thi cho trình nút, cân tải phần cứng phát cácvấn đề mức mạng, khơng có lỗi Để thực thi cách suốt vấn đề chuyển đổi dự phòng, nút Cluster phải kết hợp với nút khác có vùng nhớ Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 29 Đồ án tốt nghiệp chia sẻ sở liệu chung để lưu tất liệu Session Cũng nút Cluster có vấn đề Session tiếp tục nút khác - Metrics Vì tất yêu cầu tới ứng dụng Web phải qua hệ thống cân tải, hệ thống định số lượng Session hoạt động 8.2 Cân sử dụng phần mềm Kết hợp nhiều Server cách chặt chẽ tạo thành Server ảo (Virtual Server) Tuy nhiên, sử dụng phần mềm Server, tính phức tạp cao nên khả mở rộng giải pháp bị hạn chế, phức tạp triển khai khắc phục xảy cố, có rào cản tính tương thích, khó có tính tăng tốc bảo mật cho ứng dụng 8.3 Chia tải nhờ Proxy Tận dụng khả chia tải sẵn có phần mềm proxy ISA Proxy Microsoft hay Squid phần mềm mã nguồn mở cài máy phổ dụng Proxy thực nhiệm vụ chia tải Server cho hợp lý Vì sử dụng máy phổ dụng nên giải pháp có ưu điểm chi phí thấp, khả mở rộng tốt cài đặt máy độc lập, dễ quản trị Tuy nhiên, hoạt động mức ứng dụng nên hiệu khơng cao, sử dụng máy phổ dụng nên không tối ưu, dễ tồn nhiều lỗi hệ thống, việc theo dõi trạng thái máy chủ gặp khó khăn Nhược điểm lớn giải pháp thường có tính ổn định kém, hiệu thấp, dễ mắc lỗi 8.4 Chia tải nhờ thiết bị chia kết nối Sử dụng mođun cắm thêm thiết bị chuyên dụng Bộ định tuyến (Router) hay hay chuyển mạch (Switch) để chia tải theo luồng, thường hoạt động từ layer trở xuống Vì sử dụng thiết bị chun dụng nên có hiệu cao, tính ổn định cao, khả mở rộng tốt khó phát triển tính bảo mật phức tạp, thường thuật toán chia tải đơn giản IX Các thành phần Hệ thống cân tải 9.1 Chức thành phần hệ thống cân tải - Server Load Balancers: Load Balancer thiết bị phân phối tải máy tính với máy tính xuất máy tính - VIPs(Virtual IP): dạng thể của cân tải Mỗi VIP sử dụng địa công khai IP Một VIP có máy chủ thực gán địa IP máy chủ làm nhiệm vụ phân phối luồng liệu chuyển đến - Các máy chủ (Servers): Máy chủ chạy dịch vụ chia sẻ tải dịch vụ khác Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 30 Đồ án tốt nghiệp - Giải pháp dự phòng: thiết bị gặp trục trặc, thiết bị thay thiết bị khác mà khơng gây ảnh hưởng đến hoạt động toàn hệ thống Thiết bị thay thực chức giống thiết bị bị thay Cách thông thường sử dụng thiết bị Một giao thức sử dụng hai thiết bị để kiểm tra tình trạng hoạt động thiết bị cịn lại + Active –Standby Một thiết bị nhận toàn luồng liệu đến, thiết bị cịn lại chờ tình trục trặc.Nếu thiết bị hoạt động gặp trục trặc, thiết bị nhận xử lý toàn luồng liệu đến + Active –Active Cả thiết bị chấp nhận xử lý luồng liệu đến Trong tình thiết bị gặp trục trặc thiết bị cịn lại nhận thực thi chức thiết bị gặp trục trặc 9.2 Hoạt động hệ thống cân tải Server Load Blancing mở rộng hiệu nǎng Server ứng dụng, nhờ phân phối yêu cầu Client cho Server nhóm (Cluster) Các Server nhận gói IP đến, gói xử lý Server Các Server nhóm đồng thời đáp ứng yêu cầu khác Client, cho dù Client đưa nhiều yêu cầu Với kỹ thuật cân tải, trình xử lý thời gian đáp ứng Client nhanh nhiều Mỗi Server nhóm định mức tải mà xử lý tải phân phối cách đồng Server Tải Client gửi đến phân phối cho Server nhận số lượng yêu cầu theo phần tải đãđịnh Sự cân tải điều chỉnh động Server tham gia vào rời khỏi nhóm Đối với ứng dụng, có nhiều Client thời gian mà yêu cầu Client tồn tương đối ngắn, khả nǎng kỹ thuật nhằm phân phối tải thông qua ánh xạ thống kê giúp cân cách hiệu tải cung cấp khả nǎng đáp ứng nhanh nhóm Server có thay đổi.Các Server nhóm cân tải phát tin đặc biệt thông báo trạng thái hoạt động (Heartbeat Message) tới Server khác nhóm đồng thời nghe tin từ khác Server khác Nếu Server nhóm gặp trục trặc, Server khác điều chỉnh tái phân phối lại tải để trì liên tục dịch vụ cho Client 9.3 Kiến trúc hệ thống cân tải Để tối đa hố thơng lượng độ khả dụng, công nghệ cân tải sử dụng kiến trúc phần mềm phân tán hồn tồn, trình điều khiển cân tải cài đặt chạy Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 31 Đồ án tốt nghiệp song song tất Server nhóm Trình điều khiển xếp tất Server nhóm vào mạng để phát đồng thời lưu lượng mạng đến địa IP nhóm Trên Server, trình điều khiển hoạt động lọc trình điều khiển card mạng chồng giao thức TCP/IP, cho phép phần lưu lượng mạng đến nhận Server Nhờ đó, yêu cầu Client phân vùng cân tải Server nhóm Kiến trúc 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 host nhóm loại bỏ cần thiết phải định tuyến gói đến Server riêng lẻ Kiến trúc cung cấp thông lượng cao giải pháp dựa điều phối Khi tốc độ mạng Server tǎng lên, thơng lượng tǎng theo tỉ lệ thuận, loại bỏ lệ thuộc vào việc định tuyến dựa phần cứng đặc biệt.Kiến trúc cân tải tận dụng ưu điểm kiến trúc thiết bị chuyển mạch tập trung mạng việc đồng thời phân phối lưu lượng mạng đến tất Server nhóm Tuy nhiên, phương pháp làm tǎng "tải trọng" chuyển mạch chiếm thêm bǎng thông cổng Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 32 Đồ án tốt nghiệp X Cài đặt Hệ thống có sơ đồ sau: Lb2 Web2 Internet Client Web1 Lb1 Trong đó: Các Server mạng sử dụng hệ điều hành Centos máy đóng vai trò cân tải: - Lb1: Hostname: lb1 Ipadress: 192.168.1.134 Gateway: 192.168.1.1 - Lb2: Hostname: lb2 Ipadress: 192.168.1.136 Gateway: 192.168.1.1 - Web1: Hostname: web1 Ipadress: 192.168.1.41 Gateway: 192.168.1.1 - Web2: Hostname: web2 Ipadress: 192.168.1.42 Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 33 Đồ án tốt nghiệp Gateway: 192.168.1.1 Ở máy đóng vai trị Loadbalancing cần cài Repo #rpm –hiv http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm Cài đặt Keepalived cho máy loadbalancing #yum –y install keepalived Tại máy lb1 # vim /etc/keepalived/keepalived.conf Sau sửa file config sau vrrp_script chk_haproxy { script "killall -0 haproxy" interval weight } vrrp_instance VI_1 { interface eth0 state MASTER virtual_router_id 51 priority 101 virtual_ipaddress { 192.168.1.45 } track_script { chk_haproxy } } Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 34 Đồ án tốt nghiệp Sau nhấn Esc -> :wq để lưu lại thoát Tại máy lb2 # vim /etc/keepalived/keepalived.conf Sau sửa file config sau vrrp_script chk_haproxy { script "killall -0 haproxy" interval weight } vrrp_instance VI_1 { interface eth0 state MASTER virtual_router_id 51 priority 100 virtual_ipaddress { 192.168.1.45 } track_script { chk_haproxy Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 35 Đồ án tốt nghiệp } } Sau nhấn Esc -> :wq để lưu lại thoát Khởi động keepalived máy: #Service keepalived start Kiểm tra lb1 thấy keepalived lắng nghe ip ảo vừa thiết lập #ip addr sh eth0 Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 36 Đồ án tốt nghiệp Kiểm tra lb2: Không thấy Ip ảo nghĩa cài đặt thành công, Server lb1 chết Server lb2 xuất Ip 192.168.1.45 Cài đặt Haproxy cho máy loadbalancing #yum install haproxy Sửa file haproxy # vim cp /etc/haproxy/haproxy.cfg Nội dung: defaults stats enable stats auth root:1qaz!QAZ balance leastconn frontend http 192.168.1.45:80 mode http timeout client 30000 listen http_proxy bind 192.168.1.45:80 mode http backlog 2048 option httpclose option forwardfor timeout connect 10000 timeout client 30000 timeout server 30000 Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 37 Đồ án tốt nghiệp timeout queue 30000 maxconn 4000 option httpchk option abortonclose server w1 192.168.1.41:80 cookie server1 check server w2 192.168.1.42:80 cookie server2 check Sau nhấn Esc -> :wq để lưu lại Khởi động haproxy: #service haproxy start Cho Keepalived Haproxy khởi động hệ thống: # chkconfig keepalived on # chkconfig haproxy on Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 38 Đồ án tốt nghiệp Tại máy đóng vai trị Web Cài đặt httpd #yum install httpd #service httpd start Cài đặt php #yum instarll php #service php start Cài đăt MySql # yum install mysql-server #service mysqld start Cài đặt Phpmyadmin #yum install phpmyadmin #service phpmyadmin start #service httpd restart Trên Web1: #vi /etc/my.cnf Sửa thành sau: Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 39 Đồ án tốt nghiệp Vào mysql gõ lệnh sau CHANGE MASTER TO -> MASTER_HOST='192.168.1.42', -> MASTER_USER='root’, -> MASTER_PASSWORD='1qaz!QAZ', -> MASTER_LOG_FILE='mysqld-bin.000001', -> MASTER_LOG_POS=106; Các thông tin lấy từ Web2 Trên Web2: #vi my.cnf Sửa thành sau: Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 40 Đồ án tốt nghiệp Vào mysql gõ lệnh sau CHANGE MASTER TO -> MASTER_HOST='192.168.1.41', -> MASTER_USER='root’, -> MASTER_PASSWORD='1qaz!QAZ', -> MASTER_LOG_FILE='mysqld-bin.000001', -> MASTER_LOG_POS=106; Các thông tin lấy từ Web1 Để kiểm tra vào địa chỉ: http://192.168.1.45/haproxy?stats Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 41 Đồ án tốt nghiệp Tài liệu tham khảo: http://www.vnpro.vn/ http://congdonglinux.vn/ http://www.hvaonline.net/ http://www.haproxy.org/ Sinh viên: Mạnh Trọng Lượng – Lớp 51K2 – Khoa CNTT 42 ... THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: TÌM HIỂU VÀ TRIỂN KHAI GIẢI PHÁP CÂN BẰNG TẢI CHO WEBSERVER TRÊN CENTOS Sinh viên thực hiện: Mạnh Trọng Lượng Mã sinh viên: 1051070406... 13 4.2.4 Cân tải cho Cache .14 V Tổng quan cân tải .21 5.1 Khái niệm cân tải 21 5.2 Lợi ích cân tải 21 VI Kỹ thuật cân tải 22 6.1... Proxy Một cân tải đặt trước Caches, định nghĩa địa IP ảo VIP cho cân tải Sau hướng đến Reverse- Proxy Cache cổng ứng dụng riêng biệt Cache, chẳng hạn HTTP, FTP Bộ cân tải lúc cân tải cho Cache

Ngày đăng: 25/08/2021, 15:31

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan