| OQMGR(8) | System Manager's Manual | OQMGR(8) |
نام (NAME)
oqmgr - مدیر صف قدیمی Postfix
خلاصه دستور (SYNOPSIS)
?Boqmgr?R [گزینههای عمومی دیمن Postfix]
توضیحات (DESCRIPTION)
دیمن ?Boqmgr?R(8) منتظر ورود ایمیلهای جدید میماند و تحویل آنها را از طریق پردازشهای تحویل Postfix ترتیب میدهد. راهبرد واقعی مسیریابی ایمیل به دیمن ?Btrivial-rewrite?R(8) واگذار شده است. انتظار میرود این برنامه از طریق مدیر پردازش ?Bmaster?R(8) اجرا شود.
ایمیلهای ارسالشده به نشانی محلی ?Bdouble-bounce?R ثبت شده و نادیده گرفته میشوند. این امر از حلقههای احتمالی ناشی از اعلانهای غیرقابل تحویل برگشتی جلوگیری میکند.
صفهای ایمیل (MAIL QUEUES)
دیمن ?Boqmgr?R(8) صفهای زیر را نگهداری میکند:
- ?Bincoming?R
- ایمیلهای ورودی از شبکه، یا ایمیلهای دریافت شده توسط عامل محلی ?Bpickup?R(8) از دایرکتوری ?Bmaildrop?R.
- ?Bactive?R
- پیامهایی که مدیر صف برای تحویل باز کرده است. تنها تعداد محدودی پیام اجازه ورود به صف ?Bactive?R را دارند (راهبرد سطل سوراخدار، برای نرخ تحویل ثابت).
- ?Bdeferred?R
- ایمیلهایی که در تلاش نخست تحویل داده نشدند. مدیر صف از راهبرد پسنشینی نمایی (exponential backoff) با دو برابر کردن زمان بین تلاشهای تحویل استفاده میکند.
- ?Bcorrupt?R
- فایلهای صف آسیبدیده یا غیرقابل خواندن برای بازبینی به اینجا منتقل میشوند.
- ?Bhold?R
- پیامهایی که در حالت تعلیق نگه داشته شدهاند تا زمانی که شخصی آنها را آزاد کند.
گزارشهای وضعیت تحویل (DELIVERY STATUS REPORTS)
دیمن ?Boqmgr?R(8) گزارشهای وضعیت تحویل هر پیام را در دایرکتوریهای زیر زیر نظر دارد. هر فایل گزارش وضعیت همنام فایل پیام متناظر است:
- ?Bbounce?R
- اطلاعات وضعیت به ازای هر گیرنده درباره علت برگشت خوردن ایمیل. این فایلها توسط دیمن ?Bbounce?R(8) نگهداری میشوند.
- ?Bdefer?R
- اطلاعات وضعیت به ازای هر گیرنده درباره علت تأخیر در تحویل ایمیل. این فایلها توسط دیمن ?Bdefer?R(8) نگهداری میشوند.
- ?Btrace?R
- اطلاعات وضعیت به ازای هر گیرنده طبق درخواست دستور «?Bsendmail -v?R» یا «?Bsendmail -bv?R» در پستفیکس. این فایلها توسط دیمن ?Btrace?R(8) نگهداری میشوند.
دیمن ?Boqmgr?R(8) مسئول درخواست از دیمنهای ?Bbounce?R(8)، ?Bdefer?R(8) یا ?Btrace?R(8) جهت ارسال گزارشهای تحویل است.
راهبردها (STRATEGIES)
مدیر صف راهبردهای گوناگونی را برای باز کردن فایلهای صف (ورودی) یا تحویل پیام (خروجی) پیادهسازی میکند:
- ?Bسطل سوراخدار (leaky bucket)?R
- این راهبرد تعداد پیامها را در صف ?Bactive?R محدود میکند و مانع از اتمام حافظه مدیر صف تحت بار سنگین میشود.
- ?Bعدالت
- هنگامی که صف ?Bactive?R جا داشته باشد، مدیر صف یک پیام از صف ?Bincoming?R و یک پیام از صف ?Bdeferred?R برمیدارد. این کار مانع از مسدود شدن تحویل ایمیلهای جدید توسط انبوه ایمیلهای معوق میشود.
- ?Bشروع آهسته (slow start)?R
- این راهبرد با تنظیم تدریجی تعداد تحویلهای موازی به یک مقصد واحد، مشکل «ازدحام ناگهانی» (thundering herd) را برطرف میکند.
- ?Bنوبتگردشی (round robin)?R
- مدیر صف درخواستهای تحویل را بر اساس مقصد مرتب میکند. انتخاب نوبتگردشی مانع از تسلط یک مقصد بر تحویلها به مقاصد دیگر میشود.
- ?Bپسنشینی نمایی (exponential backoff)?R
- ایمیلی که در تلاش اول تحویل داده نشود به تعویق میافتد. بازه زمانی بین تلاشهای تحویل پس از هر بار تلاش دو برابر میشود.
- ?Bحافظه موقت وضعیت مقصد (destination status cache)?R
- مدیر صف با نگهداری یک فهرست کوتاهمدت در حافظه از مقاصد غیرقابل دسترس، از تلاشهای غیرضروری برای تحویل خودداری میکند.
محرکها (TRIGGERS)
در یک سیستم بیکار، مدیر صف در انتظار رسیدن رویدادهای محرک میماند، یا منتظر اتمام یک زمانسنج میشود. یک محرک یک پیام تکبایتی است. بسته به پیام دریافت شده، مدیر صف یکی از اقدامات زیر را انجام میدهد (به دنبال پیام، ثابت نمادین استفادهشده در داخل نرمافزار آمده است):
- ?BD (QMGR_REQ_SCAN_DEFERRED)?R
- شروع پویش صف معوق (deferred). اگر پویش صف معوق از قبل در حال انجام باشد، به محض اتمام مجدداً راهاندازی خواهد شد.
- ?BI (QMGR_REQ_SCAN_INCOMING)?R
- شروع پویش صف ورودی (incoming). اگر پویش صف ورودی از قبل در حال انجام باشد، به محض اتمام مجدداً راهاندازی خواهد شد.
- ?BA (QMGR_REQ_SCAN_ALL)?R
- نادیده گرفتن برچسبهای زمانی فایلهای صف معوق. این درخواست بر پویش بعدی صف معوق تأثیر میگذارد.
- ?BF (QMGR_REQ_FLUSH_DEAD)?R
- پاکسازی تمامی اطلاعات مربوط به مقاصد و انتقالات از کار افتاده.
- ?BW (TRIGGER_REQ_WAKEUP)?R
- درخواست بیداری؛ این مورد توسط سرور اصلی (master) برای نمونهسازی سرورهایی استفاده میشود که نباید برای همیشه متوقف شوند. عمل مربوطه، شروع پویش صف ورودی است.
دیمن ?Boqmgr?R(8) به اندازه کل یک بافر محرکها را میخواند. درخواستهای محرک چندگانه یکسان در یکی ادغام میشوند، و درخواستهای محرک به گونهای مرتب میشوند که ?BA?R و ?BF?R بر ?BD?R و ?BI?R تقدم یابند. بنابراین، برای اجبار به اجرای صف معوق، فرد ?BA F D?R را درخواست میکند؛ و برای اطلاع به مدیر صف از ورود ایمیل جدید، ?BI?R را درخواست مینماید.
استانداردها (STANDARDS)
RFC 3463 (کدهای وضعیت ارتقایافته) RFC 3464 (اعلانهای وضعیت تحویل)
امنیت (SECURITY)
دیمن ?Boqmgr?R(8) از نظر امنیتی حساس نیست. این دیمن پیامهای تکنویسهای را از کاربران محلی غیرقابل اعتماد میخواند و بنابراین ممکن است مستعد حملات منع سرویس باشد. دیمن ?Boqmgr?R(8) با دنیای خارج ارتباط برقرار نمیکند و میتواند با دسترسی پایین ثابت در یک محیط chroot اجرا شود.
عیبیابی (DIAGNOSTICS)
مشکلات و تراکنشها در دیمن ?Bsyslogd?R(8) یا ?Bpostlogd?R(8) ثبت میشوند. فایلهای پیام آسیبدیده برای بازبینی بیشتر در صف ?Bcorrupt?R ذخیره میشوند.
بسته به تنظیم پارامتر ?Bnotify_classes?R، مدیر سیستم پستی (postmaster) از برگشتها و سایر مشکلات مطلع میشود.
اشکالات (BUGS)
یک پردازش مدیر صف واحد باید برای دسترسی به دیسک با چندین پردازش فرانتاند مانند ?Bcleanup?R(8) رقابت کند. هجوم ناگهانی ایمیلهای ورودی میتواند بر نرخ تحویل خروجی تأثیر منفی بگذارد.
پارامترهای پیکربندی (CONFIGURATION PARAMETERS)
تغییرات در ?Bmain.cf?R به طور خودکار اعمال نمیشوند، زیرا ?Boqmgr?R(8) یک پردازش ماندگار است. پس از تغییر پیکربندی، از دستور «?Bpostfix reload?R» استفاده کنید.
متن زیر تنها خلاصهای از پارامترها را ارائه میدهد. برای جزئیات بیشتر به همراه مثالها به ?Bpostconf?R(5) مراجعه کنید.
در متن زیر، ?Itransport?R فیلد نخست در یک مدخل ?Bmaster.cf?R است.
کنترلهای سازگاری (COMPATIBILITY CONTROLS)
موجود پیش از نسخه 2.5 پستفیکس:
- ?Ballow_min_user (no)?R
- اجازه به نشانی فرستنده یا گیرنده برای داشتن نویسه '-' به عنوان اولین نویسه.
موجود در نسخه 2.7 و بالاتر پستفیکس:
- ?Bdefault_filter_nexthop (empty)?R
- هنگامی که یک درخواست content_filter یا FILTER هیچ مقصد گام بعدی صریحی را مشخص نکرده باشد، از default_filter_nexthop$ استفاده میشود؛ اگر خالی باشد، دامنه موجود در نشانی گیرنده به کار میرود.
کنترلهای صف فعال (ACTIVE QUEUE CONTROLS)
- ?Bqmgr_clog_warn_time (300s)?R
- حداقل تأخیر میان هشدارهایی مبنی بر اینکه یک مقصد خاص در حال مسدود کردن صف فعال Postfix است.
- ?Bqmgr_message_active_limit (20000)?R
- حداکثر تعداد پیامها در صف فعال.
- ?Bqmgr_message_recipient_limit (20000)?R
- حداکثر تعداد گیرندگانی که توسط مدیر صف در حافظه نگهداری میشوند، و حداکثر اندازه حافظه موقت کوتاهمدت مقاصد غیرقابل دسترس در حافظه.
کنترلهای همزمانی تحویل (DELIVERY CONCURRENCY CONTROLS)
- ?Bqmgr_fudge_factor (100)?R
- قابلیت منسوخ: درصد منابع تحویل که یک سیستم ایمیل شلوغ برای تحویل یک پیام بزرگ فهرست پستی مصرف میکند.
- ?Binitial_destination_concurrency (5)?R
- سطح همزمانی اولیه به ازای هر مقصد برای تحویل موازی به همان مقصد.
- ?Bdefault_destination_concurrency_limit (20)?R
- حداکثر تعداد پیشفرض تحویلهای موازی به یک مقصد مشابه.
- ?Btransport_destination_concurrency_limit ()?R
- بازنویسی اختصاصی روش انتقال برای مقدار پارامتر default_destination_concurrency_limit.
موجود در نسخه 2.5 و بالاتر پستفیکس:
- ?Btransport_initial_destination_concurrency ()?R
- بازنویسی اختصاصی روش انتقال برای مقدار پارامتر initial_destination_concurrency.
- ?Bdefault_destination_concurrency_failed_cohort_limit (1)?R
- تعداد دفعات شکست در اتصال یا دستتکانی پیش از آنکه مقصدی مشخص غیرقابل دسترس در نظر گرفته شود.
- ?Btransport_destination_concurrency_failed_cohort_limit ()?R
- بازنویسی اختصاصی روش انتقال برای مقدار پارامتر default_destination_concurrency_failed_cohort_limit.
- ?Bdefault_destination_concurrency_negative_feedback (1)?R
- میزان بازخورد منفی همزمانی تحویل به ازای هر مقصد، پس از تحویلی که با شکست اتصال مواجه شده است.
- ?Btransport_destination_concurrency_negative_feedback ()?R
- بازنویسی اختصاصی روش انتقال برای مقدار پارامتر default_destination_concurrency_negative_feedback.
- ?Bdefault_destination_concurrency_positive_feedback (1)?R
- میزان بازخورد مثبت همزمانی تحویل به ازای هر مقصد، پس از تحویل موفق بدون شکست اتصال.
- ?Btransport_destination_concurrency_positive_feedback ()?R
- بازنویسی اختصاصی روش انتقال برای مقدار پارامتر default_destination_concurrency_positive_feedback.
- ?Bdestination_concurrency_feedback_debug (no)?R
- پرگو کردن الگوریتم بازخورد مدیر صف جهت اهداف تحلیل کارایی.
کنترلهای زمانبندی گیرندگان (RECIPIENT SCHEDULING CONTROLS)
- ?Bdefault_destination_recipient_limit (50)?R
- حداکثر تعداد پیشفرض گیرندگان در هر تحویل پیام.
- ?Btransport_destination_recipient_limit ()?R
- بازنویسی اختصاصی روش انتقال برای مقدار پارامتر default_destination_recipient_limit.
سایر کنترلهای منابع و نرخ (OTHER RESOURCE AND RATE CONTROLS)
- ?Bminimal_backoff_time (300s)?R
- حداقل زمان بین تلاشها برای تحویل یک پیام معوق؛ در نسخههای پیش از 2.4 مقدار پیشفرض 1000s بود.
- ?Bmaximal_backoff_time (4000s)?R
- حداکثر زمان بین تلاشها برای تحویل یک پیام معوق.
- ?Bmaximal_queue_lifetime (5d)?R
- غیرقابل تحویل در نظر گرفتن پیام، هنگامی که تحویل با خطای موقت مواجه شود و زمان حضور در صف به این حد برسد.
- ?Bqueue_run_delay (300s)?R
- زمان بین پویشهای صف معوق توسط مدیر صف؛ در نسخههای پیش از 2.4 مقدار پیشفرض 1000s بود.
- ?Btransport_retry_time (60s)?R
- زمان بین تلاشهای مدیر صف Postfix برای تماس با یک روش انتقال تحویل پیام دارای اختلال.
موجود در نسخه 2.1 و بالاتر پستفیکس:
- ?Bbounce_queue_lifetime (5d)?R
- غیرقابل تحویل دانستن یک پیام برگشتی، زمانی که تحویل با خطای موقت مواجه شده و زمان در صف به این حد برسد.
موجود در نسخه 2.5 و بالاتر پستفیکس:
- ?Bdefault_destination_rate_delay (0s)?R
- مقدار تأخیر پیشفرض ایجادشده میان تحویلهای جداگانه پیام به یک مقصد مشخص و از طریق یک روش انتقال یکسان.
- ?Btransport_destination_rate_delay ()?R
- بازنویسی اختصاصی روش انتقال برای مقدار پارامتر default_destination_rate_delay.
موجود در نسخه 3.1 و بالاتر پستفیکس:
- ?Bdefault_transport_rate_delay (0s)?R
- مقدار تأخیر پیشفرض میان تحویلهای پیام از طریق یک روش انتقال بدون در نظر گرفتن مقصد.
- ?Btransport_transport_rate_delay ()?R
- بازنویسی اختصاصی روش انتقال برای مقدار پارامتر default_transport_rate_delay.
کنترلهای ایمنی (SAFETY CONTROLS)
- ?Bqmgr_daemon_timeout (1000s)?R
- مدت زمانی که یک پردازش مدیر صف پستفیکس میتواند برای پردازش یک درخواست صرف کند پیش از آنکه توسط تایمر نگهبان خاتمه داده شود.
- ?Bqmgr_ipc_timeout (60s)?R
- مهلت زمانی مدیر صف برای ارسال یا دریافت اطلاعات از طریق یک کانال ارتباطی داخلی.
موجود در نسخه 3.1 و بالاتر پستفیکس:
- ?Baddress_verify_pending_request_limit (خروجی 'postconf -d' را ببینید)?R
- یک محدودیت ایمنی که مانع از اشباع صف پستفیکس توسط درخواستهای اعتبارسنجی نشانی میشود.
کنترلهای متفرقه (MISCELLANEOUS CONTROLS)
- ?Bconfig_directory (خروجی 'postconf -d' را ببینید)?R
- مکان پیشفرض فایلهای پیکربندی main.cf و master.cf در پستفیکس.
- ?Bdefer_transports (empty)?R
- نامهای روشهای انتقال تحویل پیام که نباید ایمیل تحویل دهند مگر اینکه فردی «?Bsendmail -q?R» یا معادل آن را اجرا کند.
- ?Bdelay_logging_resolution_limit (2)?R
- حداکثر تعداد ارقام پس از اعشار هنگام ثبت مقادیر تأخیر در لاگ.
- ?Bhelpful_warnings (yes)?R
- ثبت هشدارهایی درباره تنظیمات پیکربندی مشکلساز و ارائه پیشنهادات مفید.
- ?Bprocess_id (فقطخواندنی)?R
- شناسه پردازش (PID) یک دستور یا دیمن پستفیکس.
- ?Bprocess_name (فقطخواندنی)?R
- نام پردازش یک دستور یا دیمن پستفیکس.
- ?Bqueue_directory (خروجی 'postconf -d' را ببینید)?R
- مکان دایرکتوری سطح بالای صف در پستفیکس.
- ?Bsyslog_facility (mail)?R
- تسهیلات syslog برای ثبت لاگهای پستفیکس.
- ?Bsyslog_name (خروجی 'postconf -d' را ببینید)?R
- پیشوندی که به نام پردازش در رکوردهای syslog اضافه میشود.
موجود در نسخه 3.0 و بالاتر پستفیکس:
- ?Bconfirm_delay_cleared (no)?R
- پس از ارسال اعلان تأخیر پیام، فرستنده هنگام برطرف شدن تأخیر مطلع گردد.
موجود در نسخه 3.3 و بالاتر پستفیکس:
- ?Bservice_name (فقطخواندنی)?R
- نام سرویس در master.cf برای یک پردازش دیمن پستفیکس.
موجود در نسخه 3.5 و بالاتر پستفیکس:
- ?Binfo_log_address_format (external)?R
- قالب نشانی ایمیلی که در لاگهای غیر اشکالزدایی (اطلاعات، هشدار و غیره) استفاده خواهد شد.
فایلها (FILES)
/var/spool/postfix/incoming, صف ورودی /var/spool/postfix/active, صف فعال /var/spool/postfix/deferred, صف معوق /var/spool/postfix/bounce, وضعیت عدم تحویل /var/spool/postfix/defer, وضعیت عدم تحویل /var/spool/postfix/trace, وضعیت تحویل
همچنین ببینید (SEE ALSO)
trivial-rewrite(8), مسیریابی نشانی bounce(8), گزارشهای وضعیت تحویل postconf(5), پارامترهای پیکربندی master(5), گزینههای عمومی دیمن master(8), مدیر پردازش postlogd(8), لاگگیری پستفیکس syslogd(8), لاگگیری سیستم
فایلهای راهنما (README FILES)
از دستور «?Bpostconf readme_directory?R» یا «?Bpostconf html_directory?R» برای یافتن این اطلاعات استفاده کنید.
QSHAPE_README, تحلیل صف پستفیکس
مجوز (LICENSE)
مجوز نرمافزار Secure Mailer باید همراه با این نرمافزار توزیع شود.
نویسندگان (AUTHORS)
Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Wietse Venema Google, Inc. 111 8th Avenue New York, NY 10011, USA