پرش به مطلب اصلی

آماده‌سازی محیط VMware

پیش از ساخت منبع در پنل کاربری، باید محیط VMware خود را برای نصب Agent آماده کنید. برای این کار، دسترسی‌های شبکه‌ی Agent را فراهم می‌کنید، در vCenter یک کاربر با حداقل دسترسی لازم برای Agent می‌سازید و در آروان‌کلاد یک کلید دسترسی مخصوص مهاجرت ابری ایجاد می‌کنید.

پیش از شروع، از وجود این موارد مطمین شوید:

  • یک vCenter یا ESXi دارای لایسنس با یکی از نسخه‌های پشتیبانی‌شده
  • دسترسی لازم برای Deploy کردن فایل OVA و ساخت ماشین مجازی در شبکه‌ی مدیریت vSphere
  • دسترسی ادمین vCenter برای ساخت کاربر و Role
  • یک شبکه با دسترسی به اینترنت برای ارتباط Agent با APIهای آروان‌کلاد

نیازمندی‌های شبکه​

Agent برای کار به دو مسیر شبکه نیاز دارد. مسیر اول دسترسی به APIهای آروان‌کلاد است. Agent باید بتواند به دامنه‌ی napi.arvancloud.ir و Endpoint فضای ابری آروان‌کلاد درخواست بفرستد. مسیر دوم دسترسی به شبکه‌ی مدیریت VMware است. Agent باید هم vCenter و هم تمامی ESXiهایی را ببیند که ماشین‌های مجازی موردنظرتان روی آن‌ها قرار دارند.

Agent ابتدا به vCenter متصل می‌شود و سپس برای انتقال داده، به‌شکل مستقیم به ESXi وصل می‌شود. پس اگر یکی از ESXiها در شبکه‌ی مدیریت در دسترس Agent نباشد، مهاجرت ماشین‌های مجازی آن ESXi ناموفق می‌شود.

دسترسی به APIهای آروان‌کلاد​

Agent می‌تواند پشت NAT باشد و برای دسترسی به اینترنت به IP عمومی نیاز ندارد. Agent هیچ پورت یا سرویسی را در دسترس قرار نمی‌دهد و خودش ارتباط با آروان‌کلاد را آغاز می‌کند، با این حال به ماشین Agent، آی‌پی عمومی اختصاص ندهید.

دسترسی به شبکه‌ مدیریت​

vCenter معمولن در یک رنج مدیریتی خصوصی مانند 192.168.0.0/24 قرار دارد که مسیری به اینترنت ندارد. Agent باید به‌شکل مستقیم و در لایه‌ی ۲ در همین شبکه حضور داشته باشد و یک IP از رنج آن بگیرد. Proxy کردن یک پورت یا یک دامنه برای این ارتباط کافی نیست و مهاجرت را با خطا روبه‌رو می‌کند.

برای مثال، اگر آدرس‌های شبکه‌ی مدیریت شما به این شکل باشند:

vcenter-01 -> 192.168.101.111/24
esxi-01 -> 192.168.101.15/24
esxi-02 -> 192.168.101.16/24

Agent هم باید یک IP از همین رنج داشته باشد:

agent-01 -> 192.168.101.222/24

کارت‌های شبکه‌ Agent​

Agent دو کارت شبکه دارد که هنگام نصب، هر کدام را به یکی از شبکه‌های vSphere وصل می‌کنید. پیش از نصب، این دو شبکه یا Port Group را در vSphere انتخاب یا ایجاد کنید:

  • شبکه‌ مدیریت

    شبکه‌ای که vCenter و ESXiها در آن قرار دارند. این شبکه به Gateway نیاز ندارد.

  • شبکه‌ اینترنت

    شبکه‌ای با دسترسی به اینترنت، ترجیحن پشت NAT و با یک IP برای Gateway.

اگر شبکه‌ی مدیریت شما به اینترنت هم دسترسی دارد، هر دو نیاز با همین شبکه برطرف می‌شود. در این حالت هم Agent به دو کارت شبکه نیاز دارد، اما می‌توانید هر دو را به همین شبکه وصل کنید.

برای مثال، فرض کنید در vCenter شما سه شبکه‌ی زیر وجود دارد:

  • PG_LAN، یک شبکه‌ی NAT با رنج 192.168.123.0/24 که از طریق یک Router به اینترنت دسترسی دارد
  • PG_PUBLIC، رنج IP عمومی برای اختصاص مستقیم IP عمومی به ماشین‌ها
  • PG_WAN، شبکه‌ی مدیریت محافظت‌شده که vCenter در آن قرار دارد

در این حالت، کارت شبکه‌ی مدیریت Agent را به PG_WAN و کارت شبکه‌ی اینترنت را به PG_LAN وصل کنید. از PG_PUBLIC استفاده نکنید، چون Agent را با IP عمومی در معرض اینترنت قرار می‌دهد.

ساخت کاربر vCenter برای Agent​

Agent برای فهرست کردن ماشین‌های مجازی، خواندن جزییات آن‌ها و گرفتن اسنپ‌شات به یک کاربر vCenter نیاز دارد. می‌توانید از کاربر root یا ادمین vCenter هم استفاده کنید، اما برای رعایت اصل حداقل دسترسی یا Least Privilege، یک کاربر جداگانه بسازید و فقط دسترسی‌های زیر را به آن بدهید:

Privilege IDمسیر در vSphere Client
VirtualMachine.State.CreateSnapshotVirtual machine → Snapshot management → Create snapshot
VirtualMachine.State.RemoveSnapshotVirtual machine → Snapshot management → Remove snapshot
VirtualMachine.Config.ChangeTrackingVirtual machine → Change Configuration → Toggle disk change tracking
VirtualMachine.Config.AdvancedConfigVirtual machine → Change Configuration → Advanced configuration
VirtualMachine.Config.DiskLeaseVirtual machine → Change Configuration → Acquire disk lease
VirtualMachine.Provisioning.DiskRandomReadVirtual machine → Provisioning → Allow read-only disk access
VirtualMachine.Provisioning.GetVmFilesVirtual machine → Provisioning → Allow virtual machine download
Datastore.AllocateSpaceDatastore → Allocate space
Datastore.BrowseDatastore → Browse datastore

مرحله ۱: ساخت کاربر​

در vSphere Client به بخش «Administration» بروید و از قسمت «Single Sign On»، گزینه‌ی «Users and Groups» را انتخاب کنید. در تب «Users»، دامنه را روی vsphere.local قرار دهید و یک کاربر جدید با نام rvdr-agent اضافه کنید.

برای این کاربر یک رمز عبور قوی شامل حروف کوچک و بزرگ انگلیسی، اعداد و کاراکترهای خاص انتخاب کنید و آن را در جای امنی نگه دارید. هنگام راه‌اندازی Agent به این رمز نیاز دارید.

مرحله ۲: ساخت Role​

از بخش «Administration»، وارد «Access Control» و سپس «Roles» شوید و روی دکمه‌ی «NEW» کلیک کنید.

یک Role با نام RVDR Backup Agent بسازید، ۹ دسترسی جدول بالا را به آن بدهید و تغییرات را ذخیره کنید.

مرحله ۳: اختصاص Role به کاربر​

به بخش «Hosts and Clusters» بروید، ریشه‌ی اصلی Cluster را انتخاب کنید و در تب «Permissions» روی دکمه‌ی «Add» کلیک کنید.

در پنجره‌ی باز شده، دامنه‌ی vsphere.local و کاربر rvdr-agent را انتخاب کنید، Role را روی RVDR Backup Agent قرار دهید و گزینه‌ی «Propagate to children» را فعال کنید. سپس دسترسی را ذخیره کنید.

توجه داشته باشید که اگر گزینه‌ی «Propagate to children» را فعال نکنید، دسترسی‌ها به ماشین‌های مجازی و Datastoreهای زیرمجموعه منتقل نمی‌شوند و Agent نمی‌تواند از آن‌ها اسنپ‌شات بگیرد.

اگر به‌جای vCenter از ESXi مستقل استفاده می‌کنید، همین دسترسی‌ها را از طریق ESXi Host Client به یک کاربر محلی روی همان ESXi بدهید.

ساخت کلید دسترسی آروان‌کلاد برای Agent​

Agent با یک کلید API به آروان‌کلاد وصل می‌شود. این کلید را برای یک ماشین یوزر جداگانه بسازید و فقط نقش «مدیریت زون مایگریشن» را به آن بدهید تا دسترسی آن به مهاجرت ابری محدود بماند.

مرحله ۱: ساخت ماشین یوزر و کلید API​

در پنل کاربری، از منوی اصلی گزینه‌ی «تنظیمات» را انتخاب کنید و از بخش IAM روی «فهرست ماشین یوزرها» کلیک کنید. یک ماشین یوزر جدید بسازید و برای آن یک کلید API ایجاد کنید. راهنمای ماشین یوزر در این مسیر به شما کمک می‌کند.

کلید API را که با apikey شروع می‌شود کپی کنید و در جای امنی نگه دارید.

توجه داشته باشید که کلید API فقط یک بار نمایش داده می‌شود و پس از بستن پنجره، دیگر به آن دسترسی ندارید.

مرحله ۲: تعریف قانون دسترسی​

از بخش IAM، گزینه‌ی «مدیریت منابع و دسترسی‌ها» را انتخاب کنید و در ستون «ساخت قانون دسترسی»، روی آیکن + مقابل میز کار کلیک کنید.

در پنجره‌ی باز شده، ماشین یوزری را که ساختید انتخاب کنید، بخش اعضا را خالی بگذارید و روی «ادامه» کلیک کنید. در مرحله‌ی «انتخاب نقش برای اعضا»، نقش «مدیریت زون مایگریشن» را انتخاب کنید و پس از وارد کردن نام و توضیحات، قانون دسترسی را تایید کنید.

پس از آماده‌سازی محیط، می‌توانید منبع را بسازید و Agent را راه‌اندازی کنید.