Lima: Parallels と VMWare なしで macOS で Linux 仮想機を使うツールの紹介
最初に
アノテーション メンテナンスチームの shinonome です。
Mac で Linux 環境に触れたい時、一般的な選択肢としては VPS (Cloud) か Parallels や VMWare あたりが普通思い浮かぶのではないかと思います。
今回の記事は掲題通り、macOS で Linux 仮想機を使う簡易ツールのご紹介になります、
ローカルの端末内で完結できる一般的な Type 2 Hypervisor (Parallels/VMWare) より数段軽いツールです。
Lima: Linux virtual machines
Lima は今回の主役です。先に関連リンクをここに貼ります。
Lima (Linux virtual machines) は macOS の中で、好きな Linux distribution を仮想機として立ち上げることができます。
このツールは、インストールしてから、limactl start
コマンド一つですぐ VM を立ち上げられます、とても便利です。
Lima は、仮想機とのファイル交換 (mount 経由) やポート転送の機能を備えています。※機能は Windows 側の WSL2 に似ています。
早速入れて使ってみましょう。
インストール
Lima は Homebrew で簡単にインストールできます。
※依存の QEMU もインストールされます。
brew install lima
VM 設定ファイル
用意したテンプレートをそのまま使うことができるし、自分で設定ファイルを組んで使うこともできます。
以下コマンドで、Lima が事前に用意したテンプレートを確認できます。
limactl start --list-templates
もしくは、こちらのパスで直接サンプルファイルを覗くこともできます。
ls /usr/local/share/doc/lima/examples/
設定ファイルの書き方(マニュアル)は、default.yml
で参照可能です。各セクションの説明が詳細に記載されています。
VM 立ち上げ
新規作成と既存 VM 起動は同一コマンドです。
limactl start
特に指定しなければ、サンプルの default.yml
が使われ、Ubuntu を OS としている、名前が「default」の VM が作成されます。
※最初に出てきたのは対話式の選択肢です、キーボードの矢印キー↑↓で選択できます。
VM 名やテンプレート・自作設定ファイル指定もできますので、詳細な使い方は limactl start --help
で確認できます。
※サンプルテンプレートの中に使っている OS イメージは基本 Cloud 向けのものになり、軽量の、インストール作業なしのディスクイメージです。(img / qcow2 / etc.)
※インストール式の ISO を使って OS を準備することは対応していないようです。工夫すれば実現可能なようですが、結構手間がかかります。
作成・起動したら、limactl list
で VM 情報が見れます。
※ディスクイメージや設定ファイル及びコンソール (Serial) 出力等は DIR に記載した ~/.lima/xxx
に格納していますので、必要であれば確認してください。
コンソールアクセスが必要な場合は、以下内容を ~/.lima/xxx/lima.yaml
に追記して再起動してください。
video: display: default
VM アクセス
アクセスは基本 ssh 経由で、以下コマンドでできます。(デフォルトの接続先は VM 名 default
です。)
lima
※このコマンドは limactl shell default
と同等です、詳細は lima --help
で確認してください。
※ssh
コマンドでの接続も可能です、 https://github.com/lima-vm/lima/#limactl-show-ssh を参照してください。
※ssh.config
は v0.15.0
から自動作成になります。
※ssh
コマンドを使いたいなら、.ssh/config
に以下を追記すると便利だと思います。
※当然 ssh 以外にコンソールでのアクセスもできますよ。
# Lima v0.15.0 ~ Include ~/.lima/*/ssh.config
接続できたら、OS を確認しましょう。
uname -o
GNU/Linux
最後に
今回は、macOS 上で簡易の Linux VM を立ち上げれるツール Lima を紹介しました。
macOS で軽量な Linux VM をすぐ使いたい時、是非試してみてください。
本ブログ、お役に立てると光栄です。
おまけに
- Lima の裏で実は QEMU を使っています。
- macOS 上の QEMU の加速器 (Accelerator) は Apple の Hypervisor.Framework (hvf) を使っています。
- Hypervisor.Framework の登場は OS X Yosemite (10.10) (2014 年) です。
- Lima は QEMU 以外に、Apple の Virtualization.Framework も対応していますが、現在は実験段階 (Experimental) です。(
vmType: "vz"
, Default:vmType: "qemu"
)- Virtualization.Framework の登場は macOS Big Sur (11.0) (2020 年) です。
- macOS Big Sur (11.0) からカーネル拡張機能(kext)を廃止することによって、Parallels は Parallels Desktop 16 (2020 年) から、VMWare は VMWare Fusion 12 (2020 年) から、macOS Big Sur 以降で、Hypervisor.Framework を使うようにしました。
- Parallels は Parallels Desktop 12 (2016 年) から Hypervisor.Framework を対応し始めています、ユーザーは自社のか Hypervisor.Framework のかを選択することができます。
- VMWare は VMWare Fusion 12 から初めて Hypervisor.Framework に対応し始めています。
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。