به هنگام انتقال Workloadها از میان Hostها، کلاسترها، vCenter Serverها یا دیتاسنترهای ESXi، همواره یک سوال رایج برای کاربران پیش میآید و آن این است که: در زمان شروع انتقال Hot یا Cold از چه شبکهای باید استفاده نمود؟ این مقاله تفاوت سرویسها و Stack شبکههای مختلف در ESXi را توضیح داده و مشخص میکند که کدامیک برای نوع خاصی از انتقال مورد استفاده قرار میگیرد.
منظور از انتقال Hot یا Cold چیست؟ انتقالCold Workload به معنای آن است که ماشین مجازی در تمام مدت انتقال خاموش است اما انتقال Hot بدان معناست که بارکاری و برنامههای کاربردی در طی انتقال در دسترس خواهند بود. هردو نوع انتقال Hot و Cold میتوانند از طریق vCenter Server UI یا به روشی خودکار و با استفاده از PowerCLI آغاز شوند. برای درک اینکه کدام شبکه جهت انتقال مورد استفاده قرار میگیرد، ابتدا باید شناخت کافی از سرویسها و قابلیتهای فعال Stack شبکه که در vSphere موجود هستند داشته باشیم.
سرویسهای فعال در VMkernel
در vSphere، سرویسهای زیر را که میتوانند در رابط کاربری VMkernel فعال شوند به صورت زیر می باشند:
- vMotion
- آمادهسازی
- Log کردن Fault Tolerance
- مدیریت
- همسانسازی vSphere
- همسانسازی NFC یا Network File Copy مربوط به vSphere
- vSAN
وقتی بطور دقیقتر انتقال Workloadها را درنظر میگیریم، سه سرویس وجود دارند که نقش مهمی را ایفا میکنند که عبارتاند از شبکههای دارای vMotion، آمادهسازی و مدیریت فعال.
فعالسازی یک سرویس بر روی رابطکاربری ویژه VMkernel، بدان معناست که اکنون این شبکه میتواند برای سرویس تنظیمشده مورد استفاده قرار گیرد. برخلاف سرویس مدیریت که بصورت پیشفرض در اولین رابطکاربری VMkernel فعالشده است، سایر سرویسها و رابطهای کاربری VMkernel معمولا پس از نصب ESXi، تنظیم میشوند. در صورتی که بخواهیم vMotion یا ترافیک آمادهسازی از یک رابط کاربری مخصوص VMkernel استفاده کنند، میتوان آنها را بدین منظور تنظیم کرد.
Stackهای شبکه
vSphere قابلیتهای زیر را فراهم میسازد:
اگر هیچکدام از تنظیمات تغییر نکرده باشند، Stack پیشفرض یا Default برای تمامی رابطهای کاربری VMkernel بکار میرود و هدف از استفاده سایر Stackهای TCP/IP، داشتن ترافیکی متمایزتر جهت ایزوله ساختن برخی جریانهای شبکه است. همچنین، پیکربندی و استفاده از Provisioning stack و vMotion stack امکان استفاده از سایر IPهای Gateway، سرورهای DNS و DHCP را برای این شبکهها میدهد و نیازی به استفاده از Gateway پیشفرض خود که در پشته پیشفرض TCP/IP تعریفشده نیست.
بیشتر بخوانید: vMotion چیست؟ بررسی و نحوهی کار این فرایند در زیرساخت های مجازی امروز
انتقالات Cold
انتقالات Cold صرفا کپی نمودن و ثبت دوباره یک ماشین مجازی و دادههایش به یک Host یا Datastore مربوط به ESXi است. این گونه انتقالات معمولا به هنگام انتقال ماشینهای مجازی میان دو Host از ESXi که دارای دو معماری مختلف CPU هستند، مثل Intel و AMD، صورت میگیرند. vSphere vMotion نمیتواند یک Live-Migration را میان این دو معماری CPU ترتیب دهد. دلیل دیگر انجام دادن این نوع از انتقالات میتواند نیاز مالک یک برنامهکاربردی به خاموش بودن ماشین مجازی در طی انتقال باشد و این یا به منظور کاهش ریسک از دست دادن دادههاست یا بخاطر سایر چالشهای دسترسی درون بارکاری. معمولا vSphere vMotion در انتقالLive بارهای کاری عملکرد خوبی دارد، بدون خرابی دادهها یا پذیرش دسترسی برنامه کاربردی، اما ممکن است سناریوهایی وجود داشته باشند که انتقالات Hot یا Live توسط کاربران مورد استفاده قرار نگیرند.
بزرگترین تصور اشتباه از انتقال و دادههای Cold این است که شبکه vMotion جهت انجام این نوع انتقال مورد استفاده قرار گرفته است. با این حال، دادههای Cold مانند ماشینهای مجازی خاموش، Snapshotها و Cloneها توسط شبکه Provisioning یا آمادهسازی منتقل میشوند و این زمانی ممکن است که این شبکه فعال باشد؛ زیرا بطور پیشفرض این شبکه فعال نیست و درصورت عدم پیکربندی آن، شبکه فعال مدیریت یا Management مورد استفاده قرار میگیرد.
انتقالات Hot
از انتقال Hot با عنوان انتقال Live یاد میشود و در این انتقال Stage شده، ماشین مجازی با استفاده از قابلیت vSphere vMotion، طی همزمانسازی کامل اولیه و Delta Sync پس از آن روشن میماند. درصورت تمایل به دریافت اطلاعات بیشتر پیرامون فرآیند vMotion، میتوان به این پیج مراجعه نمود.
باید به خاطر داشت که درصورت ایجاد یک رابط کاربری VMkernel در vMotion TCP/IP Stack، تنها از این Stack میتوان برای vMotion درون Host استفاده نمود. رابطهای کاربری VMkernel موجود در Stack پیشفرض TCP/IP برای سرویس vMotion غیرفعال شدهاند.
بیشتر بخوانید: بررسی و تحلیل توازن بارهای کاری با vSphere vMotion
پیچیدگی کار اینجاست که حتی با وجود استفاده از شبکه فعال vMotion توسط انتقال Live، دادههای Cold مربوط به vMotion همچنان با بکارگیری شبکه Provisioning منتقل میشوند و اگر این شبکه پیکربندی نشده باشد، انتقال از طریق شبکه Management رخ میدهد. Snapshotهای ماشین مجازی، Delta Diskهای Non-Child و Logهای vmx در طی vMotion با عنوان دادههای Cold یاد میشوند.
با استفاده از نمودار زیر میتوان تعیین کرد که از کدام شبکه برای انتقال استفاده میشود:
موضوع مهم درباره انتقالات On-Prem بوده و زمانی که Workloadها را به یک Public Cloud انتقال میدهیم، مانندVMware Cloud در AWS، میتوان از VMware HCX استفاده نمود. HCX نسبت به On-Prem vMotion یا شبکههای Provisioning کاملا Agnostic بوده و زمانی که ما یک پروفایل رایانشی برای HCX تعریف میکنیم، به ما امکان انتخاب شبکه مناسب برای انتقال را میدهد.