Tối ưu hóa việc lưu trữ thư trong Bộ cộng tác Zimbra

Ở một trong những của chúng tôi bài viết trước, dành riêng cho việc quy hoạch cơ sở hạ tầng khi triển khai Zimbra Collabortion Suite trong doanh nghiệp, người ta cho rằng hạn chế chính trong hoạt động của giải pháp này là tốc độ I/O của thiết bị đĩa trong kho lưu trữ thư. Thật vậy, tại thời điểm hàng trăm nhân viên của một doanh nghiệp truy cập đồng thời vào cùng một kho lưu trữ thư, độ rộng kênh để ghi và đọc thông tin từ ổ cứng có thể không đủ cho hoạt động đáp ứng của dịch vụ. Và nếu đối với các bản cài đặt Zimbra nhỏ thì đây không phải là một vấn đề cụ thể, thì trong trường hợp của các doanh nghiệp lớn và nhà cung cấp SaaS, tất cả điều này có thể dẫn đến email không phản hồi và do đó, làm giảm hiệu quả của nhân viên cũng như vi phạm của SLA. Đó là lý do tại sao khi thiết kế và vận hành các hệ thống cài đặt Zimbra quy mô lớn cần đặc biệt chú ý đến việc tối ưu hóa hiệu suất của ổ cứng trong việc lưu trữ thư. Chúng ta hãy xem xét hai trường hợp và cố gắng tìm ra phương pháp nào để tối ưu hóa tải trên bộ lưu trữ trên đĩa có thể được áp dụng trong mỗi trường hợp đó.

Tối ưu hóa việc lưu trữ thư trong Bộ cộng tác Zimbra

1. Tối ưu hóa khi thiết kế lắp đặt Zimbra quy mô lớn

Trong giai đoạn thiết kế cài đặt Zimbra tải cao, quản trị viên sẽ phải đưa ra lựa chọn sử dụng hệ thống lưu trữ nào. Để quyết định vấn đề này, bạn nên biết rằng tải chính trên ổ cứng đến từ MariaDB DBMS có trong Bộ cộng tác Zimbra, công cụ tìm kiếm Apache Lucene và bộ lưu trữ blob. Đó là lý do tại sao để vận hành các sản phẩm phần mềm này trong điều kiện tải cao, cần phải sử dụng thiết bị có tốc độ cao và đáng tin cậy.

Trong điều kiện bình thường, Zimbra có thể được cài đặt trên cả RAID của ổ cứng và trên bộ lưu trữ được kết nối qua giao thức NFS. Đối với những cài đặt rất nhỏ, bạn có thể cài đặt Zimbra trên ổ đĩa SATA thông thường. Tuy nhiên, trong bối cảnh cài đặt lớn, tất cả các công nghệ này đều thể hiện những nhược điểm khác nhau dưới dạng tốc độ ghi giảm hoặc độ tin cậy thấp, điều này không thể chấp nhận được đối với các doanh nghiệp lớn và đặc biệt là đối với các nhà cung cấp SaaS.

Đây là lý do tại sao trong cơ sở hạ tầng Zimbra quy mô lớn, tốt nhất nên sử dụng SAN. Chính công nghệ này hiện có khả năng cung cấp thông lượng lớn nhất cho các thiết bị lưu trữ, đồng thời nhờ khả năng kết nối một lượng lớn bộ nhớ đệm nên việc sử dụng nó trên thực tế không gây ra bất kỳ rủi ro đáng kể nào cho doanh nghiệp. Bạn nên sử dụng NVRAM, được sử dụng trong nhiều SAN để tăng tốc mọi thứ trong quá trình ghi. Nhưng tốt hơn hết bạn nên vô hiệu hóa bộ nhớ đệm của dữ liệu đã ghi trên đĩa, vì điều này có thể dẫn đến hư hỏng không thể khắc phục được đối với phương tiện và mất dữ liệu nếu xảy ra sự cố về điện.

Đối với việc chọn hệ thống tệp, lựa chọn tốt nhất là sử dụng Linux Ext3/Ext4 tiêu chuẩn. Sắc thái chính liên quan đến hệ thống tập tin là nó phải được gắn với tham số -không có thời gian. Tùy chọn này sẽ vô hiệu hóa chức năng ghi lại thời gian truy cập tệp cuối cùng, điều đó có nghĩa là nó sẽ giảm đáng kể tải cho việc đọc và ghi. Nói chung, khi tạo hệ thống file ext3 hoặc ext4 cho Zimbra, bạn nên sử dụng các tham số tiện ích sau mke2fs:

-j — Để tạo nhật ký hệ thống tập tin.Tạo hệ thống tập tin với nhật ký ext3/ext4.
-L TÊN - Để tạo tên ổ đĩa để sử dụng trong /etc/fstab
-O dir_index - Sử dụng cây tìm kiếm băm để tăng tốc độ tìm kiếm tệp trong thư mục lớn
-m 2 — Để dành 2% dung lượng trong các hệ thống tệp lớn cho thư mục gốc
-Kích thước J=400 - Để tạo một tạp chí lớn
-b 4096 - Để xác định kích thước khối theo byte
-tôi 10240 - Để lưu trữ tin nhắn, cài đặt này phải tương ứng với kích thước tin nhắn trung bình. Bạn nên chú ý đến tham số này vì giá trị của nó sau này không thể thay đổi được.

Bạn cũng nên kích hoạt dirsync để lưu trữ blob, lưu trữ siêu dữ liệu tìm kiếm Lucene và lưu trữ hàng đợi MTA. Việc này nên làm vì Zimbra thường sử dụng tiện ích fsync để đảm bảo ghi một blob có dữ liệu vào đĩa. Tuy nhiên, khi kho thư Zimbra hoặc MTA tạo các tệp mới trong quá trình gửi thư, cần phải ghi vào đĩa những thay đổi xảy ra trong các thư mục tương ứng. Đó là lý do tại sao, ngay cả khi tập tin đã được ghi vào đĩa bằng cách sử dụng fsync, bản ghi bổ sung nó vào thư mục có thể không có thời gian để ghi vào đĩa và do đó, có thể bị mất do lỗi máy chủ đột ngột. Nhờ việc sử dụng dirsync những vấn đề này có thể tránh được.

2. Tối ưu hóa với cơ sở hạ tầng Zimbra đang chạy

Điều thường xảy ra là sau vài năm sử dụng Zimbra, số lượng người dùng của nó tăng lên đáng kể và dịch vụ ngày càng trở nên kém phản hồi hơn. Cách thoát khỏi tình huống này rất rõ ràng: bạn chỉ cần thêm máy chủ mới vào cơ sở hạ tầng để dịch vụ hoạt động trở lại nhanh chóng như trước. Trong khi đó, không phải lúc nào cũng có thể thêm ngay các máy chủ mới vào cơ sở hạ tầng để tăng hiệu suất của nó. Các nhà quản lý CNTT thường phải mất nhiều thời gian để phối hợp việc mua máy chủ mới với bộ phận kế toán hoặc bảo mật, ngoài ra, họ thường bị các nhà cung cấp thất vọng vì có thể giao máy chủ mới chậm trễ hoặc thậm chí giao nhầm hàng.

Tất nhiên, tốt nhất bạn nên xây dựng cơ sở hạ tầng Zimbra của mình bằng một khoản dự trữ để luôn có khoản dự trữ cho việc mở rộng và không phụ thuộc vào bất kỳ ai, tuy nhiên, nếu đã xảy ra sai sót, người quản lý CNTT chỉ có thể giải quyết hậu quả của nó như nhiều nhất có thể. Ví dụ: người quản lý CNTT có thể tăng năng suất một chút bằng cách vô hiệu hóa tạm thời các dịch vụ hệ thống Linux thường xuyên truy cập vào ổ cứng trong quá trình hoạt động và do đó có thể tác động tiêu cực đến hiệu suất của Zimbra. Vì vậy, bạn có thể tạm thời vô hiệu hóa:

autofs, netfs - Dịch vụ khám phá hệ thống tệp từ xa
tách — Dịch vụ in ấn
xinetd, vsftpd - Các dịch vụ *NIX tích hợp sẵn mà bạn có thể sẽ không cần
sơ đồ cổng, rpcsvcgssd, rpcgssd, rpcidmapd — Dịch vụ gọi thủ tục từ xa, thường được sử dụng cùng với hệ thống tệp mạng
dovecot, cyrus-imapd, sendmail, exim, postfix, ldap — Bản sao của các tiện ích chính có trong Bộ cộng tác Zimbra
định vị/cập nhậtdb - Vì Zimbra lưu trữ mỗi tin nhắn trong một tệp riêng biệt nên việc chạy dịch vụ updateb hàng ngày có thể gây ra sự cố và do đó có thể thực hiện việc này một cách thủ công trong thời gian tải ít nhất trên máy chủ

Việc tiết kiệm tài nguyên hệ thống do vô hiệu hóa các dịch vụ này sẽ không đáng kể lắm, nhưng thậm chí điều này có thể rất hữu ích trong các điều kiện gần như bất khả kháng. Sau khi máy chủ mới được thêm vào cơ sở hạ tầng Zimbra, bạn nên kích hoạt lại các dịch vụ đã bị vô hiệu hóa trước đó.

Bạn cũng có thể tối ưu hóa hoạt động của Zimbra bằng cách di chuyển dịch vụ nhật ký hệ thống sang một máy chủ riêng để trong quá trình hoạt động, nó không tải các ổ cứng của kho lưu trữ thư. Hầu như bất kỳ máy tính nào cũng phù hợp cho những mục đích này, ngay cả Raspberry Pi bảng đơn giá rẻ.

Nguồn: www.habr.com

Thêm một lời nhận xét