VMware ESXi で仮想マシンとそのファイルの名前を変更する
search cancel

VMware ESXi で仮想マシンとそのファイルの名前を変更する

book

Article ID: 319350

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

この記事には、SSH やシステム管理インターフェイスを介して、またはコンソールで直接、仮想マシンとそのファイルの名前を変更する方法が記載されています。

vSphere Client を使用して仮想マシンの名前を変更すると、表示名のみが変更され、データストアの対応するファイル名は変更されません。仮想マシンのファイル名も変更することで整合性を保つことができるため、有益な場合があります。


Symptoms:
免責事項: これは英文の記事Renaming a virtual machine and its files in VMware ESXiの日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Environment

VMware vSphere ESXi
VMware vCenter Server

Resolution

仮想マシンファイルは、ストレージマイグレーション、ストレージvMotionなどのディスクマイグレーション操作中に、またはESXiシェルからインプレースで手動で名前を変更することで名前を変更できます。

Storage vMotion を使用した仮想マシンのファイル名の変更

仮想マシンのファイル名は、vSphere Client から開始された Storage vMotion の進行中に変更できます。名前の変更はダウンタイムなしで行われます。

  1. VMware vSphere Client にログインします。
  2. ホストのインベントリで、仮想マシンを見つけます。
  3. .仮想マシンを右クリックし、名前の変更 をクリックします。
  4. 必要に応じて仮想マシンの名前を変更します。
  5. 仮想マシンの Storage vMotion またはオフラインのストレージ移行を開始します。詳細については、以下を参照してください:
     

  • Storage vMotionは、宛先データストアが元のデータストアと異なる場合にのみ、仮想マシンファイルの名前を変更します。
  • 移行が完了すると、仮想マシンファイルはステップ4で設定された仮想マシン名と一致します。
  • 同じ名前の仮想マシンディレクトリがデータストアにすでに存在する場合、ターゲットの仮想マシンは _1 が追加された新しいディレクトリに配置されます。
  • 名前を変更しても、仮想マシンファイルの名前やファイルが配置されているディレクトリの名前は変更されません。
  • Storage vMotion を使用した移行により、宛先データストアの仮想マシンのファイル名が変更され、仮想マシンのインベントリ名と一致します。移行により、すべての仮想ディスク、構成ファイル、スナップショット、および .nvram ファイルの名前が変更されます。新しい名前が最大ファイル名の長さを超える場合、移行は成功しません。
     

コンソールを使用してインプレースで仮想マシンファイルの名前を変更する

 警告:続行する前に、次のことを確認してください。

  • 仮想マシンには、最新のバックアップがあり、電源が切れている。
  • 仮想マシンには、他の仮想マシンと共有されるスナップショットや仮想ディスクがない。

仮想マシンのファイル名を手動で変更するには:

  1. vSphere Client にログインします。
  2. ホストのインベントリで、仮想マシンを見つけます。
  3. 仮想マシンをパワーオフします。
  4. 仮想マシンを右クリックし、インベントリからの削除 をクリックします。
  5. ESXi / ESXホストへのSSHセッションを開きます。
  6. 仮想マシンが存在するディレクトリに移動します。
    例:

    # cd /vmfs/volumes/DatastoreName/originalname
     
  7. vmkfstools -E コマンドを使用して、仮想ディスク (VMDK) ファイルの名前を変更します。

    # vmkfstools -E "originalname.vmdk" "newname.vmdk"

    • 仮想マシンのクローン(コピー)の作成を必要とする場合があります。仮想マシンのクローンを新しい仮想ディスクに作成するには、次のコマンドを実行します。

      # vmkfstools -i "originalname.vmdk" "newname.vmdk"

      元の仮想ディスクは変更されず、そのまま残ります。仮想ディスクのクローンをターゲット ディレクトリで作成するには、十分な領域が必要です。上記のコマンドでは、新しい仮想ディスクは現在のディレクトリに作成されますが、異なるディレクトリも指定できます。
       
    • vmkfstools コマンドを実行した後で、originalname-flat.vmdk ファイルの名前を変更する必要はありません。vmkfstools コマンドでは、両方の VMDK ファイルの名前が変更され、記述子内の参照が更新されます。
       
    • cp または mv コマンドを仮想ディスクのファイル名の変更に使用しないでください。代わりに、vmkfstools などの VMware ユーティリティを使用します。
       
  8. 次のコマンドを使用して、仮想マシン構成ファイル(.vmx)をコピーします。

    # cp "originalname.vmx" "newname.vmx"
     
  9. 新しい仮想マシン構成ファイル (newname.vmx など) をテキスト エディタで開きます。

    例:

    # vi "newname.vmx"
     
  10. 構成ファイルで、仮想マシンのファイル名の古いインスタンスをすべて新しいファイル名に変更します。少なくとも次の値を変更します (他の値が存在する場合もある)。

    nvram = " newname.nvram"
    displayName = " newname "
    extendedConfigFile = " newname .vmxf"
    scsi0:0.fileName = " newname .vmdk"
    [...]
    migrate.hostlog = "./ newname -UUID.hlog"

    仮想マシンのディスクごとに、この処理を繰り返します。例:

    scsi0:1.fileName = " newname _1.vmdk"
    scsi0:2.fileName = " newname _2.vmdk"

    VMkernel スワップ ファイルの参照を修正します。例:

    sched.swap.derivedName = "/vmfs/volumes/DatastoreUUID/ newname/ newname-UUID.vswp

    :上記の太字で示された両方の .vswp ファイルとスワップ ファイルのディレクトリ名を必ず変更します。
     
  11. 元のパスまたはファイル名を参照する残りの行を修正します。
  12. ファイルを保存し、エディタを終了します。
  13. .vmx 構成ファイルを除く残りのすべてのファイルを新しい名前に変更します。

    例:

    # mv "originalname.nvram" "newname.nvram"
     
  14. ディレクトリを親ディレクトリに変更します。

    # cd ..
     
  15. 仮想マシンのディレクトリ名を変更します。

    # mv "originalname" "newname"
     
  16. VMware vSphere Client を使用して、データストアを参照し、名前を変更した仮想マシンのディレクトリに移動します。
  17. 仮想マシンの新しい構成ファイル (newname.vmx など) を右クリックし、インベントリへの追加 を選択します。

    または、次のコマンドを使用して、仮想マシンをインベントリに追加することもできます。

    ESX の場合:

    # vmware-cmd -s register "/vmfs/volumes/DatastoreName/newname/newname.vmx"

    ESXi の場合:

    # vim-cmd solo/registervm /vmfs/volumes/DatastoreName/newname/newname.vmx
     
  18. 仮想マシンをパワーオンします。
  19. パワーオン時に、仮想マシンに関する質問が サマリ タブに表示されます。次の手順で、質問を確認します。
     
    • サマリ タブをクリックします。
    • インベントリで仮想マシンを右クリックし、質問への回答 を選択します。

      プロンプトが表示されたら 移動しました を選択し、OK をクリックします。

      警告コピーしました を選択すると、仮想マシンの UUID と MAC アドレスが変更され、MAC アドレスの変更の影響を受けやすいゲスト アプリケーションや、UUID に依存する仮想マシンのバックアップに悪影響を及ぼします。
  1. 必要に応じて元の仮想マシン構成ファイルを削除します。

    例:

    # rm /vmfs/volumes/DatastoreName/newname/originalname.vmx



Additional Information

ESX のコマンドライン インタープリタでは大文字と小文字が区別され、一部の仮想マシンのファイル名に使用される特殊文字をエスケープする必要があります。上記の例では、コマンド引数を引用符で囲むことで、空白と特殊文字がそのまま解釈され、エスケープ シーケンスが不要になるようにしています。

たとえば、"Original VM" という名前の仮想マシンは、"Original VM"(引用符付き)または Original\ VM として参照されます。

開きかっこや閉じかっこなどの特殊文字も、エスケープが必要です。"Original VM (1)" という名前の仮想マシンは、"Original VM (1)"(引用符付き)または Original\ VM\ \(1\) として参照されます。

引用符を用いる前者の方法を使用すると、処理が大幅に簡略化され、読みやすくなります。

エスケープ文字の詳細については、『バッシュ リファレンス マニュアル』を参照してください。