2022年 01月 16日
openSUSE Leap で初めての挑戦する仮想化 on Linux
ここでは Linux 初級の技術者を対象に、オープンソース、フリー版の openSUSE Leap を使った KVM (Kernel based Virtual Machine) による仮想環境の構築方法について説明します。なぜ Windows の Hyper-V でもなく、VMware でもなく汎用的な openSUSE Leap による仮想化をお勧めするのか。その理由は、低コストと軽さ、汎用 OS を使った手軽さ。にもかかわらず安定性と実用性は抜群です。個人的には、エンタープライズ用途で仮想化基盤を構築するならば、有償ディストリビューションの SUSE Linux Enterprise (SLE) をお勧めしますが、チョット仮想環境を作ってみたいが、Linux は難しそう、というシステム管理者にとっては比較的取っ付き易い openSUSE Leap はおススメのディストリビューションです。ここでは、趣味的に Linux で仮想環境を作りたいとか、業務上テスト環境で Linux を使った仮想環境を作りたいのだけれど敷居が高そうだ、という先入観がある方を対象に openSUSE Leap 15.3 はどうですか? というご提案です。
openSUSE Leap は ドイツ SUSE 社が開発している SUSE Linux Enterprise (SLE) と互換性が高いオープンソース、フリー版の汎用 Linux ディストリビューションです。一般的な「ソースレベルのクローン」ディストリビューションとは異なり、openSUSE Leap は本家 SLE とバイナリレベルでの互換性があり、言わば本家 SLE のデチューン版、簡易版とも言えるディストリビューションとも言えます。
2022 年 1 月現在の最新版は openSUSE Leap 15.3 です。
SUSE Linux Enterprise (SLE) は、SAP などの、エンタプライズ向け業務ソフトウェアのベースとなるシステムとしての事例が EU 圏内では豊富です。実際に SAP 社内でのアプリケーションの開発は SUSE プラットフォーム上で行われ、実際の SAP の動作プラットフォームの80%は SUSE Linux です。(日本では逆に8割が Windows Server だそうで)つまり、信頼性、性能面では、他のディストリビューションを寄せ付けない高いパフォーマンスを発揮する(ということです)。いちおう OSS 専門の「独立系」企業としてはトップの RedHat が IBM 傘下という事もあり「世界最大の独立系 OSS 企業」という事になります。有償ディストリビューションのシェアは第二位。ヨーロッパではダントツの人気で、実際に海外のPCサーバーベンダーではほぼ確実にサポートマトリクスに含まれています。(何故か NEC のサポートマトリクスにはないけど...)
また、SLE自体が比較的新しい機能を早めに取り込むため、いわゆる「他社による互換ディストリビューション」と異なり、openSUSE は同じ SUSE を母体とするため、本家のソース公開に遅れる事数か月でパッチが提供、という事もなく、新しめのハードウェアでも動作し、インストール時にハードウェアのドライバの互換性問題などで戸惑う事は少ないようです。まぁデスクトップで使う場合のビデオドライバは別な様ですが。
openSUSE Leap 15.x は、本家 SLE 15 へのアップグレードパスがあります。とりあえず、openSUSE Leap で導入してみて、サポートが必要であればサブスクリプションを購入して SUSE Linux Enterprise へのアップデートと製品のサポートを受ける事が出来ます。
デスクトップ/サーバーとしての汎用性はありますが openSUSE Leap をデスクトップで使う場合、使いやすさや対応アプリケーションは ubuntu ほどの豊富さはありません。サーバー用途で使うには、本家 SLE 並みの可用性、使いやすさを発揮します。他のディストリビューションの様な特異で奇抜な趣味性はあまりありませんが、基本性能の優秀さ、質実剛健な堅実さが openSUSE/SLE の特長なのです。
第一のオススメポイントが、信頼性と性能なら、二つ目のオススメポイントは、「SUSE らしさ」を醸し出す、YaST (Yet another Setup Tool) と呼ばれるグラフィックスでマウス利用できる GUI 版 yast2 と、リモートコンソールのテキスト環境でも、カーソルキーなどで容易に操作できる軽量 ncurses 版 yast の二つの管理ツールです。SUSE Linux でのインストーラは YaST の各機能の集合体ともいえるもので、YaST の各機能がウィザード形式で順番に呼び出され、YaST でスクリプト化されたインストールプロセスによって、システムがセットアップされます。初めて YaST を使ってみれば、インストールの時に利用した詳細なメニュー構成を思い出すことができるでしょう。つまり、初期セットアップでやらなかった設定や、インストールの途中で要求されなかった追加機能「やパッケージのインストール、設定は、全て YaST によって詳細にできるという事です。特殊なチューニングを除いて、アプリケーションパッケージの追加、削除、設定、パーティションの管理、サービスの管理など、ほとんどの管理者が行う設定作業はコマンドの綴りを知らなくても YaST によって管理する事が出来ます。YaST は Linux に不慣れな初級技術者にとっては強力なサポートを提供します。openSUSE/SLE が、Linux 初級者にもお勧めできる理由は YaST にあります。何をもって漠然と「Linux に詳しいヒト」と定義する事は難しいでしょう。 ubuntu なら、sudo でコマンドを使いこなせるとか、RedHat 系なら yum でパッケージをインストールして vi で設定ファイルを編集してサービスをリスタートさせて「すごい詳しいヒト」と言われるのですが、SUSE Linux では、これらの操作が全て YaST のメニューの中で行われるため、他の一般的な「Linux ディストリビューションに詳しいヒト」にはなれないかもしれません。つまり「詳しいヒト」と言っても何でもこなせる技術者は別として、一般的なレベルのエンジニアなら、特定の分野には詳しいけれど、分野が違えばそれほどでもない事はよくある話です。逆に openSUSE/SLE を扱う場合、細かなコマンドの綴りに悩むことなく、運用の主な部分は YaST でまとめて集中する事で、他の運用に携わる部分に集中できます。ある意味では SUSE に慣れてしまうと YaST の使い勝手に慣れてしまって「 YaST バカ」(私の事です)に陥って、zypper の使い方を忘れてしまう事もあります。YaST は初級 Linux 管理者にはとても易しい。
何のためにこんな便利なツールがあるのか。つまり実際に企業のシステムとして使う為には、初級 Linux 管理者からベテランまで、様々な層の技術者に公平に機能を提供できるからなのです。つまり初心者でもある程度は扱える。趣味で Linux を使ってみたいのであれば別な様々なディストリビューションの選択肢がありますが、まずは情報技術者として仕事で使ってみたいが、敷居の低いプロ向けの Linux ディストリビューションは、と言えば openSUSE Leap は一つの候補として当選圏内にあるでしょう。
openSUSE が日本で流行らない理由として「ニホンゴの情報が少ない」事が言われますが、どの様なシステムでも結局は海外の情報をネタに問題解決しているケースがある訳で、困難なバグの回避方法や裏技の様なテクニックは海外の情報に頼っているのではないでしょうか。多くの不具合回避の対策は、ほとんど他のディストリビューションでも同じ事象なので、SUSE ならではの問題点は少ないように感じます。
つまり、Linux のカーネルやコマンド、基本的なパッケージの中身は共通であり。ディストリビューションによる違いは、インストーラの構成や、インストールできるパッケージの数やバージョンの違いであり、一般的なコマンドの使い方やエラーの内容は、どのディストリビューションでも大差はないでしょう。
openSUSE/SLE は slackware 系と言われますが、ほとんど SUSE 系として独立した立場でもあり、ディレクトリ構成などは RedHat 系に近いので、意外と応用が利きます。逆に Debian/ubuntu 系とはかなり違いがあるので、ubuntu から入った人には戸惑う事があるかも知れません。
openSUSE には Factory, Tumbleweed, Leap の三種類のバリエーションがあります。一言でいうと。Factory は開発者向けのアルファ版、Tumbleweed は最新のパッケージの組み合わせで、新しいものじゃなければダメ。というヒト向け。Leap は SLE の簡易版で安定板、と言った感じでしょうか。
初めて openSUSE を触るのなら Leap の一択です。
openSUSE Leap の最新版は、次の URL を開いて最新盤のインストールメディアを入手できます。https://get.opensuse.org/leap/
インストールの全体の流れは次の動画に纏めました。動画は HTTP サーバを前提としたものですが、おおよその流れや雰囲気を見てもらえれば幸いです。(音出ます)
https://youtu.be/YxZV7qjEVyc
openSUSE Leap では KDE デスクトップがデフォルト、と書かれている文書が多く見られますが、Leap 15 以降は選択肢が増えています。何を選ぶかは個人の好みなのですが、SUSE Linux eEnterprise Server (SLES) では、最低限のデスクトップとして gnome3 の軽量版が使われているので、openSUSE から、将来的に SLE による開発/運用を視野にいれるなら gnome デスクトップを選ぶ事をお勧めします。
どの様なディストリビューションでも、初期インストールでプロポーザルされるパーティション構成が、全ての用途の最適解であるとは限りません。openSUSE/SLE のインストールウィザードで一番慎重に決めなければならないのは、パーティションの設定画面でしょう。
このパーティションのサジェスチョンが出てきたところで、Expart Partitioner から、 Start with current proposal を選んで、パーティションの詳細設定を行います。
ここで、プロポーザルにあるルートパーティションを削除して、ルートパーティションのサイズを決めて再作成します。残りは他の目的に割り当てるわけですね。
openSUSE Leap 15 では / ルートパーティションは BtrFS がデフォルトで選ばれます。データパーティションは XFS が推奨されます。
もし KVM によって仮想化するならば /var のパーティション配下に仮想化イメージが作られるため、ここをルートパーティションとは独立した XFS パーティションとする事をお勧めします。
他、HTTP サーバや FTP サーバにするなら /srv を、汎用デスクトップや Samba を使うなら /home を別パーティションにすることがあるでしょう。
ルートパーティションに使われる BtrFS は、Copy on Write のファイルシステムで、稼働中の自動で不良セクタの修復、自動スナップショット機能を使うロールバック機能を備え、世間的にはやや低速と言われていますが、運用上は可用性の高いファイルシステムです。
反萬、スナップショットのための領域を多くとるため、実容量の二倍以上のサイズのパーティション賭する事が推奨されます。カーネルパッチや、アップデートで問題があった時に、スナップショットで引き戻しができるわけです。
実質16Gb以上が必要なのですが、将来のアップグレードパスを想定して 3-40Gb 程度のルートのパーティションサイズは確保しておきたいところです。残りを /var や /srv に割り当てるわけです。
XFS は比較的大きなファイルサイズへのアクセスが得意で、高速で信頼性に優れていると言われます。データベースなどのシステムではよく使われるファイルシステムです。
インストールのウィザードの最後にサマリ画面が出てきます。ここで、ウィザードの中で問われなかった詳細な設定内容を調整します。
例えば KVM ハイパーバイザーをここで追加したい場合は "software" のリンクを開いて、KVM Host Server を追加するとかですね。
"Software" リンクを開いて ”KVM Host Server" をチェックするだけで、KVM ホストサーバの機能がインストールされます。
ここで、もし GIMP などのツールや LibreOffice などのアプリケーションが不要な場合、チェックを外してインストールしない選択もできます。
なお、openSUSE を固定 IP で使用する場合は、"Network Manager" ではなく "Wicked" にして固定アドレスを設定します。この辺りの詳細な初期設定は openSUSE/SLE の微妙なチューニングの違いが出てきます。
このサマリ画面を一通りチェックして、”Install” ボタンを押すと、設定したパラメータに従ってインストールが開始されます。
Install ボタンを誤って押しても、確認のダイアログが出てくるので、他のディストリビューションのように「やっちまった」という事にはならないので安心してください。
インストールが終わったら、root でログインした状態からコンソールを開いて
# yast2 &
を起動します。Virtialization > Install Hypervisor and Tools を開いて、KVM Tools をチェック・インストールします。Virt-manager はじめ、仮想化に必要なネットワークブリッジが構成されます。
これで openSUSE の仮想化ハイパーバイザーの設定は終わりです。
# virt-manager &
で仮想マシンマネージャが起動するので、後は仮想マシンをインストる出来ます。
なお、yast2 や virt-manager をターミナルから起動するのは面倒なので、アクティビティツールの中に Add favorite して置けば、ツールリストから簡単に起動する事が出来ます。
Windows を仮想化するにあたり、最大のパフォーマンスを引き出すのが Virtual Machine Driver Pack (VMDP) です。VMDP は SLE のサブスクリプションに含まれており、本筋としては SLE のサブスクリプションを購入して使用するものです。もちろん SLE のものですが本家のサポート外という前提で openSUSE Leap でも動ききます。
それでは openSUSE Leap 15 で Windows11 を仮想化してみました。Windows サーバも含めて全体的な仮想化手順の参考にしてください。(音出ます)
Windows 11 Install on KVM openSUSE Leap 15.2
openSUSE Leap は、SUSE Linux Enterprise というサラブレッドの血統を受け継ぐ open フリーのディストリビューションです。YaST ツールはシステム管理を容易にし、たとえ Linux 初級の運用担当者であっても、最初の乗り口で戸惑う事はないでしょう。深く Linux を知る事は、他のディストリビューションでも同じことです。後は使いやすいか、信頼性が高いか。充分なパフォーマンスを得られるかの判断です。
openSUSE Leap は初めて Linux で仮想環境を構築するための低い敷居を私達に用意してくれるのです。