2021-08-29

"KVM 徹底入門" 平初, 森若和雄, 鶴野龍一郎, まえだこうへい 著

KVM(Kernel-base Virtual Machine)とは、文字通り仮想マシンモニタを提供するツールで、物理マシンをハイパーバイザーにすることができる。
その特徴は、Linux のカーネルモジュールとして実装され、x86 系 CPU に搭載される仮想化支援機能(Intel VT や AMD-V)を介してオーバヘッドを軽減する。お馴染みのパッケージ管理コマンド yum で拾えるのもありがたい。
ここでは、コマンドラインユーティリティとして qemu-kvm パッケージが紹介され、QEMU にぶら下がる形が見て取れる。実際、KVM の利用には、QEMU の導入が前提されている。


QEMU といえば、ハードウェアをエミュレートする場面で重宝している。例えば、設計対象となる組込システムでは ARM アーキテクチャによく出くわし、これの動作確認のためのプログラム作成など、いわゆるクロス環境として。CPU だけでなく、USB コントローラや SCSI コントローラなどの周辺回路をエミュレートする場面でも利用している。
ちなみに、つい最近、OS 制作のセミナーでも見かけた。自作 OS を試す場面でも活用でき、これを学生と一緒になってやるのは楽しい。実に楽しい...
QEMUは、ホスト OS に対してゲスト OS を配置し、アプリケーション風に動作させられるところが手軽でいい。ただ、完全にソフトウェアで制御するため、お世辞にも高速とは言えない。ARM 環境を動かすとなると、ある程度の高性能マシンでないと辛い。特に、出先で非力なノート PC でやるには...


近年、CPU に限らず、ハードウェア・アクセラレーションを利用できる GPU も目立つ。逆に、CPU の負担を軽くしようとして GPU の負担が重くなり、表示パフォーマンスが低下したりと、その按配が微妙だったりするけど。
いずれにせよ、ソフトウェアのパフォーマンスを上げるために、ハードウェアで支援するやり方は古くからある。暗号化といった大量な演算を要するチップなど。
とはいえ、おいらの場合、仮想化のための支援回路となると、いまいちイメージできていない。おまけに、使っている対象が物理的にイメージできないと、不安に襲われる性分ときた。そこで、KVM ってヤツはどうなんだろう... というわけである。


本書は、Fedora と Ubuntu への導入事例として書かれているが、両 OS のインストール手順まで掲載される。ここまでやらんでも。なるほど、徹底入門だ!
導入部では、GUI 環境を提供する virt-manager と、コマンドシェル virsh が紹介され、コマンドリファレンスも付録される。
興味深い話題は、KVM のリソース管理機能である。動作モニタのプロセスは、物理的なイメージがしやすい。核となるモジュールは、仮想マシン制御用の抽象化ライブラリ libvirt と、そのデーモン libvirtd。そう、Xen や VMware Workstation などの導入でも見かけるやつだ。こいつを手なづけるには、ライブラリが提供する API 群をいかに使いこなすか、にかかっている...
KVM のライブマイグレーション機能も興味深い。マイグレーションとは、ホスト OS で稼働中の仮想マシンを別のホスト OS に移行させることだが、その際、サービスやサーバを停止せずに移行させるのがライブマイグレーションってやつ。まさに、Linux カーネルらしい仕掛けである...


ところで、仮想化とはなんであろう。その目的とはなんであろう。少なくとも、貧弱なリソースが豊富になった気分にさせてくれる。物の価値を代替するお金も物量の仮想化であり、貧しい心を豊かになった気分にさせてくれる。仮想化とは、価値の代替か?気分の問題か?いや、それだけではあるまい。
実体がなければ、想像は無限に膨らむし、想像力そのものが仮想化のプロセス。精神という得体の知れない実体は、仮想空間とすこぶる相性がよく、精神そのものが仮想的な存在と言えよう。人間社会とは、まさに仮想社会における生存競争の世界だ。集団は実体のない情報に振り回され、いつも右往左往。精神が仮想的な存在だとすれば、仮想化によって人間は人間を取り戻しているだろうか?仮想化によって、自らの思考回路を活性化させているだろうか?仮想化によって、合理的に生きているだろうか?
コンピューティングにおける仮想化は、想像力を膨らまし、思考アルゴリズムを豊かにする、実に素晴らしい概念だ。しかしながら、仮想化技術もまた他の技術と同様、コモディティ化の流れに飲み込まれていく。どんなに優れた概念を編み出したところで、その概念の奴隷にならず、自分らしく生きることは難しい...

0 コメント:

コメントを投稿