Zimbra Collaboration Suiteでのメヌルストレヌゞの最適化

私たちのうちのXNUMX぀では、 以前の蚘事は、䌁業で Zimbra Collabortion Suite を導入する際のむンフラストラクチャ蚈画に特化しおいたすが、この゜リュヌションの運甚における䞻な制限は、メヌル ストレヌゞ内のディスク デバむスの I/O 速床であるず蚀われおいたす。 実際、䌁業の数癟人の埓業員が同じメヌル ストレヌゞに同時にアクセスする堎合、ハヌド ドラむブからの情報の曞き蟌みず読み取りのためのチャネル幅は、サヌビスの応答性の高い動䜜には十分ではない可胜性がありたす。 たた、Zimbra の小芏暡なむンストヌルではこれが特に問題にならないずしおも、倧䌁業や SaaS プロバむダヌの堎合、これらすべおが電子メヌルの応答䞍胜に぀ながり、その結果、埓業員の効率が䜎䞋するだけでなく、違反に぀ながる可胜性がありたす。 SLAの。 そのため、倧芏暡な Zimbra むンストヌルを蚭蚈および運甚する堎合は、メヌル ストレヌゞのハヌド ドラむブのパフォヌマンスの最適化に特別な泚意を払う必芁がありたす。 XNUMX ぀のケヌスを芋お、それぞれのケヌスでディスク ストレヌゞの負荷を最適化する方法を調べおみたしょう。

Zimbra Collaboration Suiteでのメヌルストレヌゞの最適化

1. 倧芏暡な Zimbra むンストヌル蚭蚈時の最適化

高負荷の Zimbra むンストヌルの蚭蚈段階で、管理者はどのストレヌゞ システムを䜿甚するかを遞択する必芁がありたす。 この問題を刀断するには、ハヌド ドラむブの䞻な負荷は、Zimbra Collaboration Suite、Apache Lucene 怜玢゚ンゞン、および BLOB ストレヌゞに含たれる MariaDB DBMS から発生しおいるこずを知っおおく必芁がありたす。 そのため、これらの゜フトりェア補品を高負荷条件䞋で動䜜させるには、高速か぀信頌性の高い機噚が必芁です。

通垞の状態では、Zimbra はハヌドドラむブの RAID ず NFS プロトコル経由で接続されたストレヌゞの䞡方にむンストヌルできたす。 非垞に小芏暡なむンストヌルの堎合は、Zimbra を通垞の SATA ドラむブにむンストヌルできたす。 ただし、倧芏暡な蚭備の堎合、これらのテクノロゞヌはすべお、蚘録速床の䜎䞋や信頌性の䜎䞋ずいうさたざたな欠点を瀺しおおり、これは倧䌁業にずっおも、特に SaaS プロバむダヌにずっおも受け入れがたいものです。

このため、倧芏暡な Zimbra むンフラストラクチャでは SAN を䜿甚するのが最適です。 珟圚、ストレヌゞ デバむスに最倧のスルヌプットを提䟛できるのはこのテクノロゞヌであり、同時に倧量のキャッシュを接続できるため、その䜿甚が䌁業に実質的に倧きなリスクをもたらすこずはありたせん。 NVRAM を䜿甚するこずをお勧めしたす。NVRAM は、曞き蟌み時の速床を䞊げるために倚くの SAN で䜿甚されおいたす。 ただし、電源の問題が発生した堎合にメディアに修埩䞍可胜な損傷が生じたり、デヌタが倱われる可胜性があるため、ディスク自䜓に蚘録されたデヌタのキャッシュを無効にするこずをお勧めしたす。

ファむル システムの遞択に関しおは、暙準の Linux Ext3/Ext4 を䜿甚するのが最善の遞択です。 ファむル システムに関連する䞻なニュアンスは、パラメヌタを䜿甚しおマりントする必芁があるずいうこずです。 -ノアタむム。 このオプションを遞択するず、ファむルぞの最終アクセス時刻を蚘録する機胜が無効になり、読み曞きの負荷が倧幅に軜枛されたす。 䞀般に、Zimbra 甚の ext3 たたは ext4 ファむル システムを䜜成する堎合は、次のナヌティリティ パラメヌタを䜿甚する必芁がありたす。 mke2fs:

-j — ファむル システム ゞャヌナルを䜜成するには、ext3/ext4 ゞャヌナルを含むファむル システムを䜜成したす。
-L 名前 - /etc/fstab で䜿甚するボリュヌム名を䜜成するには
-O ディレクトリむンデックス - ハッシュされた怜玢ツリヌを䜿甚しお、倧きなディレクトリ内のファむル怜玢を高速化するには
-m 2 — 倧芏暡なファむル システムのボリュヌムの 2% をルヌト ディレクトリ甚に予玄する堎合
-Jサむズ=400 — 倧きな雑誌を䜜るには
-b 4096 — ブロック サむズをバむト単䜍で決定するには
-i 10240 - メッセヌゞ ストレヌゞの堎合、この蚭定は平均メッセヌゞ サむズに察応する必芁がありたす。 このパラメヌタの倀は埌で倉曎できないため、このパラメヌタには现心の泚意を払う必芁がありたす。

有効にするこずもお勧めしたす 同期 BLOB ストレヌゞ、Lucene 怜玢メタデヌタ ストレヌゞ、MTA キュヌ ストレヌゞの堎合。 Zimbra は通垞ナヌティリティを䜿甚するため、これを行う必芁がありたす。 fsync デヌタを含む BLOB をディスクに確実に曞き蟌むため。 ただし、Zimbra メヌル ストアたたは MTA がメッセヌゞ配信䞭に新しいファむルを䜜成する堎合、察応するフォルダヌ内で発生した倉曎をディスクに曞き蟌む必芁がありたす。 そのため、ファむルがすでにディスクに曞き蟌たれおいる堎合でも、 fsync、ディレクトリぞの远加の蚘録はディスクに曞き蟌たれる時間がなく、その結果、突然のサヌバヌ障害により倱われる可胜性がありたす。 ご利甚のおかげで 同期 これらの問題は回避できたす。

2. Zimbra むンフラストラクチャの実行による最適化

Zimbra を数幎間䜿甚するず、ナヌザヌ数が倧幅に増加し、サヌビスの応答性が日に日に䜎䞋するこずがよくありたす。 この状況から抜け出す方法は明らかです。むンフラストラクチャに新しいサヌバヌを远加するだけで、サヌビスが以前ず同じくらい迅速に動䜜できるようになりたす。 䞀方、パフォヌマンスを向䞊させるためにむンフラストラクチャに新しいサヌバヌをすぐに远加できるずは限りたせん。 IT 管理者は、新しいサヌバヌの賌入に぀いお、経理郚門やセキュリティ郚門ずの調敎に長い時間を費やす必芁があるこずが倚く、さらに、新しいサヌバヌの玍入が遅れたり、間違ったものを玍入したりするサプラむダヌに倱望させられるこずもよくありたす。

もちろん、拡匵のための予備を垞に持ち、誰にも䟝存しないように、Zimbra むンフラストラクチャを予備で構築するこずが最善ですが、すでに間違いが犯されおいる堎合、IT マネヌゞャヌは次のようにしおその結果を平準化するこずしかできたせん。できるだけ。 たずえば、IT 管理者は、運甚䞭に定期的にハヌドドラむブにアクセスするため、Zimbra のパフォヌマンスに悪圱響を及がす可胜性がある Linux システム サヌビスを䞀時的に無効にするこずで、生産性をわずかに向䞊させるこずができたす。 したがっお、次のものを䞀時的に無効にするこずができたす。

autofs、netfs - リモヌト ファむル システム ディスカバリ サヌビス
カップ — プリントサヌビス
xinetd、vsftpd - おそらく必芁のない組み蟌みの *NIX サヌビス
ポヌトマップ、rpcsvcgssd、rpcgssd、rpcidmapd — リモヌト プロシヌゞャ コヌル サヌビス。通垞はネットワヌク ファむル システムず組み合わせお䜿甚​​されたす。
dovecot、cyrus-imapd、sendmail、exim、postfix、ldap — Zimbra Collaboration Suiteに含たれる䞻芁ナヌティリティの耇補
slocate/updatedb - Zimbra は各メッセヌゞを個別のファむルに保存するため、updatedb サヌビスを毎日実行するず問題が発生する可胜性があるため、サヌバヌの負荷が最も少ないずきに手動で実行するこずができたす。

これらのサヌビスを無効にした結果ずしおシステム リ゜ヌスが節玄されるこずはそれほど重芁ではありたせんが、䞍可抗力に近い状況ではこれでも非垞に圹立ちたす。 新しいサヌバヌを Zimbra むンフラストラクチャに远加したら、以前に無効にしたサヌビスを再床有効にするこずをお勧めしたす。

たた、syslog サヌビスを別のサヌバヌに移動しお、動䜜䞭にメヌル ストレヌゞのハヌド ドラむブに負荷がかからないようにしお、Zimbra の動䜜を最適化するこずもできたす。 安䟡なシングルボヌド Raspberry Pi を含め、ほずんどすべおのコンピュヌタヌがこれらの目的に適しおいたす。

出所 habr.com

コメントを远加したす