همانگونه که میدانید MAC Address درلایه 2 شبکه (Data Link Layer ) مورد استفاده قرار می گیرد .در سرویس های مجازی سازی شرکت VMware فرایند تولید اتوماتیک MAC Address را برای هر کارت شبکه مجازی ماشین های مجازی و یا VM-kernel ها بر عهده سرویس VCenter ویا خود Hypervisor می باشد در این حالت امکان تنظیم MAC Address به صورت دستی نیز وجود دارد.
هر تولید کننده کارت شبکه یک شناسه 3 بایتی منحصر به فرد دارد که به آن OUI (Organizationally Unique Identifier) گفته میشود و از این شناسه در تولید MAC Address منحصر به فرد خود استفاده می کند .
محصولات VMware از روش های زیر جهت الحاق MAC Address با OUI منحصربفرد خود به کارت شبکه های مجازی استفاده می کند. 1
تولید خودکار
- اختصاص توسط VCenter Server
- اختصاص توسط ESXi host
تنظیم دستی MAC Address
تولید خودکار
اختصاص توسط VCenter Server 2
از vSphere 5.1 به بعد ، این سرویس از چندین روش مختلف برای اختصاص MAC Address در VCenter استفاده می کند. کاربر می تواند بهترین روشی که ، مناسب نیازهای سیستم است چه از نظر شبکه داخلی و وچه از دید مدیریتی شبکه های غیر داخلی را برای تخصیص MAC Address انتخاب نمایید .
روش های تولید مک آدرس در VCenter Server 2
- تخصیص پیشوند 3 بایتی شرکت VMware ( پیش فرض)
- اختتصاص پیشوند
- اختصاص بر اساس گستره خاص از اعداد
تذکر : در این روش بعد از تولیدMAC Address , 6 بایت تولید شده تغیر نمی کند تا زمانی که MAC Address اختصاص داده شده به این ماشین مجازی با ماشین مجازی دیگری conflict پیدا کند .این MAC Address در فایل تنظیمات ماشین مجازی ذخیره میشود.
تخصیص VMware OUI در VCenter Server 3
در این روش شرکت VMware برای هر کارت شبکه , OUI خود را که شامل 24 بیت می باشد و به صورت یکه در دنیا در اختیار خود دارد به همراه ترکیب عددی از VCenter Server ID استفاده میکند .این فرایند به صورت پیش فرض در سرویس های مجازی سازی تحت مدیریت VCenter Server انجام میشود. این روش صرفا درVCenter سروری که حداکثر شصت و چهار Instance دارد وهریک 64000 MAC Address مجزا دارند قابل استفاده است .
این روش بهترین راه برای سرویس های در این اندازه است .
قالب مک آدرس
طبق فرمت OUI شرکت VMware هر مک ادرس فورمت زیر را دارد.
00:50:56:XX:YY:ZZ که 00:50:56: همان شناسه OUI است و XX به روش (80+vCenter Server ID) محاسبه میشود مقدار 2 جزء YYو ZZ نیز به صورت تصادفی در مبنای 16 انتخاب میشود .
به این ترتیب بازه MAC Address های تولید شده در این حالت
00:50:56:80:YY:ZZ – 00:50:56:BF:YY:ZZ خواهد بود
تخصیص MAC Address با استفاده از پیشوند 4
در ESXI نسخه 5.1 به بعد امکان اضافه کردن پیشوند MAC Address به جای OUI برای کاربران فراهم شده است تا با این روش OUI اختصاصی خود را استفاده کنند. این روش تخصیص جهت برطرف کردن محدودیت های عددی در تخصیص MAC Address در حالت خودکار ایجاد شده است .
LLA یا introduce Locally Administered MAC Addresses امکان تولید 2^46 یعنی 70,368,744,177,664 MAC Address واحد را به مدیر شبکه می ده ددر حالی که با استفاده از OUI فقط میتوان 16 ملیون مک آدرس تولید کرد .
در این روش باید دقت شود که به ازای هر instance از سرویس VCenter ؛ MAC Address های مجزا و واحد انتخاب شوند.
اختصاص بر اساس گستره خاص از اعداد 5
همانطور که در قسمت قبل گفته شد از ESXI نسخه 5.1 به بعد امکان تغییر در MAC Address برای کاربر فراهم شده است . در این حالت شما میتوانید قسمتی از یک گستره عددی را به صورت محدود استفاده کنید .
با مشخص کرده محدوده لیست از ابتد تا انتهای آن در MAC Address کارت شبکه های مجازی استفاده خواهد شد ( شبیه به سرویس Hyper-V ).
تنها تفاوت این روش با روش قبل این است که شما میتوانید محدوده های مختلفی از LLA های متعدد را استفاده کنید . VCenter Server به طور دائم این رنج ها را رصد کرده و MAC Address ترتیبی مورد نظر هر لیست را به کارت شبکه اختصاص می دهد.نکته قابل توجهی که در این سیستم باید لحاظ شود وجود VCenter Server هایی با محدوده همپوشانی مشترک است .چرا که دراین حالت سرویس VCenter نمیتواند خطای conflict را تشخیص دهد .
اختصاص توسط ESXi host 6
در ESXi host برای هر کارت شبکه مجازی که به ماشین مجازی متصل شده است MAC Address مجازایی به صورت خودکار تولید می شود . این مهم فقط تا زمانی رخ میدهد که ESXi host به VCenter Server متصل نشده باشد .
مواردی که ESXi host برای کارت شبکه ماشین مجازی MAC Address تولید میکند
- زمانی که این ESXi host به هیچ VCenter Server متصل نباشد
- در تنظیمات ماشین مجازی هیچ تنظیمی برای MAC Address کارت شبکه مجازی آن وجود نداشته باشد .
فرمت و شکل MAC Address
هر HOST به صورت خودکار 3 قسمت اول MAC Address را منطبق بر OUI شرکت VMware با فرمت 00:0c:29 تولید میکند و 3 قسمت باقی مانده را با UUID هر ماشین مجازی تکمیل می نماید UUIDیا (Universal Unique Identifier) یک رشته 128 بیتی واحد است که از ترکیب عددی بر پاییه hash ، مسیر ذخیره ماشین مجازی و UUID خود ESXi host ایجاد میگردد. ( در پست دیگری به مفهوم uuid خواهمی پرداخت ) بدین وسیله با توجه به UNIQ بودن UUID همیشه MAC Address یکه و بدون تکرار در هر هاست خواهیم داشت.
نحوه جلوگیری از MAC Address conflictدر VMware
MAC Address یک ماشین مجازی که در حالت خاموش قراردارد هیچ گاه چک نمشود . زمانی که ماشین مجازی روشن میشود ممکن است مک ادرس دیگری برای آن انتخاب شود. این تغییر ممکن است به دلیل جلوگیری از conflict با MAC Address ماشین مجازی دیگر انجام شده باشد. این اتفاق زمانی رخ میدهد که در زمان تنظیمات شما ماشین مجازی دیگیر با همین MAC Address زودتر ساخته شده باشد .
نکته قابل توجه اینجاست که اگر شما تغییراتی را بر روی MAC Address کارت شبکه یک ماشین مجازی بدهید سرویس VCenter قبل از زوشن شدن ماشین و استفاده از کارت شبکه Conflict را تشخصی داده و تصحیح میکند .
منابع :
- MAC Address Management
- MAC Address Assignment from vCenter Server
- VMware OUI Allocation
- Prefix-Based MAC Address Allocation
- Range-Based MAC Address Allocation
- MAC Address Generation on ESXi Host