Cách tốt nhất để chia sẻ thư mục tải lên tệp trên các máy chủ web mở rộng theo chiều ngang


9

Tôi hiện đang cố gắng chỉ định một cụm có thể mở rộng theo chiều ngang cho một ứng dụng web dựa trên drupal, trông giống như sơ đồ đầy màu sắc bên dưới:

Bộ cân bằng tải thực hiện các phiên dính, vì vậy người dùng sẽ giữ trạng thái khi họ được phân bổ máy chủ để làm việc.

Mỗi máy chủ ứng dụng có các mục sau:

  • véc ni ở phía trước
  • drupal 6 ở giữa chạy trên chồng đèn
  • memcached ở phía sau

Hai máy chủ cơ sở dữ liệu mysql nằm trên một IP được chia sẻ và chúng nằm trong một cụm HA với DRBD và rất hợp lý, do đó, việc mất một sẽ không làm giảm toàn bộ nền tảng.

nhập mô tả hình ảnh ở đây

Có một vài điều tôi không chắc chắn về điều đó tôi đánh giá cao ý kiến ​​của bạn về:

Làm thế nào nên lưu trữ quy mô tập tin theo chiều ngang?

Tôi đang nghĩ đến việc sử dụng NFS để gắn thư mục tệp chia sẻ trên mỗi máy chủ ứng dụng, do đó, một tệp được tải lên ở một nơi có sẵn trên tất cả chúng. Tôi đang nghĩ về NFS bởi vì nó đã có từ rất lâu và tôi không có kinh nghiệm với MogileFS hoặc GlusterFS, và đó là thứ chúng tôi đã sử dụng trước đây, vì vậy chúng tôi quen thuộc hơn với nó.

Có hướng dẫn nào xung quanh để làm theo để biết có bao nhiêu máy chủ nên chia sẻ một thư mục qua NFS theo cách này không?

HA nên được cung cấp như thế nào trên bộ lưu trữ tệp chia sẻ ở đây?

Một vấn đề ở đây là máy chủ NFS là một điểm thất bại duy nhất.

Chúng tôi đã sử dụng Heartbeat và DRBD trên các máy chủ Mysql và tôi muốn giữ số lượng công nghệ liên quan đến một ngăn xếp càng thấp càng tốt - điều gì sẽ xảy ra nếu tôi sử dụng cùng một chiến lược HA cho tệp máy chủ cũng vậy?

Một cách tiếp cận khác

Điều này dành cho một trang web đối mặt nội bộ, với số lượng người dùng hữu hạn đôi khi sử dụng trang web rất mạnh mẽ trong thời gian ngắn, khi một sáng kiến ​​nội bộ được bật. Vì vậy, điều này không cần phải mở rộng vô hạn như một số khởi động.

Cho rằng

  • có một giới hạn trên cho lưu lượng chúng ta có thể mong đợi
  • việc thêm HA vào các máy chủ tệp và thiết kế một thiết lập theo tỷ lệ theo chiều ngang như thế này sẽ gây ra sự phức tạp đáng kể

Tôi cũng đang xem xét chỉ làm cho hai máy chủ web trở nên mạnh mẽ hơn để chúng có thể xử lý tải tối đa giữa chúng và thiết lập unison hoặc rsync trên cả hai trên một công việc định kỳ, sao cho:

  • các tệp của chúng vẫn được đồng bộ hóa (các phiên dính giữ người dùng trên cùng một máy chủ mà họ đã tải tệp lên)
  • mất một nghĩa là trang web vẫn hoạt động.

Điều này nghe có vẻ là một cách có thể để khắc phục bất kỳ cơn đau đầu phức tạp NFS / DRBD HA nào có thể xảy ra?

Cảm ơn,

C

Câu trả lời:


3

Máy chủ NFS sẽ có ít nhất phải có cùng điều khoản với máy chủ MySQL, vì về cơ bản chúng có cùng chức năng và giới hạn (cả hai đều là nơi bạn ghi dữ liệu). Tôi không thích ý tưởng của nhiều người viết cho NFS, việc quản lý khóa tệp rất phức tạp và trải nghiệm của tôi không được tốt lắm ở điểm đó.

Đề nghị của tôi sẽ tập trung tất cả các ghi vào một trong các máy chủ ứng dụng (có thể có một máy chủ ứng dụng dành riêng để viết trên máy chủ NFS) và nhiều máy chủ ứng dụng đọc chỉ đọc (tôi biết rằng drupal có một số hình thu nhỏ động cần phải được viết, nhưng bạn có thể giữ phần lớn nó trên RO fs). Bạn sẽ cần ít nhất một máy chủ NFS thứ hai (sử dụng DRBD là lựa chọn tốt nhất ở đây nếu bạn không có bộ lưu trữ chung như SAN) để đảm bảo HA.

Cuối cùng, hãy xem Gluster và các hệ thống phân tán khác.


0

Bạn có thể thử mogileFS. Tôi đã sử dụng nó một trong những dự án của chúng tôi. Nó rất dễ sử dụng và cấu hình và có thể mở rộng quy mô và không có điểm thất bại duy nhất.

http://danga.com/mogilefs/


0

Cách tốt nhất là tìm một giải pháp lưu trữ tốt. Tùy thuộc vào quy mô và loại ứng dụng, bạn có thể sử dụng một NAS tốt, với sự hỗ trợ cho NFS và ít nhất hai cổng gigabit và suplies (kiểm tra một số giải pháp doanh nghiệp).

Nếu bạn thực sự nghiêm túc với ứng dụng của mình, cách tốt nhất của bạn là kiểm tra một số giải pháp SAN, nhưng điều này có thể rất tốn kém vì nó yêu cầu phần cứng đặc biệt (có thể được thực hiện với phần cứng ngoài kệ nhưng có thể quá chậm).

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.