Ubuntu 22.04 KVM + VirtFS でホストとゲスト間のファイルを共有する

KVMのホストとゲストでファイル共有
Ubuntu 20.04 KVM + VirtFS でホストとゲスト間のファイルを共有する

Ubuntu 22.04でも同じ手順で共有できるか確認。



QEMUのパーミッション設定



QEMUのパーミッション設定を変更しないと、共有ディレクトリのファイル読み込みはできるが、
書き込みが行えない状態となります。

QEMUの設定を変更し、rootではなくホストOSにログインしているユーザー権限で実行するよう修正します。


$ sudo vi /etc/libvirt/qemu.conf



変更内容は、user, groupの2箇所です。


# Some examples of valid values are:
#
#     user = "qemu" # A user named "qemu"
#     user = "+0"     # Super user (uid=0)
#     user = "100"    # A user named "100" or a user with uid=100
#
#user = "root"
user = "[ホストOSにログインしているユーザー名]"


# The group for QEMU processes run by the system instance. It can be
# specified in a similar way to user.
#group = "root"
group = "libvirt"





ハードウェアの追加




事前に共有を行うゲストOSをシャットダウンしておきます。
vert-managerのゲストOSの設定から、「ハードウェアを追加」を選択。

b21_01.png


ドライバー:virtio-9p
ソースパス:共有したいホストOSのパス
ターゲットパス:ゲストOSでマウント時に使用する名称



b21_02.png

追加すると、ゲストOSのデバイスに「ファイルシステム (ターゲットパスの名称)」の項目が追加されます。

b21_03.png

今回、ホストOSのパスは「/home/user/dev」
ターゲットパスは「dev」
としました。



ゲストOSにマウントポイントの追加




ゲストOSを起動し、適当にマウントポイントを作成します。


$ mkdir -p /home/user/dev




ゲストOSで以下のコマンドでマウントを実行


$ sudo mount -t 9p -o trans=virtio [ターゲットパス] [作成したマウントポイント]




今回の例だとこうなりました。


$ sudo mount -t 9p -o trans=virtio dev /home/user/dev




ゲストOSの「/home/user/dev」を見てみると、ホストOSの「/home/user/dev」にあるファイルが閲覧、編集できました。




/etc/fstab によるマウントの自動化



ゲストOS起動時、自動的にマウントされるようfstabを編集します。


$ sudo vi /etc/fstab



ファイル末尾に以下の内容を追記します。


[ターゲットパス] [ゲストOSのマウントポイント] 9p trans=virtio,version=9p2000.L,nobootwait,rw,_netdev 0 0



今回の例だと


dev /home/user/dev 9p trans=virtio,version=9p2000.L,nobootwait,rw,_netdev 0 0



となります。
リブートして動作確認。


$ sudo reboot



自動的にマウントできました。

関連記事

コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
https://symfo.web.fc2.com/

PR

検索フォーム

月別アーカイブ