انتقال ماشین مجازی از KVM به ESXI

انتقال یک ماشین مجازی از یک هاست به هاست دیگر در صورتیکه هر دو بر روی VMM مشابه اجرا شوند کار سختی نیست. اما در صورتیکه بخواهید یک VM یا ماشین مجازی را از یک هاست با hypervisor دیگر به هاست هدف ببرید، چکار می کنید؟
در این مورد انتقال ماشین مجازی از KVM به ESXI به راحتی امکان پذیر نیست. اگرچه، می توان آن را به یک هارد دیسک مجازی تبدیل و ماشین مجازی را برروی هاست مورد نظر بازسازی کرد.
خروج (export) از هارد دیسک مجازی
جهت خارج کردن یک ماشین مجازی در هاستKVM ، دستوری به نام “qemu-img ” وجود دارد که معمولا بخشهایی از توزیع های KVM را اجرا می کند. این دستور در Fedora, RHEL و CentOS بصورت زیر قابل اجراست:
1 |
yum install qemu-img |
سپس با دستور زیر یک فایل image از raw به vmdk را تبدیل می شود:
1 |
qemu-img convert -f raw /var/lib/libvirt/images/VM.img -O vmdk VM.tmp.vmdk -o compat6 |
برای مشاهده فایل های پشتیبانی شده نگاهی به بخش “qemu-img .manpage” بیندازید. حال می توانید، بطور مثال با دستور scp نتایج فایل vmdk را به VM.tmp.vmdk در ESXI هاست میزبان کپی کنید.
ورود (import) به فایل vmdk
در صورت ایجاد یک فایل تصویری VMDK، نمی توانید آن را به عنوان یک هارد دیسک مجازی برای VM در ESXi استفاده کنید. اگر می خواهید یک ماشین مجازی با فایل vmdk خاصی به عنوان هارد دیسک ایجاد کنید، احتمالا با پیام خطا /var/log/hostd.log رو به رو خواهید شد:
1 2 3 4 5 6 |
/var/log/hostd.log [...] Power On message: Failed to open disk scsi0:0: Unsupported or invalid disk type 7. Ensure that the disk has been imported. [...] |
خوشبختانه، در ESXI دستوری برای دستیابی به فایل imageدر vmdk که vmkfstoolsنامیده می شود وجود دارد. با این حال قبل از وارد کردن image فایل vmdk ابتدا ایجاد یک دایرکتوری در دیتااستور توصیه می شود. اینکار به شما اجازه می دهد تا image مربوطه را در دایرکتوری صحیح قرار دهید. (به عنوان مثال دایرکتوری که ESXI تمام فایل های ماشین مجازی خاص را قرار می دهد.)
1 2 3 4 5 |
~ # mkdir /vmfs/volumes/datastore0/New-VM ~ # vmkfstools -i /vmfs/volumes/datastore0/VM.tmp.vmdk -d thin /vmfs/volumes/datastore0/New-VM/New-VM.vmdk Destination disk format: VMFS thin-provisioned Cloning disk '/vmfs/volumes/datastore0/VM.tmp.vmdk'... Clone: 100% done. |
البته فرمت های دیگری نیز در دسترس است. می توانید image اصلی VM.tmp.vmdk را بعد از اینکه ورود(import) با موفقیت صورت گرفت از بین ببرید.
1 |
rm /vmfs/volumes/datastore0/VM.tmp.vmdk |
حال می توانید یک ماشین مجازی در هاست میزبان با فایل تازه وارد شده /vmfs/volumes/datastore0/New-VM/New-VM.vmdk به عنوان یک هارد دیسک مجازی ایجاد کنید.
انجام تنظیمات ماشین مجازی
با راه اندازی مجدد ماشین مجازی ایجاد شده، ممکن است سریعا شروع بکار نکند. بطور مثال در Fedora, RHEL و CentOSبخش UUID هارد دیسک در قسمت اولیه RAM فایل سیستم قرار دارد. ساده ترین کار این است که بوت را در حالت نجات (rescue) قرار داده و برای بازسازی initramfs آنرا اجرا کنیم.
1 |
dracut --regenerate-all --force |
با توجه به اینکه شبکه شما نام دیگری دارد، ممکن است مجبور باشید که پیکربندی شبکه خود را نیز ویرایش کنید.( حالت نجات حالتی است که در منوی بوت grub وجود دارد.)
امیدواریم که این آموزش نیز برای شما مفید واقع شده باشد.
با ما همراه بمانید.