با این UUID همه اطلاعات اولیه جهت نصب guest مجازی را در اختیار داریم. بنابراین با استفاده از دستور زیر اقدام به provision کردن guest جدید (به عنوان مثال در اینجا لینوکس توزیع Debian 7.0 نسخه Wheezy 7.0 (64-bit)) خواهیم پرداخت:
# xe vm-install template=”Debian Wheezy 7.0 (64-bit)” new-name-label="TecmintVM" sr-uuid=bea6caa4-ecab-8509-33a4-2cda2599fb75
# xe vm-install template=”Debian Wheezy 7.0 (64-bit)” new-name-label="TecmintVM" sr-uuid=bea6caa4-ecab-8509-33a4-2cda2599fb75
توجه کنید که UUID مشخص شده در شکل فوق، UUID ماشین مجازی provision شده است. اما دو کاری که پس از ایجاد ماشین مجازی میبایست انجام دهیم: اول فراهم کردن یک name-label جدید برای VDI ایجاد شده و دوم تغییر هر یک از مشخصههای سختافزاری پیشفرض provision شده توسط template است.
اما شاید این سوال برای شما پیش آید که چرا نامگذاری VDI جدید ایجاد شده مهم است؟ در پاسخ به این پرسش میبایست اشاره کنیم که سیستم بعد از اینکه ماشین مجازی را مورد نظر را ایجاد کرد، مقدار "0" را بصورت اتوماتیک به آن تخصیص میدهد. با استفاده از دستورات زیر میتوانید این مورد را بررسی نمایید:
# xe vbd-list vm-name-label=TecmintVM – Used to get the VDI UUID
# xe vdi-list vbd-uuids=2eac0d98-485a-7c22-216c-caa920b10ea9 [Used to show naming issue]
اما شاید این سوال برای شما پیش آید که چرا نامگذاری VDI جدید ایجاد شده مهم است؟ در پاسخ به این پرسش میبایست اشاره کنیم که سیستم بعد از اینکه ماشین مجازی را مورد نظر را ایجاد کرد، مقدار "0" را بصورت اتوماتیک به آن تخصیص میدهد. با استفاده از دستورات زیر میتوانید این مورد را بررسی نمایید:
# xe vbd-list vm-name-label=TecmintVM – Used to get the VDI UUID
# xe vdi-list vbd-uuids=2eac0d98-485a-7c22-216c-caa920b10ea9 [Used to show naming issue]
همینطور میتوانید با استفاده از دستور زیر نیز این موضوع را بررسی نمایید:
# xe vm-disk-list vm=TecmintVM
# xe vm-disk-list vm=TecmintVM
همانطور که در خروجی شکل فوق مشاهده میکنید، بخش مشخص شده نگرانی ماست!. شاید این موضوع برای خیلی از افراد کوچک به نظر برسد اما این روند نامگذاری برای VDI خاص مورد نظر ما مناسب نیست، بنابراین میبایست توسط دستورات زیر اقدام به rename کردن آن نماییم:
# xe vdi-param-set uuid=90611915-fb7e-485b-a0a8-31c84a59b9d8 name-label="TecmintVM Disk 0 VDI"
# xe vm-disk-list vm=TecmintVM
# xe vdi-param-set uuid=90611915-fb7e-485b-a0a8-31c84a59b9d8 name-label="TecmintVM Disk 0 VDI"
# xe vm-disk-list vm=TecmintVM
ممکن این موضوع بی اهمیت به نظر برسد، اما از روی تجربه میتوان گفت که این یک موضوع جدی است و از یکسری از مشکلات زمانیکه یک Storage Repository را از یک XenServer، جدا میکنید (detaching) و مجدداً سعی در الحاق (attach) آن به XenServer دیگری را دارید، جلوگیری خواهد کرد. اما چنانچه از name-label مناسبی برای VDI خود استفاده کرده باشید، به راحتی میتوانید SR خود را از یک XenServer، detach کرده و به XenServer دیگری attach نمایید بدون اینکه هیچگونه مشکل mappingی پیش آید.
اما همانطور که پیشتر اشاره شد، گام بعدی در پس از ایجاد guest مجازی فراهم کردن منابع بیشتر برای آن است. در این سناریو guest مجازی ما با حافظهای در حدود 256 MiB (Mebibytes)، ایجاد و provision شده است. برای اکثر guestها این حافظه کافی نیست، بنابراین جهت اینکه مشاهده کنیم که guestمان از چه مقدار حافظه استفاده میکند، از دستور زیر میتوان استفاده نمود:
# xe vm-param-list uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e | grep -i memory
اما همانطور که پیشتر اشاره شد، گام بعدی در پس از ایجاد guest مجازی فراهم کردن منابع بیشتر برای آن است. در این سناریو guest مجازی ما با حافظهای در حدود 256 MiB (Mebibytes)، ایجاد و provision شده است. برای اکثر guestها این حافظه کافی نیست، بنابراین جهت اینکه مشاهده کنیم که guestمان از چه مقدار حافظه استفاده میکند، از دستور زیر میتوان استفاده نمود:
# xe vm-param-list uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e | grep -i memory
همانطور که در خروجی شکل فوق مشاهده میکنید، میزان حافظه برای این guest حدود 256 MiB است که شاید برای این سناریو مناسب باشد اما تجربه نشان داده که برای کارهای سنگین به هیچ وجه کافی نیست. حال جهت افزایش حافظه در دسترس guest مورد نظر از دستور زیر استفاده میکنیم. توجه داشته باشید که جهت افزایش یا کاهش میزان حافظه RAM توسط دستور xe میبایست guest مورد نظر را power off کنیم. در اینجا من حافظه ماشین مجازی خود را به 2GiB (Gibibytes) افزایش میدهم:
# xe vm-memory-limits-set dynamic-max=2147483648 dynamic-min=2147483648 static-max=2147483648 static-min=2147483648 name-label=TecmintVM
توجه: در واقع توسط دستور فوق 2GiB از حافظه RAM برای guest مورد نظر همیشه رزرو خواهد شد.
# xe vm-memory-limits-set dynamic-max=2147483648 dynamic-min=2147483648 static-max=2147483648 static-min=2147483648 name-label=TecmintVM
توجه: در واقع توسط دستور فوق 2GiB از حافظه RAM برای guest مورد نظر همیشه رزرو خواهد شد.
حال guest مورد نظر آماده است که بر روی آن یک سیستمعامل نصب نماییم. اما همانطور که پیشتر در بخش Storage Repository یک Samba server جهت ذخیره کردن فایلهای ISO installer به XenServer خود اضافه کردیم، در اینجا میتوانیم توسط دستور زیر این موضوع را تأیید کنیم:
# xe sr-list name-label=Remote\ ISO\ Library\ on:\ //<servername>/ISO
فقط توجه داشته باشید که در دستور فوق عبارت <servername> را با آدرس صحیح Samba server خود جایگزین کردهاید.
# xe sr-list name-label=Remote\ ISO\ Library\ on:\ //<servername>/ISO
فقط توجه داشته باشید که در دستور فوق عبارت <servername> را با آدرس صحیح Samba server خود جایگزین کردهاید.
حال میبایست یک CD-ROM مجازی به guest مزبور جهت boot شدن فایل ISO به آن اضافه شود. برای این منظور، فرض کنید که Debian Net Installer ISO بر روی ISO storage repository موجود است. بنابراین:
# xe cd-list | grep debian
# xe cd-list | grep debian
سپس جهت اضافه کردن Guest ISO به XenServer داریم:
# xe vm-cd-add vm=TecmintVM cd-name=debian-8-netinst.iso device=3
# xe vbd-list vm-name-label=TecmintVM userdevice=3
# xe vm-cd-add vm=TecmintVM cd-name=debian-8-netinst.iso device=3
# xe vbd-list vm-name-label=TecmintVM userdevice=3