Proxmox: VirtioFS 経由でホスト ディレクトリを VM と共有する

Proxmox VE 8.4 のリリースにより、ユーザーはホストレベルの共有ディレクトリ、仮想マシンからホスト ファイルに直接アクセスできるようになります (VMware Workstation の共有フォルダーと同様)。 VM は、ネットワークを経由せずに、Proxmox ホスト上の共有ディレクトリ (ファイル) に直接アクセスできます。VirtIOFSファイルシステム。この記事では説明しますProxmox ホスト上に共有ディレクトリを作成する方法そして、Linux または Windows を実行している仮想マシンにマウントします。

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

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

ホスト上の Proxmox バージョンを確認します。

# pveversion -v

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

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

# dpkg -l | grep virtiofsd

VM と共有する共有ディレクトリを Proxmox ホスト上に作成します。

# mkdir /mnt/VMShare

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

次に、共有 VirtioFS ディレクトリを仮想マシン設定に追加します。 VM設定を開く ->ハードウェア -> Virtiofs。

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

Virtiofsd は、共有ディレクトリ オブジェクトからゲスト VM への ACL および XAttrs のパススルーをサポートします。もちろん、ゲスト ファイル システムがオブジェクト アクセス許可をサポートしている場合は、これによりオブジェクト アクセス許可を管理できます (Linux ファイル システムでのみ意味があります)。

続きを読む:VMware ESXi から Proxmox に VM を移行 (インポート) する方法

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

# lsmod | grep virtiofs

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

# mount -t virtiofs VMShare /mnt/hostshare

fstab にエントリを追加して、共有ディレクトリを永続的にマウントすることもできます。

VMShare /mnt/hostshare virtiofs rw,relatime 0 0

virtiofs mount コマンドを実行すると、エラーが発生する場合があります。

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 仮想デバイスが VM のハードウェア構成に表示されるようにするには、VM を少なくとも 1 回パワーオフする必要があるためです (VM を再起動するだけでは十分ではありません)。

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

# qm config 154 --current

virtiofs0: VMShare

VirtioFS を使用するにはWindows を実行しているゲスト VM、インストールする必要がありますVirtioFS ゲスト ツール、デバイスにアクセスするためのドライバーが含まれています。最新バージョンの Virtio ISO イメージを VM にマウントします (virtio-win-0.1.271.iso 以降)。を実行します。virtio-win-gt-x64.msiインストーラーを作成してインストールしますヴィオフ(Virtio ファイル システム) ドライバー。詳細については、Proxmox での Windows ゲスト仮想マシンのデプロイに関する記事を参照してください。

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

Get-Service VirtioFsDrv
Get-PnpDevice | Where { $_.FriendlyName -like "*VirtioFS*" -or $_.FriendlyName -like "*Virtio FS*" }

Windows で VirtioFS ディレクトリをマウントするには、WinFSP道具。 WinFSP (Windows ファイル システム プロキシ) を使用すると、Linux 上の FUSE と同様に、ユーザー モードでファイル システムをマウントできます。

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

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

を再起動しますVirtIO-FS サービスe (VirtioFsSvc) Winfsp 経由で VirtIO-FS 共有フォルダーをマウントします。

Windows ゲスト仮想マシンでは、Proxmox ホストの共有ディレクトリは別のネットワーク ドライブとして表示されます。

ホスト間のライブ マイグレーションは、Virtio 共有フォルダーがマウントされている仮想マシンではサポートされていません。

Related Posts