1
1

概要

最近、VMwareがあんなことになってしまったので、
自宅マシンにKVMを入れて環境を構築し直そうと思います。
この記事はトライアンドエラーしたときのメモです。

うちの自宅マシンでは、
仮想マシン上でGPUも使うため、
GPUパススルーにもチャレンジしています。

KVM構築の流れはこんな感じ。

  1. Ubuntuのインストール
  2. Ubuntuのネットワーク設定
  3. KVMの構築
  4. GUI環境の構築(Virtual Machine Managerの導入)
  5. GPUパススルーの対応(ホストマシン側の設定)
  6. GPU仮想マシンの作成(仮想マシン作成時の設定)
  7. 仮想マシンでの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

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1