Contents

proxmox:virtiofs を介してVMSとホストディレクトリを共有します

Contents

/images/add-virtiofs-hardware-in-vm-settings.png

Proxmox VE 8.4のリリースにより、ユーザーはホストレベルの共有ディレクトリを作成する機能を獲得し、仮想マシン(VMwareワークステーションの共有フォルダーと同様)から直接アクセスホストファイルを許可しました。 VMSは、Proxmoxホストの共有ディレクトリ(ファイル)に直接アクセスできます。この記事では、proxmoxホストに共有ディレクトリを作成し、LinuxまたはWindowsを実行する仮想マシンにマウントする方法について説明します。

共有フォルダーを使用すると、SMBやNFSなどのネットワークプロトコルを使用せずに、VMからローカルProxmoxホストのファイルにすばやくアクセスできます。ホストの共有ディレクトリには、たとえば、システムツール、画像、構成ファイル、更新などを含めることができます。これらのアイテムは、各VMにコピーすることなくアクセスできます。

Proxmoxホストは、組み込みのVirtiofSDデーモン(Proxmox 8.4に登場)を使用して、ローカルディレクトリを通過します。

ホストのproxmoxバージョンを確認してください。

#pveversion-v

/images/pveversion-check-proxmox-version.png

バージョンが8.4未満の場合、proxmoxを更新します。

virtiofsdがホストにインストールされているかどうかを確認してください。

#dpkg-l | grep virtiofsd

VMSと共有したいProxmoxホストに共有ディレクトリを作成します。

#mkdir/mnt/vmshare

Proxmox Web UIを開き、DataCenter->ディレクトリマッピングに移動します。ローカルディレクトリ /mnt/vmshareを参照するリソースの新しいディレクトリマッピングを作成します。

/images/create-directory-mapping-on-a-proxmox-host.png

次に、Virtual Machineの設定に共有Virtiofsディレクトリを追加します。 VM設定を開く - >ハードウェア - > virtiofs。

/images/add-virtiofs-hardware-in-vm-settings.png

VMに通過するローカルディレクトリを選択します。

/images/add-virtiofs-filesystem-passthrough-device.png

virtiofsdは、共有ディレクトリオブジェクトからゲストVMまでのACLとXattrsのパススルーをサポートしています。これにより、ゲストファイルシステムがそれらをサポートしている場合、オブジェクトアクセス許可を管理できます(Linuxファイルシステムにとってのみ理にかなっています)。

Linuxカーネルバージョン5.4以下の仮想マシンは、デフォルトでVirtiofsをサポートします。このドライバーがロードされていることを確認してください。

#lsmod | grep virtiofs

Virtiofsドライバーを使用してLinuxゲストを使用してVMのProxmoxホストからディレクトリを一時的にマウントするには、ゲストVMで次のコマンドを実行します。

#mount-t virtiofs vmshare/mnt/hostshare

/images/mount-shared-directory-from-a-proxmox-in-linux-gue.png

また、FSTABにエントリを追加して、共有ディレクトリを永続的に取り付けることもできます。


VMShare /mnt/hostshare virtiofs rw,relatime 0 0


mount: /mnt/hostshare: wrong fs type, bad option, bad superblock on vmshare, missing codepage or helper program, or other error. dmesg(1) may have more information after failed mount system call.

Virtiofs Mountコマンドを実行すると、エラーが発生する可能性があります。

/images/mount-virtiofs-wrong-fs-type-bad-option-bad-su.png

これは、Virtiofs Virtual DeviceがVMのハードウェア構成に表示されるためにVMを少なくとも1回は電源でオフにする必要があるためです(VMを再起動するだけでは不十分です)。

VMをオンにした後、VITIO FSデバイスが表示されていることを確認するために、VM構成を確認します。

`#qm config 154

  • 電流`

virtiofs0: VMShare

/images/check-virtiofs-device-in-proxmox-vm-config.png

Guest VM Running WindowsでVirtiofsを使用するには、デバイスにアクセスするためのドライバーを含むVirtiofsゲストツールをインストールする必要があります。 Virtio ISOイメージの最新バージョンをVM(Virtio-Win-0.1.271.iso以降)にマウントします。 virtio-win-gt-x64.msiインストーラーを実行し、VIOFS(Virtioファイルシステム)ドライバーをインストールします。詳細については、ProxmoxにWindows Guest Virtual Machinesの展開に関する記事を参照してください。 /images/install-viofs-virtio-file-system.png

サービスドライバーがインストールされ、Virtio FSデバイスにゲストウィンドウからアクセスできることを確認しましょう。

`get-service virtiofsdrv

get-pnpdevice |ここで{$ _。friendlyname-like “virtiofs

  • または$ _。friendlyname-like “virtio fs"} `

/images/check-virtiofs-driver-and-service-running.png

WindowsにVirtiofsディレクトリをマウントするには、WinFSPツールを使用します。 WinFSP(Windows File System Proxy)は、Linuxの融合と同様に、ユーザーモードでファイルシステムの取り付けを可能にします。

winfsp https://github.com/winfsp/winfsp/releasesをダウンロードしてインストールします

WinFSPの使用の詳細については、WindowsのSSH(SSHFS)を介したネットワークドライブのマッピングに関する投稿を参照してください。

Virtio-FS Servic E(virtiofssvc `)を再起動して、winfspを介してVirtio-fs共有フォルダーをマウントします。

/images/mount-shared-directory-from-a-proxmox-host-to-wind.png

Windows Guest Virtual Machineでは、Proxmoxホストの共有ディレクトリが個別のネットワークドライブとして表示されます。

ホスト間のライブ移行は、Virtio共有フォルダーに取り付けられた仮想マシンではサポートされていません。

*÷ソースリンク:

Proxmox、 https://github.com/winfsp/winfsp/releasesにWindowsゲスト仮想マシンを展開します。