スナップショットを作成できない:すでにファイルが存在するために操作が失敗するか、ファイルまたはフォルダ [DatastoreName] VMname/VMname.vmx がすでに存在するために操作を実行できない
search cancel

スナップショットを作成できない:すでにファイルが存在するために操作が失敗するか、ファイルまたはフォルダ [DatastoreName] VMname/VMname.vmx がすでに存在するために操作を実行できない

book

Article ID: 341065

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
免責事項:これは英文の記事「Unable to create snapshot: Operation failed because file already exists or Cannot complete the operation because the file or folder [DatastoreName] VMname/VMname.vmx already exists (1008058)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新の内容については、英語版の記事を参照してください。


VI、vSphere Client から、またはコマンド ラインから仮想マシンのスナップショットを作成する場合、製品のバージョンによっては次のいずれかのエラーが表示される場合がある。

  • ESX/ESXi 3.5 または VirtualCenter 2.5 VI Client で、次のようなエラーが表示される。

    Operation failed because file already exists

  • ESX/ESXi 3.5 サービス コンソールで、次のようなエラーが表示される。

    VMControl error -3: Invalid arguments

    例:

    # vmware-cmd VMname.vmx createsnapshot name desc 0 0
    VMControl error -3: Invalid arguments

  • ESX/ESXi/vCenter Server 4.0 vSphere Client で、次のようなエラーが表示される。

    Cannot complete the operation because the file or folder [DatastoreName] VMname/VMname.vmx already exists

  • ESX/ESXi/vCenter Server 4.1 vSphere Client で、次のようなエラーが表示される。

    Cannot complete the operation because the file or folder <unspecified filename> already exists

  • ESX/ESXi 4.0 サービス コンソールで、次のようなエラーが表示される。

    # vmware-cmd /vmfs/volumes/47ecbe04-acfca740-564c-001a4be960e0/VMname/VMname.vmx createsnapshot name desc 0 0
    Task reported error: (vim.fault.FileAlreadyExists) {
    dynamicType = <unset>,
    dynamicProperty = (vmodl.DynamicProperty) [],
    msg = 'Cannot complete the operation because the file or folder [DatastoreName] VMname/VMname.vmx already exists',
    faultCause = <unset>,
    faultMessage = (vmodl.LocalizableMessage) [],
    file = '[DatastoreName] VMname/VMname.vmx'
    }
    createsnapshot(name, desc, 0, 0) = 0

  • ESX/ESXi 4.1 サービス コンソールで、次のようなエラーが表示される。

    # vmware-cmd /vmfs/volumes/47ecbe04-acfca740-564c-001a4be960e0/VMname/VMname.vmx createsnapshot name desc 0 0
    Task reported error: (vim.fault.FileAlreadyExists) {
    dynamicType = <unset>,
    dynamicProperty = (vmodl.DynamicProperty) [],
    msg = 'Cannot complete the operation because the file or folder <unspecified filename> already exists',
    faultCause = <unset>,
    faultMessage = (vmodl.LocalizableMessage) [],
    file = '[DatastoreName] VMname/VMname.vmx'
    }
    createsnapshot(name, desc, 0, 0) = 0

  • ESX/ESXi 3.5 hostd.log ファイルに次のエントリが含まれる。

    'BaseLibs' 51723184 info] SNAPSHOT: SnapshotBranchDisk failed: The file already exists (39).
    'BaseLibs' 51723184 info] SNAPSHOT: SnapshotBranch failed: The file already exists (5).
    'BaseLibs' 51723184 info] DISKLIB-LINK : File '/vmfs/volumes/4c0f81ad-b85976a8-21d1-001cc493ce16/VMname/VMname-000002-delta.vmdk' already exists.
    'BaseLibs' 51723184 info] DISKLIB-LIB : Failed to create link: The file already exists (39)
    'BaseLibs' 51723184 info] SNAPSHOT: SnapshotBranchDisk failed: The file already exists (39).
    'BaseLibs' 51723184 info] SNAPSHOT: SnapshotBranch failed: The file already exists (5).

  • ESX/ESXi 4.x hostd.log ファイルに次のエントリが含まれ、次のエラーが表示される。

    info 'Libs'] SNAPSHOT: SnapshotBranch failed: The file already exists (5).
    info 'Vmsvc'] Failed to do Snapshot op: Error: (12) The file already exists
    info 'DiskLib'] DISKLIB-LINK : File '/vmfs/volumes/47ecbe04-acfca740-564c-001a4be960e0/VMname/VMname-000004-delta.vmdk' already exists.
    info 'DiskLib'] DISKLIB-LIB : Failed to create link: The file already exists (39)
    info 'DiskLib'] DISKLIB-LIB : Failed to create link: The file already exists (39)
    info 'Libs'] SNAPSHOT: SnapshotBranch failed: The file already exists (5).
    info 'Vmsvc'] Failed to do Snapshot op: Error: (12) The file already exists

  • ESXi 5.x hostd.log ファイルに次のエントリが含まれ、次のエラーが表示される。

    012-05-22T12:36:59.075Z [5ED40B90 info 'vm:/vmfs/volumes/4f66bf0c-9c44e66e-d073-984be10fb0db/a4/a4.vmx'] Failed to consolidate disks in Foundry: Error: (15) The file is already in use
    2012-05-22T12:36:59.075Z [5ED40B90 info 'Libs'] Vix: [5956 foundryHandleProperties.c:372]: Error VIX_E_UNRECOGNIZED_PROPERTY in FoundryGetStringProperty(): Unrecognized handle property identifier
    2012-05-22T12:36:59.075Z [5ED40B90 info 'Libs'] Vix: [5956 foundryHandleProperties.c:3354]: Error VIX_E_UNRECOGNIZED_PROPERTY in Vix_GetPropertiesImpl(): Unable to get string property 3045.
    2012-05-22T12:36:59.075Z [5ED40B90 info 'Libs'] Vix: [5956 foundryHandleProperties.c:3252]: Error VIX_E_UNRECOGNIZED_PROPERTY in Vix_GetPropertiesVargs(): Unrecognized handle property identifier
    2012-05-22T12:36:59.075Z [5ED40B90 info 'ha-eventmgr'] Event 2230 : Virtual machine a4 disks consolidation failed on esx01.abc.com in cluster vm01.abc.com in ha-datacenter.
    2012-05-22T12:36:59.101Z [5ED40B90 verbose 'vm:/vmfs/volumes/4f66bf0c-9c44e66e-d073-984be10fb0db/a4/a4.vmx'] Found helper snapshot 57, the VM needs consolidation.
    2012-05-22T12:36:59.101Z [5ED40B90 verbose 'vm:/vmfs/volumes/4f66bf0c-9c44e66e-d073-984be10fb0db/a4/a4.vmx'] Time to gather Snapshot information ( read from disk, build tree): 3 msecs. needConsolidate is true.
    2012-05-22T12:36:59.101Z [5ED40B90 verbose 'vm:/vmfs/volumes/4f66bf0c-9c44e66e-d073-984be10fb0db/a4/a4.vmx'] Snapshot property update: Configure will be invalidated for:


Environment

VMware ESX 4.1.x
VMware ESXi 4.1.x Embedded
VMware ESXi 4.1.x Installable
VMware ESXi 3.5.x Embedded
VMware ESX 4.0.x
VMware vSphere ESXi 5.0
VMware ESXi 3.5.x Installable
VMware ESXi 4.0.x Installable
VMware vSphere ESXi 5.5
VMware ESXi 4.0.x Embedded
VMware ESX Server 3.5.x
VMware ESX Server 3.0.x
VMware vSphere ESXi 5.1

Resolution

この問題は、VMware ESX または ESXi が新しい REDO ログ ファイル (vDiskname-delta.vmdk) を作成しようとしたものの、生成されたファイル名がすでに存在していた場合に発生します。これは、-delta.vmdk REDO ログ ファイルに関連付けられている記述子ファイルがない場合に発生する可能性があります。

すべての仮想ディスクは、実際のデータを含む flat ファイルまたは delta ファイルと、構造情報およびトポロジ情報を含む記述子ファイルの 2 つのファイルで構成されています。たとえば、vDiskname.vmdkvDiskname-flat.vmdk または vDiskname-delta.vmdk です。詳細については、Understanding virtual machine snapshots in VMware ESX (1015180) を参照してください。

スナップショットを作成する場合、ホストでは、スナップショットのチェーンで使用されておらず、ディレクトリに存在しない、最小のファイル番号を使用します。ホストでは、この番号を記述子ファイルで確認することにより計算します。

ホストがスナップショットの作成を試行する場合、まず、新しい記述子ファイルを作成し、次に、関連付けられている -delta.vmdk ファイルを作成します。ホストが -delta.vmdk のファイル名がすでに存在していることを検出した場合、スナップショット操作は失敗し、仮想マシンは前の状態に戻されます。

この問題を解決するには、関連付けられている記述子ファイルを含まない -delta.vmdk ファイルを検索して、手動で名称を変更するか、移動します。
関連付けられている記述子ファイルを含まない -delta.vmdk ファイルを検索して、手動で名称を変更するか、移動するには:
  1. vSphere Client を使用して ESX または ESXi ホストに接続します。
  2. インベントリで影響を受けている仮想マシンを検索します。
  3. 仮想マシンが保存されているデータストアを特定します。
  4. データストア ブラウザを開きます。
  5. 仮想マシンの構成ファイルを含む作業ディレクトリに移動します。詳細については、Creating snapshots in a different location than default virtual machine directory (1002929) を参照してください。
  6. 前のスナップショットの残りの REDO ログである delta.vmdk ファイルがあることを確認します。例:

    • 仮想マシンが、現在、vmname-000001.vmdk を参照している
    • vmname-000001.vmdk の親は仮想マシンのベース ディスク vmname.vmdk である
    • 名称が vmname-000002-delta.vmdk というファイルが仮想マシンのディレクトリに存在する
    • 名称が vmname-000002-delta.vmdk~ というファイルが仮想マシンのディレクトリに存在する
    • .vmx ファイルが名称が vmname-000002-delta.vmdk というファイルを参照していない
    • .vmsd ファイルが名称が vmname-000002-delta.vmdk というファイルを参照していない

  7. 残りのファイルの名称を変更するか、移動します。たとえば、vmname-000002-delta.vmdk ファイルをバックアップ ディレクトリに移動します。
  8. スナップショット作成操作をやり直すと、正常に実行されます。
  • スナップショットのメモリの状態を取得する場合、新しい .vmdk ファイルの前に .vmsn ファイルが作成されます。スナップショット操作が予期せず失敗した場合、プロセスが停止し、.vmsn ファイルが残ります。仮想マシンにスナップショットがない場合は、.vmsn ファイルを安全に削除することができます。スナップショットがある場合は、.vmsd ファイルを確認して、仮想マシンが参照している .vmsn ファイルを特定し、残りのファイルを削除します。
  • このような問題は、Snapshot Manager で非表示になっているスナップショットの仮想マシンのデータストアを参照(スナップショットのディスク ファイルおよび差分ファイルが非表示であると想定)して、記述子ファイルを削除する場合に、発生する可能性があります。


Additional Information

関連情報については、Working with snapshots (1009402) を参照してください。

この記事が更新されたときにアラートを表示するには、Actions ボックスで Subscribe to Article をクリックします。