multipassはWindows/
LXDのようなインターフェースを備えたCLIツール
multipassはCanonicalが開発している,
CLIをメインにしたUI
- コマンド1つで仮想マシンを作成&起動できる
- 仮想マシンの作成・
起動・ 停止・ 削除に加えて, ログインやファイルのやり取りもコマンドで実現
cloud-initによる仮想マシンの設定が可能
多種多様なバックエンドのサポート
- Linux用バックエンドにはQEMU/
KVMを使いつつ, libvirtにも切り替え可能 - Windows上ならHyper-VをmacOS上ならHyperKitをサポート
- Linux用バックエンドにはQEMU/
自作のイメージの起動
なお,
グラフィック機能の非サポート
- あくまでサーバー用途
- デスクトップ環境を試したいのであれば従来のツールの利用をおすすめ
ホストの外からのアクセス関連設定機能がない
- ホストの外から作成した仮想マシンにアクセスしたいならホストOSごとの設定が必要
- 仮想マシンからインターネットへのアクセスは可能
いずれにせよ実運用で使うには,
特にWindowsやmacOSでも,
- ※1
- 第344回で紹介したuvtoolと何が違うのかと言われると難しいところです。multipassは他のOSもサポートしている点がuvtoolに対する強みとなります。しかしながらLinux単体で考えたときに,
その違いはLXDライクなコマンド体系を備えていることぐらいでしょうか。最初uvtoolの後継として開発されているのかとも思ったのですが, どうやらmultipassの開発者はあまりそういう意図を持っていないようですし, uvtoolのほうも今年に入っていくつかコミットがあるようにまだ開発が続いているようです。
multipassのインストール
multipassはWindowsやmacOSにも対応しています。multipassの公式サイトからexeファイルやpkgファイルのリンクがはられていますので,
UbuntuをはじめとするLinux向けにはsnapパッケージが用意されています。第582回を参考にまずはsnap環境を構築してください。GitHub上にLinux版のソースコードが公開されているので,
Ubuntuであればsnapパッケージをインストールする方法が一番かんたんです。
$ sudo snap install multipass --classic --beta
multipassはまだ安定版をリリースしていないのでbetaチャンネルからダウンロードします。また,
multipassでインスタンスを作成する
multipassをインストールするとmultipassデーモンが動き出します。multipassコマンドはこのmultipassデーモンとUnixドメインソケット経由で通信しながら,
まずはmultipass
コマンドが使えるか確認してみましょう。
$ multipass help Usage: multipass [options] <command> Create, control and connect to Ubuntu instances. This is a command line utility for multipass, a service that manages Ubuntu instances. Options: -h, --help Display this help -v, --verbose Increase logging verbosity, repeat up to three times for more detail Available commands: delete Delete instances exec Run a command on an instance find Display available images to create instances from get Get a configuration option help Display help about a command info Display information about instances launch Create and start an Ubuntu instance list List all available instances mount Mount a local directory in the instance purge Purge all deleted instances permanently recover Recover deleted instances restart Restart instances set Set a configuration option shell Open a shell on a running instance start Start instances stop Stop running instances suspend Suspend running instances transfer Transfer files between the host and instances umount Unmount a directory from an instance version Show version details
これを見れば,