بهینه‌سازی فضای ذخیره‌سازی نامه در مجموعه همکاری Zimbra

در یکی از ما مقالات قبلی، اختصاص داده شده به برنامه ریزی زیرساخت هنگام پیاده سازی Zimbra Collabortion Suite در یک سازمان، گفته شد که محدودیت اصلی در عملکرد این راه حل، سرعت ورودی/خروجی دستگاه های دیسک در ذخیره سازی نامه ها است. در واقع، در زمانی که چند صد کارمند یک شرکت به طور همزمان به یک فضای ذخیره ایمیل دسترسی دارند، عرض کانال برای نوشتن و خواندن اطلاعات از هارد دیسک ممکن است برای عملکرد پاسخگوی سرویس کافی نباشد. و اگر برای نصب های کوچک زیمبرا این مشکل خاصی ایجاد نخواهد کرد، در مورد شرکت های بزرگ و ارائه دهندگان SaaS، همه اینها می تواند منجر به عدم پاسخگویی ایمیل و در نتیجه کاهش کارایی کارمندان و همچنین نقض شود. از SLA ها به همین دلیل است که هنگام طراحی و بهره برداری از تاسیسات زیمبرا در مقیاس بزرگ، باید توجه ویژه ای به بهینه سازی عملکرد هارد درایوها در ذخیره سازی نامه شود. بیایید به دو مورد نگاه کنیم و سعی کنیم دریابیم که چه روش هایی برای بهینه سازی بار در ذخیره سازی دیسک می تواند در هر یک از آنها اعمال شود.

بهینه‌سازی فضای ذخیره‌سازی نامه در مجموعه همکاری Zimbra

1. بهینه سازی هنگام طراحی نصب زیمبرا در مقیاس بزرگ

در طول مرحله طراحی نصب زیمبرا با بار بالا، مدیر باید انتخاب کند که از کدام سیستم ذخیره سازی استفاده کند. برای تصمیم گیری در مورد این موضوع، باید بدانید که بار اصلی روی هارد دیسک ها از DBMS MariaDB موجود در مجموعه همکاری Zimbra، موتور جستجوی آپاچی Lucene و ذخیره سازی حباب می آید. به همین دلیل برای بهره برداری از این محصولات نرم افزاری در شرایط بار بالا، استفاده از تجهیزات پرسرعت و قابل اعتماد ضروری است.

در شرایط عادی، Zimbra را می توان هم بر روی RAID هارد دیسک ها و هم در فضای ذخیره سازی متصل از طریق پروتکل NFS نصب کرد. برای نصب های بسیار کوچک، می توانید Zimbra را روی یک درایو SATA معمولی نصب کنید. با این حال، در زمینه تأسیسات بزرگ، همه این فناوری‌ها معایب مختلفی را در قالب کاهش سرعت ضبط یا قابلیت اطمینان پایین نشان می‌دهند که نه برای شرکت‌های بزرگ و نه به‌ویژه برای ارائه‌دهندگان SaaS غیرقابل قبول است.

به همین دلیل است که در زیرساخت های زیمبرا در مقیاس بزرگ بهتر است از SAN استفاده کنید. این فناوری است که در حال حاضر قادر است بیشترین توان عملیاتی را برای دستگاه های ذخیره سازی ارائه دهد و در عین حال، به لطف قابلیت اتصال مقدار زیادی حافظه پنهان، استفاده از آن عملاً هیچ خطر قابل توجهی برای شرکت ایجاد نمی کند. استفاده از NVRAM ایده خوبی است که در بسیاری از SAN برای سرعت بخشیدن به کارها در هنگام نوشتن استفاده می شود. اما بهتر است کش کردن داده‌های ضبط شده روی خود دیسک‌ها را غیرفعال کنید، زیرا در صورت بروز مشکلات برق، آسیب‌های جبران‌ناپذیری به رسانه و از دست رفتن داده‌ها منجر می‌شود.

در مورد انتخاب یک فایل سیستم، بهترین انتخاب استفاده از لینوکس استاندارد Ext3/Ext4 است. تفاوت اصلی مرتبط با فایل سیستم این است که باید با پارامتر نصب شود -نوآتایم. این گزینه عملکرد ضبط زمان آخرین دسترسی به فایل ها را غیرفعال می کند، به این معنی که بار خواندن و نوشتن را تا حد زیادی کاهش می دهد. به طور کلی، هنگام ایجاد یک فایل سیستم ext3 یا ext4 برای Zimbra، باید از پارامترهای ابزار زیر استفاده کنید. mke2fs:

-j — برای ایجاد یک ژورنال فایل سیستم فایل سیستم را با یک مجله ext3/ext4 ایجاد کنید.
-L NAME - برای ایجاد یک نام برای حجم و سپس استفاده در /etc/fstab
-O dir_index - استفاده از درخت جستجوی هش شده برای سرعت بخشیدن به جستجوی فایل ها در دایرکتوری های بزرگ
-2 - برای رزرو 2٪ از حجم در سیستم های فایل بزرگ برای دایرکتوری ریشه
-J سایز=400 - برای ایجاد یک مجله بزرگ
-b 4096 - برای تعیین اندازه بلوک در بایت
من 10240 - برای ذخیره پیام، این تنظیم باید با اندازه متوسط ​​پیام مطابقت داشته باشد. شما باید به این پارامتر توجه زیادی داشته باشید، زیرا مقدار آن بعدا قابل تغییر نیست.

همچنین توصیه می شود فعال شود dirsync برای ذخیره سازی حباب، ذخیره سازی ابرداده جستجوی Lucene و ذخیره سازی صف MTA. این باید انجام شود زیرا Zimbra معمولاً از این ابزار استفاده می کند fsync برای نوشتن تضمینی یک لکه با داده روی دیسک. با این حال، زمانی که فروشگاه ایمیل Zimbra یا MTA فایل های جدیدی را در حین تحویل پیام ایجاد می کند، لازم است تغییراتی که در پوشه های مربوطه رخ می دهد روی دیسک بنویسید. به همین دلیل است، حتی اگر فایل قبلاً با استفاده از دیسک نوشته شده باشد fsync، رکورد اضافه شدن آن به دایرکتوری ممکن است زمان برای نوشتن روی دیسک نداشته باشد و در نتیجه ممکن است به دلیل خرابی ناگهانی سرور از بین برود. با تشکر از استفاده dirsync می توان از این مشکلات جلوگیری کرد.

2. بهینه سازی با زیرساخت زیمبرا در حال اجرا

اغلب اتفاق می افتد که پس از چندین سال استفاده از زیمبرا، تعداد کاربران آن به میزان قابل توجهی افزایش می یابد و هر روز پاسخگوی سرویس کمتر می شود. راه برون رفت از این وضعیت واضح است: شما فقط باید سرورهای جدیدی را به زیرساخت اضافه کنید تا سرویس دوباره با همان سرعت قبلی کار کند. در همین حال، همیشه نمی توان بلافاصله سرورهای جدید را به زیرساخت اضافه کرد تا عملکرد آن افزایش یابد. مدیران فناوری اطلاعات اغلب باید زمان زیادی را صرف هماهنگی خرید سرورهای جدید با بخش حسابداری یا امنیت کنند؛ علاوه بر این، اغلب توسط تأمین‌کنندگانی که می‌توانند سرور جدید را دیر تحویل دهند یا حتی چیز اشتباهی را تحویل دهند، ناامید می‌شوند.

البته، بهتر است زیرساخت زیمبرای خود را با یک ذخیره بسازید تا همیشه ذخیره ای برای گسترش آن داشته باشید و به کسی وابسته نباشید، با این حال، اگر قبلاً اشتباهی مرتکب شده باشد، مدیر فناوری اطلاعات تنها می تواند عواقب آن را برطرف کند. تا حد امکان برای مثال، یک مدیر فناوری اطلاعات می‌تواند با غیرفعال کردن موقت سرویس‌های سیستم لینوکس که به طور منظم در حین کار به دیسک‌های سخت دسترسی دارند و بنابراین می‌تواند بر عملکرد زیمبرا تأثیر منفی بگذارد، به افزایش بهره‌وری کمی دست یابد. بنابراین، می توانید به طور موقت غیرفعال کنید:

autofs، netfs - خدمات کشف سیستم فایل از راه دور
فنجان - خدمات چاپ
xinetd، vsftpd - سرویس های داخلی * NIX که احتمالاً به آنها نیاز نخواهید داشت
portmap، rpcsvcgssd، rpcgssd، rpcidmapd — خدمات فراخوانی رویه از راه دور که معمولاً همراه با سیستم فایل شبکه استفاده می شوند
کبوترخانه، cyrus-imapd، sendmail، exim، postfix، ldap - نسخه های تکراری از ابزارهای اصلی موجود در مجموعه همکاری زیمبرا
slocate/updatedb - از آنجایی که Zimbra هر پیام را در یک فایل جداگانه ذخیره می کند، اجرای هر روز سرویس updatedb می تواند مشکلاتی را ایجاد کند و بنابراین می توان این کار را به صورت دستی در کمترین بار روی سرورها انجام داد.

صرفه جویی در منابع سیستم در نتیجه غیرفعال کردن این سرویس ها چندان قابل توجه نخواهد بود، اما حتی این می تواند در شرایط نزدیک به فورس ماژور بسیار مفید باشد. هنگامی که سرور جدید به زیرساخت زیمبرا اضافه شد، توصیه می‌شود سرویس‌های غیرفعال شده قبلی را دوباره فعال کنید.

همچنین می‌توانید با انتقال سرویس syslog به سرور جداگانه، عملکرد Zimbra را بهینه کنید تا در حین کار، هارد دیسک‌های ذخیره‌سازی نامه را بارگیری نکند. تقریباً هر رایانه ای برای این اهداف مناسب است، حتی یک Raspberry Pi ارزان قیمت.

منبع: www.habr.com

اضافه کردن نظر