💡 کلونینگ چیست؟ آشنایی با انواع کلون – Clone در پیاده سازی VDI
در این مقاله سعی داریم یکی از نکات کلیدی مبحث راه اندازی VDI را توضیح دهیم و ببینیم کلونینگ چیست؟ فرق بین کلونها در بستر مجازی سازی VMware در چیست؟ چرا برای ساخت دسکتاپ ها باید از کلون استفاده کنیم؟ کدام نوع clone را باید انتخاب کنیم و… در ادامه همراه فالنیک باشید تا پاسخ تمام پرسشهای بالا را به دست آورید.
با مراجعه به صفحه نصب و راه اندازی شبکه در فالنیک میتوانید از خدمات راه اندازی VDI توسط متخصصین ما بهرهمند شوید.
فهرست محتوا
کلونینگ – Cloning در VDI چیست؟
پیش از آغاز بحث، میتوانید با مطالعه مقاله مجازی سازی دسکتاپ چیست؟ با مفهوم VDI بیشتر آشنا شوید اما به طور کلی کلون گیری از ماشین مجازی ایجاد یک ماشین ثانویه با مشخصاتی همانند ماشین اولیه است. تمام تنظیمات ماشین مجازی کپی گرفته شده اعم از سخت افزار، برنامههای نصب شده و سایر موارد همانند ماشین مجازی اصلی است. در اغلب موارد کلون گیری برای تست مورد استفاده قرار میگیرد و یا نیازی به تهیه ماشین مجازی از لیست تمپلیتها نیست. در نظر داشته باشید که ماشین مجازی که از آن کلون میگیریم کاملا شبیه به ماشین اصلی است اما مک آدرس و UUID مختص به خودش را داشته و کاملا مجزا عمل میکند. در مقاله زیر با مفاهیمی چون clone چیست آشنا میشوید.
در مبحث Horizon View یک دسکتاپ مجازی اصلی (Parent) وجود دارد که توسط آن سایر دسکتاپ های مجازی ایجاد میشوند. زمانی که کلونی را ایجاد میکنید این کلون کاملا جدا شده و یک دسکتاپ مجازی جدید با مشخصه های منحصر به فرد در اختیار شما قرار میدهد. این فرآیند فقط مختص به Horizon View نیست. در واقع عملکردی مشترک بین vSphere و vCenter و Horizon view است. جهت انجام صحیح و کامل این کار باید مولفه دیگری به زیرساختها اضافه کنیم که این وظیفه را View Composer برعهده دارد تا ایمیج های دسکتاپ را مدیریت کند.
وظیفه View Composer چیست؟
تکنولوژی که پشت پرده لینکدکلون قرار دارد خیلی شبیه به اسنپ شات است اما یک تفاوت اصلی به نام View Composer وجود دارد. با استفاده از View Composer میتوانیم بیش از یک اسنپ شات فعال داشته باشیم که به دیسک ماشین مجازی متصل شده است. این قابلیت اجازه میدهد تا چندین ایمیج دسکتاپ مجازی از یک حالت اصلی را ایجاد نمایید. خواندن مقاله “مجازی سازی دسکتاپ با VMware Horizon View” را از دست ندهید.
اهمیت استوریج در پیاده سازی VDI
متاسفانه یکی از دلایل اصلی شکست اغلب پروژههای دسکتاپ مجازی ایجاد زیرساختهای سنگین و نیازهای کارشناسی نشده در زمینه ذخیرهسازها است. هزینههای تهیه و راهاندازی استوریج، سنگین و گران قیمت است. نگاهی که افراد به VDI دارند چیزی شبیه به تهیه یک دسکتاپ فیزیکی است. این تفکر یعنی هر کاربر دسکتاپ مجازی اختصاصی خودش را داشته باشد و فضای ذخیره سازی زیادی هم برای او درنظر گرفته شود. به هر کاربری که قرار است به او دسکتاپ مجازی اختصاصی داده شود فضای زیادی هم برای ذخیره سازی اطلاعات درنظر گرفته میشود که در بسیاری موارد اصلا کارایی نداشته و عملا مقدار زیادی از فضا هدر میرود.
برای مثال فرض کنید 1000 کاربر داریم و برای هر دسکتاپ باید 250 گیگابایت فضا تخصیص بدهیم با یک حساب سرانگشتی چیزی در حدود 250 ترابایت برای دسکتاپ های مجازی نیاز داریم. تامین چنین فضای ذخیره سازی بزرگی، نیازمند صرف هزینه های سرسام آور است. این سناریوی اول ماست دیدگاهی که در مبحث Horizon View با نام Full Clone شناخته میشود.
با VDI، دیدگاههای جدیدی برای استقرار ذخیره سازی و استوریج نیاز است و در این مرحله تکنولوژیهای لینکد کلون و اینستنت کلون وارد بازی میشوند. در مخلص کلام لینکد کلون و اینستنت کلون طراحی شدند تا مقدار فضای مورد نیاز دیسک جهت راه اندازی دسکتاپ مجازی را کاهش داده و پیاده سازی را آسانتر کنند و مدیریت ایمیجهای متعدد دسکتاپ ماشینها را تسهیل نمایند.
انواع کلونها در پیاده سازی VDI
سه نوع Clone برای پیادهسازی وجود دارد:
- فول کلون full clone
- لینکد کلون linked clone
- اینستنت کلون instant clone
فول کلون Full Clone چیست؟
همان طور که از نام آن پیدا است به صورت دقیق یک فول کلون اندازه کاملی از کپی ماشین مجازی اصلی یا تمپلیت ایمیج طلایی است. اصطلاح ایمیج در این بخش به سیستمعاملی گفته میشود که نصب شده و تمام برنامههای مورد نیاز بر روی آن قرار گرفته و آماده بهره برداری است.
اولین باری که کلون ایمیج طلایی ساخته میشود (از این بابت این ایمیج لقب طلایی میگیرد که ایمیج اصلی بوده و تمام دسکتاپها از روی آن ساخته میشوند) ماشین مجازی منحصر به فردی است که هویت خاص خودش را داشته و دسکتاپ مجازی ای است که به صورت کاملا مستقل عمل میکند و بعد از ایجاد به ایمیج طلایی وابستگی ندارد.
در حالت Full Clone برای ساخت دسکتاپ مجازی سایز کاملی از ایمیج اصلی کپی میشود. جهت استفاده از فول کلون به مقادیر زیادی از ظرفیت در استورج نیاز خواهیم داشت و همین امر افزایش وحشتناک هزینهها را به همراه دارد. در حالت فول کلون فرآیندهای پیاده سازی و تهیه نسخه پشتیبان بسیار راحت است.
لینکد کلون Linked Clone چیست؟
زمانی که لینکد کلون linked clone را راه اندازی میکنیم دیسکی با نام دلتا ساخته شده و مورد استفاده قرار میگیرد. تفاوتهای بین سیستم عامل دسکتاپ مجازی اصلی و دسکتاپ مجازی ساخته شده در این دیسک ذخیره میشود. این تفاوتها حاوی تغییراتی است که کاربرها بر روی سیستم عامل خواهند داد. بر خلاف روش فول کلون، لینکد کلون کپی کاملی از دیسک مجازی نیست.
اصطلاح لینکد کلون از آنجا میآید که همیشه برای انجام کاری به دسکتاپ اصلی رجوع نمیشود. و خواندن دیتاها از دیسک رپلیکا صورت میگیرد. اساسا رپلیکا کپی از اسنپ شات دسکتاپ مجازی است. رپلیکا شامل تمام مواردی میشود که برای اجرای ویندوز لازم الاجرا است مثل فایل های سیستم عامل، بوت فایلها و برنامهها و…
در صورتی که ادمین تنظیمات درستی را اعمال نکرده باشد لینکدکلون خودش به صورت بالقوه میتواند در سایز مشابهی با رپلیکا دیسک رشد کرده و بزرگ شود. امکان ایجاد محدودیت در رشد دسکتاپها وجود دارد. پس جهت افزایش سرعت و استفاده بهینه از سیستمها بهتر است از حجیم شدن دسکتاپها جلوگیری گردد.
در ضمن امکان ریفرش کردن دسکتاپهای مجازی که با تکنولوژی لینکد کلون ایجاد شدهاند وجود دارد. هر بار که دسکتاپی ساخته میشود پروسه کلونینگ مجددا از اسنپ شات اولیه آغاز میگردد.
بلافاصله بعد از اینکه لینکد کلون دسکتاپ مجازی عملیاتی شد، تفاوت بین ماشین مجازی اصلی و دسکتاپ مجازی ساخته شده جدید فوق العاده ناچیز است. بنابراین باعث کاهش فضای ذخیره سازی مورد نیاز در مقایسه با فول کلون میشود.
لینکد کلون – Linked Clone چطور کار میکند؟
در اولین قدم قبل از انجام هر کاری یک دسکتاپ مجازی اصلی ساخته میشود که فقط سیستم عامل را شامل نمیشود بلکه برنامه های اصلی و تنظیمات مورد نیاز و کامپوننت مربوط به Horizon View Agent هم بر روی آن قرار دارد. این دسکتاپ مجازی پس از اینکه ساخته شد تبدیل به VM اصلی یا اصطلاحا پرنت یا گُلد میشود. فرآیند ساخت و مدیریت لینکد کلون توسط View Composer و vCenter سرور انجام میشود.
(1) گلد ایمیج را بسازید. (2) اسنپ شاتی از آن تهیه کنید. (3) زمانی که دسکتاپ پول ایجاد میکنید اسنپ شات مورد نیاز انتخاب شده و تبدیل به رپلیکا میشود. در این حالت اسنپ شات به حالت فقط خواندنی میرود یعنی هیچ تغییری بر روی آن امکانپذیر نیست. هر دسکتاپ مجازی به رپلیکا لینکد شده و از این رو اصطلاح لینکد کلون شکل گرفته است.
اینستنت کلون Instant Clone چیست؟
هدف از طراحی و توسعه اینستنت کلون این بود که مکانیزمی موثر باشد تا یک دسکتاپ مجازی در سریعترین حالت ممکن ایجاد و در اختیار کاربر قرار گیرد. در ابتدای پیاده سازی بستر Horizon View این مدل از ایجاد دسکتاپ خیلی کاربردی خواهد بود.
Instant Clone از یک ماشین مجازی روشن و آماده ساخته شده است. این دسکتاپ مجازی، پرنت نامیده میشود که در حالت عادی همیشه روشن و در حال اجرا است. اینستنت کلون قابلیتی است که دسکتاپ های مجازی بسیار سریعتر از لینکدکلون آماده سازی میشوند.
در اینستنت کلون، مموری و دیسک دسکتاپ مجازی با پرنت به اشتراک گذاشته شده است و ماشین همیشه در حالت روشن قرار دارد به همین دلیل سرعت ساخت دسکتاپ بسیار بالا رفته و بر خلاف لینکدکلون که دسکتاپ مجازی باید روشن شده و پروسه ایجاد طی شود. در حالت اینستنت کلون دسکتاپ مجازی مموری انحصاری خودش را در اختیار دارد و دلتا دیسکهای خود را شامل میشود.
وقتی کاربر از دسکتاپ مجازی که به صورت اینستنت کلون ساخته شده است لاگ آف میکند این دسکتاپ کاملا از بین رفته و وقتی دوباره لاگین میشود اینستنت کلون جدید ایجاد میگردد. در شرایطی که دیتاهای موجود در دسکتاپهای مجازی مهم هستند و نیاز به ذخیره سازی آنها داریم این روش اصلا مناسب کار شما نیست.
مقایسه لینکد کلون و اینستنت کلون
در ادامه به تفاوت بین لینکد کلون و اینستنت کلون میپردازیم:
- پروسه آماده سازی در اینستنت کلون چند ثانیه است ولی در لینکدکلون مراحل طولانیتر است.
- مشکل بوت همزمان دسکتاپها را نداریم. در لینکدکلون اگر تمام دسکتاپها به صورت همزمان روشن میشدند ممکن بود با مشکل کندی کل سیستم مواجه شویم. اما در اینستنت کلون چون دسکتاپ پرنت روشن و آماده است هیچ تهدیدی وجود ندارد.
- به دلیل چرخه عمر کوتاه دسکتاپ ها در روش اینستنت کلون نیازی به قابلیت های ریفرش و ریکامپوز و … نیست. (این مورد به سادگی استفاده اشاره دارد)
کدام نوع کلون – Clone را انتخاب کنیم؟
در شرایطی ما شاهد بهترین حالت پیادهسازی خواهیم بود که برای کاهش فضا و کنترل هزینه ها از قابلیتهای لینکد کلون و اینستنت کلون استفاده کنیم. هرچند، همان طور که قبلا اشاره کردیم در بعضی موارد باید فول کلون پیاده سازی شود.
ظرفیت ذخیرهسازی اولین موردی است که باید درباره آن اطلاعات داشته باشیم ولی المان ظرفیت نباید سبب چشم پوشی ما از کارایی سیستم شود. تمام دسکتاپ های مجازی که با لینکد کلون ایجاد شده اند از یک ریپلیکا خوانده میشوند و همین امر باعث میشود روی استوریجی که رپلیکا روی آن قرار دارد IOPS خیلی بالایی مورد نیاز باشد. بر اساس نوع طراحی ممکن است بیش از یک رپلیکا وجود داشته باشد.
Horizon View امکانی در اختیار ما میگذارد تا مکان قرارگیری ریپلیکا را مشخص نماییم. یکی از توصیههای جدی متخصصین VMware قرارگیری رپلیکا بر روی استورجهایی با سرعت بالا است. مثلا بر روی لوکال دیسک و یا SSD که به صورت اشتراکی مورد استفاده قرار میگیرد.
سوال متداول
روشهای کلونینگ (Cloning) چیست؟
راههای مختلفی برای انجام کلونینگ (Cloning) ماشینهای مجازی و انتقال تغییرات بین آنها وجود دارد. دو روش رایج و پر کاربرد در این زمینه به شرح زیر است:
Snapshot: اسنپشاتها یکی از قدرتمندترین راهکارهایی است که بیشتر کارشناسان شبکه از آن استفاده میکنند. یک راه بسیار معمول برای انجام کلونینگ و ذخیره تغییرات در ماشین مجازی استفاده از قابلیت اسنپشات است. هنگامی که یک اسنپشات از ماشین مجازی تهیه میکنید، یک ایمیج زنده از وضعیت ماشین مجازی شما ذخیره میشود. سپس، میتوانید تغییرات جدیدی را در ماشین مجازی اعمال کنید، اما وضعیت اصلی ماشین مجازی تغییر نمیکند. در صورت نیاز به بازگشت به وضعیت اولیه، میتوانید از اسنپشات استفاده کنید و تغییرات اعمال شده را لغو کنید.
Clone: در این روش، یک کلون کامل از ماشین مجازی ایجاد میکنید که شامل تمامی تنظیمات، فایلها و تغییرات جاری ماشین مجازی اصلی است. با ایجاد یک کلون، شما میتوانید تغییرات جدیدی را در ماشین مجازی کلون شده اعمال کنید بدون تاثیرگذاری بر ماشین مجازی اصلی. این روش به شما اجازه میدهد از یک نسخه پایه برای ایجاد چند ماشین مجازی با تنظیمات یکسان استفاده کنید و تغییرات را به آنها اعمال کنید.
بسته به نرمافزار مجازیسازی که استفاده میکنید، روشهای دیگری نیز ممکن است وجود داشته باشد. به عنوان مثال، در VMware ESXi میتوانید از قابلیت vMotion برای انتقال ماشین مجازی بین سرورها استفاده کنید، که امکان انتقال تغییرات را دارد. البته، با توجه به توضیحاتی که ارائه کردید، به نظر میرسد مشکل شما ارتباطی با ESXi نداشته باشد، زیرا این هایپروازیر به شکل مستقیم روی سرور قرار میگیرد، اما شما از ماشینهای مجازی روی یک سیستم دسکتاپی استفاده میکنید. در نهایت، برای اطلاعات دقیقتر و راهنمایی مناسب، بهتر است به مستندات و منابع مربوطه مراجعه کنید و با نرمافزار مجازیسازی خود آشنا شوید.
چگونه میتوان بهروی دو سیستم، یک ماشین مجازی نصب کرد که باهم سینک باشند؟
امکان برقراری ارتباط بین دو سیستم در یک ماشین مجازی و همگامسازی آنها وجود دارد. این عملکرد معمولا با استفاده از شبکه مجازی و تنظیمات ماشین مجازی دستیافتی است. شما میتوانید از روشهای زیر استفاده کنید:
شبکه مجازی Host-Only: در این روش، شما میتوانید یک شبکه مجازی را برای ماشین مجازیهای خود ایجاد کنید. این شبکه مجازی فقط به ماشینهای مجازی موجود در همان میزبان دسترسی دارد و ارتباط بین آنها را ممکن میسازد. با تنظیم ماشینهای مجازی خود به شبکه مجازی Host-Only، آنها میتوانند با یکدیگر ارتباط برقرار کرده و همگام شوند (این روشی است که خودم من برای سینک کردن ماشینهای مجازی از آن استفاده میکنم و بالاترین سطح از انعطافپذیری را در اختیارم قرار میدهد).
شبکه مجازی Bridged: در این حالت، شما میتوانید ماشینهای مجازی خود را به شبکه فیزیکی متصل کنید. با استفاده از شبکه مجازی Bridged، ماشینهای مجازی به عنوان دستگاههای مجزا در شبکه عمل میکنند و میتوانند با دیگر دستگاههای متصل به شبکه ارتباط برقرار کنند. با تنظیم ماشینهای مجازی خود به شبکه مجازی Bridged، آنها میتوانند با هم در یک شبکه قرار بگیرند و همگام شوند.
استفاده از سرویسهای شبکه مجازی: برخی از نرمافزارهای مجازیسازی، مانند VMware Workstation یا VirtualBox، امکان ایجاد شبکههای مجازی پیشرفتهتر را فراهم میکنند. با استفاده از این سرویسها، شما میتوانید تنظیمات پیشرفتهتری را برای شبکه مجازی خود انجام دهید و ارتباط بین ماشینهای مجازی را به دلخواه تنظیم کنید.
دقت کنید که تنظیمات و مراحل دقیق بستگی به نرمافزار مجازیسازی و محیط خاص شما دارد. بهتر است به مستندات و منابع مربوطه مراجعه کنید تا بتوانید تنظیمات مورد نیاز را اعمال کنید. به دلیل محدودیتهای نرمافزاری و سختافزاری، نمیتوان یک ماشین مجازی را به طور مستقیم با دو سیستم مادر سینک کرد. ماشین مجازی به عنوان یک سیستم جداگانه در نظر گرفته میشود و تنها میتوانید به طور غیرمستقیم از طریق شبکه یا روشهای دیگر ارتباط بین دو سیستم مادر و ماشین مجازی برقرار کنید.
روز بخیر
من دو تا سیستم دارم که روی هر دو از یه ماشین مجازی استفاده میکنم بعضی مواقع تغیراتی داخل ماشین مجازی میدم که مجبورم یه کلون فول با اونهمه حجم و زمان ازش بگیرم و ببرم روی اون یکی سیستم که بتونم با همین اطلاعات استفاده کنم آیا راهی داره که جوری ازش کلون بگیرم که فقط بتونم تغیرات رو ببرم روی اون یکی ماشین اعمال کنم ؟
کلون Create a linked clone رو فقط رو همون سیستم میشه استفاده کرد
یا امکانی وجود داره رو دو تاسیستم یه ماشین مجازی جوری نصب شه که با هم سینگ بشن ؟
درود بر شما
اهورا عزیز،
شما میتوانید از تکنیک clone یا اسنپشات استفاده کنید که هریک مزایای خاص خود را دارند.