شاید برای شما نیز پیش آمده باشد که بخواهید یک ماشین مجازی را از یک هاست مستقل به یک هاست دیگر منتقل کنید و در این بین سرویس vCenter و یا فضای ذخیره سازی اشتراکی وجود نداشته باشد و تنها ارتباط شبکه ای مشترک برقرار است.
این شرایط با حالت های زیر در نظر بگیرید:
حال شرایطی را در نظر بگیرید که مدیر شما از شما خواسته است تا این فرآیند انتقال هر چه سریعتر صورت گیرد و شما می خواهید این فرآیند را به صورتی انجام دهید که در صورت بروز خطا، فرآیند انتقال (به طور مثال OVF گرفتن از ماشین) از ابتدا انجام نگیرد. چه راهی برای اینکار وجود دارد؟ در زیر می خواهیم روشی را برای شما توضیح دهیم که می توانید بدون مشکل این انتقال را انجام دهید:
نیازمندی این روش وجود یک ماشین مجازی با سیستم عامل لینوکس برر وی یکی از هاست ها است که دسترسی شبکه ای به هر دو هاست شما داشته باشد. بدین معنا که بتواند بدون مشکل به هاست های شما ارتباط ssh برقرار کند. در نهایت بر روی این ماشین بسته های ddrescue و sshfs نصب شود. نصب این بسته ها براساس توزیع لینوکس شما متفاوت است، اما اگر از CentsOS استفاده می کنید با دستورات زیر می توانید این بسته ها را نصب کنید:
برای توزیع Ubuntu می توانید از دستورات زیر استفاده نمایید:
حال که این نیازمندی ها تامین شدند روند زیر را طی کنید:
به ماشین مجازی خود متصل شده و با کمک دستور sshfs به دیتااستورهای موجود بر روی هاست های خود متصل شوید. فرض ما بر این است که از هاست 1 می خواهیم ماشینی را به هاست 2 منتقل نماییم:
sshfs -o ro root@esxi1:/vmfs/volumes/DS1/ /InFolder
sshfs -o ro root@esxi2:/vmfs/volumes/DS2/ /OutFolder
در دستورات بالا یکبار دیتااستور هاست 1 و یکبار دیتااستور هاست 2 را به عنوان یک پوشه به ماشین مجازی خود Mount کردیم.
حال در قدم بعدی فایل های ریز موجود بر روی پوشه ماشین مجازی مدنظر خود را با دستور زیر جابجا کنید:
cp /InFolder/VMDir/* /OutFolder/VMDir/
در این دستور منظور از VMDir مسیر ماشین مجازی ما بر روی هاست 1 می باشد.
حال می خواهیم اقدام به جابجای فایل vmdk نماییم. برای اینکار از دستور ddrescue استفاده می کنیم. علت استفاده از این دستور وجود ویژگی ادامه کپی در صورت بروز خطا می باشد.
ddrescue /InFolder/VMDir/Disk1-flat.vmdk /OutFolder/VMDir/Disk1-flat.vmdk /OutFolder/VMDir/Disk1-flat.log
این دستور را به ازای هر دیسک می توانید مستقل اجرا نمایید.
با این روش شما می توانید ماشین مجازی خود را از هاست 1 به هاست 2 منتقل نمایید. اما باید در نظر داشته باشید:
نکته: به جای استفاده از دستور ddrescue می توانید از دستور rsync نیز استفاده نمایید. این مقاله بیشتر به منظور معرفی روشی برای انتقال اطلاعات بین دو هاست مستقل می باشد.
ببخشید، برای نوشتن دیدگاه باید وارد بشوید