چرا اضافه کردن یک سوئیچ جدید به استک باعث ارور Version Mismatch می‌شود؟

چرا اضافه کردن یک سوئیچ جدید به استک باعث ارور Version Mismatch می‌شود

در شبکه‌هایی که از چند سوئیچ به‌صورت استک استفاده می‌شود، اضافه کردن یک Switch جدید در ظاهر کار ساده‌ای است: سوئیچ را به استک متصل می‌کنیم، کابل‌های Stack را نصب می‌کنیم و انتظار داریم دستگاه جدید به‌عنوان یکی از اعضای Stack شناسایی شود. اما یکی از خطاهای رایجی که مدیران شبکه، مخصوصاً هنگام کار با سوئیچ سیسکو ، با آن مواجه می‌شوند، خطای Version Mismatch است. در این وضعیت، سوئیچ جدید توسط Stack دیده می‌شود اما نمی‌تواند به شکل عادی به مجموعه ملحق شود.

Version Mismatch معمولاً به این معنی است که نسخه نرم‌افزاری یا Packageهای مورد استفاده توسط Switch جدید با نسخه‌ای که Stack فعلی اجرا می‌کند سازگار نیست. در نتیجه Stack برای جلوگیری از فعالیت اعضا با نرم‌افزارهای ناسازگار، اجازه نمی‌دهد سوئیچ جدید مانند یک Member عادی وارد Stack شود. شناخت علت این مشکل و روش صحیح برطرف کردن آن، مخصوصاً هنگام توسعه شبکه، تعویض سوئیچ معیوب یا اضافه کردن یک سوئیچ دست دوم، اهمیت زیادی دارد.

فهرست مطالب

در یک استک سوئیچ، چند سوئیچ فیزیکی از طریق ارتباط Stack به یک سیستم منطقی تبدیل می‌شوند. یکی از اعضا نقش Active یا Master را بر عهده می‌گیرد و سایر سوئیچ‌ها به‌عنوان Member فعالیت می‌کنند.

برای اینکه این ساختار پایدار باقی بماند، اعضای Stack باید از نظر نرم‌افزاری با یکدیگر سازگار باشند. اگر یک Switch جدید با نسخه متفاوتی از Cisco IOS یا IOS XE وارد مجموعه شود، ممکن است Stack نتواند آن را به‌صورت عادی راه‌اندازی کند.

در چنین شرایطی هنگام اجرای دستور زیر:

show switch

ممکن است وضعیت سوئیچ جدید به‌صورت Version Mismatch یا حالت مشابهی نمایش داده شود. یعنی ارتباط فیزیکی Stack برقرار است و دستگاه دیده شده، اما شرایط لازم برای Join شدن کامل آن وجود ندارد.

رایج‌ترین علت، تفاوت نسخه سیستم‌عامل Switch جدید با اعضای فعلی Stack است.

برای مثال فرض کنید Stack فعلی سوئیچ‌های Cisco Catalyst یک Release مشخص از IOS XE را اجرا می‌کند، اما سوئیچی که تازه خریداری یا از شبکه دیگری جدا شده است، Release متفاوتی دارد. حتی اگر مدل سخت‌افزاری برای Stack کردن مناسب باشد، اختلاف نرم‌افزاری می‌تواند مانع Join شدن صحیح آن شود.

این مسئله در سوئیچ‌های دست دوم بیشتر دیده می‌شود، زیرا دستگاه ممکن است قبلاً در شبکه دیگری استفاده شده و IOS آن Upgrade یا Downgrade شده باشد.

بنابراین قبل از اضافه کردن هر Switch به Stack، بررسی Software Version یکی از اولین اقداماتی است که باید انجام شود.

Stack باید بتواند اعضای مختلف را به‌عنوان اجزای یک سیستم واحد مدیریت کند. وجود نسخه‌های ناسازگار می‌تواند باعث تفاوت در Featureها، Packageها، ساختار Configuration یا نحوه عملکرد Stack شود.

به همین دلیل Cisco مکانیزم‌هایی برای بررسی Compatibility اعضای Stack در نظر گرفته است. اگر نسخه Switch جدید با نسخه مورد انتظار Stack مطابقت نداشته باشد، دستگاه ممکن است شناسایی شود ولی اجازه فعالیت عادی دریافت نکند.

تفاوت IOS یا IOS XE چگونه باعث Version Mismatch می‌شود

با دستور زیر می‌توان نسخه نرم‌افزار سوئیچ‌ها را بررسی کرد:

show version

در بعضی پلتفرم‌ها دستور زیر نیز اطلاعات دقیق‌تری درباره Packageها و Install Mode ارائه می‌دهد:

show install summary

قبل از اتصال Switch جدید بهتر است خروجی این دستورات روی Stack فعلی و دستگاه جدید بررسی و مقایسه شود.

بله، اما تفاوت مدل و Version Mismatch دقیقاً یک موضوع نیستند. در بعضی خانواده‌های Cisco امکان Stack کردن چند مدل مختلف از یک خانواده وجود دارد، اما این موضوع باید در مستندات Compatibility همان سری بررسی شود. صرفاً داشتن پورت Stack یا شباهت ظاهری به معنی سازگاری کامل دو دستگاه نیست.

برای مثال هنگام اضافه کردن یک سوئیچ جدید باید حداقل این موارد بررسی شوند:

  • مدل دقیق Switch
  • پشتیبانی از Stack بین دو مدل
  • نسخه IOS/IOS XE
  • حالت نصب نرم‌افزار
  • Packageهای نصب‌شده
  • محدودیت‌های مربوط به Release مورد استفاده

بنابراین اگر سوئیچ جدید اصلاً عضو پشتیبانی‌شده Stack نباشد، Upgrade کردن IOS الزاماً مشکل را حل نمی‌کند.

در برخی نسل‌های Cisco Catalyst، فقط شماره Version مهم نیست و نحوه اجرای IOS XE نیز اهمیت دارد.

سوئیچ ممکن است در Install Mode یا Bundle Mode راه‌اندازی شده باشد. در Install Mode، دستگاه از Packageهای نصب‌شده استفاده می‌کند، در حالی که در Bundle Mode فایل .bin مستقیماً برای Boot مورد استفاده قرار می‌گیرد.

برای بررسی وضعیت می‌توان بسته به مدل و Release از دستوراتی مانند موارد زیر استفاده کرد:

show version

یا:

show install summary

اگر Stack فعلی با ساختار نرم‌افزاری مشخصی راه‌اندازی شده باشد، بهتر است قبل از اضافه کردن Member جدید وضعیت Software Installation آن نیز بررسی شود.

راهکار اصلی این است که Software Version سوئیچ جدید با نسخه مورد استفاده Stack هماهنگ شود. اما روش انجام این کار به مدل سوئیچ، نسل Catalyst و نسخه IOS XE بستگی دارد.

در برخی پلتفرم‌ها قابلیت Software Auto-Upgrade می‌تواند فرآیند هماهنگ‌سازی عضو جدید را ساده‌تر کند. در این حالت Stack می‌تواند Image یا Package موردنیاز را برای عضو ناسازگار فراهم کند.

برای بررسی قابلیت‌ها و تنظیمات موجود باید Release و مدل دقیق دستگاه در نظر گرفته شود. در برخی سناریوها نیز لازم است Image مناسب به‌صورت دستی روی سوئیچ جدید نصب شود.

نکته مهم این است که نباید صرفاً یک فایل IOS را بدون بررسی Compatibility روی دستگاه نصب کرد. ابتدا باید مطمئن شد Release انتخاب‌شده توسط مدل سخت‌افزاری موردنظر پشتیبانی می‌شود.

Auto-Upgrade قابلیت مفیدی است، اما نباید تصور کرد هر Switch ناسازگاری را می‌توان با آن به Stack اضافه کرد.

ممکن است فضای Flash کافی نباشد، فایل موردنیاز موجود نباشد، مدل سخت‌افزاری محدودیت داشته باشد یا تفاوت نرم‌افزاری به شکلی باشد که فرآیند Upgrade خودکار کامل نشود.

به همین دلیل اگر Switch جدید همچنان در وضعیت Version Mismatch باقی مانده است، باید Logها، وضعیت Install و فضای Storage دستگاه نیز بررسی شوند.

دستورهای زیر می‌توانند برای عیب‌یابی اولیه مفید باشند:

show switch

show version

show install summary

dir flash:

هدف این است که مشخص شود مشکل واقعاً از اختلاف Release است یا عامل دیگری مانع نصب و Boot صحیح نرم‌افزار شده است.

بهترین کار این است که قبل از اتصال فیزیکی دستگاه، مشخصات نرم‌افزاری آن را بررسی کنید.

ابتدا Version مربوط به Stack فعلی را ثبت کنید. سپس Switch جدید را به‌صورت مستقل روشن کرده و Version، Boot Mode و Install Mode آن را بررسی کنید. اگر اختلاف مهمی وجود دارد، بهتر است قبل از قرار دادن دستگاه در شبکه Production آن را به نسخه موردنیاز ارتقا یا تنزل دهید.

این روش مخصوصاً برای شبکه‌هایی که Downtime اهمیت زیادی دارد، امن‌تر است. اضافه کردن مستقیم یک دستگاه ناشناخته به Stack اصلی می‌تواند زمان عیب‌یابی را افزایش دهد.

بهترین روش قبل از اضافه کردن Switch جدید به Stack

در حالت عادی وجود یک Member با Version Mismatch الزاماً به معنی Down شدن کل Stack نیست. معمولاً عضو ناسازگار نمی‌تواند به شکل عادی وارد Stack شود و سایر اعضای فعال به کار خود ادامه می‌دهند.

با این حال، انجام Upgrade، Reload یا تغییرات نرم‌افزاری بدون برنامه‌ریزی می‌تواند روی سرویس شبکه تأثیر بگذارد. به‌خصوص در محیط Production باید قبل از هر Upgrade مشخص شود آیا عملیات موردنظر نیازمند Reload اعضای Stack است یا خیر.

بنابراین قبل از تغییر Version، Backup گرفتن از Configuration و در نظر گرفتن Maintenance Window اقدام منطقی‌تری است.

این دو خطا نباید با هم اشتباه گرفته شوند.

اگر Stack Port Down باشد، احتمالاً باید کابل Stack، پورت‌ها، اتصال Ring یا وضعیت سخت‌افزاری بررسی شود. اما اگر Switch در Stack شناسایی شده و وضعیت Version Mismatch دارد، تمرکز اصلی باید روی Software Compatibility باشد.

برای مشاهده وضعیت پورت‌های Stack در مدل‌های پشتیبانی‌شده می‌توان از دستورهایی مانند زیر استفاده کرد:

show switch stack-ports

اگر ارتباط Stack سالم است ولی Member جدید همچنان Version Mismatch نشان می‌دهد، بررسی Version و Packageها اولویت بیشتری دارد.

هنگام مواجه شدن با این مشکل، این ترتیب بررسی معمولاً مفید است:

  1. مدل دقیق Switch جدید را بررسی کنید.
  2. سازگاری آن با اعضای فعلی Stack را تأیید کنید.
  3. show switch را بررسی کنید.
  4. نسخه IOS یا IOS XE تمام اعضا را مقایسه کنید.
  5. Install Mode و Packageها را بررسی کنید.
  6. فضای Flash سوئیچ جدید را کنترل کنید.
  7. Boot Variable و فایل مورد استفاده برای Boot را بررسی کنید.
  8. در صورت پشتیبانی، وضعیت Auto-Upgrade را بررسی کنید.
  9. قبل از Upgrade از Configuration نسخه پشتیبان بگیرید.
  10. بعد از هماهنگ‌سازی نرم‌افزار، وضعیت Member را دوباره بررسی کنید.

آیا همه سوئیچ‌های Stack باید دقیقاً یک IOS داشته باشند؟

برای عملکرد صحیح Stack باید Software Compatibility اعضا رعایت شود. شرایط دقیق به خانواده Switch و Release مورد استفاده بستگی دارد.

آیا می‌توان Switch دارای Version Mismatch را استفاده کرد؟

تا زمانی که دستگاه به‌درستی به Stack Join نشده باشد، نباید روی آن به‌عنوان یک Member عملیاتی عادی حساب کرد.

آیا Reload کردن مشکل Version Mismatch را حل می‌کند؟

اگر علت اصلی اختلاف نرم‌افزاری باشد، Reload ساده معمولاً علت را برطرف نمی‌کند. ابتدا باید Compatibility نرم‌افزار اصلاح شود.

آیا Switch دست دوم بیشتر دچار این مشکل می‌شود؟

احتمال آن بیشتر است، زیرا مشخص نیست دستگاه قبلاً با چه Version و Configuration نرم‌افزاری استفاده شده است.

آیا کابل Stack باعث Version Mismatch می‌شود؟

معمولاً خرابی کابل بیشتر باعث مشکلات ارتباطی Stack می‌شود، نه Version Mismatch نرم‌افزاری.

آیا باید Switch جدید را قبل از Stack کردن Upgrade کنیم؟

اگر نسخه آن با Stack فعلی سازگار نیست، انجام هماهنگ‌سازی نرم‌افزار قبل از ورود به محیط Production می‌تواند روش مطمئن‌تری باشد.

آیا Downgrade هم ممکن است لازم باشد؟

بله. همیشه قرار نیست Switch جدید Upgrade شود؛ ممکن است نسخه آن از Stack فعلی جدیدتر باشد و بر اساس طراحی شبکه، Downgrade یا Upgrade کل Stack انتخاب شود.

آیا کمبود فضای Flash می‌تواند مانع رفع Version Mismatch شود؟

بله. اگر برای Image یا Packageهای لازم فضای کافی وجود نداشته باشد، فرآیند Upgrade می‌تواند با مشکل مواجه شود.

آیا مدل‌های مختلف Catalyst را می‌توان Stack کرد؟

بعضی مدل‌ها و خانواده‌ها قابلیت Stack مشترک دارند و برخی ندارند. Compatibility باید بر اساس مدل دقیق و مستندات همان پلتفرم بررسی شود.

بعد از رفع Version Mismatch چه چیزی را بررسی کنیم؟

وضعیت Member، شماره Switch، Role، Stack Portها، Version نرم‌افزار و Configuration نهایی باید بررسی شوند تا مطمئن شوید دستگاه کاملاً وارد Stack شده است.

خطای Version Mismatch هنگام اضافه کردن یک Switch جدید به Stack معمولاً زمانی دیده می‌شود که وضعیت نرم‌افزاری دستگاه جدید با اعضای فعلی Stack سازگار نیست. تفاوت IOS یا IOS XE، Packageهای نصب‌شده، Install Mode و در برخی موارد ناسازگاری سخت‌افزاری می‌توانند در بروز این مشکل نقش داشته باشند.

بهترین روش این است که قبل از اضافه کردن Switch جدید، مدل، Software Version، Install Mode و Compatibility آن با Stack فعلی بررسی شود. اگر اختلافی وجود دارد، ابتدا نرم‌افزار دستگاه‌ها را بر اساس نسخه مناسب و پشتیبانی‌شده هماهنگ کنید و سپس Switch را وارد محیط Production کنید. این کار احتمال مواجه شدن با Version Mismatch و Downtime ناخواسته هنگام توسعه Stack را به میزان قابل توجهی کاهش می‌دهد.

محصول با موفقیت به سبد خرید اضافه شد.
تماس با ما