SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化

M1 mac で SLES15 sp5 beta の UTM 仮想化 が上手く動作するようになりました。UTM の良いところは日々の進化のスピードが速い点です。ありがたい事に、有償のソフトウェアと違ってマイナーなアップデートで次々と動かなかったゲストOSが次々と動作可能になったことです。

たまたま SUSE Linux 系のディストリビューションが 15.5 のベータリリースが更新されるに従って今まで動かなかったものが、UTM で動作するようになってきています。

Apple M1/M2 の最大の魅力はパフォーマンスの割に軽いフットプリントです。手頃にラップトップPCで Linux や、Windows が使える。面白い世の中になったものです。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10174926.jpg

SUSE Linux Enterprise 15.5 の KVM ハイパーバイザーのインストール手順

インストールソースの準備

インストールは Full インストールイメージの一枚目を USB メモリ等に書き込んでブートすれば良いのですが、サーバ構築中にパッケージや追加言語のインストール中も、インストールメディアを差しておく必要があって面倒です。大量にサーバをインストールするには面倒ですね。

オンラインでもインストールができますが、サブスクリプション登録が必要です。最新のパッケージがダウンロードできますが、閉じたネットワーク環境では使えません。

また、サードパーティデバイスドライバが必ずしも最新のカーネルに対応しているとは限りません。過去にパッチを当てた後、ドライバがカーネルに合わずインストールできなかったことがあったので、ダウンロードした「吊るしの状態」でドライバをインストールして、その後にサブスクリプション登録とアップデートのインストールをお勧めします。

そこで同じネットワークに HTTP や SMB, FTP などのサーバを用意してインストールソースにする事をお勧めします。以前、 Windows でCDイメージを「共有」させてインストールした事がありました。たまに、ベアメタルサーバの場合 ISO イメージから、ブートできない事もあり、その場合 SMB や HTTP サーバなどからインストールする必要がある場合もあります。そのため事前にインストールソースを別なサーバに用意して置くと便利です。

具体的には、例えば HTTP サーバの場合、ISO イメージを次のようにマウントして置くと良いでしょう。

# mount -o loop <path>/SLE-xxx-xxx-GM1.iso /srv/www/htdocs/<subdir>


ISO イメージから起動
> Installation

> 言語とキーボードの選択:特殊記号のレイアウトを確認します
> プロダクトの選択:SUSE Linux Enterprise Server をチェック

License Agreement : Agree にチェック

Registration:ここでは Skip します。スキップしない場合、次のスクリーンでサブスクリプション登録を要求されます。

Extention を選択。ブートメディアから直接インストールする場合は、ここで追加の拡張機能をチェックします。

インストールソースを別に用意した場合は、ここはそのまま Next します

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10183130.png

Add on プロダクトのインストールソースがブートメディアになっています。

ここで、前画面でチェックされた拡張機能を全て Delete します。

次に Add ボタンを押して、インストールソースに、用意したインストールソースサーバを指定します。

ここではHTTP サーバを指定しています。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10185861.png

インストールソースにアクセス出来ると、再び追加の拡張機能の選択画面が出てきます。ここで、実際インストールする Extention をチェックします。

追加で Desktop Application Modules ..... と Legacy Modules( 必要であれば )... をチェックします。YaST GUI や virt-manager、サブスクリプション登録など GUI を必要とするケースがあるので、Desktop Application Modules は入れておくと良いでしょう。ifconfig や netstat など、使い慣れた Legacy ツールもここでインストールできます。デスクトップは軽量版の gnome です。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10201316.png

これで、拡張機能のインストール準備ができました。

System Role: SLES with gnome をチェック

パーティションの作成

次にパーティションを作成します。デフォルトでは、/var/lib/libvirt/images の下に仮想 VM イメージが作成されます。VM の作成時に別なディレクトリの指定もできます。ケース・バイ・ケースで、ここを iSCSI や CIFS マウントさせて、ライブマイグレーション前提で構築する場合もあるでしょう。

ここでは、/var を別パーティションとします。

パーティションの初期提案は、ルート:BTrfs 、/home: xfs です。Expert Partitioner から、提案内容(Start with Current Proposal )を基に ルートパーティションと /var を分割します。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10203559.png

初期提案から、ルートと、/home の割当を削除して、改めて、ルートパーティション( BTrfs )に 30 Gb以上、(60Gb以上推奨)と残りほぼ全てを /var(XFS) に割り当てます。/var を別パーティションにする際に、@/var サブボリュームを削除して別パーティションにします。この辺は BTrfs 固有の操作なので戸惑うかも知れません。

私の好みなのですが、50Gb 程度の未使用領域を残しておくと将来役に立つ事があります。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10210043.png

パーティションの定義が完成しました。ファイルフォーマット(F) とマウントポイントを確認してください。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10211799.png

確認して Accept します。

タイムゾーンの設定

タイムゾーン: Asia/Tokyo GMT9 を選びます。Set Hardware clock UTP はベアメタルサーバーではチェックしたままで結構です。ただし NTP もきっちり設定しておくことです。

ゲストでインストールする時はいつも NTP を設定して、チェック外しますが、正しいのかな。ご意見ください。

ローカルユーザとルートパスワードの設定

ローカルユーザとルートユーザのパスワードを設定します。ローカルユーザは作成しないでスキップできます。


インストールサマリ

ここで最終のインストール内容をチェックします。

Software リンクから、追加のソフトウェアのインストールを選択したり、固定 IP の設定、コンソールログインのシステムターゲットの指定などを行います。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10213034.png

Software から KVM ハイパーバイザーのインストール

このサマリ画面から、KVMハイパーバイザーのインストールを行います。

Software リンク - -> 一覧から KVM Virtualization host and tools と KVM Host Server の2つをチェックして追加しておきます。これで、自動的に KVM ホストサーバーがインストールされます。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10215066.png

※ これは aarch64 版なのですが、XEN はないですね。x86 版ならあるのかしら?

※ ここで KVM のチェックを忘れても、後で YaST からインストールもできます。


インストールの開始

最後のサマリ画面から Install ボタンでインストールが開始されます。RH 系クローンはここで Enter を押すと勝手にインストールが始まって「あれれ!」となりますが、SUSE 系ではここで必ず確認ダイアログが出てくれるので親切です。

誤って Enter しても、デフォルト Back というのは親切です。この段階ではパーティションのフォーマットもやらないので、いつでも Back することができます。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10220445.png

パーティションの作成とファイルコピー、パッケージのインストール、ブートの設定などが始まり、自動的に再起動します。環境にもよりますが、数分から数十分かかります。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10222567.png

ネットワークの設定

再起動したら、YaST > System > Network Settings を開いて、ネットワークが Brigde 経由で接続されていることを確認してください。ハイパーバイザーは、ブリッジ経由で Lan 接続します。インストールする時に KVM をインストールすると、自動的にここは設定されますが、後で YaST で設定すると、この設定は手動で行う必要があるケースがあります。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10224207.png


あとは、YaST から NTP の設定、第2言語で日本語環境、フォントのインストールなどを行います。

# virt-manager &

を起動して、実際に仮想 VM を作成します。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10225595.png

あとは、必要なデバイスドライバのコンパイル、インストールを行って、YaST の Product Registration から、サブスクリプションの購読を開始して zypper update します。

SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10230818.png



サブスクリプションの購入はオンラインでもできます。





おまけ - 仮想環境の入れ子

以上で SUSE Linux Enterprise 15sp5 での KVM ハイパーバイザーの構築ができました。蛇足(本当に蛇足)ですが、この環境は M1 Macbook Air の UTM 仮想環境で試しています。SLES15sp4 以降、「仮想環境の入れ子」( VM on VM ) が可能、という噂を聞いたので、UTM で動く SLES15sp5 でも入れ子が出来るか試してみました。ちなみに M1 mac なので aarch64 版です。

動きました。現実的に使えるかと言えばかなり遅いですね。そもそも macbook の様なデスクトップ環境で動かしてみても、メモリや利用状態では安定しません。たまに落ちます。MAC 用の CPU である M1 チップ自身のパフォーマンスや仮想環境での運用ってどうなのかという問題もあります。そもそもまだ UTM がまだまだ不安定なケースがあります。Parallels Desktop をお持ちの方はチャレンジしてみてはいかがでしょうか。



SUSE Linux Enterprise 15 sp5 ではじめての KVM 仮想化_a0056607_10233870.png




by islandcenter | 2023-03-20 10:36 | SUSE | Comments(0)