Ở một trong những của chúng tôi , 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 đó.

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.
Что касается выбора файловой системы, то оптимальным выбором станет использование стандартных для Linux Ext3/Ext4. Главный нюанс, связанный с файловой системой заключается в том, что монтировать ее следует с параметром -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
Thường thì sau vài năm sử dụng Zimbra, số lượng người dùng tăng lên đáng kể, và dịch vụ trở nên kém phản hồi hơn. Giải pháp cho tình trạng này rất rõ ràng: chỉ cần thêm máy chủ mới vào cơ sở hạ tầng để khôi phục tốc độ của dịch vụ. Tuy nhiên, không phải lúc nào cũng có thể ngay lập tức thêm máy chủ mới vào cơ sở hạ tầng để cải thiện hiệu suất. 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 sắm. máy chủ mới Ngoài ra, các nhà cung cấp thường xuyên giao máy chủ mới muộn hoặc thậm chí giao nhầm hàng, ngay cả khi đã có sự hỗ trợ từ bộ phận kế toán hoặc an ninh.
Разумеется, что лучше всего строить свою инфраструктуру Zimbra с запасом, чтобы всегда иметь запас для её расширения и ни от кого при этом не зависеть, однако если ошибка уже совершена, ИТ-менеджеру остается только максимально сгладить ее последствия. Так, например, ИТ-менеджер может добиться небольшого роста производительности, используя временное отключение системных служб Linux, которые при работе регулярно обращаются к жестким дискам и вследствие этого могут негативно повлиять на скорость работы Zimbra. Так, на время можно отключить:
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
