آیا این مهم است؟ « وبلاگ ipSpace.net

ما پیکربندی دستگاه را با Netmiko در نسخه netlab سپتامبر 2026 منتشر کردیم و استفاده از آن را در نسخه اکتبر 2026 آسانتر کردیم. تا چند ماه دیگر به روش پیکربندی پیشفرض برای چندین پلتفرم محبوب (Arista EOS، Cisco IOS، Cisco Nexus OS، Cisco IOS XR، ماشینهای مجازی FRRouting) تبدیل میشود، اما قبل از انجام این کار میخواستم بررسی کنم که آیا این تغییر تفاوتی ایجاد میکند یا خیر.
TL&DR: بله، این کار را می کند.
شما نمی توانید این دو ابزار را نسبتاً مقایسه کنید. Netmiko یک کار را انجام می دهد ( رسیدگی به جلسات SSH و دانلود تنظیمات دستگاه) در حالی که Ansible سعی می کند همه چیز برای همه باشد. این مانند مقایسه یک اره برقی با یک چاقوی ارتش سوئیس است. با این حال، از آنجایی که netlab فقط به دانلودهای پیکربندی نیاز دارد، (برای من) منطقی بود که عملکرد این کار را مقایسه کنم.
یه تست خیلی غیر علمی دادم:
- من آزمایشگاه EVPN را راه اندازی کردم زیرا موارد زیادی برای پیکربندی وجود دارد (نرمال سازی پیکربندی، پیکربندی اولیه، VLAN، OSPF، BGP، VRF، VXLAN، EVPN)
- اندازه گرفتم چقدر طول میکشه شروع کنید آزمایشگاه (ظروف Arista EOS و Linux) و مدت زمانی که طول می کشد پیکربندی کنید آن را
- را آزمایشگاه را پیکربندی کنید بخشی از Arista EOS آماده بود بش اسکریپت ها، Netmiko و Ansible.netlab همیشه کانتینرهای لینوکس را با آن پیکربندی می کنند بش اسکریپت ها
در اینجا نتایج آمده است:
| عملیات | زمان پردازشگر netlab | زمان سپری شده |
|---|---|---|
| راه اندازی آزمایشگاه | 1.6 ثانیه | 23.5 ثانیه |
| پیکربندی با بش اسکریپت ها | 0.7 ثانیه | 4.3 ثانیه |
| پیکربندی با Netmiko | 0.9 ثانیه | 6.2 ثانیه |
| پیکربندی با Ansible | 9.8 ثانیه | 33.1 ص |
تفاوت بین زمانهای پیکربندی Netmiko و Ansible قابل توجه است، و در حالی که واقعاً مهم نیست که از ماشینهای مجازی استفاده میکنید (که بسیار کندتر از کانتینرها راهاندازی میشوند)، تنها تماشای کتاب بازی Ansible که در مراحل پیکربندی آهسته پیش میرود باعث ایجاد نویز میشود.
صحبت از نویز: در اینجا پرینت کامل یک پیکربندی توپولوژی آزمایشگاهی مبتنی بر Netmiko با دو سوئیچ و چهار میزبان است. شما واقعاً نمی خواهید چاپ مربوطه Ansible را ببینید.
┌──────────────────────────────────────────────────────────────────────────────────┐ │ CHECKING Are lab devices ready to be configured? │ └──────────────────────────────────────────────────────────────────────────────────┘ [INFO] Checking SSH server(s) on dut_s1,dut_s2 [SSH] Waiting for 1 devices (1.0 seconds) ┌──────────────────────────────────────────────────────────────────────────────────┐ │ CONFIG Normalizing device configurations │ └──────────────────────────────────────────────────────────────────────────────────┘ [INFO] Executing normalize configuration for node dut_s1 [INFO] Executing normalize configuration for node dut_s2 ┌──────────────────────────────────────────────────────────────────────────────────┐ │ CONFIG Deploying device configurations │ └──────────────────────────────────────────────────────────────────────────────────┘ [INFO] Executing initial configuration for node dut_s1 [INFO] Executing initial configuration for node dut_s2 [INFO] Executing initial configuration for node h1 (namespace clab-evpn-h1) [INFO] Executing initial configuration for node h2 (namespace clab-evpn-h2) [INFO] Executing initial configuration for node h3 (namespace clab-evpn-h3) [INFO] Executing initial configuration for node h4 (namespace clab-evpn-h4) [INFO] Executing routing configuration for node h1 (namespace clab-evpn-h1) [INFO] Executing routing configuration for node h3 (namespace clab-evpn-h3) [INFO] Executing routing configuration for node h4 (namespace clab-evpn-h4) [INFO] Executing routing configuration for node h2 (namespace clab-evpn-h2) [INFO] Executing vlan configuration for node dut_s1 [INFO] Executing vlan configuration for node dut_s2 [INFO] Executing ospf configuration for node dut_s1 [INFO] Executing ospf configuration for node dut_s2 [INFO] Executing bgp configuration for node dut_s1 [INFO] Executing bgp configuration for node dut_s2 [INFO] Executing vrf configuration for node dut_s2 [INFO] Executing vrf configuration for node dut_s1 [INFO] Executing vxlan configuration for node dut_s2 [INFO] Executing vxlan configuration for node dut_s1 [INFO] Executing evpn configuration for node dut_s2 [INFO] Executing evpn configuration for node dut_s1 Results of non-Ansible configuration deployments ==================================================================================================================================== dut_s1 Script: normalize,initial,vlan,ospf,bgp,vrf,vxlan,evpn dut_s2 Script: normalize,initial,vlan,ospf,bgp,vrf,vxlan,evpn h1 Script: initial,routing h2 Script: initial,routing h3 Script: initial,routing h4 Script: initial,routing [SUCCESS] Lab devices configured
در نهایت، من پیکربندی مبتنی بر SSH را به هک هایی مانند اسکریپت های FastCLI ترجیح می دهم که netlab می تواند با کانتینرهای Arista EOS استفاده کند. تفاوت عملکرد زیاد نیست و می توانیم از همین روش در ماشین های مجازی و کانتینرها استفاده کنیم.




