وضعیت سرورها

وبــلاگ

وضعیت سرورها
  • مدیریت آسان ماشین مجازی با ابزار libguestfs – قسمت اول

    مهدی عطائیان پنج شنبه ۱ فروردین ۱۳۹۲ آموزش , لینوکس , مقالات , نکته‌ها

    این مطلب در دو بخش نوشته شده است. بخش دوم در اینجا

    libguestfs شامل کتاب‌خانه‌ها، ابزارها و API هایی برای دسترسی و ایجاد تغییرات در دیسک‌های ماشین مجازی است. این ابزار اپن‌سورس و آزاد بوده و با مجوز ال‌جی‌پی‌ال و جی‌پی‌ال منتشر می‌شود. با استفاده از این ابزار می‌توانید:

    • به فایل‌ها و دایرکتوری‌های داخل ماشین مجازی دسترسی داشته باشید (حذف و ایجاد و تغییر).
    • سیستم عامل یک سرور فیزیکی را به ماشین مجازی تبدیل کنید (p2v).
    • ماشین‌های مجازی متفاوت را به هم تبدیل کنید. (v2v) به عنوان مثال ماشین مجازی vmware را به xen و یا kvm تبدیل کنید.
    • کلون کردن ماشین‌های مجازی
    • و …

    جالب است بدانید پروژه‌های بزرگی مانند اپن‌استک، virt-tools از این ابزار در پروژه‌های‌شان استفاده کرده‌اند.

    نصب: در سیستم‌عامل سنت‌او‌اس و یا ردهت و فدورا با دستور زیر تمام بسته‌ها را نصب می‌کنیم.

    لیست بسته‌ها:

    نکته: در مثال‌های زیر نیاز است نام دامنه ماشین مجازی را بدانیم. برای به دست آوردن نام ماشین مجازی از دستور virsh استفاده می‌کنیم. این دستور ماشین‌های مجازی سیستم را به همراه نام و وضعیت لیست می‌کند.

    virt-inspector: این ابزار نسخه سیستم‌عامل ماشین مجازی و اطلاعات دیگری در مورد ماشین مجازی را نشان می‌دهد.

    ساده‌ترین حالت استفاده از این دستور استفاده از پارامتر ‎-d به همراه نام دامنه و یا ‎-a به همراه آدرس پارتیشن یا ایمیج است.

     

    خروجی دستور نام و مشخصات سیستم عامل نصب شده، لیست بسته‌های نصب شده، آیکون سیستم عامل و … و با ساختار XML است. در زیر چند خط اول از خروجی برنامه را می‌بینید.

    virt-ls: فایلها و دایرکتوری‌های داخل ایمیج ماشین مجازی را به همراه اطلاعات اضافه دیگر نمایش می‌دهد. این دستور به شکل زیر استفاده می‌شود. نام دامنه به همراه آپشن ‎-d و یا مسیر ایمیج به همراه آپشن ‎-a و در انتها مسیر دایرکتوری که می‌خواهیم اطلاعاتش نمایش داده شود. در صورت استفاده از آپشن ‎-R  همه پوشه‌ها و فایل‌ها بصورت تو در تو نمایش داده خواهد شد.

    خروجی برنامه در ماشین مجازی نمونه:

    virt-format:  یک پارتیشن مجازی را فرمت می‌کند. و در پارتیشن جدید جدول پارتیشن جدید و فایل سیستم ایجاد می‌کند.

    به عنوان مثال با دستور زیر پارتیشن lvm12 با فایل سیستم ext3 فرمت می‌کنیم.

     virt-make-fs: با استفاده از یک فایل tar و یا مجموعه‌ای از فایلها یک پارتیشن با محتویات می‌سازد. input می‌تواند یک فایل tar و یا یک فایل tar فشرده و یا یک دایرکتوری باشد. با استفاده از پارامتر ‎–type می‌توان فایل سیستم پارتیشن را مشخص کنیم. با استفاده از پارامتر ‎–size می‌توان اندازه پارتیشن را مشخص کرد.

    مثالی از ایجاد پارتیشن با فایل سیستم ext3 از دایرکتوری خانگی کاربر:

     virt-edit: فایل‌های ماشین مجازی را ویرایش می‌کند. فایل با ادیتور پیش فرض باز می‌شود.

    به عنوان مثال با دستور زیر فایل ‎/etc/passwd را در ایمیج vm.img ویرایش می‌کنیم.

    virt-cat: محتویات یک فایل در ماشین مجازی را نمایش می‌دهد.

    virt-rescue: یک شل رسکیو در ماشین مجازی ایجاد می‌کند. این دستور مشابه سی‌دی نجات برای سیتسم‌ها فیزیکی عمل می‌کند. یک شل به همراه تعدادی دستور برای عیب یابی و رفع عیب در اختیار قرار می‌دهد. از آنجا که نوشتن و ایجاد تغییر در ماشین‌های مجازی روشن ممکن است باعث آسیب دیدن سیستم شود باید از آپشن ‎–ro در این مواقع استفاده کرد.

    در این مثال با virt-rescue وارد ماشین مجازی می شویم و چند دستور را اجرا می‌کنیم.

    پس از اجرای این دستور خط فرمان منتظر دریافت دستورات خط فرمان است.

    نکته: بعد از اجرای دستور باید فایل‌سیستم‌ها را مونت کنیم. در صورت استفاده از آپشن ‎–suggest برنامه به ما نحوه مونت کردن هر پارتیشن را پیشنهاد می‌کند.

    پارتیشن‌ها را در مسیر ‎/sysroot  مونت می‌کنیم.

    سپس با دستور زیر به داخل سیستم‌عامل chroot می‌کنیم و دستورات را اجرا می‌کنیم.

     

    0

    برچسب ها :

با عضویت در خبرنامه شما را از آخرین تجربیات مان و مطالب تخصصی آگاه خواهیم کرد.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *