仮想化ソフトウェアUTMを使ってみた


My Redmine

黒谷です。2024年4月25日に Ubuntu 24.04 がリリースされました。

Canonical、24.04 LTS Noble Numbatを公開 | Ubuntu

皆さん既にお使いですよね。私も、Redmine 5.1 を動かすために Ubuntu Server 24.04 の環境を構築することにしました。

仮想化ソフトウェア「UTM」

Ubuntuの仮想環境を構築する場合、以前はMultipassを使っていました(Ubuntuの仮想環境を構築・管理できる「Multipass」を使ってみた)。Multipassは、コマンドラインであらゆる操作を実行できるので、大変使いやすいソフトウェアだと思います。

今回もMultipassを使うつもりだったのですが、業務で起動するDocker環境とMultipassが使用するポート番号がぶつかる状況が発生してしまいました。別の仮想化ソフトウェアを探したところ、「UTM」を見つけました。UTMは、macOSとiOSで実行することができる仮想化ソフトウェアです。今回は、macOS版を使用して、Intel Mac上に構築しました。

UTM のインストール

UTMは、GitHubのリポジトリからダウンロードすることができます。Releasesのページの最新バージョンのAssetsにあるUTM.dmgをダウンロードし、展開して、UTM.appをApplicationsフォルダにドラッグアンドドロップするとインストールできます。

この記事は、執筆時点の最新バージョン 4.5.3を使用します。


Releasesのページの最新バージョンのAssetsにあるUTM.dmgをダウンロードする

UTM.dmgを展開しUTM.appをApplicationsフォルダにドラッグアンドドロップする

UTM上でUbuntu Server 24.04の仮想マシンを作成する

UTM上で仮想マシンを起動するには、UTMを起動して、「新規仮想マシンを作成」をクリックします。


UTMの画面で「新規仮想マシンを作成」をクリックする

次の画面で「仮想化」または「エミュレート」を選択します。今回は、Intel Mac上でUbuntu Serverを動かしたいので「仮想化」をクリックしました。


「仮想化」をクリックする

「オペレーティングシステム」の画面で「Linux」をクリックします。


「Linux」をクリックする

「Linux」の画面では、起動するLinuxイメージを指定します。今回は、事前にダウンロードしておいたUbuntu ServerのISOイメージファイルを使うことにしました。

「起動ISOイメージ」の欄の「選択...」をクリックし、ISOイメージファイルを選択します。指定できたら「続ける」をクリックします。


「選択...」をクリックしてISOイメージファイルを選択する

「ハードウェア」の画面で、仮想マシンに割り当てるメモリの量やCPUコア数を設定できます。今回はデフォルトのままにしました。

設定できたら「続ける」をクリックします。


メモリの量やCPUコア数を設定する

「ストレージ」の画面で、仮想マシンに割り当てるドライブのサイズを指定できます。今回はデフォルトのままにしました。

設定できたら「続ける」をクリックします。


ドライブのサイズを指定する

「共有ディレクトリ」の画面で、ホストPCと仮想マシンがファイルを共有するためのディレクトリを指定できます。今回はMac上に「utm-shared」というフォルダを作成し、これを共有ディレクトリとして使うことにしました。

「選択...」をクリックして「utm-shared」フォルダを設定します。設定できたら「続ける」をクリックします。


「選択...」をクリックしてディレクトリを選択する

「概要」画面で、仮想マシンに名前をつけます。名前を入力したら「保存」をクリックします。


名前をつけて「保存」をクリックする

仮想マシンの一覧画面が表示され、作成した仮想マシンが表示されました。これでUbuntu Server 24.04の仮想マシンが作成できました。


仮想マシンが作成できた

仮想マシンを起動する

仮想マシンの一覧画面で、リストの中から起動したい仮想マシンをクリックし大きな再生ボタンをクリックすると、仮想マシンが起動します。

仮想マシンを作成するとき、Ubuntu Server 24.04のISOイメージファイルを選択しましたので、Ubuntu Serverのインストーラーが起動しました。


仮想マシンを起動するとUbuntu Serverのインストーラーが起動する

インストールが完了したあと、ISOイメージファイルをCD/DVDから取り除いて、仮想マシンを再起動するとUbuntu Serverのログイン画面が表示されました。


ログイン画面が表示される

インストールの途中で作成したユーザーでログインすると操作できました。

仮想マシンを停止する

仮想マシンを停止する場合、OSの終了コマンド(Linuxであればshutdownコマンドなど)を実行すれば停止しますが、何らかの理由でコマンド入力ができなくなり、とにかく停止したいという場合があると思います。そういうときは、仮想マシンが起動中のウィンドウのタイトルバーの左上にある電源のアイコンをクリックすると停止できます。


電源のアイコンをクリックすると停止する

ディレクトリを共有する

Ubuntu Serverの仮想マシンが作成できたので、Redmineをインストールしていきたいのですが、UTMの画面で直接操作するのはなにかと不便です。例えば、サーバ設定ファイルの編集を手作業で行うのはちょっと面倒です。あらかじめ作成しておいた設定ファイルをコピーして手間を省きたいですね。それを見越して今回は「utm-shared」という共有ディレクトリの設定をしました。

ホストOS側は、仮想マシンを作成するときに「utm-shared」というフォルダを共有する設定ができていますので、あとはそのフォルダを仮想マシン側でマウントすれば使えるようになります。

仮想マシンがLinuxの場合、VirtFSという形式で認識できるようです。詳しくは公式ドキュメントをご覧ください。

Ubuntu Serverにログインし、マウントポイントとなるディレクトリ(今回は /mnt/utm-shared としました)を作成します。

$ sudo mkdir /mnt/utm-shared

mountコマンドを使って以下のように実行することで、Mac上の「utm-shared」フォルダを /mnt/utm-shared ディレクトリにマウントできました。

$ sudo mount -t 9p -o trans=virtio share /mnt/utm-shared -oversion=9p2000.L

これで、Mac上で作成したファイルを共有できるようになりました。

SSH リモートログインで作業する

ファイルを共有できるようになりましたが、コマンド入力はどうしても必要になります。そこでUTMの画面で直接操作せず、macOS上で使い慣れたターミナルで作業できるように、SSHリモートログインできるようにしました。

Ubuntu Server側がSSHリモートログインを受け付けるためには、SSHサーバソフトウェアが必要です。Ubuntu Serverをインストールする手順の中で、SSHサーバを導入するかどうか選択できましたので、そこで導入しました。

macOS側のSSH公開鍵をディレクトリ共有でUbuntu Server側にコピーし、IPアドレスを確認して、SSHリモートログインできるようになりました。


普段使っている iTerm2 を使ってSSHリモートログインしたところ

仮想マシンの複製を保存する

仮想マシンを使って作業をしていると、もう一度クリーンインストールしたいということがよくあります。そんなとき、もう一度ゼロから仮想マシンを作るのは面倒です。そこで、仮想マシンの複製を作っておくと便利です。

仮想マシンを右クリックし「複製...」をクリックします。


仮想マシンを右クリックし「複製...」をクリックする

「この仮想マシン、およびそのすべてのデータを複製しますか?」という画面が表示されるので「はい」をクリックします。


仮想マシンを右クリックし「複製...」をクリックする

元の仮想マシンの名前の末尾に「2」が追加された仮想マシンが作成されました。


元の仮想マシンの名前の末尾に「2」が追加された仮想マシンが作成された

次回からは、複製した仮想マシンをさらに複製して使うと良さそうです。

まとめ

macOSで使用できる仮想化ソフトウェア「UTM」を使ってみました。UTMは操作するボタンがわかりやすいアイコンで表示されており、迷うことはないと思います。今回は使いませんでしたが、クリップボードの共有機能もサポートされているようですので、デスクトップ環境の仮想マシンとホストOSのやりとりも簡単にできそうです。

サーバ環境であればDockerなどのコンテナを使うことが主流だと思いますが、デスクトップ環境が必要なケースでは仮想化ソフトウェアが必要になります。しばらくこのUTMを使ってみようと思います。

【スタッフ募集中】
弊社ではAWSを活用したソリューションの企画・設計・構築・運用や、Ruby on Rails・JavaScriptフレームワークなどを使用したアプリケーション開発を行うスタッフを募集しています。採用情報の詳細
弊社での勤務に関心をお持ちの方は、知り合いの弊社社員・関係者を通じてご連絡ください。

My Redmine

こちらの記事もオススメです!
Ubuntuの仮想環境を構築・管理できる「Multipass」を使ってみた
Redmineを仮想環境で動かしたいときの選択肢としてMultipassを使ってみました。
色と配色の基本を学んでみた – デザイン初心者のための実践ポイント
色と配色についての基本的な知識を学びました。
RubyKaigi 2024で印象に残ったセッションとRubyistと一緒に過ごした楽しい時間
5/15〜17に沖縄で開催されたRubyKaigi 2024に参加しました。
オライリー本の全冊公開日ともくもく勉強会を毎月開催しています
ファーエンドテクノロジーではオライリー本を全冊所蔵しています。
My Redmine Gen.2 のサービス運用面での改善点
S3のキャッシュ化、Graviton2対応、Pipelineの最適化を進めているところです。
ファーエンドテクノロジーからのお知らせ(2025/04/23更新)
社員研修に伴うサポート体制変更・休業のお知らせ(5/20〜23)
社員研修に伴い、5月20日〜23日はサポート体制の変更および休業とさせていただきます。
オープンソースカンファレンス2025 Nagoyaに弊社代表の前田が登壇(ブース出展あり)
オープンソースカンファレンス(OSC)2025 Nagoyaに弊社代表の前田が登壇。『Redmineの意外と知らない便利な機能(Redmine 6.0 対応版)』をテーマに発表します。
エンタープライズプラン向け「優先サポート」を開始
My Redmineでは、エンタープライズプランをご契約のお客様向けにサポート対応を優先的に行う「優先サポート(プライオリティサポート)」を開始いたしました。
プロジェクト管理ツール「RedMica」バージョン 3.1.0をリリース Redmine互換のオープンソースソフトウェア
ファーエンドテクノロジー株式会社は、2024年11月19日(日本時間)、Redmine互換のプロジェクト管理ソフトウェア「RedMica 3.1.0」をリリースしました。
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け