UCARP(8) System Manager's Manual UCARP(8)

ucarp - جابه‌جایی خودکار IP هنگام خرابی (Failover)

ucarp [-i, --interface=INTERFACE] [-s, --srcip=IPADDRESS]
[-v, --vhid=VHID] [-p, --pass=PASSWORD] [-o, --passfile=PASSFILE]
[-P, --preempt] [-n, --neutral] [-a, --addr=IPADDR] [-h, --help]
[-b, --advbase=SECS] [-k, --advskew=SKEW] [-u, --upscript=SCRIPT]
[-d, --downscript=SCRIPT] [-r, --deadratio=RATIO] [-z, --shutdown]
[-B, --daemonize] [-f, --facility=FACILITY] [-x, --xparam PARAM]
[-S, --ignoreifstate] [-M, --nomcast]

برنامه ucarp به یک جفت میزبان اجازه می‌دهد تا نشانی‌های IP مشترکی را به اشتراک بگذارند تا امکان جابه‌جایی خودکار نشانی (failover) از یک ماشین به ماشین دیگر در هنگام خرابی فراهم شود. این برنامه یک پیاده‌سازی پرتابل در فضای کاربری از پروتکل امن و بدون حق‌اختراع افزونگی نشانی مشترک (CARP)، یعنی جایگزین OpenBSD برای VRRP است.

برنامه ucarp از گزینه‌های خط فرمان زیر پشتیبانی می‌کند:

رابط شبکه‌ای که برنامه باید به آن متصل (bind) شود.
نشانی مبدأ پایدار (IP واقعی) مرتبط با این رابط شبکه.
شناسه کارگزار مجازی [1-255].
گذرواژه مشترک (رمزگذاری می‌شود و به‌صورت متن آشکار ارسال نمی‌شود).
پرونده‌ای که گذرواژه مشترک از آن خوانده می‌شود. پرونده مشخص‌شده باید گذرواژه را در خط اول خود داشته باشد.
فعال‌سازی جابه‌جایی پیش‌دستانه (preemptive failover). این گزینه باعث می‌شود یک نمونه از ucarp بلافاصله وضعیت master را بر عهده بگیرد.
هنگام شروع به کار زمانی که وضعیت اولیه backup است، اسکریپت downscript اجرا نشود.
نشانی IP مربوط به کارگزار مجازی.
نمایش خلاصه کوتاهی از گزینه‌های خط فرمان.
بازه زمانی بر حسب ثانیه برای ارسال اعلان‌ها (پیش‌فرض: ۱ ثانیه).
اریبی اعلان (advskew) بین [1-255] (پیش‌فرض: ۰).
دستوری را مشخص می‌کند که پس از اینکه ucarp با موفقیت به master تبدیل شد اجرا شود؛ نام رابط به عنوان آرگومان ارسال می‌شود. معمولاً اسکریپتی است که برای بالا آوردن نشانی مجازی، ثبت نتیجه در لاگ، افزودن مسیرها، پاک کردن ورودی‌های حافظه نهان ARP و غیره استفاده می‌شود.
دستوری را مشخص می‌کند که پس از گذار ucarp به وضعیت backup اجرا شود؛ نام رابط به عنوان آرگومان ارسال می‌شود. این دستور معمولاً اسکریپتی است که برای پایین آوردن رابط مجازی، ثبت اقدام در لاگ، حذف مسیرها و غیره به کار می‌رود.
نسبتی که توسط گره backup استفاده می‌شود تا مشخص کند چه مدت باید منتظر یک master پاسخ‌نداده بماند قبل از اینکه آن را از دست رفته در نظر بگیرد.
استفاده از این گزینه باعث می‌شود دستوری که با آرگومان -d مشخص شده است، هنگام خاموش شدن ucarp فراخوانی شود.
باعث می‌شود ucarp از ترمینال جدا شده و در پس‌زمینه به عنوان یک دیمن اجرا شود.
تنظیم بخش (facility) مربوط به syslog (پیش‌فرض: daemon).
مشخص کردن یک پارامتر اضافی که به اسکریپت‌های up/down ارسال شود.
نادیده گرفتن کابل‌های شبکه جداشده. این گزینه زمانی مفید است که گره‌های ucarp با یک کابل متقاطع (crossover) متصل شده باشند. بدون این گزینه، هنگامی که گره دیگر خاموش شود، گره master به حالت backup می‌رود زیرا دیگر پیوندی (NO-CARRIER) ندارد.
استفاده از اعلان‌های پخشی (broadcast) به‌جای چندپخشی (multicast).

یک میزبان با IP واقعی 10.1.1.10 که در یک پیکربندی پیش‌دستانه به عنوان master با IP مجازی 10.1.1.252 پیکربندی شده است:

    ucarp -i eth0 -s 10.1.1.10 -v 10 -p secret -a 10.1.1.252 \
    --upscript=/usr/local/sbin/vip-up.sh --downscript=/usr/local/sbin/vip-down.sh -P

گره پشتیبان (backup) ممکن است به شکلی شبیه به این پیکربندی شود:

    ucarp -i eth0 -s 10.1.1.11 -v 10 -p secret -a 10.1.1.252 \
    --upscript=/usr/local/sbin/vip-up.sh --downscript=/usr/local/sbin/vip-down.sh

ماشینی با IP واقعی 192.168.1.19 که master ترجیح‌داده‌شده برای یک IP مجازی 10.1.12.7 است؛ اعلان‌های برودکست هر ۵ ثانیه یک‌بار ارسال می‌شوند:

    ucarp -b 5 -s 192.168.1.19 -v 27 -p badpass -a 10.1.12.7 \
    -u /usr/local/sbin/vip-up.sh -d /usr/local/sbin/vip-down.sh -z

گره آماده‌باش فعال (hot standby) با IP برابر 192.168.1.20 از دستور زیر استفاده می‌کند (توجه داشته باشید که advskew برابر با ۵۰ آن را در موقعیت با اولویت کمتر قرار داده و باعث می‌شود ماشین اول اولویت داشته باشد):

    ucarp -b 5 -k 50 -s 192.168.1.20 -v 27 -p badpass -a 10.1.12.7 \
    -u /usr/local/sbin/vip-up.sh -d /usr/local/sbin/vip-down.sh -z

ارسال سیگنال SIGUSR1 به فرآیند ucarp باعث می‌شود یک خط وضعیت در syslog ثبت کند، مانند: «Sep 13 12:59:56 localhost ucarp[2654]: [INFO] MASTER on eth0 id 1» یا «Sep 13 13:00:25 localhost ucarp[2644]: [INFO] BACKUP on eth0 id 1»

ارسال سیگنال SIGUSR2 به فرآیند ucarp باعث می‌شود خود را از وضعیت master به backup تنزل دهد، ۳ ثانیه مکث کند و سپس مانند معمول به شنود سایر masterها ادامه دهد و در صورت نیاز خود را ارتقا دهد. این امر می‌تواند زمانی مفید باشد که بخواهید گره دیگری نقش master را بر عهده بگیرد.

نرم‌افزار ucarp توسط Frank Denis به نشانی <j@ucarp.org> نوشته شده است.

این صفحه راهنما توسط Eric Evans <eevans@debian.org> برای Debian نوشته شده و توسط Sébastien Luttringer <seblu@archlinux.org> برای Archlinux تطبیق داده شده است. اجازه کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز عمومی همگانی گنو، نگارش ۲ یا هر نگارش بالاتر منتشرشده توسط بنیاد نرم‌افزارهای آزاد اعطا می‌شود.

در سیستم‌های Arch Linux، متن کامل مجوز عمومی همگانی گنو را می‌توان در /usr/share/licenses/common/GPL یافت.