تحسين تخزين البريد في Zimbra Collaboration Suite

في واحدة منا المقالات السابقة، المخصص لتخطيط البنية التحتية عند تنفيذ Zimbra Collabortion Suite في إحدى المؤسسات، قيل أن القيد الرئيسي في تشغيل هذا الحل هو سرعة الإدخال / الإخراج لأجهزة القرص في مخازن البريد. في الواقع، في الوقت الذي يصل فيه عدة مئات من موظفي المؤسسة إلى نفس مخزن البريد في نفس الوقت، قد لا يكون عرض القناة لكتابة وقراءة المعلومات من محركات الأقراص الثابتة كافيًا للتشغيل المستجيب للخدمة. وإذا لم تكن هذه مشكلة خاصة بالنسبة لعمليات تثبيت Zimbra الصغيرة، ففي حالة المؤسسات الكبيرة ومقدمي SaaS، كل هذا يمكن أن يؤدي إلى بريد إلكتروني غير مستجيب، ونتيجة لذلك، انخفاض في كفاءة الموظف، فضلاً عن انتهاك من اتفاقيات مستوى الخدمة. ولهذا السبب، عند تصميم وتشغيل عمليات تثبيت Zimbra واسعة النطاق، ينبغي إيلاء اهتمام خاص لتحسين أداء محركات الأقراص الثابتة في تخزين البريد. دعونا نلقي نظرة على حالتين ونحاول معرفة طرق تحسين التحميل على تخزين القرص التي يمكن تطبيقها في كل منهما.

تحسين تخزين البريد في Zimbra Collaboration Suite

1. التحسين عند تصميم تركيب Zimbra على نطاق واسع

أثناء مرحلة تصميم تثبيت Zimbra عالي التحميل، سيتعين على المسؤول أن يختار نظام التخزين الذي سيستخدمه. لاتخاذ قرار بشأن هذه المشكلة، يجب أن تعلم أن الحمل الرئيسي على محركات الأقراص الثابتة يأتي من نظام MariaDB DBMS المضمن في Zimbra Collaboration Suite، ومحرك بحث Apache Lucene، وتخزين البيانات الثنائية الكبيرة. ولهذا السبب، من أجل تشغيل هذه المنتجات البرمجية في ظل ظروف التحميل العالية، من الضروري استخدام معدات عالية السرعة وموثوقة.

في ظل الظروف العادية، يمكن تثبيت Zimbra على RAID لمحركات الأقراص الثابتة وعلى وحدات التخزين المتصلة عبر بروتوكول NFS. بالنسبة لعمليات التثبيت الصغيرة جدًا، يمكنك تثبيت Zimbra على محرك أقراص SATA عادي. ومع ذلك، في سياق المنشآت الكبيرة، تُظهر جميع هذه التقنيات عيوبًا مختلفة في شكل انخفاض سرعة التسجيل أو الموثوقية المنخفضة، وهو أمر غير مقبول لا للمؤسسات الكبيرة ولا خاصة لمقدمي SaaS.

ولهذا السبب، من الأفضل استخدام شبكة SAN في البنى التحتية Zimbra واسعة النطاق. هذه التكنولوجيا هي القادرة حاليا على توفير أكبر إنتاجية لأجهزة التخزين وفي الوقت نفسه، بفضل القدرة على توصيل كمية كبيرة من ذاكرة التخزين المؤقت، فإن استخدامها عمليا لا يشكل أي مخاطر كبيرة للمؤسسة. إنها فكرة جيدة استخدام NVRAM، والذي يتم استخدامه في العديد من شبكات SAN لتسريع الأمور أثناء الكتابة. ولكن من الأفضل تعطيل التخزين المؤقت للبيانات المسجلة على الأقراص نفسها، حيث يمكن أن يؤدي ذلك إلى تلف الوسائط بشكل لا يمكن إصلاحه وفقدان البيانات في حالة حدوث مشاكل في الطاقة.

أما بالنسبة لاختيار نظام الملفات، فالخيار الأفضل هو استخدام Linux Ext3/Ext4 القياسي. الفارق الدقيق الرئيسي المرتبط بنظام الملفات هو أنه يجب تثبيته مع المعلمة -الوقت. سيؤدي هذا الخيار إلى تعطيل وظيفة تسجيل وقت آخر وصول إلى الملفات، مما يعني أنه سيقلل بشكل كبير من العبء على القراءة والكتابة. بشكل عام، عند إنشاء نظام ملفات ext3 أو ext4 لـ Zimbra، يجب عليك استخدام معلمات الأداة المساعدة التالية mke2fs:

-j - لإنشاء مجلة نظام الملفات.قم بإنشاء نظام الملفات باستخدام مجلة ext3/ext4.
-L الاسم - لإنشاء اسم وحدة تخزين لاستخدامه بعد ذلك في /etc/fstab
-O dir_index - لاستخدام شجرة بحث مجزأة لتسريع عمليات البحث عن الملفات في الدلائل الكبيرة
-M 2 - حجز 2% من الحجم في أنظمة الملفات الكبيرة للدليل الجذر
-حجم J = 400 - إنشاء مجلة كبيرة
- ب 4096 - لتحديد حجم الكتلة بالبايت
أنا 10240 - بالنسبة لتخزين الرسائل، يجب أن يتوافق هذا الإعداد مع متوسط ​​حجم الرسالة. يجب عليك الانتباه جيدًا لهذه المعلمة، حيث لا يمكن تغيير قيمتها لاحقًا.

يوصى أيضًا بالتمكين com.dirsync لتخزين البيانات الثنائية كبيرة الحجم، وتخزين البيانات التعريفية لبحث Lucene، وتخزين قائمة انتظار MTA. يجب أن يتم ذلك لأن Zimbra يستخدم عادةً الأداة المساعدة fsync لضمان كتابة النقطة مع البيانات إلى القرص. ومع ذلك، عندما يقوم مخزن بريد Zimbra أو MTA بإنشاء ملفات جديدة أثناء تسليم الرسالة، يصبح من الضروري كتابة التغييرات التي تحدث في المجلدات المقابلة على القرص. لهذا السبب، حتى لو تمت كتابة الملف بالفعل على القرص باستخدام fsync، قد لا يكون لدى سجل إضافته إلى الدليل الوقت الكافي للكتابة على القرص، ونتيجة لذلك، قد يتم فقده بسبب فشل الخادم المفاجئ. بفضل الاستخدام com.dirsync ويمكن تجنب هذه المشاكل.

2. التحسين مع تشغيل البنية التحتية لـ Zimbra

غالبًا ما يحدث أنه بعد عدة سنوات من استخدام Zimbra، يزداد عدد مستخدميها بشكل كبير وتصبح الخدمة أقل استجابة كل يوم. إن المخرج من هذا الموقف واضح: ما عليك سوى إضافة خوادم جديدة إلى البنية التحتية حتى تعمل الخدمة مرة أخرى بالسرعة التي كانت عليها من قبل. وفي الوقت نفسه، ليس من الممكن دائمًا إضافة خوادم جديدة على الفور إلى البنية التحتية من أجل زيادة أدائها. غالبًا ما يضطر مديرو تكنولوجيا المعلومات إلى قضاء وقت طويل في تنسيق شراء خوادم جديدة مع قسم المحاسبة أو الأمن؛ بالإضافة إلى ذلك، غالبًا ما يخذلهم الموردون الذين يمكنهم تسليم خادم جديد في وقت متأخر أو حتى تسليم الشيء الخطأ.

بالطبع، من الأفضل بناء البنية التحتية الخاصة بـ Zimbra باحتياطي حتى يكون لديك دائمًا احتياطي لتوسيعها ولا تعتمد على أي شخص، ومع ذلك، إذا تم ارتكاب خطأ بالفعل، فيمكن لمدير تكنولوجيا المعلومات فقط تخفيف عواقبه قدر الإمكان. على سبيل المثال، يمكن لمدير تكنولوجيا المعلومات تحقيق زيادة صغيرة في الإنتاجية عن طريق التعطيل المؤقت لخدمات نظام Linux التي تصل بانتظام إلى محركات الأقراص الثابتة أثناء التشغيل، وبالتالي يمكن أن يؤثر سلبًا على أداء Zimbra. لذلك، يمكنك تعطيل مؤقتا:

autofs، netfs - خدمات اكتشاف نظام الملفات عن بعد
الكؤوس - خدمة الطباعة
زينتد، vsftpd - خدمات *NIX المضمنة التي ربما لن تحتاج إليها
بورتماب، rpcsvcgssd، rpcgssd، rpcidmapd — خدمات استدعاء الإجراءات عن بعد، والتي تُستخدم عادةً مع أنظمة ملفات الشبكة
Dovecot، cyrus-imapd، sendmail، exim، postfix، ldap - نسخ مكررة من المرافق الرئيسية المضمنة في Zimbra Collaboration Suite
تحديد موقع/تحديث ب - بما أن Zimbra يقوم بتخزين كل رسالة في ملف منفصل، فإن تشغيل خدمة Updateb كل يوم يمكن أن يسبب مشاكل، وبالتالي من الممكن القيام بذلك يدويًا أثناء أقل تحميل على الخوادم

لن يكون توفير موارد النظام نتيجة لتعطيل هذه الخدمات كبيرًا جدًا، ولكن حتى هذا يمكن أن يكون مفيدًا جدًا في الظروف القريبة من القوة القاهرة. بمجرد إضافة الخادم الجديد إلى البنية التحتية لـ Zimbra، يوصى بإعادة تمكين الخدمات التي تم تعطيلها مسبقًا.

يمكنك أيضًا تحسين تشغيل Zimbra عن طريق نقل خدمة سجل النظام إلى خادم منفصل بحيث لا يتم تحميل محركات الأقراص الثابتة لمخازن البريد أثناء التشغيل. تقريبًا أي جهاز كمبيوتر مناسب لهذه الأغراض، حتى جهاز Raspberry Pi ذو اللوحة الواحدة الرخيصة.

المصدر: www.habr.com

إضافة تعليق