冬休みの宿題に、代替の仮想環境候補としてMultipassを試してみました。

Date:

Share post:

もう2か月ほど経過してしまいましたが、新しいMacBook Proが発売されましたね。

技術者の端くれ(単に新しいもの好き?)としては、新しいApple自社製チップがどれくらい高速なのかを体感してみたい気もしています。ただ、まあまあいいお値段なのでなかなかお手軽には手が届きませんが。

そんなApple自社製チップ(M1チップ)ですが、開発者泣かせな面もあります。私もローカル環境の構築で使用している Vagrant + VirtualBox が動作しないのです・・・。

今後で一番理想的なのは、Vagrant + VirtualBox がM1チップに対応してくれればいいのですが、いつになるかは今のところ明言されていません。そうした時に、何を代替にできるのかを自分なりに調べてみました。

    1. Parallels Desktop or VMware Fusion の(ハイパーバイザー型)仮想環境のソフトウェアを使用する。(商用の場合有償)
    2. Docker(コンテナ型)仮想プラットフォームを使用する。(無償)
    3. Multipass(軽量VMマネージャー)を使用する。(無償、Ubuntuのみ)

それぞれ試してみるのがいいのかと思いましたが、差し当たっては(Vagrant + VirtualBox を活用している場合に)学習コストが低く、かつ無償であるMultipassについて試してみましたので以下にざっと書いてみようと思います。

(1)Mac OS用のパッケージをダウンロード、インストールします。

https://multipass.run/

(2)インストールできたことを確認してみます。

(※)私が試した際に少々ハマったのですが、multipassはバックエンドのハイパーバイザを切り替えることが可能で、

    • Intel Mac
      • default hyperkit
    • M1 Mac
      • default QEMU

となっていて、Virtualboxを選択することも可能なようです。ただ、現在のMultipassのバージョン(1.8.1)でdefaultのhyperkitだと、インスタンスの再起動ができなかったりと動作がおかしかった(バグ?)です。私が試した際は、バックエンドのハイパーバイザを切り替えるコマンドで

sudo multipass set local.driver=qemu

としたところ、問題なくインスタンスの再起動ができましたので、これで確認しました。

(3)コマンドが入力できることを確認したら、まずはサーバインスタンスを作成します。Vagrantの場合はOS用のBoxをaddしてinitし、生成されたVagrantfileに設定情報を入力していましたが、Multipassの場合は、まずOSを選択するために multipass find コマンドを入力します。

(4)そうすると選択可能なイメージの一覧が表示されますので、使用したいイメージをコマンド入力します。Vagrantの場合、メモリ、CPU数、ディスク容量割り当てはVagrantfileで行いますが、Multipassはコマンドで入力します。

(例)メモリ2G、CPU数2、ディスク容量10Gとした場合

multipass launch 20.04 – – name ubuntu2004 – – mem 2G – – cpus 2 – – disk 10G

          • launch イメージ名
          • – – name インスタンス名

生成したインスタンスは multipass ls で確認することが可能です。

(5)以前私が書いたブログ(vagrantでUbuntu 20.04LTSにWebmin+Virtualmin その1)にもあるので若干端折りますが、ここからインスタンスに入ってWebminをインストールしてみます。

インスタンスへアクセスするために、(Vagrantでは vagrant ssh)multipass shell ubuntu2004 (インスタンス名)で入ります。

(6)rootのパスワード設定からWebminのインストールまでを行なっていきます。

sudo passwd root(パスワード設定)

sudo apt update(パッケージアップデート)

sudo apt install curl gpg apt-transport-https -y(GPGキー取得に必要なパッケージのインストール)

curl https://download.webmin.com/jcameron-key.asc | sudo apt-key add –(GPGキーのインポート)

su root(ルートに変更)

sudo add-apt-repository “deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib”(webmin用のパッケージリストを追加)

sudo apt update

sudo apt upgrade

sudo apt install webmin

(7)インストールが終わったら、先ほどインスタンスの一覧表示を行った際に表示されていたIPアドレスを見てみます。

インストールできました。

次回はVirtualminのインストールと共有ディレクトリ設定、インスタンス管理(削除など)について書こうと思います。

Related articles

EC-CUBE 4系のプラグイン開発について その...

前回、プラグインを一旦有効化させて管理...

EC-CUBE 4系のプラグイン開発について その...

以前から作成したいと考えていたのですが...

Laravel Filamentを使用した管理画面...

前回Breezeをインストールしたこと...

Laravel Filamentを使用した管理画面...

前回、filamentでのリソース作成...