はじめに
やっと自宅サーバでブログを動かすことができたので、ここ数ヶ月ずっと読んでいてようやく読み終わった本の感想を書こうと思います。
本のタイトルは「Mastering KVM Virtualization」というやつで、仮想化周り、特にQEMU/KVMについて詳しく知りたかったので読んでみました。
リンクを貼っておくので、気になる方は是非読んでみてください。
Amazon | Mastering KVM Virtualization
また、自宅サーバで動かしてるブログの方でより詳細な感想を書いているので、興味を持たれた方はぜひそちらもご覧ください。
本の概要
この本はQEMUやKVMを中心としたLinuxの仮想化機能、またそれらを管理するシステムについての概要を述べている本です。
洋書で結構分厚い本なのでかなり読み応えがあります。
全体として、各トピックについてそこそこ詳しく記載されているが、Deep Diveというほどではない感じです。
例えば、QEMUやKVMのソースコードレベルでの解説等はほとんどありません(序盤に少しだけある)。
本の構成は以下の様になっています。
- Section 1: KVM Virtualization Basics
-
- Understanding Linux Virtualization
-
- KVM as a Virtualization Solution
-
- Section 2: Libvirt and ovirt for Virtual Machine Management
-
- Installing KVM Hypervisor, libvirt, and ovirt
-
- Libvirt Networking
-
- Libvirt Storage
-
- Virtual Display Devices and Protocols
-
- Virtual Machines: Installation, Configuration, and Life Cycle Management
-
- Creating and Modifying VM Disks, Templates, and Snapshots
-
- Section 3: Automation, Customization, and Orchestration for KVM VMs
-
- Cusomizing a Virtual Machine with cloud-init
-
- Automated Windows Guest Deployment and Customization
-
- Ansible and Scripting for Orchestration and Automation
-
- Section 4: Sclability, Monitoring, Performance Tuning, and Troubleshooting
-
- Scaling Out KVM with OpenStack
-
- Scaling out KVM with AWS
-
- Monitoring the KVM Virtualization Platform
-
- Performance Tuning and Optimization for KVM VMs
-
- Trouble Shooting Guidelines for the KVM Platform
-
「Section 1: KVM Virtualization Basics」ではKVMや仮想化技術に関する基本のおさらいをしてくれます。
そもそも仮想化とは何か、なぜするのかとか、仮想化の種類、仮想化の対象、そしてLibvirtやQEMU、KVMがそれぞれ何なのかみたいなことも説明されていました。
「Section 2: Libvirt and ovirt for Virtual Machine Management」では実際にLibvirtを使い、VMに対する操作を通して様々なリソースをどの様に仮想化して扱うのか、みたいなことを話していました。
virshコマンドの使い方についてはかなり詳しく書かれていて参考になり、またvirt-managerやoVirtといったGUIからVMを管理するソフトウェアの使い方についての記載もありました。
「Section 3: Automation, Customization, and Orchestration for KVM VMs」では仮想化技術そのものではなく、cloud-initやAnsibleを使ってVMの管理の自動化やスケーリングについて語られていました。
「Section 4: Sclability, Monitoring, Performance Tuning, and Troubleshooting」も仮想化技術そのものというよりは、仮想化技術を使ってクラウド基盤を構築するソリューションについての説明といった感じでした。
OpenStackやAWSの概要、仮想化基盤のモニタリング、そして最後にパフォーマンスチューニングや仮想化基盤のトラブルシューティングの仕方についての話が続きました。
まとめ
もともと仮想化やQEMU/KVM周りの技術的な理解を深めたくてこの本を読み始め、特にSection 1でそれを割と達成できたので非常に満足しました。
QEMU/KVMの実装ベースの理解についてはコードリーディングやVMMの自作等を通して今後さらに深く学んでいきたいです。
また、Section2移行でも仮想化基盤に関連するソフトウェアの使い方や、仮想化基盤の運用のノウハウを学ぶことができて良かったです。
もし仮想化技術に興味があれば、Section 1だけでもぜひ読んでみることをお勧めします!