مرجع تخصصی شبکه ایران

VoIP

بیش از 5 مورد

Vmware

بیش از 18 مورد

Virtualization

بیش از 18 مورد

Utility

بیش از 12 مورد

Mikrotik

بیش از 10 مورد

Microsoft

بیش از 8 مورد

Linux

بیش از 16 مورد

HPE

بیش از 5 مورد

Developers

بیش از 1 مورد

Cisco

بیش از 15 مورد

بازیابی فایل VMDK Descriptor ماشین مجازی

| تعداد کامنت 0
بازیابی فایل VMDK Descriptor
این مقاله راهنمایی‌ها و گام‌های لازم برای بازیابی فایل VMDK Descriptor ماشین مجازی را که ممکن است از بین رفته باشد، ارائه می‌دهد. ممکن است در شرایط زیر نیاز به بازیابی فایل VMDK Descriptor مفقود شده داشته باشید:
  • فایل دیسک ماشین مجازی که در Datastore Browser نمایش داده می‌شود، فایل فلت (-flat.vmdk) ماشین مجازی شما است و هیچ آیکونی ندارد.
  • هنگام روشن کردن یک ماشین مجازی، خطای “File not found” (فایل پیدا نشد) را مشاهده می‌کنید.
  • فایل فلت (-flat.vmdk) در دایرکتوری ماشین مجازی وجود دارد.
  • فایل Descriptor دیسک برای دیسک ماشین مجازی وجود ندارد یا خراب شده است.
  • ماشین مجازی با پیغام خطای “Cannot open the disk or one of the snapshot disks it depends on” (نمی‌توان دیسک یا یکی از دیسک‌های اسنپ‌شات وابسته به آن را باز کرد) روشن نمی‌شود.
  • خطای “Failed to open ‘*.vmdk’ with flags 0x7.”
  • دیسک مجازی والد پس از ایجاد دیسک فرزند تغییر کرده است.
  • شناسه محتوای دیسک مجازی والد با شناسه محتوای والد مربوطه در دیسک فرزند مطابقت ندارد (18).
محیط
  • VMware vSphere ESXi 6.x
  • VMware vSphere ESXi 7.x
  • VMware vSphere ESXi 8.x
 

نکات مهم برای بازیابی فایل VMDK Descriptor:

  • VMware برای بازیابی آسان در چنین شرایطی، تهیه نسخه پشتیبان کامل (Full Image Backup) از ماشین‌های مجازی حیاتی را توصیه می‌کند.
  • VMware همچنین توصیه می‌کند که سعی کنید فایل Descriptor را از نسخه پشتیبان بازیابی کنید.
  • این روش نمی‌تواند برای بازسازی فایل Descriptor دیسک رمزگذاری شده استفاده شود.
  • اگر ماشین مجازی آسیب دیده فاقد پشتیبان‌گیری کامل است، مطمئن شوید که فایل فلت (-flat.vmdk) را در یک مکان جداگانه کپی یا پشتیبان‌گیری کنید.
  • این مقاله تنها بر بازسازی فایل Descriptor برای ماشین مجازی تمرکز دارد. محتوای فایل فلت را ویرایش یا تغییر ندهید، زیرا ممکن است منجر به از دست رفتن داده شود.
  • این روش بر روی دیسک‌های مجازی که با کنترلر SCSI نیمه‌مجازی (Para-virtualized SCSI controller) در ماشین مجازی پیکربندی شده‌اند، کار نخواهد کرد زیرا ممکن است ماشین مجازی بوت نشود. با این حال، اگر از کنترلر SCSI نیمه‌مجازی استفاده می‌شود، فایل توصیف‌گر جدید را می‌توان با جایگزینی ddb.adapterType = lsilogic با ddb.adapterType = pvscsi در فایل، به روز کرد.
  مراحل برای ایجاد یک فایل Descriptor ماشین مجازی:
  1. اتصال به میزبان ESXi: از طریق SSH یا DCUI (Direct Console User Interface) به عنوان کاربر روت به میزبان ESXi متصل شوید.
  2. پیمایش به دایرکتوری دیسک مجازی: با استفاده از دستور زیر به دایرکتوری حاوی دیسک ماشین مجازی با فایل توصیف‌گر مفقود شده بروید:
    cd /vmfs/volumes/DATASTORE_NAME/VM_NAME
    (به جای  DATASTORE_NAME نام دیتااستور و به جای VM_NAME نام ماشین مجازی خود را قرار دهید.)
  3. شناسایی نوع کنترلر SCSI: نوع کنترلر SCSI که دیسک مجازی استفاده می‌کند را با بررسی فایل پیکربندی ماشین مجازی (.vmx)  شناسایی کنید. کنترلر با خط scsi#.virtualDev شناسایی می‌شود، که # شماره کنترلر است. مثال زیر lsilogic  را نشان می‌دهد:
    scsi0.sharedBus = "none"
    scsi1.present = "true"
    scsi1.sharedBus = "virtual"
    scsi1.virtualDev = "lsilogic"
    
  4. شناسایی و ثبت دقیق اندازه فایل -flat : از این دستور برای تعیین اندازه دقیق فایل -flat  استفاده کنید:
    ls -l vmdisk0-flat.vmdk
    
    خروجی مشابه زیر خواهد بود:
    -rw------- 1 root root 4294967296 Oct 11 12:30 vmdisk0-flat.vmdk
    
    (در این مثال، اندازه 4294967296> بایت است.)
  5. ایجاد یک دیسک مجازی موقت جدید: از دستور vmkfstools برای ایجاد یک دیسک مجازی موقت جدید استفاده کنید:
    vmkfstools -c 4294967296 -d thin temp.vmdk
    
    • _c size_: این اندازه دیسک مجازی است (از مرحله قبل).
    • _d thin_: این گزینه دیسک را با فرمت thin-provisioned ایجاد می‌کند.
    در نتیجه، فایل‌های temp.vmdk و temp-flat.vmdk ایجاد می‌شوند. توجه: برای صرفه‌جویی در فضای دیسک، دیسک را در فرمت thin-provisioned با استفاده از نوع thin ایجاد می‌کنیم. تنها پیامد آن این است که فایل Descriptor حاوی یک خط اضافی است که اگر دیسک اصلی Thin provisioned نبوده باشد، باید به صورت دستی در مرحله بعدی حذف شود.
  6. حذف temp-flat.vmdk : فایل temp-flat.vmdk را حذف کنید، زیرا نیازی به آن نیست. این دستور را اجرا کنید:
    rm -i temp-flat.vmdk
    
  7. تغییر نام temp.vmdk: فایل temp.vmdk را به نامی که باید با فایل -flat یتیم شده مطابقت داشته باشد (یا در این مثال vmdisk0.vmdk) تغییر نام دهید:
    mv -i temp.vmdk vmdisk0.vmdk
    
  8. ویرایش فایلDescriptor : فایلDescriptor را با استفاده از ویرایشگر متن “vi” ویرایش کنید (در این مثال vi vmdisk0.vmdk):
    • در بخش Extent Description، از دستور “Insert” برای اجازه تغییرات در فایل توصیف‌گر استفاده کنید.
    • نام فایل -flat را پیدا کرده و تغییر دهید تا با فایل -flat یتیم شده مطابقت داشته باشد.
    • پس از اتمام، “Esc” را فشار دهید تا از این حالت خارج شوید.
    • اگر دیسک .vmdk اصلی یک دیسک thin نبوده است، خط ddb.thinProvisioned = “1” را پیدا کرده و حذف کنید. اگر thin بوده است، این خط را نگه دارید.
    • از دستور :wq! برای ذخیره و خروج از ویرایشگر “vi” استفاده کنید.
    مثال از فایل Descriptor (پس از ویرایش):
    # Disk DescriptorFile
    version=1
    CID=fb183c20
    parentCID=ffffffff
    createType="vmfs"
    
    # Extent description
    RW 8388608 VMFS "vmdisk0-flat.vmdk"
    
    # The Disk Data Base
    #DDB
    ddb.virtualHWVersion = "4"
    ddb.geometry.cylinders = "522"
    ddb.geometry.heads = "255"
    ddb.geometry.sectors = "63"
    ddb.adapterType = "lsilogic"
    ddb.thinProvisioned = "1"  <-- اگر دیسک اصلی thin نبوده، این خط را حذف کنید.
    
  9. تایید تغییرات و بررسی سازگاری زنجیره دیسک: ماشین مجازی اکنون آماده روشن شدن است. تغییرات خود را تایید کنید و مطمئن شوید که زنجیره دیسک (Disk chain) قبل از شروع ماشین مجازی سازگار است. برای بررسی سازگاری زنجیره دیسک، این دستور را در برابر فایل Descriptor دیسک اجرا کنید:
    vmkfstools -e filename.vmdk
    
    برای یک زنجیره کامل، خروجی مشابه زیر را مشاهده خواهید کرد:
    Disk chain is consistent.
    
    برای یک زنجیره شکسته، خلاصه‌ای از زنجیره اسنپ‌شات و سپس خروجی مشابه زیر را مشاهده خواهید کرد:
    <>Disk chain is not consistent : The parent virtual disk has been modified since the child was created. The content ID of the parent virtual disk does not match the corresponding parent content ID in the child (18).
    
اطلاعات تکمیلی هر درایو دیسک برای یک ماشین مجازی شامل یک جفت فایل .vmdk است. یکی یک فایل متنی حاوی داده‌های توصیفی در مورد هارد دیسک مجازی است و دومی محتوای واقعی آن دیسک را شامل می‌شود. به عنوان مثال، یک ماشین مجازی به نام examplevm یک دیسک 10 گیگابایتی به آن متصل است. این دیسک شامل یک فایلDescriptor examplevm.vmdk با حجم کمتر از 1 کیلوبایت و یک فایل فلت examplevm-flat.vmdk 10 گیگابایتی است که حاوی محتوای ماشین مجازی است.

اشتراک‌گذاری در :

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “بازیابی فایل VMDK Descriptor ماشین مجازی”

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