概要
最近、VMwareがあんなことになってしまったので、
自宅マシンにKVMを入れて環境を構築し直そうと思います。
この記事はトライアンドエラーしたときのメモです。
うちの自宅マシンでは、
仮想マシン上でGPUも使うため、
GPUパススルーにもチャレンジしています。
KVM構築の流れはこんな感じ。
- Ubuntuのインストール
- Ubuntuのネットワーク設定
- KVMの構築
- GUI環境の構築(Virtual Machine Managerの導入)
- GPUパススルーの対応(ホストマシン側の設定)
- GPU仮想マシンの作成(仮想マシン作成時の設定)
- 仮想マシンでのGPU利用(仮想マシン上の設定)
この記事では自分用メモベースで記載します。
KVMとは?
KVMとは、Linux組み込みのハイパーバイザーです。
いわゆる、VMware ESXiとかWindows Hyper-Vとかと同じような事ができます。
KVMを選択した理由
いくつかあるハイパーバイザーがある中で、
Ubuntu+KVMを選択した理由はこんな感じ。
・無料
・GPUパススルーに対応している
KVM構築メモ(適宜更新)
1. Ubuntuのインストール
Ubuntuをダウンロードしてインストールします。
やり方は割愛。ググってください。
私は楽なので
Ubuntu Japanese Teamの日本語対応Ubuntu22.04のDesktopイメージ
を最小インストールで利用しています。
ちなみに、
24.04はまだちょっと情報少ないので現時点(2024年7月)では見送り。
インストール完了したら、
とりあえずすべてのパッケージをアップグレードしましょう。
sudo apt update
sudo apt upgrade
2. Ubuntuのネットワーク設定
ハイパーバイザーのホスト運用するにあたって、
IPアドレスは固定しておいたほうがいいので、
こちらのページを参考にしてのようにネットワーク設定します。
参考:Ubuntu 22.04 LTSで固定IPアドレスの設定
NAT運用するのであれば
基本に書かれている「IPアドレスの固定」でよいですが、
本格的にやる場合は
応用にかかれている「ブリッジの設定」をやりましょう。
3. KVMの構築
こちらのページを参考にしてKVM環境の構築を行います。
参考:Ubuntu Server 22.04 LTSでKVMを使用する方法
以下のコマンドを実行すればとりあえずKVM環境できます。
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst libosinfo-bin
4. GUI環境の構築(Virtual Machine Managerの導入)
3までやればコマンドベースで仮想マシンを作れるのですが、
GUIで管理したいのでこちらのページを参考にしてGUI環境を入れましょう。
参考:KVM : 仮想マシンを作成する (GUI)
以下のコマンドを実行すればとりあえずGUI環境できます。
sudo apt install virt-manager qemu-system
ここまでやれば、
普通(GPUなし)の仮想マシンであれば、GUIから作成・管理ができます。
今回はGUI環境として「Virtual Machine Manager」を選択しています。
理由は、GPUパススルーのGPU管理に対応をしているからです。
GPUパススルーをしない場合は、
Cockpitで仮想マシン管理したほうが便利かもしれません。
備考:CockpitでのGUI環境構築(GPUを利用しない場合)
CockpitはWebベースの仮想マシン管理を提供してくれます。
GPUパススルーを利用しない場合は、
Cockpitを利用してGUI環境を構築するのが便利です。
(GPU利用の場合は設定機能が不足しています。)
Cockpitを利用する場合はこちらのページを参考にして構築しましょう。
参考:Ubuntuにkvm/QEMUをいれてCockpitで快適に仮想マシンサーバを運用してみる
5. GPUパススルーの対応(ホストマシン側の設定)
GPUパススルーを利用する場合には
・ホストマシン側の設定
・GPU仮想マシン作成時の設定
・GPU仮想マシン上での設定
が必要になります。
ここではホストマシン側の設定を書きます。
IOMMU機能の有効化
こちらのページを参考にしてGPUパススルーの設定を行いましょう。
参考:KVM : GPU パススルー
「[1]KVM ホストで IOMMU 機能を有効化します。」の項目を
ホストマシンで行います。
6. GPU仮想マシンの作成(仮想マシン作成時の設定)
こちらのページの
「15. virt-managerを利用して仮想マシンを設定する」を参考にして
仮想マシンの作成を行いましょう。
参考:LinuxでGPUをパススルーして仮想マシンで利用する方法
仮想マシン作成時の注意点としては以下です。
仮想マシン作成時に以下の項目を満たさなければGPUが利用できません。
・すべてのPCIeデバイスを追加すること
・UEFIブートが必須で、かつSecure bootは無効化すること。(ドライバが入らない)
・kvm hiddenはonにしておく。
・cpuのタイプも隠しておく。hostにしておく。
参考:GPUパススルーのLinuxのVMを作る
この辺はわかりにくいので、
後日きちんと記事にしようと思います。
7. 仮想マシンでのGPU利用(仮想マシン上の設定)
仮想マシンへのOSインストール
仮想マシンへOSをインストールしてください。
今回はUbuntu22.04を想定しています。
詳細は割愛します。
UEFIのSecure Bootの無効化
UEFIのSecure Bootが有効だと、
次のNVIDIA Driverが入らないので、
UEFIのSecure Bootを無効化してください。
NVIDIAドライバのインストール
Secure Bootを無効化したら、
こちらのページを参考にしてNVIDIAドライバをインストールしてください。
参考:ubuntuにCUDA、nvidiaドライバをインストールするメモ
nvidia-smiが動けば以降GPUを利用することができます。
終わりに
今回はUbuntu+KVMを利用したGPUパススルーの利用法メモを記載しました。
半分自分用なのでわかりにくいところ多いと思いますが、
やる気があれば後日きちんと記事にしようと思います。
最後に広告
本業の方の広告になってしまうのですが、
会社関係で「メタバース・デジタルツイン講座」やってます。
今年は名古屋・大阪・東京の3拠点で開催してます。
メタバース・デジタルツインに興味のある人はぜひよろしくお願いします。
https://www.kcc.knowledgewing.com/icm/srv/course-application/init-detail?cd=FLM&pcd=FLMC&cscd=UMT01L