| TEAMD.CONF(5) | Team daemon configuration | TEAMD.CONF(5) |
نام (NAME)
teamd.conf - پرونده پیکربندی دیمن teamd
توضیحات (DESCRIPTION)
ابزار teamd از پیکربندی با قالب JSON استفاده میکند.
گزینهها (OPTIONS)
- device (string)
- نام مورد نظر برای دستگاه team جدید.
- debug_level (int)
- سطح پیامهای اشکالزدایی. هر چه این مقدار بالاتر باشد پیامهای اشکالزدایی بیشتری چاپ میشوند. این گزینه مشابه افزودن گزینهٔ خط فرمان -g است.
پیشفرض: 0 (غیرفعال)
- hwaddr (string)
- نشانی سختافزاری مورد نظر برای دستگاه team جدید. قالب متداول نشانی MAC پذیرفته میشود.
- runner.name (string)
- نام مجری (runner) دستگاه team. مجریهای زیر در دسترس هستند:
broadcast — مجری سادهای که دستگاه team را هدایت میکند تا بستهها را از طریق تمام درگاهها ارسال کند.
roundrobin — مجری سادهای که دستگاه team را هدایت میکند تا بستهها را به روش نوبتی (round-robin) ارسال کند.
random — مجری سادهای که دستگاه team را هدایت میکند تا بستهها را روی درگاهی که به صورت تصادفی انتخاب شده ارسال کند.
activebackup — تغییرات وضعیت پیوند را زیر نظر میگیرد و درگاه فعال را برای انتقال دادهها انتخاب میکند.
loadbalance — برای انجام توازن بار غیرفعال (passive)، این مجری فقط تابع درهمسازی BPF را برپا میکند که درگاه ارسال بسته را مشخص میکند. برای توازن بار فعال (active)، مجری مقادیر درهمسازی را میان درگاههای موجود جابجا میکند تا به توازن کامل دست یابد.
lacp — پروتکل 802.3ad LACP را پیادهسازی میکند. میتواند از همان قابلیتهای انتخاب درگاه Tx مجری loadbalance استفاده کند.
پیشفرض: roundrobin
- notify_peers.count (int)
- تعداد رگبارهای بستههای ناخواستهٔ NA و بستههای gratuitous ARP که پس از فعال یا غیرفعال شدن درگاه فرستاده میشوند.
پیشفرض: 0 (غیرفعال)
پیشفرض برای مجری activebackup: 1
- notify_peers.interval (int)
- مقدار عددی مثبت بر حسب میلیثانیه است. فاصلهزمانی میان رگبارهای بستههای notify-peer را مشخص میکند.
پیشفرض: 0
- mcast_rejoin.count (int)
- تعداد رگبارهای درخواستهای پیوستن مجدد به گروه چندپخشی (multicast) که پس از فعال یا غیرفعال شدن درگاه فرستاده میشوند.
پیشفرض: 0 (غیرفعال)
پیشفرض برای مجری activebackup: 1
- mcast_rejoin.interval (int)
- مقدار عددی مثبت بر حسب میلیثانیه است. فاصلهزمانی میان رگبارهای درخواستهای پیوستن مجدد به گروه چندپخشی را مشخص میکند.
پیشفرض: 0
- link_watch.name | ports.PORTIFNAME.link_watch.name (string)
- نام پایشگر پیوند مورد استفاده. پایشگرهای پیوند زیر در دسترس هستند:
ethtool — از کتابخانهٔ Libteam برای دریافت تغییرات وضعیت ethtool درگاه استفاده میکند.
arp_ping — درخواستهای ARP از طریق یک درگاه ارسال میشوند. اگر پاسخ ARP دریافت شود، پیوند به عنوان برقرار (up) در نظر گرفته میشود.
nsna_ping — مشابه مورد قبلی است، با این تفاوت که از سازوکار Neighbor Solicitation / Neighbor Advertisement در IPv6 استفاده میکند. این روش جایگزینی برای arp_ping است و در محیطهای کاملاً مبتنی بر IPv6 کارآمد خواهد بود.
- ports (object)
- فهرستی از درگاهها، دستگاههای شبکه، که در یک دستگاه team استفاده میشوند.
برای اطلاعات بیشتر به بخش مثالها مراجعه کنید.
- ports.PORTIFNAME.queue_id (int)
- شناسهٔ صفی که این درگاه باید به آن نگاشت شود.
پیشفرض: None
گزینههای اختصاصی مجری ACTIVE-BACKUP (ACTIVE-BACKUP RUNNER SPECIFIC OPTIONS)
- runner.hwaddr_policy (string)
- این گزینه خطمشی نحوهٔ تنظیم نشانیهای سختافزاری دستگاه team و دستگاههای درگاه را در طول چرخهٔ حیات team مشخص میکند. گزینههای زیر در دسترس هستند:
same_all — تمام درگاهها همواره نشانی سختافزاری یکسانی با دستگاه team مرتبط خواهند داشت.
by_active — دستگاه team نشانی سختافزاری درگاه در حال حاضر فعال را اتخاذ میکند. این گزینه زمانی مفید است که دستگاه درگاه قادر به تغییر نشانی سختافزاری خود نباشد.
only_active — تنها درگاه فعال نشانی سختافزاری دستگاه team را به خود میگیرد. بقیهٔ درگاهها نشانی اختصاصی خود را دارند.
پیشفرض: same_all
- ports.PORTIFNAME.prio (int)
- اولویت درگاه. عدد بالاتر به معنای اولویت بیشتر است.
پیشفرض: 0
- ports.PORTIFNAME.sticky (bool)
- پرچمی که مشخص میکند آیا درگاه چسبنده (sticky) است یا خیر. در صورت تنظیم، به این معناست که اگر درگاه دیگری با اولویت بالاتر یا پارامترهای بهتر در دسترس قرار گیرد، این درگاه از حالت انتخاب خارج نمیشود.
پیشفرض: false
گزینههای اختصاصی مجری LOAD BALANCE (LOAD BALANCE RUNNER SPECIFIC OPTIONS)
- runner.tx_hash (array)
- فهرستی از انواع قطعات (رشتهها) که باید برای محاسبهٔ درهمسازی ارسال (Tx hash) بستهها استفاده شوند. گزینههای زیر در دسترس هستند:
eth — از نشانیهای MAC مبدأ و مقصد استفاده میکند.
vlan — از شناسهٔ VLAN استفاده میکند.
ipv4 — از نشانیهای IPv4 مبدأ و مقصد استفاده میکند.
ipv6 — از نشانیهای IPv6 مبدأ و مقصد استفاده میکند.
ip — از نشانیهای IPv4 و IPv6 مبدأ و مقصد استفاده میکند.
l3 — از نشانیهای IPv4 و IPv6 مبدأ و مقصد استفاده میکند.
tcp — از درگاههای TCP مبدأ و مقصد استفاده میکند.
udp — از درگاههای UDP مبدأ و مقصد استفاده میکند.
sctp — از درگاههای SCTP مبدأ و مقصد استفاده میکند.
l4 — از درگاههای TCP، UDP و SCTP مبدأ و مقصد استفاده میکند.
پیشفرض: ["eth", "ipv4", "ipv6"]
- runner.tx_balancer.name (string)
- نام متعادلکنندهٔ Tx فعال. توازن بار فعال Tx به صورت پیشفرض غیرفعال است. تنها مقدار در دسترس basic است.
پیشفرض: None
- runner.tx_balancer.balancing_interval (int)
- بر حسب دهم ثانیه. فاصلهزمانی دورهای میان موازنهسازیهای مجدد.
پیشفرض: 50
گزینههای اختصاصی مجری LACP (LACP RUNNER SPECIFIC OPTIONS)
- runner.active (bool)
- اگر true باشد، فریمهای LACPDU به صورت دورهای روی پیوندهای پیکربندیشده ارسال میشوند. در غیر این صورت، به شیوهٔ «پاسخ در صورت پرسش» عمل میکند.
پیشفرض: true
- runner.fast_rate (bool)
- این گزینه نرخی را تعیین میکند که از شریک پیوند درخواست میشود بستههای LACPDU را ارسال کند. اگر مقدار true باشد، بستهها یک بار در ثانیه فرستاده میشوند. در غیر این صورت هر ۳۰ ثانیه یک بار ارسال خواهند شد.
پیشفرض: false
- runner.tx_hash (array)
- مشابه مجری load balance.
- runner.tx_balancer.name (string)
- مشابه مجری load balance.
- runner.tx_balancer.balancing_interval (int)
- مشابه مجری load balance.
- runner.sys_prio (int)
- اولویت سیستم؛ مقدار میتواند بین 0 – 65535 باشد.
پیشفرض: 65535
- runner.min_ports (int)
- حداقل تعداد درگاههایی را مشخص میکند که باید قبل از اعلام حامل (carrier) در رابط اصلی فعال باشند؛ مقدار میتواند بین 1 – 1024 باشد.
پیشفرض: 1
- runner.agg_select_policy (string)
- خطمشی نحوهٔ انتخاب تجمیعکنندهها (aggregators) را برمیگزیند. گزینههای زیر در دسترس هستند:
lacp_prio — تجمیعکننده با بالاترین اولویت بر اساس استاندارد LACP انتخاب میشود. اولویت تجمیعکننده تحت تأثیر گزینهٔ مربوط به هر درگاه یعنی lacp_prio قرار میگیرد.
lacp_prio_stable — مشابه مورد قبلی است، جز اینکه در صورت قابل استفاده بودن تجمیعکنندهٔ فعلی، جایگزین نمیشود.
bandwidth — تجمیعکننده با بالاترین مجموع پهنای باند را انتخاب میکند.
count — تجمیعکننده با بیشترین تعداد درگاهها را انتخاب میکند.
port_config — تجمیعکننده با بالاترین اولویت با توجه به گزینههای مربوط به هر درگاه شامل prio و sticky انتخاب میشود. این بدان معناست که تجمیعکنندهٔ حاوی درگاه با بیشترین اولویت انتخاب میشود مگر آنکه حداقل یکی از درگاهها در تجمیعکنندهٔ فعلی sticky باشد.
پیشفرض: lacp_prio
- ports.PORTIFNAME.lacp_prio (int)
- اولویت درگاه بر اساس استاندارد LACP. عدد کوچکتر بیانگر اولویت بالاتر است.
پیشفرض: 255
- ports.PORTIFNAME.lacp_key (int)
- کلید درگاه بر اساس استاندارد LACP. تنها امکان تجمیع درگاههایی با کلید یکسان وجود دارد.
پیشفرض: 0
گزینههای اختصاصی پایشگر پیوند ETHTOOL (ETHTOOL LINK WATCH SPECIFIC OPTIONS)
- link_watch.delay_up | ports.PORTIFNAME.link_watch.delay_up (int)
- مقدار عددی مثبت بر حسب میلیثانیه است. تأخیر بین برقراری (up شدن) پیوند و مطلع ساختن مجری از آن است.
پیشفرض: 0
- link_watch.delay_down | ports.PORTIFNAME.link_watch.delay_down (int)
- مقدار عددی مثبت بر حسب میلیثانیه است. تأخیر بین قطع شدن (down شدن) پیوند و مطلع ساختن مجری از آن است.
پیشفرض: 0
گزینههای اختصاصی پایشگر پیوند ARP PING (ARP PING LINK WATCH SPECIFIC OPTIONS)
- link_watch.interval | ports.PORTIFNAME.link_watch.interval (int)
- مقدار عددی مثبت بر حسب میلیثانیه است. فاصلهزمانی میان ارسال درخواستهای ARP است.
پیشفرض: 1000
- link_watch.init_wait | ports.PORTIFNAME.link_watch.init_wait (int)
- مقدار عددی مثبت بر حسب میلیثانیه است. تأخیر میان راهاندازی اولیهٔ پایشگر پیوند و ارسال نخستین درخواست ARP است.
پیشفرض: 0
- link_watch.missed_max | ports.PORTIFNAME.link_watch.missed_max (int)
- حداکثر تعداد پاسخهای بیپاسخماندهٔ ARP. در صورت فراتر رفتن از این تعداد، پیوند به عنوان قطعشده (down) گزارش میشود.
پیشفرض: 3
- link_watch.source_host | ports.PORTIFNAME.link_watch.source_host (hostname)
- نام میزبان برای تبدیل به نشانی IP که به عنوان نشانی مبدأ در درخواست ARP پر میشود.
پیشفرض: 0.0.0.0
- link_watch.target_host | ports.PORTIFNAME.link_watch.target_host (hostname)
- نام میزبان برای تبدیل به نشانی IP که به عنوان نشانی مقصد در درخواست ARP پر میشود.
- link_watch.validate_active | ports.PORTIFNAME.link_watch.validate_active (bool)
- اعتبارسنجی بستههای ARP دریافتشده روی درگاههای فعال. در صورت عدم تنظیم، تمام بستههای ARP ورودی به عنوان پاسخی معتبر در نظر گرفته میشوند.
پیشفرض: false
- link_watch.validate_inactive | ports.PORTIFNAME.link_watch.validate_inactive (bool)
- اعتبارسنجی بستههای ARP دریافتشده روی درگاههای غیرفعال. در صورت عدم تنظیم، تمام بستههای ARP ورودی به عنوان پاسخی معتبر در نظر گرفته میشوند.
پیشفرض: false
- link_watch.vlanid | ports.PORTIFNAME.link_watch.vlanid (int)
- به صورت پیشفرض، درخواستهای ARP بدون برچسب VLAN ارسال میشوند. این گزینه موجب میشود درخواستهای خروجی ARP با شماره شناسهٔ VLAN مشخصشده ارسال شوند.
پیشفرض: None
- link_watch.send_always | ports.PORTIFNAME.link_watch.send_always (bool)
- به صورت پیشفرض، درخواستهای ARP تنها روی درگاههای فعال ارسال میشوند. این گزینه امکان ارسال روی درگاههای غیرفعال را نیز فراهم میکند.
پیشفرض: false
گزینههای اختصاصی پایشگر پیوند NS/NA PING (NS/NA PING LINK WATCH SPECIFIC OPTIONS)
- link_watch.interval | ports.PORTIFNAME.link_watch.interval (int)
- مقدار عددی مثبت بر حسب میلیثانیه است. فاصلهزمانی میان ارسال بستههای NS است.
پیشفرض: 1000
- link_watch.init_wait | ports.PORTIFNAME.link_watch.init_wait (int)
- مقدار عددی مثبت بر حسب میلیثانیه است. تأخیر میان راهاندازی اولیهٔ پایشگر پیوند و ارسال نخستین بستهٔ NS است.
- link_watch.missed_max | ports.PORTIFNAME.link_watch.missed_max (int)
- حداکثر تعداد پاسخهای بیپاسخماندهٔ NA. در صورت فراتر رفتن از این مقدار، وضعیت پیوند قطعشده (down) گزارش میشود.
پیشفرض: 3
- link_watch.target_host | ports.PORTIFNAME.link_watch.target_host (hostname)
- نام میزبان برای تبدیل به نشانی IPv6 که به عنوان نشانی هدف در بستهٔ NS پر میشود.
- link_watch_policy (string)
- نام خطمشی ارزیابی پایشگرهای پیوند. گزینههای زیر در دسترس هستند:
any — پیوند برقرار (up) است اگر any (هر یک از) پایشگرهای پیوند وضعیت پیوند را برقرار گزارش کنند.
all — پیوند برقرار (up) است اگر all (تمامی) پایشگرهای پیوند وضعیت پیوند را برقرار گزارش کنند.
پیشفرض: any
مثالها (EXAMPLES)
{
"device": "team0",
"runner": {"name": "roundrobin"},
"ports": {"eth1": {}, "eth2": {}}
}
پیکربندی بسیار ساده و پایه.
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {"name": "ethtool"},
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
این پیکربندی از مجری active-backup با پایشگر پیوند ethtool استفاده میکند. درگاه eth2 اولویت بالاتری دارد، اما پرچم sticky تضمین میکند که اگر eth1 فعال شود، تا زمان برقرار ماندن پیوند فعال باقی بماند.
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {
"name": "ethtool",
"delay_up": 2500,
"delay_down": 1000
},
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
مشابه مورد قبلی است. تنها تفاوت در این است که تغییرات پیوند فوراً به مجری اعمال نمیشوند، بلکه تأخیرها اعمال میگردند.
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {
"name": "arp_ping",
"interval": 100,
"missed_max": 30,
"target_host": "192.168.23.1"
},
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
این پیکربندی از پایش پیوند با ARP ping استفاده میکند.
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": [
{
"name": "arp_ping",
"interval": 100,
"missed_max": 30,
"target_host": "192.168.23.1"
},
{
"name": "arp_ping",
"interval": 50,
"missed_max": 20,
"target_host": "192.168.24.1"
}
],
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
مشابه پیکربندی قبلی است، با این تفاوت که این بار دو پایشگر پیوند به طور همزمان استفاده میشوند.
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch_policy": "all",
"link_watch": [
{
"name": "arp_ping",
"interval": 100,
"missed_max": 30,
"target_host": "192.168.23.1"
},
{
"name": "ethtool"
}
],
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
دو پایشگر پیوند به صورت همزمان استفاده میشوند. وضعیت پیوند تنها در صورتی برقرار (up) تلقی میشود که تمام پایشگرهای پیوند پیکربندیشده وضعیت آن را برقرار گزارش کنند.
{
"device": "team0",
"runner": {
"name": "loadbalance",
"tx_hash": ["eth", "ipv4", "ipv6"]
},
"ports": {"eth1": {}, "eth2": {}}
}
پیکربندی برای توازن بار غیرفعال (passive) ارسال Tx مبتنی بر درهمسازی.
{
"device": "team0",
"runner": {
"name": "loadbalance",
"tx_hash": ["eth", "ipv4", "ipv6"],
"tx_balancer": {
"name": "basic"
}
},
"ports": {"eth1": {}, "eth2": {}}
}
پیکربندی برای توازن بار فعال Tx با استفاده از متعادلکنندهٔ ساده (basic).
{
"device": "team0",
"runner": {
"name": "lacp",
"active": true,
"fast_rate": true,
"tx_hash": ["eth", "ipv4", "ipv6"]
},
"link_watch": {"name": "ethtool"},
"ports": {"eth1": {}, "eth2": {}}
}
پیکربندی برای برقراری ارتباط با همتایی که از پروتکل LACP پشتیبانی میکند.
همچنین ببینید (SEE ALSO)
نویسنده (AUTHOR)
Jiri Pirko نویسندهٔ اولیه و نگهدارندهٔ فعلی libteam است.
| 2013-07-09 | libteam |