آموزش ایجاد ماشین مجازی روی XEN

[تعداد: ۲    میانگین: ۴/۵]

مراحل نصب Xen رو تا جایی پیش رفتیم که XEN رو به همراه پکیج های مورد نیازش نصب کردیم ، LVM ایجاد کردیم و بعد سیستم رو ریست کردیم . حالا که سیستم بالا بیاد شما در grub ، xen رو خواهید دید و به صورت پیش فرض سیستم روی اون بالا میاد . در واقع این به این دلیله که xen روی dom0 سیستم نصب میشه .

تو این پست یادخواهیم گرفت که چطور یک ماشین مجازی روی این فوق ناظر بالا بیاریم .

اولین قدم این است که سیستم رو طوری تنظیم کنیم که بتوانیم ماشین های مجازی را به شبکه خارجی متصل کنیم . این عمل با ایجاد یک سوئیچ مجازی در dom0 انجام می شود که نقش ان دریافت پکت ها از ماشین های مجازی و ارسال اونها به شبکه فیزیکی است . برای رسیدن به این هدف ما از بریج لینکوس استفاده می کنیم که مولفه های اصلی آن در کرنل لینوکس قرار دارند . پس ” بریج ” همان ” سوئیچ مجازی ” مااست . کرنل های دبیان با ماژول بریجینگ لینوکس (bridging) کامپایل می شوند .

پس کافی است تا امکانات بریج رو نصب کنیم :

aptitude install bridge-utils

bridge-utils نصب شده حالا ما ابزاری داریم به نام brctl که با ماژول بریج لینوکس ارتباط برقرار می کند و می توانیم بریج های جدیدی نصب و آن رو به صورت فیزیکی یا مجازی به این بریج ها متصل کنیم .

brctlبرای ایجاد بریج ها به این صورت استفاده می شود :

brctl addbr

و اینترفیس ها را هم می توان با اجرای دستور زیر به بریج اضافه کرد :

brctl addif

می توانیم به جای اینکه مستقیما brctl رو صدا بزنیم به فایل تنظیمات شبکه دبیان در مسیر /etc/network/interfaces بریم و بریج های xen رو تعریف کنیم . خروجی حاصل به جای اینکه اینگونه باشد :

auto lo
 iface lo inet loopback
 auto eth0
 iface eth0 inet dhcp

چیزی شبیه این خواهد بود :

auto lo
 iface lo inet loopback
 auto eth0
 iface eth0 inet manual
auto xenbr0
 iface xenbr0 inet dhcp
 bridge_ports eth0

همانطور که می دونین eth0 رابط شبکه مونه که auto یعنی بتونیم به صورت خودکار رابط رو start/stop کنیم . iface eth0 هم خود اینترفیس رو توصیف می کند که در ابتدا به این صورت بود که به صورت dhcp پیکربندی می شود و سپس مشخص کردیم که آدرس دهی اش به صورت استاتیک باشه البته اگر سیستم شما به صورت dhcp تعریف شده و تعریف آن به صورت static امکان اختلال در اینترنت رو به همراه خواهد داشت توصیه میکنم به این بخش کاری نداشته باشید و اجازه بدین همانطور که در ابتدا تعریف شده بماند . در ادامه ما xenbr0 را تعریف و eth0 رو برای بریجمان مورد استفاده قرار دادیم . اگر می خواستیم دستورهای بالا را مستقیما وارد کنیم باید عبارات زیر رو در خط فرمان می نوشتیم :

brctl addbr xenbr0
 brctl addif xenbr0 eth0
 dhclient xenbr0

قبل از اینکه وارد مبحث تعریف ماشین مجازی ها بشیم خوبه که کمی در مورد چند دستور پایه صحبت کنیم اگر از نسخه ۴٫۱ xen به قبل استفاده می کنید دستور اصلی XM بود اما از نسخه ۴٫۲ به بعد تبدیل به XL شد :

xm info

اطلاعاتی درمورد فوق ناظر در اختیار شما می گذارد .

xm list

domain های در حال اجرا رو لیست می کند به همراه شناسه شون ، حالت و cpu مصرفی شون .

Name ID Mem VCPUs State Time(s)
 Domain-0 0 6988 2 r----- 1408.6
 test1 3 512 1 -b---- 40.3

و در آخر دستور

xm top

که مانند دستور top لینوکس است .

خب حالا قصد داریم یک ماشین مجازی روی این فوق ناظر نصب کنیم که این کار رو با کمک ابزارهایی که با xen-tools روی سیستم نصب شده اند انجام میشود . روال کار به این صورته که ما باید مقدار حجم فیزیکی rootfs و swap رو مشخص کنیم ، بعد فایل سیستم های rootfs رو ایجاد و rootfs رو mount کنیم . برای نصب سیستم عامل هم از debootstrap کمک می گیریم در واقع برای نصب سیستم عامل مهمان چهار روش وجود دارد که debootstrap معمول ترین اون هست .اما دفعات بعد که ماشین مجازی تون رو نصب داشتید و خواستید یه ماشین دیگه ایجاد کنید فقط کافیه دایرکتوری ای که شامل فایل های نصبی مهمان قبلیه رو کپی کنید. بعد از این مرحله هم باید یک سری اسکریپت برای پیکربندی ماشین مجازی ها روی فوق ناظر اجرا کنید و در نهایت بعد از ایجاد فایل کانفیگ ماشین مجازی و گرفتن رمز روت ماشین جاری ، فایل سیستم مهمان رو از حالت mount خارج می کنیم . اما به کمک اسکریپت های نصب این کار دردسر کمتری داره .

یه دایرکتوری بسازید به نام /mnt/domains و همه ماشین مجازی ها رو اینجا ایجاد کنید .

اسکریپت نصب ماشین مجازی xen-create-image هست که در مسیر /etc/xen-tools/xen-tools.conf قرار داره و می تونید مطابق هدف خودتون تغییرش بدین . ما با یک مثال ساده شروع می کنیم :

xen-create-image --hostname=test --ip=192.168.10.2 --memory=1Gb --size=10G --swap=1Gb

در این مثال ما یک ماشین مجازی ایجاد کردیم با نام test و آدرس ۱۹۲٫۱۶۸٫۱۰٫۲ که مقدار ۱ گیگا بایت برای swap و ۱ گیگ هم برای ram اون در نظر گرفتیم .

بعد از نصب هر ماشین مجازی با کمک اسکریپت بالا یک فایل پیکربندی با نام خودش در مسیر /etc/xen ایجاد میشه اگر خواستید می توانید با تغییر این فایل مشخصه های ماشین مجازی تون رو تغییر بدین .

خب حالا پیکربندی ماشین مجازی ما انجام شده و بعد از ایجاد اون می توانیم ازش استفاده کنیم . برای ایجاد ماشین مجازی از دستور زیر کمک می گیریم :

xm create -c /etc/xen/test.cfg

-c یعنی بعد از ایجاد می خواهیم به ماشین مجازی وصل بشیم . اگر بخواهیم فقط ماشین رو ایجاد کنیم از دستور :

xm create /etc/xen/test.cfg

و هر زمان که بخواهیم به ماشین مجازی وصل بشیم از دستور :

xm consoletest

استفاده می کنیم . ناگفته نماند بعد از دستور create برای ماشین مجازی رمز root تولید می شود که می توانید بعد از وصل شدن به کنسول آن ،رمز را تغییر دهید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *