仮想マシンからホストへファイルを転送する最も効果的な方法

仮想マシンには、柔軟性、リソースの効率的な活用、隔離された環境での実行など、多くの利点があります。仮想環境における一般的な作業として、仮想マシンとホスト間のファイルコピーが挙げられます。本記事では、ホストから仮想マシンへファイルをコピーする方法、仮想マシンからホストへファイルを転送する方法、および仮想マシン間でファイルをコピーする方法について解説します。

NAKIVO for VMware vSphere バックアップ

NAKIVO for VMware vSphere バックアップ

VMware vSphere 仮想マシン(VM)の包括的なデータ保護と即時復旧機能。オンプレミス、オフサイト、クラウド上の安全なバックアップ先。ランサムウェア対策機能。

私たちの環境を構成する要素

まずは用語の確認から始めましょう:

  • A ホスト ハイパーバイザーがインストールされた物理マシンです。
  • A ハイパーバイザー これは、ホスト上で仮想マシンを実行するための仮想化ソフトウェアです。ハイパーバイザーには2つの種類があります:
    • タイプ1:ホストマシンとしてESXiサーバーを使用する
    • タイプ2:VMware Workstationを使用する場合。この場合、ホストマシンのOSとしてWindowsまたはLinuxを選択できます。

この手順ガイドでは、VMからホストへファイルを転送する方法を説明するために、以下のコンポーネントで構成された環境を使用します:

  • ESXiホスト1:192.168.101.201
  • ESXiホスト2: 192.168.101.202
  • Ubuntu Linux マシン: 192.168.101.210
  • VMware Workstation がインストールされた Windows ホスト
  • ネットワーク: 192.168.101.0/24
  • 同じネットワークに接続されたESXi仮想マシンとVMware Workstation仮想マシン

VMとホスト間でファイルをコピーするために、以下の技術を使用しています:

  • 共有フォルダ
  • クリップボードの共有とドラッグ & ドロップ
  • USBストレージデバイス
  • PowerCLI
  • SSH と SCP
  • NFS共有
  • VMwareのWebインターフェースでのファイルのダウンロード/アップロード
  • ISOファイル

共有フォルダを使用してVMファイルをホストに転送する

共有フォルダ これは、VMware WorkstationがインストールされたWindowsまたはLinuxの物理ホストと、VMware Workstation上で実行されている仮想マシン(VM)との間でファイルを転送するための便利な機能です。macOSの場合、VMware FusionがVMware Workstationに相当し、同様の機能をサポートしています。

それでは、VMwareの共有フォルダを使用して、VMからホストへ、またはその逆方向にファイルを転送する手順を見ていきましょう。

注: この機能が動作するには、 VMware Tools VMにインストールする必要があります。ホストとVM間のデータ転送は、ネットワークを使用せず、VMware Toolsを介したホストとゲストOS間の通信によって行われます。

  1. VMwareのファイル共有を設定するVMを選択します。ここでは、当社のWindows VMの1つを選択します。
  2. クリック VM > Settings VMware Workstation の GUI にある"(仮想マシンの設定を編集)"
  3. その Virtual Machine Settings ウィンドウで、[ Options タブをクリックして Shared Folders. その Folder sharing セクションで、[選択] をクリックします Always enabled必要に応じて、チェックボックスを選択することで、Windowsゲスト上で共有フォルダをネットワークドライブとしてマウントし、利便性を高めることができます。
  4. クリック Add 共有フォルダとして使用するフォルダを選択します。

    VMware sharing folder – how to enable shared folders in VMware Workstation

  5. ホスト上で共有するフォルダのパスを入力するか、[クリック] をクリックしてください Browse 必要なフォルダを選択します。ここでは、 C:tempshare-VM

    共有フォルダの名前を入力してください。たとえば、 share-VM

    クリック Next.

    VMware file sharing – configuring shared folders in VMware Workstation

  6. 選択 Enable this share. 仮想マシンから共有フォルダを読み取り専用モードでアクセスさせたい場合は、 Read-only チェックボックス。クリック Finish.

    VMware sharing folder in VMware Workstation and enabling this share

  7. 新しい共有フォルダが、[共有フォルダ] リストに表示されるようになりました。 Options タブの Virtual machine settings ウィンドウ。ファイル名の横にあるチェックボックスがオンになっている場合、その共有フォルダが有効になります。

    クリック OK 設定を保存するには。

    VMware sharing folder – a shared folder is created

  8. フォルダを共有するために使用している Windows VM のユーザーインターフェースを開き、 Shared folders 機能。
  9. クリック Network (My Network Places) において My Computer (This PC) または Windows エクスプローラーを使用して、ネットワーク上で利用可能なコンピューターを確認します。
  10. 選択 vmware-host 共有フォルダが設定されているコンピューター名として。この名前はデフォルトで設定されており、共有フォルダがある物理マシン(ホスト)に紐付けられています。

    How to access a shared folder to copy VMware virtual machine files

  11. クリック Shared Folders 必要な共有フォルダを選択し(share-VM (この例では)。共有フォルダのフルパスは、この場合、

    vmware-hostShared Foldersshare-VM

ホストから仮想マシンへ、また仮想マシンからホストへファイルをコピーすることができます。私たちはコピーしました Test01.txt この例では、VMware Workstationのファイル共有機能を使用して、WindowsホストからWindowsゲストへデータを転送します。

VMware transfer files from a VMware VM using a shared folder

Linuxゲストの場合、以下のコマンドを使用して、すべてのVMware共有フォルダをマウントできます:

  • Linuxでカーネルバージョン4.0以前の場合:

    mount -t vmhgfs .host:/ /home/user1/shares

  • カーネル 4.0 以降の Linux では:

    /usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other

VMの再起動後も共有フォルダをマウントしたままにしたい場合は、以下のコメントと設定を参照して、適切な行を追加してください。 /etc/fstab 例えば:

#

VMwareの共有フォルダを使用して、VMwareのゲストとホスト間でファイルを転送する

.host:/ /mnt/hgfs/ fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0

次のセクションに進む前に、共有フォルダ機能は VMware Workstation でのみ利用可能であることにご留意ください(および macOS上のVMware Fusion)、また、ESXiホスト上で実行されているVMでは利用できません。ESXiホストの場合、フォルダを手動で共有し、ネットワーク経由でWindowsマシン間でファイルをコピーすることができます。VMからESXiホストへファイルをコピーするには、追加のツールを使用するか、手動で共有したフォルダからのファイルコピーと、以下で説明するいずれかの方法を組み合わせる必要があります。

他にも以下の方法があります Windows 10 でフォルダを共有する そして Windows Server 2019また、以下の詳細についてもご覧いただけます。 SMBファイル共有 プロトコル。

管理者権限を持つ Windows アカウントがあり、セキュリティポリシーでデフォルトで利用可能な隠し管理者共有へのアクセスが許可されている場合、次のような共有パスを使用して、Windows マシンのローカルディスク上のファイルにアクセスできます。

IP-Addressc$

場所:

IP-Address は、リモートにあるWindowsマシンのIPアドレスまたはホスト名です。

C$ これは、リモートにあるWindowsマシン上の、非表示のシステム共有である必要なドライブ文字です。

共有クリップボードを使用して、ホストから仮想マシンへファイルを転送する

共有クリップボードは、仮想マシンからVMware Workstationがインストールされているホストマシンへ、テキストやファイル全体などのコンテンツをコピー&ペーストできる機能です。この操作は、WindowsやLinuxでGUIを使用して異なるアプリケーションウィンドウ間でコンテンツをコピー&ペーストする手順と似ています。

すべての機能は VMware Workstationこれにより、ホストから仮想マシンへ、あるいは仮想マシンからホストへファイルを転送することができます。コピー&ペーストの代わりに、ファイルをドラッグ&ドロップすることも可能です。

VMware Workstation の共有クリップボード

共有クリップボードとドラッグ&ドロップを使って、VMware Workstationの仮想マシンにファイルを転送する方法について見ていきましょう & ドロップ。この例では、Windows ホストに VMware Workstation がインストールされています。

  1. 左側のペインに表示されているVM一覧から、対象のVMを選択してください。
  2. クリック Edit virtual machine settings (VM > Settings).

    Opening virtual machine settings

  3. [選択] Options タブをクリックして Guest Isolation.

    次の2つのチェックボックスにチェックを入れてください:

    • Enable drag and drop
    • Enable copy and paste

    クリック OK 設定を保存してウィンドウを閉じます。

    Enabling shared clipboard and drag & drop to transfer files to VMware VMs

VMware ESXi の共有クリップボード

VMware ESXi上で動作している仮想マシンについては、ドラッグ操作でファイルをコピーすることはできません & ESXiホスト上のVMと他のマシンとの間で、ドラッグ&ドロップまたは共有クリップボードを介して行うことはできません。唯一の方法は、ESXi上で動作するVMとローカルマシン(VMware Workstationまたは VMware リモートコンソール がインストールされている場合)。コピー&ペースト、またはドラッグ&ドロップ & セキュリティ上の理由から、ファイルのドロップ機能はサポートされていません。

ただし、設定ファイルなどをコピーできない場合は、共有クリップボードを使用してファイルのテキスト内容をコピーすることができます。デフォルトでは、ESXi VMの設定において共有クリップボードは無効になっています。テキストデータをコピー&ペーストできるように共有クリップボードを有効にするには、ESXiホストで以下の手順を実行してください:

  1. VMの設定を編集する際は、VMの電源をオフにする必要があります。VMが実行中の場合は、VMをシャットダウンしてください。
  2. 開く VM settings. VMware Host Client および VMware vSphere Client を使用できます。仮想マシンを選択し、[クリック] Edit VM settings そして、 VM options タブ。

    展開する Advanced Settings セクションをクリックして Edit Configuration.

    Advanced VM configuration to enable shared clipboard in ESXi

  3. VMの設定(VMXファイルに記述される設定)に、3つの設定パラメータを追加する必要があります。クリックしてください Add parameter.

    Enabling shared clipboard for a VM on VMware ESXi

  4. 次の3つのパラメータを追加してください:

    isolation.tools.copy.disable FALSE

    isolation.tools.paste.disable FALSE

    isolation.tools.setGUIOptions.enable TRUE

  5. クリック OK 設定を保存します。

    Configuration parameters to enable shared clipboard are added

あるいは、ESXiのデータストア内のVMディレクトリにあるVM構成ファイル(VMXファイル)を手動で編集することもできます。

  1. ESXiシェルにローカルまたはSSH経由でログインします。
  2. VMディレクトリ(データストア上にVMファイルが保存されているディレクトリ)に移動します。今回の例では、次のディレクトリに移動します:

    cd /vmfs/volumes/datastore10a/Windows-VM/

    Locating a VMX configuration file of the VM to enable a shared clipboard

  3. VMX設定ファイルを編集します。今回の場合、そのファイルは Windows-VM.vmx

    vi Windows-VM.vmx

  4. 上記の3つのパラメータを、この設定ファイルの末尾に追加してください。
  5. 変更を保存してファイルを閉じます(テキストエディタを終了します)。

    Adding configuration parameters to a VMX file to enable shared clipboard for a VM on an ESXi host

これで、VMware Remote ConsoleとVMware Workstationを使用してVMに接続することで、ローカルマシンとESXiホスト上で実行されているリモートVMの間でテキストのコピー&ペーストが可能になりました。

USBストレージデバイスの使用

VMware ESXi および VMware Workstation は USB パススルー機能をサポートしており、ホストマシンに USB デバイスを接続することで、そのホスト上で実行中の仮想マシンにその USB デバイスを接続することができます。USB ストレージデバイスをホストマシンと仮想マシンに順次接続することで、両マシン間で双方向のファイルコピーを行うことができます。

注: USBパススルー機能を使用するには、仮想マシンのゲストOSにVMware Toolsをインストールする必要があります。

VMware Workstationの仮想マシンとホスト間でのファイルのコピー

Windows および Linux ホストにインストールされた VMware Workstation で、VM からホストへファイルを転送するには、以下の手順を実行してください(インターフェースは統一されています):

  1. 仮想マシンの電源を入れます。
  2. USB HDD(ハードディスクドライブ)やUSBメモリなどのUSBストレージデバイスを、ホストマシンとなる実機(コンピュータ)に接続します。
  3. その New USB Device Detected VMware Workstation のウィンドウが開きます。USB デバイスを接続する場所を選択してください:
    • ホストに接続する
    • 仮想マシンに接続する

    2番目のオプションを選択し、USBフラッシュドライブを仮想マシンに接続しましょう。この例では、Windows VMを実行しています。VMware Workstation上で複数のVMが実行されている場合は、リストから必要なVMを選択する必要があります。USBデバイスは、一度に1つのVMにしか接続できません。クリック OK 続行するには。

    How to transfer files to virtual machines by using a USB storage device

    VMware Workstation がインストールされている物理ホストマシンの USB ポートに、すでに USB ストレージデバイスが挿入されている場合、USB パススルーオプションのポップアップウィンドウは自動的に表示されません。メニューから、USB デバイスを仮想マシンに接続(ホストから切断)することができます:

    移動 VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from host).

    この例では、USBフラッシュドライブの名前は"Kingston DataTraveler 2.0"です。

    Connecting a USB flash drive to a VM to copy files between a host and VM

  4. これで、"マイ コンピュータ"(Windows エクスプローラー)のディスク ドライブ一覧に、Windows 7 仮想マシンに接続された USB フラッシュ ドライブが表示されるようになりました。USB ストレージ デバイスを確認するには:
    • 右クリック My Computer そしてクリック Manage.
    • 移動 Computer Management > Device Manager and Computer Management > Disk Management 右クリックした後、該当するスナップインで。

    ドライブ文字が自動的に割り当てられない場合は、 Disk Management スナップイン。

    Linuxゲストの場合も手順は同じです。一部のLinuxディストリビューションでは、USBメモリなどの接続されたUSBストレージデバイスを、Linuxオペレーティングシステム上で手動でマウントする必要がある場合があります。

  5. USBストレージデバイスがVMにマウントされ、ゲストOSによって認識されたら、必要なファイルをVMからUSBストレージデバイスにコピーしてください。また、USBストレージデバイスからVMへのファイルのコピーも現在可能になっています。

    A USB flash drive is connected to a VM

  6. VMからUSBフラッシュドライブに必要なファイルをすべてコピーしたら、USBフラッシュドライブをVMから取り外し、このUSBデバイスをホストに接続します:

    クリック VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).

    How to transfer files from VM to host – disconnecting a USB flash drive from a VM

  7. USBストレージデバイスがホストマシン(この場合はVMware Workstationが動作しているWindowsマシン)に接続されました。仮想マシンからUSBフラッシュドライブにコピーしたファイルを、ホストマシンに転送することができます。

VMware Workstation から ESXi 仮想マシンへの USB パススルー

ESXiサーバーに挿入されたUSBフラッシュドライブを、ESXiホストをリモート管理するために使用しているローカルのWindowsまたはLinuxマシン(VMware WorkstationまたはVMware Remote Console(VMRC)がインストールされているもの)に挿入することで、そのUSBフラッシュドライブをESXi仮想マシンに接続することができます。最初のケースでは、 ホスト接続 USBパススルーが使用されており、2番目のケースでは、 クライアント接続済み USBパススルーを使用します。

ローカルの物理Windows 10マシンに挿入されたUSBフラッシュドライブを、ESXiホストv7.0上で実行されているWindows XP仮想マシンに接続してみましょう(クライアント接続型USBパススルー機能を使用)。物理WindowsマシンにはVMware Workstationがインストールされており、ネットワーク(192.168.101.0/24)経由でESXiホストに接続されています。

手順は以下の通りです:

  1. VMの設定を変更するには、VMの電源を切る必要があります。
  2. 必ず USB controller がVMの仮想ハードウェア一覧に表示されています。VMware Host ClientでVMの設定を確認できます。対象のVMを選択し(Windows-VM (当社の場合)、[クリック] Edit Settings そして、 Virtual Hardware タブ。

    A USB controller must be present on a VM to transfer files to virtual machine with a USB flash drive

  3. ローカル(物理)の Windows 10 マシンにインストールされている VMware Workstation に戻りましょう。クリックしてください File > Connect to a server VMware Workstation でリモート ESXi ホストに接続する場合。

    Connecting to a remote ESXi server

  4. ESXiサーバー名またはIPアドレス、ユーザー名、パスワードを入力します。クリック Connect.

    Connecting to a remote ESXi host – entering credentials

  5. VMware Workstationの左ペインで、ESXiホストを展開します。このペインには、リモートホスト、それらのホスト上のリモートVM、およびローカルのVMware Workstation VMが表示されます。
  6. リモートESXiホスト上で実行中のVMを選択します。ここでは、 Windows-VM 稼働中 192.168.101.201. その後、選択したVMのゲストOSのユーザーインターフェースが表示されます。
  7. クリック VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from Host).

    なお、ここでは、VMware Workstation がインストールされている物理的な Windows マシンに接続された USB デバイスを選択することに注意してください。この USB デバイスは、リモート接続している物理的な ESXi ホストに接続されたデバイスではありません。

    Connecting a USB flash drive to a VM running on an ESXi host using client-connected USB passthrough

  8. これで、リモートESXiホスト上で実行されているWindows XP仮想マシンにUSBフラッシュドライブが接続されていることが確認できます: Start > CMD > compmgmt.msc > Device Manager.

    A USB flash drive is connected to a VM running on an ESXi host and is ready to copy files

  9. 接続したUSBフラッシュドライブのパーティションにドライブ文字が割り当てられていない場合は、ドライブ文字を割り当ててください。VMとUSBフラッシュドライブの間で必要なファイルをコピーします。VMへのファイル転送と、VMからのファイル転送の両方が可能です。

    Using a USB flash drive to transfer files from VM to host

  10. ファイルのコピーが完了したら、VMからUSBストレージデバイスを外し、VMware Workstationが実行されているローカルの物理Windows 10マシンにこのデバイスを再接続します。VMware WorkstationのGUIで、[ VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).

ESXiへのUSBフラッシュドライブの接続

この方法は、ESXiホストのネットワークドライバを更新する必要があるものの、ネットワークが利用できない場合など、特定の状況において非常に有用です。ESXiにUSBフラッシュドライブを接続する手順は、VMware Workstationを実行しているホストマシンに接続する場合よりも複雑です。

ESXiでは、マウント可能なファイルシステムに制限があります。FAT32およびNTFSファイルシステムを使用するUSBフラッシュドライブやUSB HDDはサポートされていません。 このため、USBフラッシュドライブ上にパーティションを作成し、そのパーティションをVFAT(WindowsではFAT12として認識される)でフォーマットする必要があります。VFATには、パーティションの最大サイズやファイルの最大サイズといった制限があります。したがって、この方法は、仮想ディスクや4GBを超えるISOイメージなどの大容量ファイルには適用できません。しかし、設定ファイルやドライバなどを転送するには、これらの制限で十分です。

USBメモリにパーティションを作成する

まず、USBフラッシュドライブ上に新しいパーティションを作成し、そのパーティションをVFATでフォーマットしましょう。これを行うには、ESXiサーバーに挿入したUSBフラッシュドライブをVMに接続します(ホスト接続USBパススルー機能を使用)。 あるいは、物理的なWindowsまたはLinuxマシンにUSBフラッシュドライブを挿入することもできます。

この例では、Windows 7マシンを使用してESXi用のUSBフラッシュドライブを準備します。Windows Server 2008 R2、Windows 10、およびその他の新しいWindowsバージョンでのコマンドは同じです。

  1. USBメモリがWindowsマシンに接続されていることを確認するには、右クリックして My Computer または This PC (または実行 diskmgmt.msc (CMDから)を開く Disk Management.
  2. Windowsのコマンドプロンプトを開きます:

    Start > Run > cmd

  3. 種類 diskpart コマンドラインで入力し、 Enter.

    "diskpart"のプロンプトが表示されます:

    Diskpart

  4. Windowsマシンに接続されているディスクの一覧を表示します:

    list disk

    出力リストからご自身のUSBメモリを探し、ディスク番号を覚えておいてください。今回の例では、 Disk 1 は、当社のUSBフラッシュドライブの番号です(下のスクリーンショットを参照)。

  5. 上記のコマンドの出力から確認した適切なディスク番号を指定して、USBフラッシュドライブを選択してください(disk 1 (当方のケースでは)。

    select disk 1

  6. 選択したUSBフラッシュドライブのパーティションを表示します:

    list partition

    パーティションが1つあります(Partition 1) をUSBメモリに作成します(下のスクリーンショットを参照)。USBメモリにパーティションを1つだけ作成するのが最も一般的なケースです。

    Listing disks to identify a USB flash drive that can be used to copy files from a VM to an ESXi host

    次に、USBフラッシュドライブ上のパーティションを削除する必要があります。

    重要: USBメモリ内のデータはすべて削除されます。必要に応じて、次の手順に進む前にUSBメモリからデータをコピーしておいてください。

  7. 削除しようとしているUSBフラッシュドライブ上のパーティションを選択してください:

    select partition 1

  8. 選択したパーティションを削除するコマンドを実行します:

    delete partition

  9. もう一度、USBフラッシュドライブを選択してください:

    select disk 1

    Selecting the first partition on a USB flash drive in Diskpart

  10. VFATファイルシステムを使用して新しいパーティションを作成します。この例では、USBフラッシュドライブ上に4GBのパーティションを作成します。VFATでは4GBを超えるファイルを保存できない点に注意してください。また、VFATは8.3形式のファイル名のみをサポートしている点にも留意してください。

    create partition primary size=4000 id=6

  11. ESXiとの互換性を確保するため、作成したパーティションを次のようにフォーマットしてください:

    format fs=fat quick

    Formatting a partition in VFAT transfer files from VM to host (ESXi)

  12. diskpart ユーティリティを終了します(次のコマンドを実行します exit コマンド)。

USBフラッシュドライブは、ESXiによって認識され、ファイルのコピーが可能になる状態になっています。ESXiでいくつかの追加設定を行った後、USBフラッシュドライブを仮想マシン(VM)に接続し、必要なファイルをUSBフラッシュドライブにコピーすることができます。

ドライバーを含む ZIP アーカイブをコピーする必要があると仮定しましょう。この例では、net-tulip.zip を USB フラッシュドライブにコピーしました。次に、ESXi サーバーに挿入された USB フラッシュドライブのパーティションを、ESXi コマンドラインからマウントする必要があります。

USBフラッシュドライブを使用するようにESXiホストを設定する

USBフラッシュドライブにあるドライバーを含むZIPアーカイブをESXiデータストアにコピーし、その後、ESXiデータストアにあるVM構成ファイルをUSBフラッシュドライブにコピーする必要があるとします。ファイル名は net-tulip.zip この例では、USBフラッシュドライブからVMware ESXiへ、またはその逆方向にファイルを転送するには、ESXiホストで以下の操作を行ってください:

  1. 設定は コマンドラインインターフェース. このため、 ESXiホスト.
    • DCUIでリモートSSHアクセスを有効にするには、次の手順に従ってください。 Troubleshooting options > Enable SSH.
    • VMware Host Client で ESXi 上のリモート SSH アクセスと SSH サーバーを有効にするには、次の手順に従います。 Host > Manage そして、 Services タブ。右クリック TSM-SSH をクリックして Start サービスを開始します。このサービスを永続的に有効にすることができます。

    Starting the SSH server service on an ESXi host to allow remote management in the command line

  2. SSH経由でESXiホストに接続し、コマンドラインを使用します。お好みのSSHクライアントを使用できます。
  3. USB アービトレータ サービスを停止します:

    /etc/init.d/usbarbitrator stop

    USB アービトレータは、ESXi ホスト上に存在する仮想マシンに対して USB パススルー機能を自動的に有効にします(この機能を利用するには、対象の仮想マシンの設定で USB フラッシュドライブを選択するだけで済みます)。

  • ESXiの再起動後にUSBアービトレータサービスを(恒久的に)無効にしたい場合は、次のコマンドを使用できます:

    chkconfig usbarbitrator off

    USB アービトレータ・サービスを有効にするには、適切なコマンドを実行してください:

    /etc/init.d/usbarbitrator start

    chkconfig usbarbitrator on

  1. ESXiホストに接続されているUSBデバイスを確認するためのオプションコマンド:

    lsusb

    esxcli storage core device list | grep -i usb

    esxcli storage filesystem list

    ご覧いただけます /var/log/usb.log USBデバイスの状態を確認するには。

  2. USB アービトレータ サービスを停止した後、USB ストレージ デバイスを一度取り外して、再度接続する必要がある場合があります。
  3. 接続されているUSBフラッシュドライブ(またはUSB HDD)を見つける/特定するために、ブロックディスクデバイスの一覧を表示します。

    ls -ltrh /vmfs/devices/disks/

    当社のUSBメモリは mpx.vmhba32:C0:T0:L0: (下のスクリーンショットを参照)。

    したがって、ディスク上の完全なアドレス/位置は次のとおりです:

    /dev/disks/mpx.vmhba32:C0:T0:L0:

    Viewing disk devices connected to an ESXi host to identify a USB flash drive

  4. USBデバイスのパーティション番号を確認し、正しいディスクデバイスを特定していることを確認してください:

    ls /dev/disks/mpx.vmhba32:C0:T0:L0:*

    出力によると、今回のケースではパーティション番号を含めた完全なデバイスIDは次のとおりです:

    /dev/disks/mpx.vmhba32:C0:T0:L0:1

  5. USBフラッシュドライブのルートフォルダを特定し、ファイルをコピーするソース/コピー先のパスを指定します。次のコマンドを実行し、 Tab volumes ディレクトリにある利用可能なアイテムを確認するには。 /volumes/ ESXiファイルシステムのディレクトリとは、ファイルシステムを持つパーティションがマウントされるディレクトリのことです。

    ls -al /vmfs/volumes/ [press Tab]

    USBメモリのボリュームは NO NAME

    A USB flash drive connected to an ESXi host has the NO NAME volume label

  6. USBメモリのルートディレクトリの内容を確認してください

    ls -al /vmfs/volumes/NO NAME/

    ZIPアーカイブはUSBフラッシュドライブのボリューム内にあります。

    How to transfer files from VM to host using a USB flash drive connected to ESXi

  7. 私たちは、 install ESXiデータストア上のフォルダ(datastore10a) 以下のコマンドで:

    cd /vmfs/volumes/datastore10a

    mkdir install

    下のスクリーンショットには、後ほどESXiデータストアからUSBフラッシュドライブへコピーする予定のVMの設定ファイルが格納されているディレクトリも表示されています。

    Selecting a VM file that can be copied to a USB flash drive from an ESXi datastore

  8. USBメモリからZIPアーカイブを インストール ESXiホスト上のフォルダ( datastore10a).

    cp /vmfs/volumes/NO NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/

  9. ファイルがコピーされたかどうかを確認してください:

    ls -al /vmfs/volumes/datastore10a/install/

    ファイルのコピーが完了しました。

    How to copy file from VM to host in the ESXi command line interface

同様に、逆方向へのコピーも可能です。つまり、ESXiからUSBフラッシュドライブにファイルをコピーし、そのUSBフラッシュドライブから必要なファイルを仮想マシンや別のマシンにコピーすることができます。

  1. VMフォルダの内容を確認してください:

    ls -al /vmfs/volumes/datastore10a/Windows-VM/

  2. をコピーして Windows-VM.vmx ESXiのデータストアからUSBフラッシュドライブへの設定ファイルのコピー:

    cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO NAME/

  3. ファイルがUSBメモリにコピーされたかどうかを確認してください:

    ls -al /vmfs/volumes/NO NAME/

    Copying a VM file from an ESXi host to a USB flash drive

ESXiホストでのファイルのコピーが完了したら、USBフラッシュドライブを取り外し、ESXiホスト上でUSBアービトレータサービスを起動します。その後、USBフラッシュドライブを挿入し、ホスト接続USBパススルー機能を使用して、そのUSBフラッシュドライブを仮想マシンに接続します。

詳細については ESXi用のUSBパススルー また、ESXiホストに接続されたUSBストレージデバイスを、そのESXiホスト上に存在する仮想マシンに接続します。

PowerCLI を使用して VMware 仮想マシンにファイルを転送する

VMからホストへファイルを転送するもう1つの方法は、 PowerCLI コマンド(cmdlet)。VMware Toolsは、仮想マシン(VM)内のゲストOSにインストールされている必要があります。これらのPowerShell cmdletは、VMware Toolsを使用して、ESXiホスト上に存在するVMとの間でファイルをコピーします。したがって、送信元または宛先のESXiホスト上に存在するVM内でコマンドを実行する場合、ネットワーク接続は必要ありません。

VM間でファイルをコピーするには、 Copy-VMGuestFile cmdlet および vSphere PowerCLI のその他の cmdlet。

  1. ESXiホストまたはvCenter Serverに接続します。この例では、ESXiホストに接続します。

    Connect-VIServer 192.168.101.201

    Connecting to an ESXi host in VMware PowerCLI

  • 証明書に関する警告を表示させないには、次のコマンドを実行してください:

    Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

    How to disable a certificate warning in VMware vSphere PowerCLI

Copy-VMGuestFile (ローカル > ESXi VM)

次のコマンドを使用して、ローカルマシン(PowerCLIが実行されているマシン)からESXiホスト上のリモートVMにファイルをコピーします:

Copy-VMGuestFile -Source "c:temptest.txt" -LocalToGuest -VM Windows-VM -Destination "c:temp-VM" -GuestUser user1 -GuestPassword Password

場所:

c:temptest.txt ローカルマシンからコピーしたいソースファイルです

-LocalToGuest (ローカルマシンから、ESXi上で実行されている宛先VM上のゲストOSへの)方向です

-VM Windows-VM は、宛先VM名の定義です

c:temp-VM は、宛先VM上の宛先フォルダです(ファイルのコピーを保存したい場所)

user1 は、宛先VM上のゲストOSにおけるユーザー名です。このユーザーは、指定された宛先フォルダへのアクセス権を持っている必要があります。

Password は、このユーザーのパスワードです。

VMware Toolsのバージョンに関する警告は無視し、当社の text.txt ファイルがコピーされました。

How to copy file to virtual machine in PowerCLI

私たちの test.txt サイズが29バイトのファイルが、ESXiホスト上で実行されているWindows XP仮想マシンに正常にコピーされました。

A file has been copied to a VMware VM

Copy-VMGuestFile (ESXi VM > ローカル)

それでは、VMのゲストOSから、コマンドを実行しているマシンのローカルディレクトリへファイルをコピーしてみましょう:

Copy-VMGuestFile -Source "c:temp-VMtest2.txt" -GuestToLocal -Destination "c:temp" -VM Windows-VM -GuestUser user1 -GuestPassword Password

場所:

-Source "c:temp-VMtest2.txt" ESXi上で動作しているVM上のソースファイルへのパスです

-GuestToLocal (ESXi VM上のゲストOSから、コマンドが実行されるローカルマシンへの)方向です

"c:temp" は、ローカルマシン上の保存先フォルダへのパスです

user1 は、宛先VM上のゲストOSにおけるユーザー名です。このユーザーは、指定された宛先フォルダへのアクセス権を持っている必要があります。

Password ゲストOSにおけるこのユーザーのパスワードです

How to copy a file from a virtual machine in PowerCLI

以下の使用例をご覧いただけます Copy-VMGuestFile 次のコマンドを含むコマンドレット:

get-help Copy-VMGuestFile -examples

Copy-DatastoreItem の使用

その Copy-DatastoreItem PowerShell コマンドレットは、ESXi データストアとの間でファイルをコピーするために使用されます。このコマンドレットを使用して VMware ESXi データストアにファイルをコピーするには、2つの方法があります:

  • VM内のWindowsゲストにPowerCLIがインストールされている場合、コマンドを実行して、ESXiデータストアからVMへ、またはその逆方向にファイルを直接コピーすることができます。
  • ESXiホスト上の仮想マシンにPowerCLIをインストールできない場合は、ローカルのWindowsマシンからPowerCLIコマンドを実行し、ESXiデータストアからローカルマシンへファイルをコピーすることができます。 Copy-VMGuestFile コマンドを実行し、これらのファイルをローカルマシンから、 Copy-VMGuestFile.

ESXiサーバーまたはvCenter Serverに接続している必要があります。これを行うには、次のコマンドを実行します:

ViConnect

ESXiホストに直接接続しています。

データストアから現在のWindowsマシン(これらのコマンドを実行しているマシン。ESXiホスト上のVMでも構いません)にVMの設定ファイルをコピーしてみましょう:

  1. データストアに関する情報を取得します:

    Get-Datastore "datastore10a"

  2. ESXi データストア オブジェクトを取得する:

    $datastore = Get-Datastore "datastore10a"

  3. ""という名前の新しいPowerShellドライブを作成します。 ds: これは次のものに対応します $datastore:

    New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root ""

  4. データストアを現在の場所として設定します:

    Set-Location ds:

  5. 選択したディレクトリ内のファイルとディレクトリを表示するには、次のコマンドを使用します:

    Get-ChildItem

    Preparing to copy files from an ESXi host

  6. VMディレクトリを新しい保存先として設定できます。今回の場合、このディレクトリは Windows-VM

    Set-Location "Windows-VM"

  7. 定義済みのESXiデータストアから、VMファイル(つまりVM構成ファイルであるVMXファイル)を現在のマシン上の一時フォルダにコピーするコマンド:

    Copy-DatastoreItem -Item ds:Windows-VMWindows-VM.vmx -Destination c:temp

    場所:

    ds:Windows-VMWindows-VM.vmx は、コピーする必要があるファイルへのパスであり、 ds: データストアへの定義済みショートカットです(datstore10a (この場合)。

    Copying a file from an ESXi datastore in PowerCLI

  • vCenter に接続している場合(この例のように特定の ESXi ホストではなく)、vCenter データセンター内のデータストアを指定して以下のコマンドを実行することで、ESXi データストアからローカルマシンのフォルダへファイルをコピーできます:

    Copy-DatastoreItem vmstore:Datacenter1datastore10aWindows-VMWindows-VM.vmx c:temp

  • ファイルを逆方向(ESXiホストに接続して)にコピーするには、次のコマンドを使用します:

    Copy-DatastoreItem -Item c:tempdarwin.iso -Destination ds:install

    コピーします darwin.iso (これはVMware Toolsがインストールされた状態の画像です) macOS) を Windows マシンから ESXi データストア上のインストールディレクトリにコピーします。

    Copy file to VMware ESXi datastore in PowerCLI

  • vCenterに接続している場合、このコマンドを使用して、ローカルのWindowsマシンからリモートESXiホスト上のデータストアへファイルをコピーできます:

    Copy-DatastoreItem c:tempdarwin.iso -Destination vmstore:Datacenter1datastore10ainstall

これらのPowerCLIコマンドレットを使用したり、PowerShellスクリプトを作成したりすることで、VMとホストの間でファイルを転送することができます。

VMware Workstation で仮想マシンからホストへファイルをコピーするコマンド

Windows または Linux ホストで VMware Workstation(タイプ 2 ハイパーバイザー)を使用している場合(または macOS で VMware Fusion を使用している場合)、コマンドラインインターフェースを使用して、仮想マシンとホスト間でファイルをコピーすることもできます。次のコマンドを使用できます。 vmrun 仮想マシンを操作するためのコマンドラインツールです。コマンドの構文は、Windows、Linux、macOS(VMware Fusion)で共通です。このチュートリアルでは、Windows 10上のVMware Workstation 15を使用します。

  1. VMware Workstation のディレクトリに移動します:

    cd "C:Program Files (x86)VMwareVMware Workstation"

  2. VM内のゲストOSからローカルのWindowsホストにファイルをコピーするには、次のコマンドを実行します:

    CopyFileFromHostToGuest

    今回の場合、具体的なコマンドは次のとおりです:

    vmrun copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied"

  3. プロンプトが表示されたら、ユーザー名とこのユーザーのパスワードを入力してください(そのユーザーには、指定されたファイルにアクセスするための十分な権限が必要です)。

    場所:

    d:virtualWinServer2019WinServer2019.vmx これは、ファイルをコピーするVMの仮想ディスクです。

    c:temptest.txt これはVMの仮想ディスクに保存されているファイルであり、これをコピーします。

    c:tempcopied ホストマシン上のファイルのコピーを保存するディレクトリです。

    必ずバックスラッシュを使用してください パスを設定する際の文字。私たちはコピーしました test.txt これは、仮想マシンからホストへのテキストファイルです。

    あるいは、コマンド内で認証情報を指定してコマンドを実行することもできます:

    vmrun -T ws -gu Administrator -gp Password000 copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied"

    How to transfer files from VM to host by using the vmrun command

ファイルを逆方向(ホストマシンから仮想マシンへ)にコピーするには、次のようなコマンドを使用します:

CopyFileFromHostToGuest

この例で使用するコマンドは次のとおりです:

vmrun copyFileFromHostToGuest d:virtualWinServer2019WinServer2019.vmx "c:temptest3.txt" "c:temptest3-copy.txt"

How to copy files to virtual machine by using vmrun

SSHとSCPを使用したファイル転送の方法

SSH(Secure Shell)は、暗号化を利用してリモートホストを安全に管理するための一般的なプロトコルです。SCPは、SSHを利用してネットワーク経由でファイルを安全にコピーするためのプロトコルです。特にVM上でLinuxが動作している場合、SCPを使用してVMからホストへファイルを転送することができます。LinuxマシンやESXiでは、わずかな手順でSCPおよびSSHサーバーを有効にすることができます。

ESXiでSSHサーバーを有効にする方法

この方法を使用してVMware ESXiとの間でファイルを転送するには、ESXiホスト上でSSHサーバーサービスを有効にする必要があります。

  1. VMware Host Client で SSH サーバーを有効にするには、次の手順に従います。 Host > Manage > Services そして始める TSM-SSH サービス。
  2. ESXiホストからファイルを転送するためのSCPトラフィックを許可し、またこのESXiホストからSCPを使用して他のマシンに接続できるようにするには、ESXiのファイアウォールでSSHを許可する必要があります:
    • 移動 Networking ~の中で Navigator パネルで、[ Firewall rules タブをクリックして選択 SSH Client.
    • クリック Actions > Enable ファイアウォールルールを有効にするには。

    Enabling SSH access in the ESXi firewall

  3. ホスト間のSSH接続を確認するには、ESXiホストで次のコマンドを実行します:

    nc -z 192.168.101.202 22

    場所:

    192.168.101.202 はリモートホストのIPアドレスです。

    22 はSSH接続のポート番号です(デフォルトのポート番号は22です)。

の一般的な構文は scp ネットワーク経由でSCPを使用してファイルをコピーするコマンド:

scp [OPTION] [user]@[SRC_HOST]:path_to_file1 [user]@[DEST_HOST]:path_to_file2

[user]@[SRC_HOST]:path_to_file1 – ソースファイル

[user]@[DEST_HOST]:path_to_file2 – 出力先ファイル

-P SSH接続のポート番号を指定します(ポート番号が22以外の場合は、このフラグを使用してください)。

以下では、具体的な実践例について説明します。

SCP を使用してローカルファイルをリモートマシンにコピーする方法

SCP を使用してローカルファイルをリモートマシンにコピーするには、次のようなコマンドを使用します:

scp file.txt remote_username@remote_host_ip:/remote/directory

Linuxから

それでは、次の内容をコピーしましょう LinuxDir.txt SCP を使用して、ローカルの Ubuntu Linux マシン(VM でも可)からネットワーク経由で ESXi ホストへファイルを転送します。リモート ESXi ホスト上の保存先は install ディレクトリ上の datastore10a データストア。リモートESXiホストのIPアドレスは 192.168.101.201.

今回のケースでは、ローカルのLinuxマシンからリモートのESXiホストへファイルをコピーするコマンドは次のとおりです:

scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/

How to copy a file to a remote ESXi host via SCP

コピーしたファイルは、新しいファイル名で保存先マシンに保存できます:

scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt

次の -r ディレクトリ内のすべてのファイルを含めてコピーするオプション:

scp -r /local/directory remote_username@192.168.101.201:/remote/directory

ESXi から

次の方法をご利用いただけます scp ESXiホスト上のコマンド。 scp コマンドラインの構文は、LinuxとESXiで同じです。リモートマシンにはSSHサーバーが設定されている必要があります。

ESXiホストにログインしましょう(192.168.101.201) をクリックし、 install そのディレクトリに含まれるすべてのファイルとともに、 user1 リモートLinuxマシン上で(192.168.101.210).

scp -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/

How to copy a file from an ESXi host to a remote machine via SCP

SSHサーバーが22番ポート以外でリスニングしている場合は、 -P パラメータ;例えば、SSHのポート番号が 8022, コマンドは次のとおりです:

scp -P 8022 -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/

SCP を使用してリモートマシンからローカルマシンにファイルをコピーする方法

SCPは、リモートマシンからローカルマシンへファイルをコピーするのに便利で、VMからホストへファイルを転送することも可能です。以下では、LinuxおよびESXiで適切なコマンドを実行する方法について説明します。

ファイルをローカルのLinuxマシンにコピーする

SCP を使用して、リモート ESXi ホストから現在の Linux マシンにファイルをコピーします。これを行うには、次のようなコマンドを使用します:

scp remote_username@remote_ip_address:/remote/file.txt /local/directory

では、コピーしてみましょう darwin.iso リモートESXiサーバーから、Linuxマシンの指定されたホームディレクトリへファイルを転送します:

scp root@192.168.101.201:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/

How to copy a file from a remote ESXi datastore to the current Linux machine via SCP

ファイルをローカルのESXiホストにコピーする

ESXiホストにログインすれば、リモートにあるLinuxマシンからローカルのESXiホスト上のデータストアへVMファイルをコピーするコマンドを実行できます。それでは、コピーしてみましょう VM_file.txt LinuxマシンからSCPを使用してネットワーク経由でESXiデータストアのディレクトリへ:

scp user1@192.168.101.210:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/

How to copy a file from a remote Linux machine to the ESXi host via SCP

2台のリモートマシン間でファイルをコピーする方法

SCPコマンドには、現在のローカルマシンを経由してデータをコピーする場合と、経由しない場合の両方で、あるリモートマシンから別のリモートマシンへファイルをコピーする機能があります。コマンドの構文は以下の通りです:

scp user1@remote-host1.com://directory/file.txt user2@remote-host2.com://directory/

上記のコマンドを使用すると、データは(現在のローカルマシンにコピーされることなく)あるリモートホストから別のリモートホストへ直接転送されます。コマンドを実行しているローカルマシンを経由してトラフィックをルーティングしたい場合は、 -3 旗。

注: 両方のリモートホストで認証情報が同じ場合は、次のコマンドを使用してください。

ローカルのLinuxマシンでファイルコピーを行う際のコマンド例(vim.v00) リモート ESXi ホスト (192.168.101.202) からローカル ESXi ホスト (192.168.101.201) へ:

scp root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/

もし Host key verification failed このエラーは、ホストキーがいずれかのホストに保存されていないことを意味します。このエラーがリモートサーバーでのホストキーの変更によって引き起こされた場合は、 ~/.ssh/known_hosts

古いホストキーを削除するコマンドは次のとおりです:

ssh-keygen -R hostname_or_IP_address

たとえば、リモートホスト 192.168.101.201 の古いホストキーを削除するには、192.168.101.202 で次のコマンドを実行します。

ssh-keygen -R 192.168.101.201

使用例 -3 ローカルマシン経由でファイルをコピーするコマンド内で:

scp -3 root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/

この目的のための別のコマンドは次のとおりです:

scp -o "ForwardAgent yes" root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/

WindowsからSCPを使ってファイルをコピーする方法

Windows 環境でも、仮想マシンや ESXi ホストにファイルをコピーすることができます。これを行うには、WinSCP などの SCP クライアントを使用する必要があります。WinSCP は、使いやすく便利なグラフィカルインターフェースを備えています。 WinSCPをダウンロード 無料で。

  1. WinSCPを実行してください。
    • プロトコルを選択してください。例えば、 SFTP.
    • ESXiホストやLinuxマシンなどのリモートホストのホスト名とポート番号を入力してください。
    • リモートマシンのユーザー名とパスワードを入力してください。
    • クリック Login.

    この例では、リモートのESXiホストに接続します。

    Connecting to an ESXi host in WinSCP to copy files

  2. 次のような通知メッセージが表示されます:

    Continue connecting to unknown server and add its host key to a cache?

    クリック Yes 続きを読む。

  3. 接続が完了すると、2つのパネルからなるコマンドプロンプト風のウィンドウが表示されます。一方のパネルはローカルマシンのディレクトリを表し、もう一方のパネルはリモートマシンのディレクトリを表しています。これら2つのパネル間でファイルをコピーすることで、ローカルホストとリモートホストの間でファイルをやり取りすることができます。

    Using WinSCP to copy a VM file from and to an ESXi host

WinSCPで接続しているリモートESXiホストのデータストアから、そのWindowsマシン上のSMB共有を使用して、リモートWindows VMまたは物理マシンにファイルをコピーすることができます。

ただし、WinSCPのパネルに共有パスを直接入力することはできません(例: 192.168.101.117c$)。選択できるのはディスクドライブ文字のみです。この制限を回避するには、Windows エクスプローラーでファイル共有に接続し、このファイル共有をネットワークドライブとして割り当ててください。ドライブ文字を割り当てます。例えば、 S: この例で行ったように、 192.168.101.211.

これで選択できるようになりました S: WinSCPの左ペインにあるドロップダウンメニューからネットワークドライブを選択し、リモートESXiサーバーのデータストア上で必要なファイルまたはディレクトリを選択して、双方向でファイルをコピーします。

Copying files between a remote ESXi host and remote SMB share by using WinSCP in Windows

NFS共有の使用

NFS共有を使用すると、ESXiデータストアからVMへ、あるいはその逆方向にファイルを転送できます。ESXiはSMB共有(Windowsネイティブ)には対応していませんが、NFS共有(Linuxネイティブ)およびNFS共有をデータストアとしてマウントする機能には対応しています。この機能を利用すれば、以下のいずれかの方法でESXiとLinuxマシン間でファイルを転送できます:

アプローチ1:

  • Linux VM上でNFSサーバーとNFS共有を設定する
  • NFS共有をESXiのデータストアとしてマウントする
  • VMからESXiデータストアへ、またはその逆方向にファイルをコピーする

アプローチ2:

  • 物理Linuxマシン上でNFSサーバーを設定するか、 NAS
  • NFS共有をESXiのデータストアとしてマウントする
  • Linux VM上のNFS共有に接続する
  • Linux VMからNFS共有へファイルをコピーし、そのファイルをESXiホストへコピーします。次に、ESXiホストからNFS共有へファイルをコピーし、そのファイルをNFS共有からLinux VMへコピーします。

以下をお読みください NFS 対 SMB これらのファイル共有プロトコルについて詳しく知るための比較

LinuxでのNFS共有の設定

このチュートリアルでは、Linux Ubuntu 20.04 を使用しています。一般ユーザーとして Linux にログインし、 sudo コマンドの実行にroot権限が必要な場合。NFSサーバーをインストールし、NFS共有を設定するには、以下の手順を実行してください。

  1. Linuxでリポジトリツリーを更新する:

    sudo apt-get update

  2. LinuxにNFSサーバーパッケージをインストールします:

    sudo apt-get install nfs-kernel-server -y

  3. NFS サーバー上で共有するディレクトリ(エクスポート先ディレクトリ)を作成します:

    sudo mkdir -p /srv/nfs/share1/

  4. 作成したディレクトリの所有者とアクセス権を設定します:

    sudo chown -R nobody:nogroup /srv/nfs/share1/

    sudo chmod 0777 /srv/nfs/share1/

    その nobody は、シェルへのアクセス権を持たない、最も権限の低いユーザーを表す疑似ユーザーです。この nogroup このグループは、 nobody ユーザー。

    Creating a directory for an NFS share

  5. 作成したディレクトリを共有するようにexportsファイルを設定します。

    sudo nano /etc/exports

    または

    sudo vim /etc/exports

  6. 設定ファイルの末尾に次の行を追加してください:

    /srv/nfs/share1/ CLIENT_IP(rw,sync,no_subtree_check)

    今回のケースでは、ESXiホストの許可済みIPアドレスが記載された行は次のとおりです:

    /srv/nfs/share1/ 192.168.101.201(rw,sync,no_subtree_check)

    次の行を追加することで、サブネット内のすべてのホストへのアクセスを許可できます:

    /srv/nfs/share1/ 192.168.101.0/24(rw,sync,no_subtree_check)

    別のホスト(IPアドレス)へのアクセスを許可するには、次の行を追加してください。

    設定ファイルの変更を保存し、テキストエディタを終了します。

  7. データがファイルに書き込まれたかどうかを確認するには、次のコマンドを使用できます:

    cat /etc/exports

  8. 次のコマンドを実行して、新しい設定を適用します:

    sudo exportfs -a

  9. NFSサーバーが動作しているLinuxマシンのファイアウォールで、アクセスが許可されていることを確認してください。次のようなコマンドを使用して、特定のIPアドレスへのアクセスを許可することができます:

    sudo ufw allow from IP to any port nfs

    私たちの場合:

    sudo ufw allow from 192.168.101.201 to any port nfs

    サブネット全体からのホストへのアクセスを許可するには:

    sudo ufw allow from SUBNET to any port nfs

    この場合、コマンドは次のようになります:

    sudo ufw allow from 192.168.101.0/24 to any port nfs

  10. 次のコマンドでファイアウォールの状態を確認できます:

    sudo ufw status

  11. 設定の変更を反映させるには、NFS サーバーを再起動してください:

    sudo systemctl restart nfs-kernel-server

  12. Linux上でNFS共有の設定が完了しました。
  13. Linuxマシンの任意のディレクトリから、NFS経由で共有されているディレクトリにファイルをコピーします。ここでは、 VM_file.txt NFS共有にアクセスし、その後、ディレクトリの内容を確認します:

    cp VM_file.txt /srv/nfs/share1/

    ls -al /srv/nfs/share1/

    Copying a file to a directory configured as an NFS share

ESXiでのNFSデータストアのマウント

NFS 共有の設定が完了したら、ESXi に NFS データストアを追加する必要があります。この例では、その操作に VMware Host Client を使用します。

にアクセスし、 Storage > Datastores をクリックして New datastore.

Creating a new datastore to mount the NFS as a datastore

その New datastore ウィザードが開いています。

  1. 選択 Mount NFS datastore. クリック Next 続きを読む。

    How to mount an NFS datastore in ESXi

  2. NFSマウントの詳細を入力してください:
    • 名前: NFS-share (データストア名として表示される名前)
    • NFSサーバー: 192.168.101.210
    • NFS共有: /srv/nfs/share1/
    • NFSのバージョン: NFS4

    NFS4では、ユーザー名とパスワードは任意です。これら2つのフィールドは空欄のままにします。

    Entering the details to mount an NFS datastore in ESXi

  3. 準備完了です。設定を確認し、クリックしてください Finish すべてが正しい場合。

仮想マシンからホストへファイルをコピーする

NFS データストアのマウントに成功しました。確認するには、 Storage > Datastores.

これで、NFS共有に保存されているVM内のファイルを、ローカルのESXiデータストアにコピーできるようになりました(VMからホストへのファイル転送)。

  1. クリック Datastore Browser.

    Browsing the NFS datastore to copy a VM file

  2. データストアブラウザでNFSデータストアを選択してください(NFS-share (当方の環境では)。NFS データストア内で必要なファイルを探します。必要なファイルを選択し、クリックします Copy.

    How to copy a VM file from a virtual machine to an ESXi datastore using an NFS share

  3. 保存先を選択してください。コピーしたファイルを保存したいターゲットデータストア内の必要な場所を選択してください(datastore10b (当方の場合)。クリック Copy.

    Copying a VM file to an ESXi datastore in VMware Host Client

    あるいは、ESXiサーバーのコマンドラインから必要なファイルをコピーすることもできます:

    cp /vmfs/volumes/NFS-share/VM_file.txt /vmfs/volumes/datastore10b/VM_file-copy.txt

VMware Webインターフェースを使用したファイルのダウンロード/アップロード

VMware Host ClientのWebインターフェースを使用するか、 VMware vSphere Client ESXiデータストアへのファイルのアップロードやダウンロードを行うためです。このWebインターフェースは、Webブラウザがインストールされており、ESXiホストへのネットワーク接続が可能な物理マシンまたは仮想マシンから利用できます。したがって、ゲストOSにGUIが搭載されている場合は、仮想マシンから直接このWebインターフェースを開くことができます。また、ローカルマシンを中継機として使用し、仮想マシンとホスト間でファイルを転送することも可能です。

How to copy a VM file - downloading a virtual disk file from an ESXi datastore in VMware Host Client

VMからVMware ESXiへファイルを転送するには、別の方法もありますが、こちらはより複雑です:

  1. VMの仮想ディスクをローカルマシンまたは別のマシンにダウンロードします。
  2. このVMの仮想ディスクから必要なファイルを抽出してください(.vmdk そして -flat.vmdk) をローカルマシンにマウントします。あるいは、VMware Workstation がインストールされている場合は、仮想ディスクを仮想ドライブにマウントすることもできます。
  3. 上記で説明した方法(VMware Host Client、vSphere Client、SCPクライアントなど)のいずれかを使用して、抽出されたファイルまたはマウントされた仮想ディスク内のファイルを、ESXiホストのデータストアにアップロードします。

    How to map a VMDK file as a virtual disk drive in Windows

詳細については、こちらのブログ記事をご覧ください VMDK仮想ディスクからファイルを抽出する方法.

ISOファイルを使用した仮想マシンへのデータ転送

VMのネットワーク接続が利用できない場合、ISOイメージファイルを使用してVMware VMにファイルを転送できます:

  1. Windows用のUltra ISOなどのソフトウェアを使用して、ISOイメージを作成します。
  2. 必要なファイルを、ローカルマシンまたは別のマシン上のISOイメージに書き込んでください。上記の方法のいずれかを使用してESXiからファイルをコピーし、ISOイメージに書き込むことができます。
  3. VMの仮想CD/DVDドライブを使用して、ISOイメージファイルをVMにマウントします(ローカルマシンから直接ISOファイルをマウントするか、事前にESXiデータストアにISOファイルをアップロードしてからマウントすることができます)。VMware Host Client、VMware vSphere Client、VMware Workstation、またはVMware Remote Consoleを使用して、ISOファイルをESXi VMにマウントします。

VMは仮想CD/DVDディスクを読み取り専用モードで扱うため、この方法ではVMからホストへファイルを転送することはできません。

結論

ホストから仮想マシンへ、あるいはその逆方向にファイルをコピーする方法はいくつかあります。ネットワーク接続が必要な方法もあれば、ネットワークが利用できない場合でも機能する方法もあります。ご自身の環境に適した方法を選択し、これらの方法を組み合わせて活用してください。データ損失を防ぐため、仮想マシンのバックアップを忘れずに行ってください。NAKIVO Backup and Replication を使用すれば、VMware vSphere 上の仮想マシンを保護することができ、 個々のファイルを復元する VMのバックアップから直接。

試してみてください NAKIVO Backup & Replication

試してみてください NAKIVO Backup & Replication

無料トライアルをご利用いただき、本ソリューションのデータ保護機能をすべてお試しください。15日間無料です。機能や容量の制限は一切ありません。クレジットカードも不要です。

People also read