Tôi có thể sử dụng Unix để cân bằng tải hai máy chủ Linux không?


7

Tôi đang cố gắng tìm ra một giải pháp trong đầu, nơi hai máy chủ linux phụ trợ chạy HTTP, SMTP, XMPP được nhân đôi và sẽ tải các kết nối cân bằng giữa chúng.

Giải pháp hiện tại của tôi là một hộp OpenBSD ở phía trước, tất nhiên có thể được mở rộng bằng cá chép để bổ sung thêm trong tương lai để tránh điểm thất bại duy nhất. Sử dụng PF Tôi có thể có một nhóm máy chủ để gửi lưu lượng đến, sử dụng các phương pháp ngẫu nhiên hoặc quay vòng.

Và bằng cách sử dụng rơle tôi có thể loại bỏ các máy chủ pool không hoạt động khỏi nó.

Nhưng tôi sẽ đánh giá cao ý kiến ​​của cộng đồng về vấn đề này, vì vậy xin vui lòng cho tôi biết giải pháp cân bằng tải Unix tốt nhất của bạn cho loại môi trường này.

Một mục tiêu sẽ là một máy chủ duy nhất sẽ được phép thất bại với sự gián đoạn dịch vụ tối thiểu.


Điều gì xảy ra nếu hộp BSD trước hai hộp phụ trợ đó không thành công? Dự phòng không có nghĩa là "Di chuyển điểm thất bại một bước xuống dòng".
Shadur

1
Đó là lý do tại sao tôi đề cập đến cá chép, và trên thực tế tôi đã thay đổi giải pháp của mình để thiết lập hai trong số chúng cùng một lúc.
Stefan Midjich

Câu trả lời:


1

Tôi chỉ quen thuộc với sự kết hợp Linux thuần túy của heartbeat và ldirector (cả hai phần của dự án máy chủ ảo linux với lưu lượng đường hầm IP từ một cặp mặt trước đến N back-end và để chia sẻ / trao đổi IP mặt trước giữa hai mặt trước khi một người chết. Nó hoạt động rất tốt trong môi trường tôi đã sử dụng, nhưng tôi không chắc liệu nó có dễ bị tổn thương bởi các vấn đề não bộ hay không.


1

HAProxy đã được biên dịch trên một loạt các nền tảng * nix, bao gồm cả BSD và Solaris (và tất nhiên cả Linux). Nếu bộ cân bằng tải của bạn không chạy Linux, thì đó là một phần mềm rất tiện lợi và có thể cấu hình được. Nó biết về HTTP nhưng cũng có thể cân bằng bất kỳ dịch vụ TCP nào mà nó không biết gì. Nó có thể kiểm tra các máy chủ và sẽ xóa khỏi dịch vụ bất kỳ phản hồi nào (hoặc không đủ đáp ứng).

Nó sống ở đây: http://haproxy.1wt.eu/

Có một nhược điểm của nó: nó chỉ nói chuyện với các máy chủ nội bộ (back-end) thông qua IPv4 (các kết nối IPv6 đến được cân bằng tốt, đó chỉ là kết nối bên trong giới hạn ở IPv4). Nếu cụm máy chủ của bạn nằm trong thiết lập ngăn xếp kép, đó không phải là vấn đề.


0

Chúng tôi sử dụng một cặp máy chủ CentOS 5 ảo chạy lvs, lvs-Kiss và heartbeat. Các máy chủ ảo của họ nằm trong cụm XEN có thể bị lỗi ở một vị trí khác.

Một trong những Máy chủ LVS là chủ hoạt động, còn lại là nô lệ. Trên cả hai phục vụ cả hai quá trình (chủ và nô lệ) chạy vĩnh viễn để các phiên được nhân rộng mọi lúc.

Nếu máy chủ lvs hoạt động không hoạt động thì máy chủ kia sẽ tiếp quản và phục vụ liên tục kết nối lb đến máy chủ mục tiêu trước đó.


0

Một tùy chọn gần đây khác sử dụng Linux là dự án IPVS hiện được bao gồm trong nhân Linux v2.6,38-RC3 trở lên.

Nó sử dụng chuyển đổi lớp 4 trong kernel và được gọi là - NHANH CHÓNG.

Thêm thông tin ở đây http://kb.linuxvirtualserver.org/wiki/IPVS


Câu trả lời này là chính xác, nhưng IPVS đã ở khoảng CÁCH trước 2.6,38.
Patrick


0

Cách đầy đủ nhất để làm điều này là sử dụng Pacemaker + LVS.

LVS là viết tắt của Linux Virtual Server. Rất nhiều thông tin có thể được tìm thấy tại linux-ha.org Về cơ bản, nhân linux có bộ cân bằng tải tích hợp có tên là IPVS. Như vậy là rất tốt thử nghiệm và hỗ trợ. Nó cũng đã tồn tại được một thời gian, (Kernel 2.0 ngày tôi tin).
Có rất nhiều tiện ích để quản lý bộ cân bằng tải như ldirector và piranha. Ldirector có lẽ là người nổi bật nhất. Những gì các tiện ích này chịu trách nhiệm làm là kiểm tra sức khỏe định kỳ cho các máy chủ đầu cuối của bạn và đảm bảo chúng vẫn ở đó và hoạt động đúng. Nếu nó thấy rằng máy chủ đã biến mất, nó sẽ xóa máy chủ đó khỏi bảng IPVS của kernel và loại bỏ nó khỏi nhóm một cách hiệu quả. Các tiện ích này không có nghĩa là bắt buộc, vì bạn có thể giao tiếp trực tiếp với bảng IPVS bằng cách sử dụng ipvsadm.

Pacemaker là sự kế thừa của Heartbeat, là tiện ích tiêu chuẩn để phân cụm trong một thời gian dài. Nhịp tim đã bị từ chối ủng hộ Pacemaker (nhịp tim không còn được duy trì), vì vậy trong khi bạn vẫn có thể sử dụng Nhịp tim nếu bạn muốn (cấu hình chắc chắn đơn giản hơn), kết thúc của nó sẽ đến.
Lý do tôi đề cập đến tiện ích này là vì không có một cặp cân bằng tải ở phía trước, bạn thực sự chỉ di chuyển điểm duy nhất của sự thất bại ở một nơi khác. Thay vì một máy chủ phụ trợ duy nhất có thể bị lỗi, giờ đây, một bộ cân bằng tải đơn có thể thất bại và bạn đang ở trong cùng một chiếc thuyền. Máy tạo nhịp sẽ đảm bảo rằng bộ cân bằng tải luôn chạy. Nếu bộ cân bằng tải hiện đang hoạt động thất bại, cái khác sẽ đảm nhận. Một lợi ích bổ sung của máy điều hòa nhịp tim là nó cho phép bạn chạy cả hai bộ cân bằng tải trong một thiết lập hoạt động / hoạt động nếu bạn có nhiều IP (nhịp tim không thể làm điều này).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.