wakatonoの戯れメモ

はてなダイアリーから引っ越してきました。

Xen徹底入門 第2版の目次

トラックバックが飛んできてて、「これならば出せそうかなー」という感じのモノがちょうど出てきたので。
…ほぼ別物だなw


1 Xen の世界へようこそ
1.1 仮想化技術、初めのはじめ
1.1.1 仮想化とは何か
1.1.2 IA サーバーの仮想化
1.1.3 エンタープライズレベルでの仮想化
1.1.4 「Xen 徹底入門」の特長
1.2 仮想化技術の基礎知識
1.2.1 仮想化とは
1.3 仮想マシンの概要 〜その歴史と実装〜
1.3.1 仮想マシンの歴史
1.3.2 仮想マシンソフトウェア
1.3.3 さまざまな仮想マシンソフトウェア
1.4 仮想化のメリットとデメリット
1.4.1 仮想化のメリット
1.4.2 仮想化のデメリット
1.5 仮想化ソフトウェアXen の概要
1.5.1 Xen とは何か
1.5.2 Xen が動作するアーキテクチャ
1.5.3 Xen で実現できる仮想化の種類
1.5.4 Xen の適用用途
1.5.5 Xen のリソース管理対象
1.5.6 Xen の管理ソフトウェア
1.5.7 Xenソースコード
1.5.8 Xen のサポート
1.5.9 Xen の利用事例

2 パッケージを利用したXen の導入
2.1 Xen 導入で64bit 版を勧める理由
2.1.1 64bit Linux 環境
2.1.2 64bit 版を勧める理由
2.2 インストールの準備
2.2.1 Xen 導入までの流れ
2.2.2 ディストリビューション標準パッケージによるインストール
2.3 CentOS 5.3 標準パッケージによるXen 環境の構築
2.3.1 前提条件
2.3.2 下準備
2.3.3 グラフィカルインストール時のポイント
2.3.4 テキストモードインストール時のポイント
2.3.5 インストールずみのCentOSXen を追加するには
2.3.6 パッケージによるインストールの問題点
2.4 Debian GNU/Linux 5.0 標準パッケージによるXen 環境の構築
2.4.1 インストールの準備
2.4.2 Xen パッケージの導入
2.5 openSUSE 11.1 での仮想化環境の構築
2.5.1 openSUSE 11.1 の位置づけと仮想化機能
2.5.2 Xen パッケージをインストールする
2.5.3 Xen を有効化する
2.5.4 openSUSE 11.1 におけるXen 利用時のヒント

3 仮想マシン環境の構築
3.1 準仮想化ドメインの導入
3.1.1 準仮想化ドメインの導入方法
3.1.2 virt-install による仮想環境の導入
3.1.3 yum を活用した仮想環境の導入
3.1.4 DebianXen Tools を使った導入
3.1.5 xm コマンドの基本的な利用方法
3.2 HVM(完全仮想化)ドメインの導入
3.2.1 HVM(Hardware Virtual Machine)とは
3.2.2 Windows オペレーティングシステムのインストール
3.2.3 Linux オペレーティングシステムのインストール
3.2.4 仮想マシンマネージャを使わないHVMドメインの構築
3.3 HVMドメインでのPVドライバの活用
3.3.1 PVドライバの概要
3.3.2 GPL Windows PVドライバの利用
3.3.3 Linux におけるPVドライバの利用
3.4 virt-manager の利用
3.4.1 virt-manager仮想マシンマネージャ)とは
3.4.2 virt-manager の起動およびハイパーバイザへの接続
3.4.3 仮想マシンの起動とコンソールの表示
3.4.4 仮想コンソール操作の注意点
3.4.5 仮想マシンのステータスを確認する
3.4.6 仮想マシンの一時停止/シャットダウン
3.4.7 virt-manager のメリット

4 CentOS/Debian でのXen のビルド
4.1 ソースコードビルドの準備
4.1.1 ビルドのメリット/デメリット
4.1.2 ソースコードとは
4.1.3 下準備
4.2 ソースからのXen のビルド
4.2.1 Xen のソースの入手
4.2.2 必要パッケージのインストール
4.2.3 インストールの開始
4.2.4 ハイパーバイザ、Xen 対応カーネルの導入
4.2.5 動作確認

5 ストレージの管理
5.1 ストレージ管理の基礎知識
5.1.1 ストレージとは?
5.1.2 Xen のストレージの仕組み
5.1.3 仮想ブロックデバイスの仕組み
5.1.4 Xenデバイスドライバ
5.1.5 Xen から扱えるブロックデバイスの例
5.1.6 Domain-U サンプルの紹介
5.2 ローカルファイルを利用したストレージ
5.2.1 イメージファイルを利用する
5.2.2 イメージファイルの作成方法
5.2.3 イメージファイルをマウントするには
5.2.4 Domain-U イメージの展開と設定
5.2.5 イメージのアンマウント
5.2.6 ドメイン定義ファイルを作成する
5.2.7 Domain-U を起動する
5.2.8 動作確認
5.2.9 Domain-U を停止する
5.3 パーティションを単体でDomain-U から使用する
5.3.1 ハードディスク上にパーティションを作成する
5.3.2 パーティションファイルシステムスワップ領域を作成する
5.3.3 パーティションをマウントする
5.3.4 Domain-U イメージの展開と設定
5.3.5 パーティションのアンマウント
5.3.6 Domain-U 定義ファイルを作成する
5.3.7 Domain-U を起動する
5.4 ハードディスク全体をDomain-U から使用する
5.4.1 パーティションテーブルを含むイメージを仮想ブロックデバイスに割り当てた場合の動作
5.4.2 カーネル、initrd の抽出
5.4.3 ドメイン定義ファイルを作成する
5.4.4 Domain-U を起動する
5.4.5 ISO イメージを仮想ブロックデバイスとしてマウントする
5.5 論理ボリュームマネージャ(LVM)を併用する
5.5.1 LVMを利用したボリュームの作成方法
5.5.2 論理ボリュームにファイルシステムスワップ領域を作成する
5.5.3 Domain-U イメージの展開と設定
5.5.4 ドメイン定義ファイルを作成する
5.5.5 Domain-U を起動する
5.5.6 さらなるLVM の活用
5.6 NFS によるディスクレスブート
5.6.1 NFS(Network File System)とは
5.6.2 評価構成
5.6.3 NFS を利用するために必要なパッケージ
5.6.4 NFS サーバー側の準備
5.6.5 Domain-U のイメージを準備する
5.6.6 /etc/fstab の編集
5.6.7 ネットワークの設定
5.6.8 Xen サーバー側の準備
5.6.9 ドメイン定義ファイルを作成する
5.6.10 Domain-U を起動する
5.7 iSCSI ターゲットを使用する
5.7.1 iSCSI とは
5.7.2 iSCSI イニシエータのインストール先ドメインを検討する
5.7.3 評価構成
5.7.4 ストレージ設計
5.7.5 iSCSI ターゲットの設定
5.7.6 iSCSI イニシエータの設定
5.7.7 iSCSI ターゲットへのログイン
5.7.8 パーティションの作成
5.7.9 LUN への一意なパス名を調べ、マウントする
5.7.10 Domain-U イメージの展開と設定
5.7.11 ドメイン定義ファイルを作成する
5.7.12 ドメインを起動する
5.7.13 ターゲットからのログアウト
5.8 ストレージ管理のTips
5.8.1 Domain-U とHVMドメインの違い
5.8.2 パフォーマンスを確保するためのヒント
5.8.3 IP ネットワーク上のストレージを利用する場合の注意

6 Xen のネットワーク設定とVNET
6.1 Xen のネットワーク機能〜仮想インターフェイスをベースにしたネットワーク機能〜
6.1.1 2 つのネットワーク設定
6.2.1 ブリッジ経由の接続
6.2 Xen のネットワーク
6.2.2 ブリッジを経由しない接続〜 NAT 接続〜
6.2.3 ドメインの目的を考えて、適切なvif 設定を
6.3 VNET 〜ドメインを仮想ネットワークに置く〜
6.3.1 VNET を使ったネットワークの構成例
6.3.2 VNET が使う技術〜 EtherIP とIPsec
6.4 VNET を導入する〜個別のモジュールコンパイル
6.4.1 VNET の導入方式
6.4.2 VNET を導入する前に〜 Xenコンパイル
6.4.3 VNET をコンパイルする〜 tools/vnet 配下に移動しmake を実行〜
6.4.4 VNET の設定
6.4.5 VNET を使うためのコマンドラインインターフェイス
6.4.6 VNET に見られるセキュリティ機能
6.5 実際にVNET を構成してみよう
6.5.1 VNET を含むXen をインストールする
6.5.2 VNET を作成する〜 vn vnet-create 〜
6.5.3 通信する相手を指定する〜 vn peer-add 〜
6.5.4 ドメインでVNET を利用するための設定をする〜ドメインの定義ファイル編集〜
6.5.5 その他のコマンド実行〜 vnets、bridges、vnifs、peers 〜
6.5.6 VNET はエンタープライズレベルで利用できるか

7 仮想マシンマイグレーション
7.1 Xenマイグレーション概要
7.1.1 仮想マシンマイグレーションとは?
7.1.2 マイグレーションの仕組み
7.1.3 Xenドメインを構成するリソースとマイグレーションの条件
7.2 マイグレーションの設計と実装
7.2.1 Xen サーバーの設計
7.2.2 ストレージの設計
7.2.3 Domain-U の設計
7.3 マイグレーションの準備事項
7.3.1 準備の流れ
7.3.2 Xen サーバーの設定
7.3.3 ネットワーク設定スクリプトの設定
7.4 マイグレーション例その1 〜 NFS ルートファイルシステムを利用したDomain-U 〜
7.4.1 Domain-U のイメージを作成する
7.4.2 マイグレーションを実行
7.5 マイグレーション例その2 〜 iSCSI を利用したDomain-U 〜
7.5.1 Domain-U のイメージを作成する
7.5.2 iSCSI ターゲットへのログイン
7.5.3 マイグレーションの実行
7.6 ライブマイグレーション
7.6.1 通常のマイグレーションとの比較
7.6.2 ライブマイグレーショントレードオフ
7.6.3 ライブマイグレーションを行うには
7.6.4 マイグレーションの際の留意事項
7.6.5 Xen の管理ツール不足による運用の難しさ
7.6.6 バージョン間の非互換性

8 Xen のセキュリティ
8.1 Domain-0 のセキュリティハーデニング
8.1.1 セキュアなDomain-0 を作ろう
8.1.2 ポリシーの決定 〜セキュアなDomain-0 は、まずセキュアな構成から〜
8.1.3 制御のための最小限のものを決定付ける
8.1.4 Debian GNU/Linux の場合〜インストール時に何も選択しない〜
8.1.5 Debian GNU/Linux の場合〜インストール時にサーバーを選択〜
8.1.6 CentOS の環境を最小限にする
8.2 Xen ハイパーバイザのセキュリティ〜 XSM とACM Security 〜
8.2.1 XSM(Xen Security Module)
8.2.2 ACM Security
8.2.3 ACM Security の利用
8.2.4 ポリシーの編集
8.2.5 ポリシー適用の確認
8.2.6 ポリシーの適用で注意すべきこと

9 仮想化小技集
9.1 blktapドライバの利用
9.1.1 blktap の概要
9.1.2 blktapドライバで提供されるサブドライバ
9.1.3 各サブドライバの利用方法
9.1.4 blktapドライバの内部構造
9.1.5 blktapドライバが出力するログメッセージ
9.1.6 blktapドライバの今後
9.2 仮想マシンブートローダPyGRUB/PVGRUB
9.2.1 PyGRUB
9.2.2 PV-GRUB
9.3 仮想ブロックデバイスを用いたHVM ブート
9.3.1 HVMドメインにおけるブートの課題
9.3.2 「起動用仮想ディスク」を別に準備する方法
9.3.3 仮想ディスクを二重認識させる方法
9.4 HVM 用PVドライバのビルド
9.4.1 独自にビルドしたカーネルでPVドライバをビルドする
9.4.2 既製カーネル向けのPVドライバをビルドする
9.5 OpenSolaris 2009.06 をDomain-U としてインストールする
9.5.1 OpenSolaris 2009.06 の特徴
9.5.2 インストールの前準備
9.5.3 OpenSolaris のインストール
9.5.4 ブートファイルシステムの位置を確認する
9.5.5 ドメイン定義ファイルの修正
9.5.6 ドメインの起動確認
9.6 物理環境からXen 環境への移行方法〜 raw ダンプを基調にして〜
9.6.1 物理環境からXen
9.6.2 移行パターン1:実マシン環境からXen 環境へ
9.6.3 移行パターン2:VMware Workstation からXen 環境へ
9.6.4 重要なのは仮想ディスクファイルの抽出
9.7 VMware vCenter Converter を用いてWindows OS をP2V する
9.7.1 VMware vCenter Converter の特徴
9.7.2 VMware vCenter Converter によるP2V 作業の流れ
9.7.3 VMware vCenter Converter のインストール
9.7.4 イメージ作成前のクリーンアップ
9.7.5 VMware vCenter Converter によるイメージ作成
9.7.6 VMDK ファイルをXen で扱える形式に変換する
9.7.7 ドメイン定義ファイルの作成
9.7.8 P2V した仮想マシンを起動する
9.8 libvirt
9.8.1 libvirt とは
9.8.2 libvirt が提供するAPI 実装
9.8.3 コマンドラインツールvirsh
9.8.4 リモートでのlibvirt への接続
9.8.5 libvirt によるプログラミング
9.8.6 libvirt によるプログラミング(応用編)
9.8.7 libvirt の情報源

10 Xenリファレンスガイド
10.1 本リファレンスの目的と注意点
10.2 xm コマンドリファレンス
10.2.1 ヘルプ
10.2.2 仮想マシンの情報の取得
10.2.3 ドメインの制御
10.2.4 メモリの制御
10.2.5 ブロックデバイスの制御
10.2.6 仮想CPU の制御
10.2.7 仮想ネットワークインターフェイスの制御
10.2.8 スケジューラの制御
10.2.9 その他
10.2.10 対話型のxm コマンド操作
10.2.11 ドメインの制御
10.2.11 Xenデバッグ機能
10.2.12 仮想PCIバイスの制御
10.2.13 仮想SCSIバイスの制御
10.2.14 ACM(セキュアハイパーバイザ)の制御
10.3 ドメイン定義パラメータリファレンス
10.3.1 ドメインの基本設定
10.3.2 ドメイン停止時の設定
10.3.3 準仮想化ドメイン
10.3.4 XenLinux カーネル固有の設定
10.3.5 完全仮想化ドメイン
10.3.6 フレームバッファに関する設定
10.3.7 デバイスに関する設定
10.3.8 その他のデバイス管理
10.3.9 セキュアハイパーバイザ
10.3.10 ドメインの制御
10.4 xend-config.sxp パラメータリファレンス

11 Citrix XenServer
11.1 XenServer の入手
11.2 Citrix XenServer のインストール
11.2.1 準備
11.2.2 Citrix XenServer のインストール
11.2.3 XenCenter のインストール
11.2.4 XenCenter からXenServer への接続
11.2.5 XenServer ライセンスのアクティブ化
11.3 Windows ゲストの作成
11.3.1 ISO ライブラリの設定
11.3.2 Windows 仮想マシンの作成
11.3.3 XenServer Tools のインストール
11.4 Linux ゲストOS のインストール
11.4.1 Linux 仮想マシンのサポートデバイス
11.4.2 Debian Etch 4.0 仮想マシンの作成
11.4.3 Debian 4.0 以外のLinux ゲストのインストール
11.4.4 XenServer Tools のインストール
11.4.5 グラフィカルコンソールの設定
11.5 XenServer ストレージ機能
11.5.1 ストレージタイプの機能
11.5.2 ストレージアーキテクチャ
11.5.3 ローカルディスクのセットアップ
11.5.4 仮想ディスクの拡張
11.6 XenServer ネットワーク機能
11.6.1 XenServer ネットワークアーキテクチャ
11.6.2 管理インターフェイス
11.6.3 NIC のボンディング
11.6.4 VLAN
11.7 Citrix Essentials for XenServer の概要
11.7.1 StorageLink
11.7.2 ハイアベイラビリティ(HA)
11.7.3 Provisioning Services
11.7.4 その他の機能