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 が使える。面白い世の中になったものです。

せっかく動いてくれる様になったので、SLE15のベータ版を使って、SLES15 の KVM 仮想環境の構築方法について説明します。

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

ここでは、SUSE Linux Enterprise 15,5beta を使って、Linux で初めて KVM ハイパーバイザーを使った仮想コンピュータ、VM の作成方法を説明します。



SUSE?

日本では目立たない SUSE Linux Enterprise (SLE)ですが、SUSE は独立企業としては世界最大のドイツのオープンソースソフトウェア企業です。あれ? RedHat は? と思った方は鋭いですね。RedHat は IBM の傘下なので、独立系としては SUSE が世界一の Linux ディストリビューターなのです。一応世界一です。

主に使われている分野が主にハイエンドの企業向けという事で、一般のレベルには手が届かない様に見えますが何のことはない、一般のユーザでも購入して利用できますし、高い信頼性と性能を持つ SUSE Linux Enterprise は、中小規模の組織のプライベートクラウド基盤として安心して利用出来るでしょう。サブスクリプションを購入すれば、安心して長年使い続ける事ができるのが SUSE Linux Enterprise 15 です。

また、SUSE Linux Enterprise/openSUSE Leap などの ”SUSE 系”で特徴的な YaST 管理ツールが驚くほど便利で、vi を使ったことのない人でも簡単な GUI 操作で、Webサーバなどのサービスの設定や、追加のソフトウェアのインストールなどを行うことができます。YaST のアイコンを開くたびに、「次は何をすればよいか」が脳内にリストアップされることでしょう。

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

自主的に自己責任で使うには 、SLE から有償のパッケージやサードパーティのパッケージを取り除いた openSUSE Leap15 もお勧めです。



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

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

※ ここでの説明は 2023/3 現在の beta 版での情報です。

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

Evaluation copy の入手先はこちら、簡単なユーザ登録が必要です

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

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

そこで同じネットワークに HTTP や SMB, FTP などのサーバを用意してインストールソースにすると便利です。以前、 Windows でCDイメージを「共有」させてSMB 共有からインストールした事がありました。たまに、ベアメタルサーバの場合 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 します。

もし、別なサーバーにインストールソースを用意できず、CD/DVD メディアからそのままインストールする場合は、追加の拡張機能として "Desktop Application Modules," と ”Legacy Tools” の2つを追加してチェックしておきます。

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 GMT+9 を選びます。Set Hardware clock UTP はベアメタルサーバーではチェックしたままで結構です。ただし NTP もきっちり設定しておくことです。

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


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

ローカルユーザと root ユーザのパスワードを設定します。

ローカルユーザは作成しなくてもスキップできます。



インストールサマリ

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

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 を開いて、ネットワークが Bridge 経由で接続されていることを確認してください。ハイパーバイザーは、ブリッジ経由で 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


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




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

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

動きました。現実的に使えるかと言えばかなり遅いですね。そもそも macbook の様なスマートフォン/デスクトップ用 SoC 環境で動かしてみても、メモリや利用状態では安定しません。たまに落ちます。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)