vagrant-libvirtでKVMマシンをvagrantで手軽に作る

Table of Content

広告

はじめに

libvirtで評価用の仮想マシンを色々と立ち上げておりますが、そのたびにOSインストール、設定と色々と前準備に手間がかかります。

vagrantはboxと呼ばれるVMイメージのベースを指定してコマンド実行することで、OSインストール済みの仮想マシンを作成し、ネットワーク設定やSSH環境の整備までやってくれるソフトウェアです。

vagrantを使用すれば仮想マシンの立ち上げから諸々の設定をやってくれるので、頻繁に仮想マシンを立ち上げる私にとっては便利なソフトウェアです。

しかし、vagrantはVirtualBoxを前提として動いており、libvirt+KVMで動かしている私にとっては導入に踏み切れませんでした。しかし、vagrant-libvirtなるプラグインを導入することによって、KVM用仮想マシンがvagrantで手軽に作成できるようになります。

インストールする環境は以下のとおりです。

$ lsb_rerease -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:    20.04
Codename:   focal

インストール

libvirtのインストールは完了していることが前提です。

以下のコマンドでvagrantvagrant-libvirtをインストールします。

$ sudo apt install --yes vagrant vagrant-libvirt

vagrant-libvirtvagrant pluginではなくUbuntuのリポジトリ上のパッケージを使いました。

仮想マシンを起動してみる

ディレクトリを作成してvagrantより仮想マシンを起動してみます。

$ mkdir vagrant-test && cd vagrant-test
$ vagrant init centos/7
$ vagrant up --provider=libvirt

初回はboxのダウンロードが始まるので時間がかかります。
起動が出来ているか確認します。runningになっているか確認します。

$ vagrant status
Current machine states:

default                   running (libvirt)

The Libvirt domain is running. To stop this machine, you can run
`vagrant halt`. To destroy the machine, you can run `vagrant destroy`.

ibvirt上でも仮想マシンが立ち上がっているのが確認できます。
仮想マシン名は「カレントディレクトリのベース名」がプリフィックスに付与されます。

$ virsh list
 Id   Name                   State
--------------------------------------
 1    vagrant-test_default   running

環境変数を指定することによってデフォルトのproviderが指定できます。
プロファイルに指定してあげればログイン毎で指定することは不要です。

export VAGRANT_DEFAULT_PROVIDER=libvirt