Citrix XenServer® 6.5 管理者ガイド;pdf

Citrix XenServer® 6.5 管理者ガイド
発行 2015/03/26
1.0 版
Citrix XenServer® 6.5 管理者ガイド
Copyright © 2015 Citrix All Rights Reserved.
Version: 6.5
Citrix, Inc.
851 West Cypress Creek Road
Fort Lauderdale, FL 33309
United States of America
免責
このドキュメントは現状有姿のままで提供されます。Citrix, Inc.は、このドキュメントの内容に関し、
商品性および特定目的適合性についての黙示保証を含むが、それに限定することなく、いかなる保証
も行わないものとします。このドキュメントには、技術的に不正確な記述または印字エラーが含まれ
ている可能性があります。Citrix, Inc.は、このドキュメントに含まれている情報を予告なく随時変更
する権利を留保します。このドキュメントおよびこのドキュメントに記載されているソフトウェア
は、Citrix, Inc.およびそのライセンス付与者の機密情報であり、Citrix, Inc.によるライセンス許諾に
基づいて提供されます。
Citrix Systems, Inc.、Citrix ロゴ、Citrix XenServer、および Citrix XenCenter は、米国およびそ
の他の国における Citrix Systems, Inc.の商標です。このドキュメントに記載されているその他のす
べての製品またはサービスは、該当する各社の商標または登録商標です。
商標
Citrix ®
XenServer ®
XenCenter ®
目次
1. ドキュメントの概要 .......................................................... 1
1.1. XenServer へようこそ ...................................................................... 1
1.1.1. XenServer の特長 ................................................................... 1
1.1.2. XenServer の管理 ................................................................... 2
1.2. XenServer のドキュメント ................................................................. 2
2. ユーザーの管理 ............................................................... 3
2.1. Active Directory 認証の使用 .............................................................. 3
2.1.1. Active Directory 認証を設定する ................................................ 4
2.1.2. ユーザー認証 .......................................................................... 8
2.1.3. ユーザーのアクセスを削除する ................................................... 9
2.1.4. Active Directory ドメインからプールを削除する ............................ 9
2.2. 役割ベースのアクセス制御 ................................................................. 9
2.2.1. 役割 ................................................................................... 10
2.2.2. RBAC 役割の定義とアクセス権 ................................................. 11
2.2.3. CLI による RBAC の使用 ......................................................... 16
2.2.3.1. XenServer で使用可能な役割の一覧を表示するには ............. 16
2.2.3.2. 現在のサブジェクトの一覧を表示するには ......................... 17
2.2.3.3. RBAC にサブジェクトを追加するには ............................... 17
2.2.3.4. 新しいサブジェクトに RBAC の役割を割り当てるには .......... 17
2.2.3.5. サブジェクトに割り当てられている RBAC の役割を変更する
には ...................................................................................... 18
2.2.4. 監査 ................................................................................... 18
2.2.4.1. 監査ログの xe CLI コマンド ............................................ 18
2.2.4.2. プールからすべての監査記録を取得するには ...................... 18
2.2.4.3. 特定の日時(ミリ秒単位)以降の監査記録を取得するには ..... 18
2.2.4.4. 特定の日時(分単位)以降の監査記録を取得するには ........... 18
2.2.5. ユーザーに適用される役割の決定プロセス .................................. 19
3. XenServer のホストとリソースプール ............................... 20
3.1. ホストとリソースプールの概要 .......................................................... 20
iii
3.2. リソースプール作成の要件 ............................................................... 20
3.3. リソースプールを作成する ............................................................... 21
3.4. 異種混在型のリソースプールを作成する .............................................. 23
3.5. 共有ストレージを追加する ............................................................... 23
3.6. リソースプールから XenServer ホストを削除する ................................. 24
3.7. リソースプールの XenServer ホストを保守するための準備 ...................... 25
3.8. リソースプールデータのエクスポート ................................................. 25
3.8.1. リソースデータをエクスポートするには ..................................... 27
3.9. 高可用性 ...................................................................................... 27
3.9.1. 高可用性の概要 ..................................................................... 27
3.9.1.1. オーバーコミット ......................................................... 28
3.9.1.2. オーバーコミットの警告 ................................................ 28
3.9.1.3. ホストを隔離する ......................................................... 29
3.9.2. 設定要件 ............................................................................. 29
3.9.3. 再起動優先度 ........................................................................ 30
3.10. XenServer プールの高可用性を有効にする ......................................... 31
3.10.1. CLI を使用して高可用性を有効にする ....................................... 31
3.10.2. CLI を使用して高可用性機能による仮想マシンの保護を無効にする . 32
3.10.3. 到達不能なホストを復元する .................................................. 32
3.10.4. 高可用性が有効なプールでホストをシャットダウンする ............... 32
3.10.5. 高可用性で保護されている仮想マシンをシャットダウンする .......... 32
3.11. ホストの電源投入 ......................................................................... 33
3.11.1. リモートからのホストの電源投入 ............................................ 33
3.11.2. CLI を使用してホストの電源投入を管理する .............................. 33
3.11.2.1. CLI を使用してホスト電源投入を有効にするには ............... 33
3.11.2.2. CLI を使用してホストの電源をリモートから投入するには .... 33
3.11.3. XenServer ホストの電源投入機能のカスタムスクリプトを作成する
34
3.11.3.1. キー/値ペア .............................................................. 34
3.11.3.1.1. host.power_on_mode ...................................... 34
3.11.3.1.2. host.power_on_config ...................................... 34
3.11.3.2. サンプルスクリプト .................................................... 35
iv
4. ネットワーク ................................................................ 36
4.1. サポートされるネットワーク ............................................................. 36
4.2. vSwitch ネットワーク ..................................................................... 36
4.3. XenServer ネットワークの概要 ......................................................... 37
4.3.1. ネットワークオブジェクト ...................................................... 39
4.3.2. ネットワーク ........................................................................ 39
4.3.3. VLAN ................................................................................. 39
4.3.3.1. 管理インターフェイスでの VLAN の使用 ............................ 39
4.3.3.2. 仮想マシンでの VLAN の使用 .......................................... 39
4.3.3.3. ストレージ専用 NIC での VLAN の使用 .............................. 40
4.3.3.4. 管理インターフェイスとゲスト VLAN を単一のホスト NIC に
まとめる ................................................................................ 40
4.3.4. ジャンボフレーム .................................................................. 40
4.3.5. NIC ボンディング .................................................................. 40
4.3.5.1. アクティブ/アクティブボンディング ................................. 43
4.3.5.2. アクティブ/パッシブボンディング ................................... 44
4.3.5.3. LACP ボンディング ....................................................... 45
4.3.5.4. スイッチ設定 ............................................................... 48
4.3.5.4.1. LACP ボンディングのスイッチ構成 .......................... 49
4.3.6. セットアップ後のネットワークの初期設定 .................................. 49
4.3.7. ネットワーク設定の変更 ......................................................... 50
4.3.7.1. network オブジェクトの変更 .......................................... 50
4.3.8. ボンディングの Up Delay の変更 .............................................. 50
4.4. ネットワーク設定を管理する ............................................................. 51
4.4.1. サーバー間のプライベートネットワーク ..................................... 51
4.4.2. スタンドアロンホストでネットワークを作成する .......................... 52
4.4.3. リソースプールでネットワークを作成する .................................. 52
4.4.4. VLAN を作成する .................................................................. 52
4.4.5. スタンドアロンホストで NIC ボンディングを作成する ................... 53
4.4.5.1. NIC ボンディングの作成 ................................................ 53
4.4.5.2. ボンディングの MAC アドレスを制御する .......................... 54
4.4.5.3. NIC ボンディングを元に戻す .......................................... 54
v
4.4.6. リソースプールで NIC ボンディングを作成する ............................ 54
4.4.6.1. 新しいリソースプールに NIC ボンディングを追加する .......... 55
4.4.6.2. 既存のリソースプールに NIC ボンディングを追加する .......... 55
4.4.7. ストレージ専用 NIC を設定する ................................................ 55
4.4.8. SR-IOV 対応の NIC を使用する ................................................ 56
4.4.9. 出力データレートを制御する(QoS) ........................................ 57
4.4.10. ネットワーク設定オプションを変更する ................................... 58
4.4.10.1. ホスト名 .................................................................. 58
4.4.10.2. DNS サーバー ............................................................ 59
4.4.10.3. スタンドアロンホストで IP アドレス設定を変更する ........... 59
4.4.10.4. リソースプールで IP アドレス設定を変更する ................... 59
4.4.10.5. 管理インターフェイス ................................................. 60
4.4.10.6. 管理アクセスを無効にする ............................................ 60
4.4.10.7. 物理 NIC を新規に追加する ........................................... 60
4.4.10.8. スイッチポートロックの使用 ......................................... 61
4.4.10.8.1. 要件 ............................................................... 61
4.4.10.8.2. 備考 ............................................................... 61
4.4.10.8.3. 実装における注意事項 ........................................ 61
4.4.10.8.4. 例 .................................................................. 62
4.4.10.8.5. スイッチポートロック機能のしくみ ....................... 63
4.4.10.8.6. VIF のロックモード ........................................... 63
4.4.10.8.7. スイッチポートロックの設定 ................................ 64
4.4.10.8.8. 仮想マシンが特定のネットワークでトラフィックを送
信したり受信したりできなくする ........................................... 65
4.4.10.8.9. VIF の IP アドレスの制限を解除する ...................... 66
4.4.10.8.10. クラウド環境で VIF のロックモードを簡単に設定す
る ................................................................................... 66
4.4.10.8.11. ネットワーク設定を使用して VIF トラフィックのフ
ィルタを解除する ............................................................... 67
4.5. ネットワークのトラブルシューティング .............................................. 67
4.5.1. ネットワーク障害を診断する ................................................... 67
4.5.2. 緊急時のネットワークリセット ................................................. 68
4.5.2.1. ネットワークリセットの検証 .......................................... 68
vi
4.5.2.2. CLI を使用したネットワークリセット ............................... 69
4.5.2.2.1. プールマスタでのコマンド例 ................................. 70
4.5.2.2.2. プールメンバでのコマンド例 ................................. 70
5. ストレージ ................................................................... 72
5.1. ストレージの概要 ........................................................................... 72
5.1.1. ストレージリポジトリ(SR) ................................................... 72
5.1.2. 仮想ディスクイメージ(VDI) ................................................. 72
5.1.3. 物理ブロックデバイス(PBD) ................................................. 73
5.1.4. 仮想ブロックデバイス(VBD) ................................................ 73
5.1.5. ストレージオブジェクトの相関 ................................................. 73
5.1.6. 仮想ディスクのデータ形式 ...................................................... 73
5.1.6.1. VDI の種類 ................................................................. 74
5.1.6.2. xe CLI を使用して Raw 形式の仮想ディスクを作成する ........ 74
5.1.6.3. VDI の形式を変換する ................................................... 74
5.1.6.4. VHD ベースの VDI ....................................................... 74
5.2. ストレージリポジトリの形式 ............................................................. 75
5.2.1. ローカル LVM ....................................................................... 76
5.2.1.1. LVM のパフォーマンスについての注意事項 ......................... 76
5.2.1.2. ローカル LVM ストレージリポジトリ(lvm)を作成する ....... 76
5.2.2. ローカル EXT3 ..................................................................... 77
5.2.2.1. ローカル EXT3 ストレージリポジトリ(ext)を作成する ...... 77
5.2.3. udev .................................................................................. 77
5.2.4. ISO .................................................................................... 77
5.2.5. 統合された StorageLink(iSL)のストレージリポジトリ ................ 77
5.2.6. ソフトウェア iSCSI のサポート ................................................ 78
5.2.6.1. XenServer ホストでの iSCSI 設定 .................................... 78
5.2.7. ハードウェアホストバスアダプタ(HBA) .................................. 79
5.2.7.1. QLogic iSCSI HBA セットアップの例 ............................... 79
5.2.7.2. HBA ベースの SAS、ファイバチャネル、または iSCSI デバイ
スエントリを削除する ............................................................... 79
5.2.8. 共有 LVM ストレージ ............................................................. 80
vii
5.2.8.1. ソフトウェアイニシエータによる iSCSI 経由の共有 LVM スト
レージリポジトリ(lvmoiscsi)を作成する .................................... 80
5.2.8.2. ファイバチャネル、FCoE、iSCSI HBA または SAS ストレージ
リポジトリ上の共有 LVM(lvmohba)を作成する ........................... 80
5.2.9. NFS VHD ............................................................................ 83
5.2.9.1. 共有 NFS ストレージリポジトリ(nfs)を作成する .............. 84
5.2.10. ハードウェア HBA 上の LVM .................................................. 84
5.3. ストレージ設定 .............................................................................. 85
5.3.1. 新規ストレージリポジトリを作成する ........................................ 85
5.3.2. ストレージリポジトリをプローブする ........................................ 85
5.4. ストレージのマルチパスを有効にする ................................................. 88
5.5. XenServer と IntelliCache ............................................................... 89
5.5.1. IntelliCache の使用 ............................................................... 90
5.5.1.1. インストール時に有効にする .......................................... 90
5.5.1.2. 既存のホストでシンプロビジョニングに変換する ................. 90
5.5.1.3. 仮想マシンの起動設定 ................................................... 92
5.5.1.3.1. 仮想マシンのキャッシュ設定 ................................. 92
5.5.1.4. 実装の詳細とトラブルシューティング ............................... 92
5.6. ストレージ読み取りキャッシュ .......................................................... 93
5.6.1. 有効化と無効化 ..................................................................... 94
5.6.2. 制限事項 ............................................................................. 94
5.6.3. IntelliCache との比較 ............................................................ 94
5.6.4. 読み取りキャッシュサイズを設定するには .................................. 94
5.6.4.1. 現在の dom0 のメモリ割り当てを表示する ........................ 95
5.6.4.2. 実例 .......................................................................... 95
5.6.4.3. XenCenter の表示に関する注意事項 ................................. 96
5.7. ストレージリポジトリ(SR)の管理 ................................................... 97
5.7.1. ストレージリポジトリの削除 ................................................... 97
5.7.2. ストレージリポジトリをイントロデュースする ............................. 97
5.7.3. LUN のライブ拡張 ................................................................. 98
5.7.4. ライブ VDI マイグレーション ................................................... 98
5.7.4.1. 制限事項 .................................................................... 99
viii
5.7.4.2. XenCenter を使用して仮想ディスクを移動するには ............. 99
5.7.5. 停止した仮想マシンの VDI をほかのストレージリポジトリに移行す
る(オフラインマイグレーション) .................................................... 99
5.7.5.1. 仮想マシンのすべての仮想ディスクイメージをほかのストレー
ジリポジトリにコピーする ......................................................... 99
5.7.5.2. 個々の仮想ディスクイメージをほかのストレージリポジトリに
コピーする ............................................................................. 99
5.7.6. ローカルのファイバチャネルストレージリポジトリを共有ストレージ
リポジトリに変換する .................................................................... 100
5.7.7. バッキングアレイ上での破棄操作によるブロックベースストレージの
領域の解放 ................................................................................... 101
5.7.8. スナップショット削除時のディスク領域の自動解放 ...................... 101
5.7.8.1. オフライン結合ツールによるディスク領域の解放 ................ 102
5.7.9. ディスク入出力スケジューラの変更 .......................................... 102
5.7.10. 仮想ディスクの QoS 設定 ..................................................... 103
6. 仮想マシンのメモリ設定 ................................................. 105
6.1. 動的メモリ制御(DMC)とは ........................................................... 105
6.1.1. 動的メモリ範囲 .................................................................... 105
6.1.2. 静的メモリ範囲 .................................................................... 105
6.1.3. 動的メモリ制御の動作 ........................................................... 106
6.1.4. 動的メモリ制御のしくみ ........................................................ 106
6.1.5. 動的メモリ制御の制限事項 ..................................................... 107
6.2. xe CLI コマンドを使用するには ........................................................ 107
6.2.1. 仮想マシンの静的メモリプロパティを表示する ............................ 107
6.2.2. 仮想マシンの動的メモリプロパティを表示する ............................ 107
6.2.3. メモリプロパティを変更する .................................................. 108
6.2.4. 個々のメモリプロパティを変更する .......................................... 108
6.3. アップグレードの問題 .................................................................... 109
7. XenServer のメモリ使用 ............................................... 110
7.1. コントロールドメインのメモリ ......................................................... 110
7.1.1. コントロールドメインに割り当てられるメモリ量の変更 ................ 110
7.1.2. 仮想マシンで使用できるメモリの確認 ....................................... 111
ix
8. 障害回復とバックアップ ................................................. 112
8.1. XenServer の障害回復のしくみ ........................................................ 112
8.2. 障害回復のインフラストラクチャ要件 ................................................ 113
8.3. 障害回復についての注意事項 ............................................................ 114
8.3.1. 障害発生前の手順 ................................................................. 114
8.3.2. 障害発生後の手順 ................................................................. 114
8.3.3. 回復後の手順 ....................................................................... 114
8.4. XenCenter での障害回復の有効化 ..................................................... 114
8.5. 障害発生時の仮想マシンと vApp の回復(フェイルオーバー) ................. 115
8.6. プライマリサイト復帰後の仮想マシンと vApp の復元(フェイルバック) .. 116
8.7. フェイルオーバーテスト ................................................................. 117
8.8. vApp .......................................................................................... 118
8.8.1. XenCenter の[vApp の管理]ダイアログボックスの使用 ............. 119
8.9. XenServer ホストと仮想マシンのバックアップと復元 ........................... 119
8.9.1. 仮想マシンメタデータのバックアップ ....................................... 120
8.9.1.1. 単一ホスト環境でのバックアップ .................................... 120
8.9.1.2. プール環境でのバックアップ ......................................... 121
8.9.2. XenServer ホストのバックアップ ............................................ 121
8.9.3. 仮想マシンのバックアップ ..................................................... 123
8.10. 仮想マシンスナップショット .......................................................... 123
8.10.1. 標準スナップショット ......................................................... 123
8.10.2. 休止スナップショット ......................................................... 123
8.10.3. メモリを含んだスナップショット ........................................... 124
8.10.4. 仮想マシンスナップショットの作成 ........................................ 124
8.10.5. メモリを含んだスナップショットの作成 .................................. 124
8.10.6. XenServer プールのすべてのスナップショットの一覧を表示するに
は .............................................................................................. 125
8.10.7. 特定の仮想マシンから作成したスナップショットの一覧を表示する
には ........................................................................................... 125
8.10.8. 仮想マシンをスナップショット作成時の状態に戻すには .............. 126
8.10.8.1. スナップショットの削除 ............................................. 126
8.10.9. スナップショットテンプレート .............................................. 127
x
8.10.9.1. スナップショットからテンプレートを作成する ................. 127
8.10.9.2. スナップショットをテンプレートとしてエクスポートする .. 127
8.10.9.3. 休止スナップショットの注意事項 .................................. 128
8.11. マシン障害に対処する .................................................................. 129
8.11.1. メンバホストの障害 ............................................................ 129
8.11.2. プールマスタの障害 ............................................................ 130
8.11.3. リソースプールの障害 ......................................................... 130
8.11.4. 設定エラーによる障害に対処する ........................................... 131
8.11.5. 物理マシンの障害 ............................................................... 131
9. XenServer の監視と管理 ............................................... 133
9.1. XenServer パフォーマンスの監視 ..................................................... 133
9.1.1. ホストのパフォーマンス測定値 ................................................ 133
9.1.2. 仮想マシンのパフォーマンス測定値 .......................................... 137
9.1.3. XenCenter での測定値の解析と視覚化 ...................................... 140
9.1.3.1. パフォーマンスグラフの設定 ......................................... 140
9.1.3.1.1. グラフの種類の設定 ............................................ 140
9.1.4. パフォーマンス測定値の設定 .................................................. 141
9.1.5. ラウンドロビンデータベースの使用 .......................................... 142
9.1.5.1. HTTP を使用した RRD の解析 ........................................ 142
9.1.5.2. rrd2csv を使用した RRD の解析 ..................................... 143
9.2. アラート ..................................................................................... 143
9.2.1. XenCenter でのアラートの表示 ............................................... 143
9.2.1.1. XenCenter のパフォーマンスアラート ............................. 143
9.2.1.1.1. アラートを表示するには ...................................... 144
9.2.1.1.2. パフォーマンスアラートを設定するには .................. 144
9.2.1.2. XenCenter のシステムアラート ...................................... 145
9.2.1.3. XenCenter のソフトウェアアップデートアラート ............... 146
9.2.2. xe CLI によるパフォーマンスアラートの設定 ............................. 147
9.2.2.1. 一般的な設定例 ........................................................... 149
9.3. メールアラートを設定する .............................................................. 149
9.3.1. XenCenter を使用してアラートメールを有効にする ..................... 149
xi
9.3.2. xe CLI を使用してアラートメールを有効にする ........................... 149
9.3.2.1. 認証が必要な SMTP サーバーでアラートメールを送信する .... 150
9.3.2.1.1. そのほかの設定オプション ................................... 150
9.4. カスタムフィールドとタグ .............................................................. 151
9.5. カスタム検索 ................................................................................ 152
9.6. 物理バスアダプタのスループットを確認する ....................................... 152
10. トラブルシューティング ............................................... 153
10.1. サポート .................................................................................... 153
10.1.1. XenServer ホストのログ ...................................................... 153
10.1.1.1. ホストのログメッセージを中央サーバーに送信する ........... 154
10.1.2. XenCenter ログ ................................................................. 154
10.1.3. XenCenter と XenServer ホスト間の接続のトラブルシューティン
グ .............................................................................................. 154
A. コマンドラインインターフェイス ...................................... 156
A.1. 基本構文 ..................................................................................... 156
A.2. 特殊文字と構文 ............................................................................. 157
A.3. コマンドの種類 ............................................................................. 158
A.3.1. パラメータの種類 ................................................................. 158
A.3.2. 低レベルパラメータコマンド .................................................. 159
A.3.3. 低レベルリストコマンド ........................................................ 160
A.4. xe コマンドリファレンス ................................................................ 160
A.4.1. アプライアンスコマンド ........................................................ 161
A.4.1.1. appliance オブジェクトのパラメータ .............................. 161
A.4.1.2. appliance-assert-can-be-recovered .............................. 161
A.4.1.3. appliance-create ....................................................... 161
A.4.1.4. appliance-destroy ...................................................... 161
A.4.1.5. appliance-recover ...................................................... 161
A.4.1.6. appliance-shutdown .................................................. 161
A.4.1.7. appliance-start .......................................................... 162
A.4.2. 監査コマンド ...................................................................... 162
A.4.2.1. audit-log-get コマンドのパラメータ ............................... 162
xii
A.4.2.2. audit-log-get ............................................................ 162
A.4.3. ボンディングコマンド ........................................................... 162
A.4.3.1. bond オブジェクトのパラメータ .................................... 162
A.4.3.2. bond-create .............................................................. 163
A.4.3.3. bond-destroy ............................................................ 163
A.4.4. CD コマンド ....................................................................... 163
A.4.4.1. cd オブジェクトのパラメータ ........................................ 163
A.4.4.2. cd-list ...................................................................... 164
A.4.5. コンソールコマンド .............................................................. 165
A.4.5.1. console オブジェクトのパラメータ ................................. 165
A.4.6. 障害回復(DR)コマンド ....................................................... 165
A.4.6.1. drtask-create ............................................................ 165
A.4.6.2. drtask-destroy .......................................................... 166
A.4.6.3. vm-assert-can-be-recovered ....................................... 166
A.4.6.4. appliance-assert-can-be-recovered .............................. 166
A.4.6.5. appliance-recover ...................................................... 166
A.4.6.6. vm-recover .............................................................. 166
A.4.6.7. sr-enable-database-replication .................................... 166
A.4.6.8. sr-disable-database-replication ................................... 166
A.4.6.9. 使用例 ...................................................................... 166
A.4.7. イベントコマンド ................................................................. 167
A.4.7.1. event オブジェクトのクラス ......................................... 167
A.4.7.2. event-wait ................................................................ 167
A.4.8. GPU コマンド ...................................................................... 168
A.4.8.1. pgpu オブジェクトのパラメータ .................................... 168
A.4.8.2. 物理 GPU の操作 ......................................................... 169
A.4.8.2.1. pgpu-param-set ............................................... 169
A.4.8.2.2. pgpu-param-get-uuid ....................................... 169
A.4.8.2.3. pgpu-param-set-uuid ........................................ 169
A.4.8.2.4. pgpu-param-add-uuid ....................................... 169
A.4.8.3. gpu-group オブジェクトのパラメータ ............................. 169
xiii
A.4.8.3.1. GPU グループの操作 ........................................... 170
A.4.8.4. vgpu オブジェクトのパラメータ ..................................... 171
A.4.8.5. 仮想 GPU(vGPU)のパラメーター ................................. 171
A.4.8.6. 仮想 GPU の操作 ......................................................... 172
A.4.8.6.1. vgpu-create ..................................................... 172
A.4.8.6.2. vgpu-destroy ................................................... 172
A.4.8.6.3. 仮想 GPU を持つ仮想マシンの VNC の無効化 ............ 172
A.4.9. ホストコマンド .................................................................... 172
A.4.9.1. host オブジェクトセレクタ ........................................... 173
A.4.9.2. host オブジェクトのパラメータ ..................................... 173
A.4.9.3. host-backup ............................................................. 176
A.4.9.4. host-bugreport-upload ............................................... 176
A.4.9.5. host-crashdump-destroy ............................................ 176
A.4.9.6. host-crashdump-upload ............................................. 177
A.4.9.7. host-disable .............................................................. 177
A.4.9.8. host-dmesg .............................................................. 177
A.4.9.9. host-emergency-management-reconfigure ................... 177
A.4.9.10. host-enable ............................................................ 177
A.4.9.11. host-evacuate ......................................................... 177
A.4.9.12. host-forget ............................................................. 178
A.4.9.13. host-get-system-status ............................................ 178
A.4.9.14. host-get-system-status-capabilities ............................ 178
A.4.9.15. host-is-in-emergency-mode ...................................... 179
A.4.9.16. host-apply-edition ................................................... 180
A.4.9.17. host-license-add ...................................................... 180
A.4.9.18. host-license-view ..................................................... 180
A.4.9.19. host-logs-download ................................................. 180
A.4.9.20. host-management-disable ........................................ 180
A.4.9.21. host-management-reconfigure .................................. 181
A.4.9.22. host-power-on ........................................................ 181
A.4.9.23. host-get-cpu-features .............................................. 181
xiv
A.4.9.24. host-set-cpu-features ............................................... 181
A.4.9.25. host-set-power-on ................................................... 181
A.4.9.26. host-reboot ............................................................ 181
A.4.9.27. host-restore ............................................................ 182
A.4.9.28. host-set-hostname-live ............................................ 182
A.4.9.29. host-shutdown ........................................................ 182
A.4.9.30. host-syslog-reconfigure ............................................ 183
A.4.9.31. host-data-source-list ................................................ 183
A.4.9.32. host-data-source-record ........................................... 183
A.4.9.33. host-data-source-forget ........................................... 183
A.4.9.34. host-data-source-query ............................................ 184
A.4.10. ログコマンド ..................................................................... 184
A.4.10.1. log-set-output ......................................................... 184
A.4.11. メッセージコマンド ............................................................ 184
A.4.11.1. message オブジェクトのパラメータ ............................. 184
A.4.11.2. message-create ...................................................... 185
A.4.11.3. message-destroy ..................................................... 185
A.4.11.4. message-list ........................................................... 185
A.4.12. ネットワークコマンド ......................................................... 185
A.4.12.1. network オブジェクトのパラメータ .............................. 185
A.4.12.2. network-create ........................................................ 187
A.4.12.3. network-destroy ...................................................... 187
A.4.13. パッチ(アップデート)コマンド ........................................... 187
A.4.13.1. patch オブジェクトのパラメータ .................................. 187
A.4.13.2. patch-apply ............................................................ 187
A.4.13.3. patch-pool-clean ..................................................... 187
A.4.13.4. patch-pool-apply ..................................................... 188
A.4.13.5. patch-precheck ....................................................... 188
A.4.13.6. patch-upload .......................................................... 188
A.4.14. PBD(物理ブロックデバイス)コマンド .................................. 188
A.4.14.1. pbd オブジェクトのパラメータ .................................... 188
xv
A.4.14.2. pbd-create .............................................................. 189
A.4.14.3. pbd-destroy ............................................................ 189
A.4.14.4. pbd-plug ................................................................ 189
A.4.14.5. pbd-unplug ............................................................. 189
A.4.15. PIF(物理ネットワークインターフェイス)コマンド .................. 189
A.4.15.1. pif オブジェクトのパラメータ ...................................... 189
A.4.15.2. pif-forget ................................................................ 192
A.4.15.3. pif-introduce ........................................................... 192
A.4.15.4. pif-plug .................................................................. 192
A.4.15.5. pif-reconfigure-ip ..................................................... 192
A.4.15.6. pif-scan .................................................................. 193
A.4.15.7. pif-unplug ............................................................... 193
A.4.16. プールコマンド .................................................................. 193
A.4.16.1. pool オブジェクトのパラメータ .................................... 193
A.4.16.2. pool-designate-new-master ...................................... 194
A.4.16.3. pool-dump-database ................................................ 195
A.4.16.4. pool-eject ............................................................... 195
A.4.16.5. pool-emergency-reset-master ................................... 195
A.4.16.6. pool-emergency-transition-to-master ......................... 195
A.4.16.7. pool-ha-enable ........................................................ 195
A.4.16.8. pool-ha-disable ....................................................... 195
A.4.16.9. pool-join ................................................................ 195
A.4.16.10. pool-recover-slaves ................................................ 195
A.4.16.11. pool-restore-database ............................................ 196
A.4.16.12. pool-sync-database ................................................ 196
A.4.17. ストレージマネージャコマンド .............................................. 196
A.4.17.1. sm オブジェクトのパラメータ ..................................... 196
A.4.18. ストレージリポジトリ(SR)コマンド .................................... 197
A.4.18.1. sr オブジェクトのパラメータ ....................................... 197
A.4.18.2. sr-create ................................................................ 198
A.4.18.3. sr-destroy ............................................................... 198
xvi
A.4.18.4. sr-enable-database-replication .................................. 198
A.4.18.5. sr-disable-database-replication .................................. 198
A.4.18.6. sr-forget ................................................................. 198
A.4.18.7. sr-introduce ............................................................ 199
A.4.18.8. sr-probe ................................................................. 199
A.4.18.9. sr-scan ................................................................... 199
A.4.19. タスクコマンド .................................................................. 199
A.4.19.1. task オブジェクトのパラメータ .................................... 199
A.4.19.2. task-cancel ............................................................. 200
A.4.20. テンプレートコマンド ......................................................... 200
A.4.20.1. template オブジェクトのパラメータ ............................. 201
A.4.20.2. template-export ...................................................... 208
A.4.21. アップデートコマンド ......................................................... 208
A.4.21.1. update-upload ........................................................ 208
A.4.22. ユーザーコマンド ............................................................... 208
A.4.22.1. user-password-change ............................................. 208
A.4.23. VBD(仮想ブロックデバイス)コマンド .................................. 208
A.4.23.1. vbd オブジェクトのパラメータ ..................................... 209
A.4.23.2. vbd-create .............................................................. 210
A.4.23.3. vbd-destroy ............................................................ 210
A.4.23.4. vbd-eject ................................................................ 211
A.4.23.5. vbd-insert .............................................................. 211
A.4.23.6. vbd-plug ................................................................ 211
A.4.23.7. vbd-unplug ............................................................. 211
A.4.24. VDI(仮想ディスクイメージ)コマンド ................................... 211
A.4.24.1. vdi オブジェクトのパラメータ ...................................... 211
A.4.24.2. vdi-clone ................................................................ 213
A.4.24.3. vdi-copy ................................................................. 213
A.4.24.4. vdi-create ............................................................... 213
A.4.24.5. vdi-destroy ............................................................. 214
A.4.24.6. vdi-forget ............................................................... 214
xvii
A.4.24.7. vdi-import .............................................................. 214
A.4.24.8. vdi-introduce .......................................................... 214
A.4.24.9. vdi-pool-migrate ...................................................... 214
A.4.24.10. vdi-resize .............................................................. 215
A.4.24.11. vdi-snapshot ......................................................... 215
A.4.24.12. vdi-unlock ............................................................. 215
A.4.25. VIF(仮想ネットワークインターフェイス)コマンド .................. 215
A.4.25.1. vif オブジェクトのパラメータ ...................................... 215
A.4.25.2. vif-create ................................................................ 217
A.4.25.3. vif-destroy .............................................................. 218
A.4.25.4. vif-plug .................................................................. 218
A.4.25.5. vif-unplug ............................................................... 218
A.4.26. VLAN(仮想ネットワーク)コマンド ...................................... 218
A.4.26.1. vlan-create ............................................................. 218
A.4.26.2. pool-vlan-create ...................................................... 218
A.4.26.3. vlan-destroy ........................................................... 218
A.4.27. 仮想マシンコマンド ............................................................ 218
A.4.27.1. vm オブジェクトセレクタ ........................................... 218
A.4.27.2. vm オブジェクトのパラメータ ..................................... 219
A.4.27.3. vm-assert-can-be-recovered ..................................... 226
A.4.27.4. vm-cd-add .............................................................. 226
A.4.27.5. vm-cd-eject ............................................................ 226
A.4.27.6. vm-cd-insert ........................................................... 226
A.4.27.7. vm-cd-list ............................................................... 227
A.4.27.8. vm-cd-remove ........................................................ 227
A.4.27.9. vm-clone ................................................................ 227
A.4.27.10. vm-compute-maximum-memory ............................. 227
A.4.27.11. vm-copy ............................................................... 228
A.4.27.12. vm-crashdump-list ................................................. 228
A.4.27.13. vm-data-source-list ................................................ 228
A.4.27.14. vm-data-source-record ........................................... 229
xviii
A.4.27.15. vm-data-source-forget ........................................... 229
A.4.27.16. vm-data-source-query ........................................... 229
A.4.27.17. vm-destroy ........................................................... 229
A.4.27.18. vm-disk-add .......................................................... 229
A.4.27.19. vm-disk-list ........................................................... 230
A.4.27.20. vm-disk-remove .................................................... 230
A.4.27.21. vm-export ............................................................ 230
A.4.27.22. vm-import ............................................................ 230
A.4.27.23. vm-install ............................................................. 231
A.4.27.24. vm-memory-shadow-multiplier-set .......................... 231
A.4.27.25. vm-migrate ........................................................... 232
A.4.27.26. vm-reboot ............................................................ 233
A.4.27.27. vm-recover ........................................................... 233
A.4.27.28. vm-reset-powerstate .............................................. 233
A.4.27.29. vm-resume ........................................................... 233
A.4.27.30. vm-shutdown ........................................................ 233
A.4.27.31. vm-start ............................................................... 234
A.4.27.32. vm-suspend .......................................................... 234
A.4.27.33. vm-uninstall .......................................................... 234
A.4.27.34. vm-vcpu-hotplug ................................................... 234
A.4.27.35. vm-vif-list ............................................................. 234
xix
第 1 章 ドキュメントの概要
本書は、Citrix の包括的なサーバー仮想化ソリューションである XenServer の管理者ガイドです。本
書では、XenServer 環境の設定方法について説明します。特に、ストレージ、ネットワーク、および
リソースプールの設定と、xe コマンドラインインターフェイス(CLI)を使用した XenServer ホスト
の管理方法などについて詳しく説明します。
このガイドでは、以下のトピックについて説明します。
• Active Directory でのユーザー管理と役割ベースのアクセス制御
• リソースプールの作成と高可用性のセットアップ
• ストレージリポジトリの設定と管理
• 動的メモリ制御による仮想マシンメモリの設定
• XenServer ホストのコントロールドメインのメモリ設定
• ネットワークの設定
• 障害回復機能とデータのバックアップによる仮想マシンの回復
• XenServer のパフォーマンス測定値の監視とアラートの設定
• XenServer のトラブルシューティング
• XenServer xe コマンドラインインターフェイスの使用
1.1. XenServer へようこそ
XenServer は、Citrix の包括的なサーバー仮想化ソリューションです。XenServer のパッケージに
は、ネイティブに近いパフォーマンスを提供するオープンソース準仮想化ハイパーバイザー Xen 上で
動作する、仮想 x86 コンピュータの配備および管理に必要なすべてのリソースが含まれています。
XenServer は、Windows および Linux ベースの仮想サーバー用に最適化されています。
XenServer は何らかのオペレーティングシステム上で動作するのではなく、サーバーのハードウェア
上で直接動作します。このため、システムリソースが効率的に使用され、高いスケーラビリティが提
供されます。XenServer は、物理マシンの各要素(ハードドライブ、リソース、ポートなど)を抽象
化して、そのマシン上で動作する仮想マシンにそれらの要素を割り当てることで機能します。
仮想マシン(VM:Virtual Machine)は、すべての要素がソフトウェアで構成されたコンピュータを
指し、物理コンピュータと同様にオペレーティングシステムやアプリケーションを実行できます。各
仮想マシンは仮想的な(ソフトウェアベースの)CPU、RAM、ハードディスク、およびネットワーク
インターフェイスカード(NIC)を持ち、物理コンピュータと同じように動作します。
XenServer では、仮想マシンの作成、ディスクスナップショットの作成、および仮想マシンワークロ
ードの管理を行えます。XenServer の主要な機能の一覧については、www.citrix.com/xenserver を
参照してください。
1.1.1. XenServer の特長
コストの削減
• 物理サーバー上に複数の仮想マシンを集約できます。
• 管理すべきディスクイメージの数を削減できます。
• 既存のネットワークおよびストレージインフラストラクチャを容易に統合できます。
フレキシビリティの向上
• XenMotion を使用して、実行中の仮想マシンを XenServer ホスト間で移行(ライブマイグレーシ
ョン)して、ダウンタイムのない保守作業を行えます。
1
• 高可用性機能を使用して、XenServer ホストの障害発生時に、そのホスト上の仮想マシンをほかの
ホスト上で再起動するためのポリシーを設定できます。
• 幅広い仮想インフラストラクチャに対応する、汎用性の高い仮想マシンイメージを作成できます。
1.1.2. XenServer の管理
XenServer を管理するためのツールとして、XenCenter と XenServer コマンドラインインターフェ
イス(CLI)の 2 つが用意されています。
XenCenter は、Windows ベースのグラフィックユーザーインターフェイスです。Windows デスク
トップマシン上で XenCenter を実行して、XenServer ホスト、リソースプール、および共有ストレ
ージを視覚的に管理し、仮想マシンを展開、管理、および監視できます。
XenCenter には、ユーザーが表示しているウィンドウやダイアログボックス、および実行しようとし
ている操作に応じて適切な支援を提供する、状況依存のオンラインヘルプが組み込まれています。
XenServer コマンドラインインターフェイス(CLI)では、Linux ベースの xe コマンドを実行して
XenServer を管理できます。
1.2. XenServer のドキュメント
このリリースには、以下の XenServer ドキュメントが付属しています。
•『リリースノート』では、このリリースで確認されている既知の問題について説明しています。
•『XenServer クイックスタートガイド』では、新規ユーザーを対象に XenServer 環境の概要や各コ
ンポーネントについて説明しています。また、XenServer、およびその管理コンソールである
XenCenter を正しく実行するためのインストール手順と基本設定についても説明します。このガ
イドでは、XenServer のインストールの後、Windows 仮想マシン、仮想マシンテンプレート、お
よびリソースプールを作成します。さらに、基本的な管理タスクや、共有ストレージ、仮想マシン
スナップショット、および XenMotion のライブマイグレーションなど、より高度な機能についても
説明します。
•『XenServer インストールガイド』では、XenServer および XenCenter のインストール、設定、お
よび初期操作について説明しています。
•『XenServer 仮想マシンユーザーガイド』では、XenServer ホストに Linux および Windows の仮
想マシンをインストールする方法について説明しています。このガイドでは、インストールメディ
ア、XenServer に付属の仮想マシンテンプレート、および既存の物理マシン(P2V)から新しい仮
想マシンを作成したり、ディスクイメージをインポートしたり、仮想アプライアンスをインポート
およびエクスポートしたりします。
•『XenServer 管理者ガイド』では、ストレージ、ネットワーク、およびリソースプールのセットア
ップなど、XenServer 環境の設定方法について詳しく説明しています。また、xe コマンドライン
インターフェイス(CLI)を使用した XenServer ホストの管理方法についても説明します。
•『vSwitch Controller User's Guide』(英文)は、XenServer で vSwitch およびそのコントローラ
を使用する方法について説明しています。
•『Supplemental Packs and the DDK』
(英文)では、XenServer の機能を拡張したりカスタマイズ
したりするための XenServer Driver Development Kit について説明しています。
•『XenServer ソフトウェア開発キットガイド』では、XenServer SDK について概説しています。こ
の開発キットには、XenServer ホストと相互作用するアプリケーションの作成方法の実例を示した
コードサンプルが含まれています。
•『XenAPI Specification』(英文)は、プログラマのための XenServer API リファレンスガイドで
す。
このほかの情報については、Citrix Knowledge Center を参照してください。
2
第 2 章 ユーザーの管理
XenServer では、ユーザー、グループ、役割、および権限を定義することで、ホストやリソースプー
ルにアクセスできるユーザーや実行可能な操作を制御できます。
XenServer の初回インストール時に、1 つの管理者ユーザーアカウントが自動的に追加されます。こ
のアカウントはローカルスーパーユーザー(LSU)または root と呼ばれ、その XenServer コンピュ
ータによりローカルに認証されるものです。
ローカルスーパーユーザー(root)は特別なシステム管理用アカウントであり、すべての権限および
アクセス許可を持ちます。ローカルスーパーユーザーは、XenServer をインストールするときのデフ
ォルトのアカウントです。このアカウントは XenServer により認証され、外部の認証サービスは使用
されません。このため、外部の認証サービスに障害が生じた場合でも、ローカルスーパーユーザーと
してログインすればシステムを管理できます。ローカルスーパーユーザーは、SSH を使用して物理
XenServer ホストに常にアクセスできます。
ほかのユーザーを追加するには、XenCenter の[ユーザー]タブまたは CLI を使用して Active
Directory アカウントを追加します。Active Directory を使用しない環境では、ローカルスーバーユ
ーザーのみを使用します。
注:
XenServer で新しく作成したユーザーには、デフォルトで RBAC 役割が割り当てら
れません。このため、ほかの管理者により役割が割り当てられるまで、これらのユ
ーザーは XenServer プールにアクセスできません。
これらのアクセス許可は、役割として付与されます。詳しくは、2.1. 「Active Directory 認証の使
用」を参照してください。
2.1. Active Directory 認証の使用
XenServer ホストやプールに対して複数のユーザーアカウントを使用するには、Active Directory ユ
ーザーアカウントで認証する必要があります。これにより、リソースプール内の XenServer に
Windows ドメインの資格情報でログインできるようになります。
ユーザーアカウントに基づいてさまざまなアクセスレベルを設定するには、Active Directory 認証を
有効にして、ユーザーアカウントを追加し、それらのアカウントに役割を割り当てます。
Active Directory アカウントを持つ管理者は、xe CLI を(適切な-u および-pw 引数を指定して)実行
したり XenCenter を使用したりしてホストに接続できます。認証は、リソースプールごとに行われま
す。
アクセスは、サブジェクトを使用して制御されます。XenServer のサブジェクトは、ディレクトリサ
ーバー上のエンティティ(ユーザーまたはグループ)にマップされます。外部認証を有効にすると、
セッションを作成するときに使用された資格情報がまずローカルルートの資格情報と照合され(ディ
レクトリサーバーが使用不可の場合)、次にサブジェクトリストと照合されます。アクセスを許可する
には、そのユーザーまたはグループのサブジェクトエントリを作成する必要があります。これは、
XenCenter または xe CLI で実行できます。
Active Directory やユーザーアカウントに関する表記が、XenCenter と CLI で異なる点に注意してく
ださい。
3
XenCenter での表記
XenServer CLI での表記
ユーザー
サブジェクト
ユーザーの追加
サブジェクトの追加
XenServer 環境での Active Directory 認証を理解する
XenServer は Linux ベースのシステムですが、XenServer ユーザーアカウントとして Active
Directory アカウントを使用することができます。このため、Active Directory 資格情報が Active
Directory ドメインコントローラに渡されます。
XenServer に Active Directory のユーザーまたはグループアカウントを追加すると、これらのアカウ
ントは XenServer のサブジェクトになります。サブジェクトは、XenCenter ではユーザーとして表
記されます。サブジェクトが XenServer に登録されると、ユーザー/グループがログイン時に Active
Directory で認証されます。ドメイン名でユーザー名を修飾する必要はありません。
注:
ユーザー名を修飾しない場合(つまり「mydomain\myuser」または
「[email protected]」形式を使用しない場合)、XenCenter では、デフォル
トで現在の Active Directory ドメインユーザーでのログインが試行されます。た
だし、ローカルスーバーユーザーでのログインは、常にローカルでの認証(つまり
XenCenter ホスト上での認証)が試行されます。
外部認証プロセスは、以下のように機能します。
1. XenServer ホストに接続するときに提供された資格情報が Active Directory ドメインコントロー
ラに渡され、認証が要求されます。
2. Active Directory ドメインコントローラが、その資格情報を確認します。資格情報が無効な場合
は、ここで認証に失敗します。
3. 資格情報が有効な場合は、Active Directory ドメインコントローラに照会され、その資格情報に関
連付けられているサブジェクト識別子およびグループメンバシップが取得されます。
4. 取得したサブジェクト識別子が XenServer に格納されているものと一致した場合は、認証が正し
く完了します。
ドメインに XenServer を追加すると、そのリソースプールでの Active Directory 認証が有効になり
ます。これにより、そのドメイン(および信頼関係のあるドメイン)のユーザーだけがリソースプー
ルに接続できるようになります。
注:
DHCP が設定されたネットワーク PIF の DNS 設定を手作業で更新することはサポ
ートされません。これにより、Active Directory の統合に問題が生じ、ユーザー認
証に失敗することがあります。
2.1.1. Active Directory 認証を設定する
XenServer では、Windows Server 2003 またはそれ以降の Active Directory サーバーがサポートさ
れます。
XenServer ホストで Active Directory 認証を行うには、(相互運用性が有効な)Active Directory サ
ーバーとその XenServer ホストが同じ DNS サーバーを使用している必要があります(Active
Directory サーバーと DNS サーバーが同じマシンである場合もあります)。DHCP を使って IP アド
レスと DNS サーバーのリストを XenServer ホストに提供するか、PIF オブジェクトに値を設定する
か、インストーラを使って Active Directory 認証を設定します。
4
DHCP を有効にしてホスト名をブロードキャストすることをお勧めします。特に、localhost または
linux というホスト名をホストに割り当てないでください。
警告:
XenServer 環境内で、一意の XenServer ホスト名を使用する必要があります。
以下の考慮事項があります。
• XenServer では、ホスト名に基づいた Active Directory エントリが Active Directory データベー
スに格納されます。このため、同じホスト名を持つ複数の XenServer ホストを同じ Active
Directory ドメインに追加すると、これらのホストが同じリソースプールに属しているかどうかに
かかわらず、先に追加した XenServer ホストの Active Directory エントリが後から追加したホス
トのもので上書きされます。この結果、先に追加した XenServer ホストでの Active Directory 認
証に失敗します。
異なる Active Directory ドメインに属している XenServer ホストでは、同じホスト名を使用でき
ます。
• Active Directory で比較されるのは UTC 時間であるため、異なるタイムゾーンに属している
XenServer ホストを同じ Active Directory ドメインに追加することができます。ただし、時計が同
期するように、XenServer プールと Active Directory サーバーで同じ NTP サーバーを使用するこ
とを検討します。
• リソースプールで複数の認証方法を使用することはサポートされていません。つまり、プール内の
一部のホストでのみ Active Directory 認証を有効にして、ほかのホストで無効にすることはできま
せん。
• XenServer の Active Directory 統合機能では、Active Directory サーバーとの通信に Kerberos プ
ロトコルが使用されます。このため、Kerberos プロトコルが無効な Active Directory サーバーは
サポートされません。
• Active Directory を使用して正しく外部認証が行われるようにするには、XenServer ホストの時計
が Active Directory サーバーと同期していることが重要です。XenServer を Active Directory ド
メインに追加するときに時計が同期しているかどうかがチェックされ、同期していないと認証に失
敗します。
警告:
ホスト名は、63 文字以下の英数字で指定します。ただし、数字のみのホスト名を使
用しないでください。
Active Directory 認証を有効にしたプールに XenServer ホストを追加すると、そのホストの Active
Directory 設定を確認するメッセージが表示されます。追加するサーバーの資格情報を入力するとき
は、サーバーをドメインに追加するための権限を持つ Active Directory アカウントを使用します。
Active Directory の統合
XenServer からドメインコントローラへのアクセスが遮断されないように、以下のファイアウォール
ポートが送信トラフィック用に開放されていることを確認してください。
ポート
プロトコル
用途
53
UDP/TCP
DNS
88
UDP/TCP
Kerberos 5
123
UDP
NTP
137
UDP
NetBIOS ネームサービス
139
TCP
NetBIOS セッション(SMB)
5
ポート
プロトコル
用途
389
UDP/TCP
LDAP
445
TCP
SMB over TCP
464
UDP/TCP
マシンパスワードの変更
3268
TCP
グローバルカタログ検索
注:
Linux コンピューター上で iptables を使ってファイアウォール規則を確認するに
は、iptables - nL を実行します。
6
注:
XenServer では、Active Directory サーバーでの Active Directory ユーザーの認
証、および Active Directory サーバーとの通信の暗号化に Likewise(Likewise は
Kerberos を使用)が使用されます。
Active Directory 統合でのマシンアカウントパスワードの管理
Windows クライアントマシンと同様に、Likewise 認証ではマシンアカウントパスワードが自動的に
更新され、30 日ごとまたは Active Directory サーバーの更新ポリシーで指定されたスケジュールに
従って更新されます。詳しくは、http://support.microsoft.com/kb/154501 を参照してください。
リソースプールの外部認証を有効にする
•
Active Directory による外部認証は、XenCenter または以下の CLI コマンドを使用して設定しま
す。
xe pool-enable-external-auth auth-type=AD \
service-name=<full-qualified-domain> \
config:user=<username> \
config:pass=<password>
このコマンドで指定するユーザーには、Add/remove computer objects or workstations 権限(ドメイ
ンの管理者アカウントにデフォルトで設定されています)が必要です。
注:
Active Directory および XenServer ホストが使用するネットワークで DHCP を使
用しない場合は、以下の方法で DNS を設定できます。
1. 非 FQDN を解決できるように、ドメインの DNS サフィックスの検索順を設定す
る。これを行うには、次のコマンドを実行します。
xe pif-param-set uuid=<pif-uuid_in_the_dns_subnetwork> \
“other-config:domain=suffix1.com suffix2.com suffix3.com”
2. XenServer ホスト上で、使用する DNS を設定する。これを行うには、次のコマ
ンドを実行します。
xe pif-reconfigure-ip mode=static dns=<dnshost> ip=<ip> \
gateway=<gateway> netmask=<netmask> uuid=<uuid>
3. 管理インターフェイスで DNS サーバーと同じネットワーク上の PIF が使用され
るように設定する。これを行うには、次のコマンドを実行します。
xe host-management-reconfigure pif-uuid=<pif_in_the_dns_subnetwork>
注:
外部認証はホストごとに設定されるプロパティですが、プールレベルで有効/無効を
設定することをお勧めします。これにより、プール内のホストで認証を有効すると
きに問題が発生した場合に XenServer によりロールバックされるため、プール内で
の設定が矛盾しないようになります。host-param-list コマンドを実行して、ホス
トの外部認証が有効かどうかを確認できます。
外部認証を無効にする
•
Active Directory 認証を無効にするには、XenCenter を使用するか、次のコマンドを実行しま
す。
xe pool-disable-external-auth
7
2.1.2. ユーザー認証
ほかの管理者ユーザーが XenServer ホストにアクセスできるようにするには、そのユーザーまたはグ
ループ用のサブジェクトを追加します。推移的なグループメンバシップも追加できます。たとえば、
user1 がグループ B に属し、グループ B がグループ A に属している場合は、グループ A 用のサブジェ
クトを追加すると、user1 にアクセスが付与されます。管理者ユーザーのアクセス権を Active
Directory で管理するには、1 つのグループアカウントを作成して、必要に応じてユーザーをそのグル
ープに追加したり削除したりします。また、必要な場合は、個々のユーザーやユーザーとグループの
組み合わせを追加したり削除したりすることもできます。サブジェクトリストは、XenCenter または
CLI を使って管理できます(ここでは、CLI での管理方法について説明します)。
ユーザーの認証時には、まずローカルルートアカウントとユーザーの資格情報が照合されます。この
ため、Active Directory サーバーに障害が発生した場合でも、システムを回復できます。資格情報(ユ
ーザー名とパスワードなど)の照合に失敗すると、次に Active Directory サーバーでの照合が行われ
ます。ここで照合に成功すると、ユーザー情報が取得され、ローカルのサブジェクトリストで検証さ
れます。照合に失敗した場合は、アクセスが拒否されます。サブジェクトリストでの検証は、そのユ
ーザーまたはそのユーザーの推移的グループメンバシップのグループがリスト上に見つかると成功し
ます。
注:
Active Directory グループにプール管理者の役割を割り当ててホストへの SSH ア
クセスを許可する場合、その Active Directory グループのメンバー数は 500 以下で
ある必要があります。
CLI を使用して XenServer へのアクセスを許可する
•
Active Directory サブジェクトを XenServer に追加するには
xe subject-add subject-name=<entity name>
entity name には、アクセスを付与するユーザーまたはグループの名前を指定します。また、ド
メイン名を含めることもできます(<user1>の代わりに<xendt\user1>など)。この場合、明確
化が必要でない限り、コマンドの動作に違いはありません。
CLI を使用して XenServer へのアクセスを禁止する
1.
ユーザーのサブジェクト識別子を確認します。サブジェクト識別子は、ユーザーまたはそのユー
ザーが属しているグループの名前です(グループを指定すると、ユーザーが明示的に指定してあ
る場合を除き、そのグループに属しているすべてのユーザーのアクセスが無効になります)。サブ
ジェクトの識別子は、次の subject list コマンドで確認できます。
xe subject-list
これにより、すべてのユーザーの一覧が表示されます。
サブジェクトリストにフィルタを適用することもできます。たとえば、testad ドメインのユーザー
名 user1 のサブジェクト識別子を検索するには、次のコマンドを実行します。
xe subject-list other-config:subject-name='<testad\user1>'
2.
取得したサブジェクト識別子を指定して、次の subject-remove コマンドを実行します。
xe subject-remove subject-uuid=<subject-uuid>
3.
必要に応じて、このユーザーの実行中のセッションを終了します。セッションの終了方法につい
ては、
「CLI を使用してすべての認証済みセッションを終了するには」および「CLI を使用して特
定ユーザーのセッションを終了するには」を参照してください。実行中のセッションを終了しな
いと、そのユーザーがセッションからログアウトするまでアクセスできてしまうことに注意して
ください。
8
アクセスが許可されたサブジェクトのリストを作成する
•
XenServer ホストやリソースプールへのアクセスが許可されているユーザーやグループを確認
するには、次のコマンドを実行します。
xe subject-list
2.1.3. ユーザーのアクセスを削除する
ユーザーがいったん認証を受けると、そのセッションを終了するか、ほかの管理者がそのユーザーの
セッションを終了するまで、ホストへのアクセスが保持されます。ユーザーをサブジェクトリストか
ら削除したり、アクセスが付与されたグループから削除したりしても、実行中のセッションが無効に
なるわけではなく、ユーザーは XenCenter やほかの既存の API セッションでリソースプールにアク
セスできます。削除したユーザーのセッションを終了するには、XenCenter または CLI を使用して、
個々のセッションやアクティブなすべてのセッションを強制的に終了します。XenCenter でこれを
行う方法については、XenCenter のオンラインヘルプを参照してください。ここでは、CLI を使用す
る方法について説明します。
CLI を使用してすべての認証済みセッションを終了するには
•
次のコマンドを実行します。
xe session-subject-identifier-logout-all
CLI を使用して特定ユーザーのセッションを終了するには
1.
対象ユーザーのサブジェクト識別子を確認します。これを行うには、session-subjectidentifier-list または xe subject-list コマンドを実行します。前者ではセッションを実行して
いるユーザーが表示され、後者ではすべてのユーザーが表示されますが xe subject-list otherconfig:subject-name=xendt\\user1(シェルによってはこのようにバックスラッシュを 2
つ入力します)でフィルタを適用できます。
2.
取得したサブジェクト識別子を指定して、次の session-subject-logout コマンドを実行しま
す。
xe session-subject-identifier-logout subject-identifier=<subject-id>
2.1.4. Active Directory ドメインからプールを削除する
警告:
ドメインからホストやプールを削除する(つまり Active Directory 認証を無効にし
てプールまたはホストとドメインとの接続を切断する)と、Active Directory の資
格情報でログインした管理者ユーザーが切断されます。
リソースプールでの Active Directory 認証を無効にするには、XenCenter を使用して Active
Directory ドメインからプールを削除します。詳しくは、XenCenter のオンラインヘルプを参照して
ください。また、プールの UUID を指定して、pool-disable-external-auth コマンドを実行するこ
ともできます。
注:
リソースプールを Active Directory ドメインから削除しても、Active Directory デ
ータベースからホストオブジェクトが削除されることはありません。詳しくは、
Microsoft 社のサポート技術情報を参照してください。
2.2. 役割ベースのアクセス制御
役割ベースのアクセス制御(RBAC:Role Based Access Control)機能では、特定のユーザー(つま
り XenServer 管理者)に役割を割り当てて、XenServer へのアクセスや実行可能な管理タスクを制
9
御できます。この機能では、ユーザー(またはグループ)が XenServer の管理タスクの定義済みセッ
トである「役割」にマップされ、この役割に基づいて XenServer ホストへのアクセス許可(特定の管
理タスクの実行権限)が決定されます。
各管理者には、そのユーザーアカウントまたはグループアカウントに割り当てられた役割によりアク
セス許可が付与されます。個別のアクセス許可を管理者アカウントに直接的に付与する方法に比べ、
管理者アカウントの管理が簡単になります。管理者のアカウントおよび役割のリストは、XenServer
により保持されます。
役割ベースのアクセス制御により、異なるグループに属する管理者に異なるアクセス許可を簡単に付
与できます。これにより、十分な経験のない管理者による不適切な変更を防ぐことができます。
法規制の順守と監査を容易にするため、役割ベースのアクセス制御には監視ログ機能が用意されてい
ます。
役割ベースのアクセス制御では、認証サービスとして Active Directory が使用されます。XenServer
は、認証されたユーザーの一覧を Active Directory のユーザーおよびグループアカウントに基づいて
管理します。このため、役割を割り当てるには、事前にリソースプールをドメインに追加して、Active
Directory アカウントを追加しておく必要があります。
ローカルスーパーユーザー(LSU)
(root)は特別なシステム管理用アカウントであり、すべての権限
およびアクセス許可を持ちます。ローカルスーパーユーザーは、XenServer をインストールするとき
のデフォルトのアカウントです。このアカウントは XenServer により認証され、外部の認証サービス
は使用されません。このため、外部の認証サービスに障害が生じた場合でも、ローカルスーパーユー
ザーとしてログインすればシステムを管理できます。ローカルスーパーユーザーは、SSH を使用して
物理 XenServer ホストに常にアクセスできます。
役割ベースのアクセス制御の基本的な手順
役割ベースのアクセス制御を有効にしてユーザーやグループに役割を割り当てるには、以下の手順を
行います。
1. ドメインに参加する。詳しくは、
「リソースプールの外部認証を有効にする」を参照してください。
2. Active Directory のユーザーまたはグループをプールに追加する。追加したユーザーやグループ
はサブジェクトになります。2.2.3.3. 「RBAC にサブジェクトを追加するには」を参照してくださ
い。
3. サブジェクトに RBAC の役割を割り当てる(または変更する)。2.2.3.4. 「新しいサブジェクトに
RBAC の役割を割り当てるには」を参照してください。
2.2.1. 役割
XenServer には、以下の 6 つの役割が用意されています。
• プール管理者(Pool Admin)
: ローカルスーパーユーザー(root)と同レベルの管理者で、XenServer
に対する完全なアクセス権が付与されます。
10
注:
ローカルスーパーユーザー(root)には、常にプール管理者の役割が適用されます。
つまり、プール管理者にはローカルスーパーユーザーと同じ権限が設定されます。
• プールオペレータ(Pool Operator): 管理者ユーザーを追加/削除したり役割を変更したりするこ
とはできませんが、そのほかのすべての管理タスクを実行できます。ホストやプールの管理(スト
レージの作成、プールの作成、ホストの管理など)に特化した役割です。
• 仮想マシンパワー管理者(VM Power Admin)
: 仮想マシンを作成して管理できます。仮想マシン
オペレータに仮想マシンを提供することに特化した役割です。
• 仮想マシン管理者(VM Admin)
:仮想マシンパワー管理者に似ていますが、仮想マシンを移行した
りスナップショットを作成したりすることはできません。
• 仮想マシンオペレータ(VM Operator):仮想マシン管理者に似ていますが、仮想マシンを作成し
たり破棄したりすることはできません。ただし、ライフサイクル操作を開始したり終了したりする
ことは許可されます。
• 読み取りのみ(Read Only): リソースプールとパフォーマンスのデータを表示することしかでき
ません。
注:
このバージョンの XenServer では、独自の役割を追加したり、既存の役割を削除し
たりすることはできません。
警告:
Active Directory グループにプール管理者の役割を割り当ててホストへの SSH ア
クセスを許可する場合、その Active Directory グループのメンバ数は 500 以下であ
る必要があります。
各役割で許可されるタスクについて詳しくは、2.2.2. 「RBAC 役割の定義とアクセス権」を参照して
ください。
すべての XenServer ユーザーに適切な役割を割り当てる必要があります。デフォルトでは、すべての
ユーザーにプール管理者の役割が割り当てられます。ユーザーが複数のグループに属している場合な
ど、複数の役割が割り当てられたユーザーには、より権限の強い役割が適用されます。
ユーザーの役割を変更するには、以下の 2 つの方法があります。
1. サブジェクトに割り当てる役割を変更します。これを行うには「役割の割り当て/変更」権限が必
要であり、この権限はプール管理者のみに付与されます。
2. そのユーザーのグループメンバシップを変更して、必要な役割が割り当てられている Active
Directory グループにユーザーを追加します。
2.2.2. RBAC 役割の定義とアクセス権
XenServer の各役割に付与されるアクセス権(実行可能な管理タスク)は以下のとおりです。各アク
セス権について詳しくは、後述の「アクセス権の定義」を参照してください。
表 2.1. 各役割に付与されるアクセス権
アクセス権
プ ー ル
管理者
役割の割り当て/変更
○
プ ー ル
オ ペ レ
ータ
11
VM パワ
ー 管 理
者
VM 管理
者
VM オペ
レータ
読 み 取
り専用
アクセス権
プ ー ル
管理者
プ ー ル
オ ペ レ
ータ
物理サーバーのコンソールへ
の ロ グ イ ン ( SSH お よ び
XenCenter の使用)
○
サーバーのバックアップ/復元
○
OVF/OVA パッケージとディス
クイメージのインポート/エク
スポート
○
XenServer
Conversion
Manager による仮想マシンの
変換
○
接続中のユーザーのログアウ
ト
○
○
アラートの作成と解除
○
○
任意のユーザーのタスクのキ
ャンセル
○
○
プール管理
○
○
スイッチポートのロック
○
○
高度な仮想マシン操作
○
○
○
仮想マシンの作成/破棄操作
○
○
○
○
仮想マシンの CD メディアの変
更
○
○
○
○
○
仮想マシンコンソールの表示
○
○
○
○
○
XenCenter の表示管理操作
○
○
○
○
○
自分のタスクのキャンセル
○
○
○
○
○
○
監査ログの表示
○
○
○
○
○
○
プールへの接続およびすべて
のプールメタデータの読み取
り
○
○
○
○
○
○
アクセス権の定義
各アクセス権の内容は以下のとおりです。
12
VM パワ
ー 管 理
者
VM 管理
者
VM オペ
レータ
読 み 取
り専用
表 2.2. アクセス権の定義
アクセス権
許可されるタスク
説明
役割の割り当て/変更
• ユーザーの追加/削除
すべてのタスクの実行が許可
されます。
• ユーザーアカウントの役割
の追加/削除
• Active Directory 統 合 機 能
の有効化および無効化(ドメ
インへの追加)
サーバーコンソールへのログ
イン
• SSH を使用したサーバーコ
ンソールへのアクセス
• XenCenter を使用したサー
バーコンソールへのアクセ
ス
サーバーのバックアップ/復元、 • サーバーのバックアップお
仮想マシンの作成/破棄操作
よび復元
• プールメタデータのバック
アップおよび復元
OVF/OVA パッケージとディス
クイメージのインポート/エク
スポート
警告:Active Directory 統合機
能および Active Directory か
ら追加されたすべてのサブジ
ェクトの無効化が許可されま
す。
警告:ルートシェルにアクセス
できるため、RBAC を含むシス
テム全体の再設定が独断的に
可能になります。
バックアップからの復元が許
可されるため、RBAC 設定の変
更を元に戻すことが可能です。
• OVF および OVA パッケージ
のインポート
• ディスクイメージのインポ
ート
• OVF/OVA パッケージとして
のエクスポート
接続中のユーザーのログアウ
ト
• ログインしているユーザー
の切断
アラートの作成/解除
警告:プール全体のアラートの
解除が許可されます。
注:アラートの表示許可は、プ
ールへの接続およびすべての
プールメタデータの読み取り
権限に含まれます。
任意のユーザーのタスクのキ
ャンセル
• 任意のユーザーによるタス
クのキャンセル
13
だれが実行したタスクかにか
かわらず、実行中の XenServer
タスクをキャンセルできます。
アクセス権
許可されるタスク
プール管理
• プールプロパティ(名前、デ
フォルト SR)の設定
説明
プール管理に必要なすべての
タスクに対する許可が含まれ
• 高可用性の有効化、無効化、 ます。
および設定
注:管理インターフェイスが機
• 各仮想マシンの再起動優先
度の設定
• プールへのサーバーの追加
とプールからの削除
• メンバのマスタへの変換
(
pool-emergencytransition-to-master)
• マスタアドレスの指定(poolemergency-reset-master
master-address)
• マスターアドレスのメンバ
ーへの通知(pool-recoverslaves)
• 新しいマスタの指定
• プールおよびサーバー証明
書の管理
• パッチの適用
• サーバープロパティの設定
• サーバーのログ機能の設定
• サーバーの有効化および無
効化
• サーバーのシャットダウン、
再起動、および電源投入
• システム状態のレポート
• ライセンスの適用
• すべての仮想マシンのほか
のサーバー上へのライブマ
イグレーション(保守モー
ド、または高可用性での操
作)
• サーバーの管理インターフ
ェイスおよびセカンダリイ
ンターフェイスの設定
• サーバー管理の無効化
• クラッシュダンプの削除
• ネットワークの追加、変更、
および削除
• PBD/PIF/VLAN/ボンディン
グ/ストレージリポジトリの
追加、変更、および削除
• シークレットの追加、削除、
および取得
14
能していない場合、ローカルの
root でのログイン以外は認証
されません。
アクセス権
許可されるタスク
説明
高度な仮想マシン操作
• 仮想マシンメモリの調整(動
的メモリ制御)
XenServer により選択された
サーバーとは異なるサーバー
上での仮想マシンの起動操作
が許可されます。
• メモリを含んだスナップシ
ョット作成、スナップショッ
ト作成、および仮想マシンの
ロールバック
• 仮想マシンの移行
• 仮想マシンの起動(起動サー
バーの指定を含む)
• 仮想マシンの再開
仮想マシンの作成/破棄操作
• インストールまたは削除
• 仮想マシンの複製
• 仮想ディスク/CD デバイス
の追加、削除、および設定
• 仮想ネットワークデバイス
の追加、削除、および設定
• 仮想マシンのインポート/エ
クスポート
• 仮想マシン設定の変更
仮想マシンの CD メディアの変
更
• CD のイジェクト
仮想マシンの電源状態の変更
• 仮想マシンの起動(自動配
置)
• CD の挿入
• 仮想マシンのシャットダウ
ン
• 仮想マシンの再起動
サーバーを指定した仮想マシ
ンの起動、再開、および移行は
高度な仮想マシン操作に含ま
れ、このアクセス権では許可さ
れません。
• 仮想マシンの一時停止
• 仮想マシンの再開(自動配
置)
仮想マシンコンソールの表示
• 仮想マシンコンソールの表
示と操作
サーバーコンソールにはアク
セスできません。
XenCenter の表示管理操作
• グローバル XenCenter フォ
ルダの作成および変更
フォルダ、カスタムフィール
ド、および検索クエリは、その
プールにアクセスするすべて
の管理者ユーザーで共有され
ます。
• XenCenter カスタムフィー
ルドの作成および変更
• グローバル XenCenter 検索
クエリの作成および変更
自分のタスクのキャンセル
• 自分で実行したタスクのキ
ャンセル
監査ログの表示
• XenServer 監 査 ロ グ の ダ ウ
ンロード
15
アクセス権
許可されるタスク
プールへの接続およびすべて
のプールメタデータの読み取
り
• プールへのログイン
説明
• プールメタデータの表示
• パフォーマンスの履歴デー
タの表示
• ログインユーザーの表示
• ユーザーおよび役割の表示
• メッセージの表示
• イベントの登録および受信
注:
読み取り専用の役割では、昇格用の資格情報を入力しても、XenCenter のフォルダ
にリソースを移動できない場合があります。この問題が発生した場合は、より権限
の強いユーザーアカウントでにログオンし直してから再試行してください。
2.2.3. CLI による RBAC の使用
2.2.3.1. XenServer で使用可能な役割の一覧を表示するには
• 次のコマンドを実行します。xe role-list
これにより、次のような、現在定義されている役割の一覧が表示されます。
uuid( RO): 0165f154-ba3e-034e-6b27-5d271af109ba
name ( RO): pool-admin
description ( RO): The Pool Administrator role has full access to all
features and settings, including accessing Dom0 and managing subjects,
roles and external authentication
uuid ( RO): b9ce9791-0604-50cd-0649-09b3284c7dfd
name ( RO): pool-operator
description ( RO): The Pool Operator role manages host- and pool-wide resources,
including setting up storage, creating resource pools and managing patches, and
high availability (HA).
uuid( RO): 7955168d-7bec-10ed-105f-c6a7e6e63249
name ( RO): vm-power-admin
description ( RO): The VM Power Administrator role has full access to VM and
template management and can choose where to start VMs and use the dynamic memory
control and VM snapshot features
uuid ( RO): aaa00ab5-7340-bfbc-0d1b-7cf342639a6e
name ( RO): vm-admin
description ( RO): The VM Administrator role can manage VMs and templates
uuid ( RO): fb8d4ff9-310c-a959-0613-54101535d3d5
name ( RO): vm-operator
description ( RO): The VM Operator role can use VMs and interact with VM consoles
uuid ( RO): 7233b8e3-eacb-d7da-2c95-f2e581cdbf4e
name ( RO): read-only
description ( RO): The Read-Only role can log in with basic read-only access
注:
役割の一覧は固定的であり、追加、削除、および変更はできません。
16
2.2.3.2. 現在のサブジェクトの一覧を表示するには
• xe subject-list コマンドを実行します。
これにより、次のような、XenServer ユーザー、UUID、および割り当てられている役割の一覧が表
示されます。
uuid ( RO): bb6dd239-1fa9-a06b-a497-3be28b8dca44
subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2244
other-config (MRO): subject-name: example01\user_vm_admin; subject-upn: \
[email protected]; subject-uid: 1823475908; subject-gid: 1823474177; \
subject-sid: S-1-5-21-1539997073-1618981536-2562117463-2244; subject-gecos: \
user_vm_admin; subject-displayname: user_vm_admin; subject-is-group: false; \
subject-account-disabled: false; subject-account-expired: false; \
subject-account-locked: false;subject-password-expired: false
roles (SRO): vm-admin
uuid ( RO): 4fe89a50-6a1a-d9dd-afb9-b554cd00c01a
subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2245
other-config (MRO): subject-name: example02\user_vm_op; subject-upn: \
[email protected]; subject-uid: 1823475909; subject-gid: 1823474177; \
subject-sid: S-1-5-21-1539997073-1618981536-2562117463-2245; \
subject-gecos: user_vm_op; subject-displayname: user_vm_op; \
subject-is-group: false; subject-account-disabled: false; \
subject-account-expired: false; subject-account-locked: \
false; subject-password-expired: false
roles (SRO): vm-operator
uuid ( RO): 8a63fbf0-9ef4-4fef-b4a5-b42984c27267
subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2242
other-config (MRO): subject-name: example03\user_pool_op; \
subject-upn: [email protected]; subject-uid: 1823475906; \
subject-gid: 1823474177; subject-s id:
S-1-5-21-1539997073-1618981536-2562117463-2242; \
subject-gecos: user_pool_op; subject-displayname: user_pool_op; \
subject-is-group: false; subject-account-disabled: false; \
subject-account-expired: false; subject-account-locked: \
false; subject-password-expired: false
roles (SRO): pool-operator
2.2.3.3. RBAC にサブジェクトを追加するには
既存の Active Directory ユーザーに RBAC の役割を割り当てるには、XenServer でそのユーザーア
カウントまたは適切なグループアカウントのサブジェクトインスタンスを作成する必要があります。
1. xe subject-add subject-name=<AD user/group>コマンドを実行します。
これにより、新しいサブジェクトインスタンスが作成されます。
2.2.3.4. 新しいサブジェクトに RBAC の役割を割り当てるには
サブジェクトを作成したら、それに RBAC の役割を割り当てます。役割は UUID または名前で指定し
ます。
1. 次のコマンドを実行します。
xe subject-role-add uuid=<subject uuid> role-uuid=<role_uuid>
または
xe subject-role-add uuid=<subject uuid> role-name=<role_name>
たとえば、次のコマンドでは、UUID が b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 のサブジェクトにプ
ール管理者の役割が割り当てられます。
17
xe subject-role-add uuid=b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 role-name=pool-admin
2.2.3.5. サブジェクトに割り当てられている RBAC の役割を変更するには
ユーザーの役割を変更するには、既存の割り当てを解除してから新しい役割を割り当てる必要があり
ます。
1. 次のコマンドを実行します。
xe subject-role-remove uuid=<subject uuid> role-name= \
<role_name_to_remove>
xe subject-role-add uuid=<subject uuid > role-name= \
<role_name_to_add>
新しい役割を有効にするには、そのユーザーをいったんログアウトしてから再ログインする必要があ
ります(この操作には「アクティブなユーザー接続のログアウト」権限が必要であり、この権限はプ
ール管理者とプールオペレータに付与されます)。
警告:
プール管理者サブジェクトを追加または削除した後、このサブジェクトの SSH アク
セスがプール内の全ホストで有効または無効になるまでに数秒の遅延が生じる場合
があります。
2.2.4. 監査
役割ベースのアクセス制御の監査ログには、ログインしたユーザーにより実行されたすべての管理タ
スクが記録されます。
• 記録される各メッセージには、そのタスクを実行した管理者のサブジェクト ID およびユーザー名
が明記されます。
• 許可されていない操作を実行しようとした場合、そのイベントも記録されます。
• 操作が成功したか失敗したかが記録され、失敗した場合はそのエラーコードが記録されます。
2.2.4.1. 監査ログの xe CLI コマンド
xe audit-log-get [since=<timestamp>] filename=<output filename>
このコマンドにより、そのプールの RBAC 監査ファイルのすべての記録がファイルとしてダウンロー
ドされます。オプションの since パラメータを指定すると、その日時以降の記録のみがダウンロード
されます。
2.2.4.2. プールからすべての監査記録を取得するには
次のコマンドを実行します。
xe audit-log-get filename=/tmp/auditlog-pool-actions.out
2.2.4.3. 特定の日時(ミリ秒単位)以降の監査記録を取得するには
次のコマンドを実行します。
xe audit-log-get since=2009-09-24T17:56:20.530Z \
filename=/tmp/auditlog-pool-actions.out
2.2.4.4. 特定の日時(分単位)以降の監査記録を取得するには
次のコマンドを実行します。
xe audit-log-get since=2009-09-24T17:56Z \
filename=/tmp/auditlog-pool-actions.out
18
2.2.5. ユーザーに適用される役割の決定プロセス
1.Active Directory サーバーがサブジェクトを認証します。認証時に、そのサブジェクトがほかの
Active Directory グループに属しているかどうかもチェックされます。
2.XenServer が、そのサブジェクト、および所属する Active Directory グループにどの役割が割り当
てられているかを検証します。
3.サブジェクトが複数の Active Directory グループに属している場合は、割り当てられている役割の
すべてのアクセス許可がそのサブジェクトに継承されます。
この図で、Subject 2(Group 2)はプールオペレータで、User 1 は Group 2 に属しています。この
ため、Subject 3(User 1)がログインすると、Subject 3(VM オペレータ)および Group 2(プー
ルオペレータ)の役割が継承されます。ただし、プールオペレータの役割レベルの方が高いため、
Subject 3(User 1)は(VM オペレータではなく)プールオペレータになります。
19
第 3 章 XenServer のホストとリソー
スプール
この章では、xe コマンドラインインターフェイス(CLI)の使用例を基に、リソースプールの作成方
法について説明します。シンプルな NFS ベースの共有ストレージ構成を使用した例を挙げて、仮想マ
シンの管理について説明します。また、物理ノードの障害に対処する手順についても説明します。
3.1. ホストとリソースプールの概要
「リソースプール」(または単に「プール」)は、複数の XenServer ホストで構成され、仮想マシンを
ホストする単一の管理対象としてグループ化したものです。リソースプールに共有ストレージを接続
すると、十分なメモリを備えた任意の XenServer ホスト上で仮想マシンを起動できるようになりま
す。さらに、最小限のダウンタイムで、実行中の仮想マシンを別の XenServer ホスト上に動的に移行
することもできます(「ライブマイグレーション」または「XenMotion」とも呼ばれます)。XenServer
ホストでハードウェア障害が生じた場合、管理者は、そのホスト上の仮想マシンを、同じリソースプ
ール内の別の XenServer ホスト上で再起動させることができます。リソースプールの高可用性機能
(HA)を有効にすると、ホストに障害が発生した場合に、そのホスト上の仮想マシンが自動的に移行
されるようになります。リソースプールでは、最大で 16 台のホストがサポートされます。ただし、
この制限は強制的なものではありません。
リソースプールには、
「プールマスタ」と呼ばれる 1 つの物理ノードが常に存在します。プールマスタ
だけが、XenCenter および XenServer コマンドラインインターフェイス(xe CLI)に管理インター
フェイスを提供します。管理者が実行する管理コマンドは、プールマスタにより、必要に応じて個々
のメンバホストに転送されます。
注:
高可用性機能が有効なリソースプールでは、プールマスタに障害が発生すると、別
のホストがマスタとして選出されます。
3.2. リソースプール作成の要件
リソースプールは、同種の XenServer ホストの集合で、最大ホスト数は 16 です(異種混在型のリソ
ースプールについては 3.4. 「異種混在型のリソースプールを作成する」を参照してください)。ここ
で「同種の XenServer ホスト」とは、以下の条件を満たすものを指します。
• 物理 CPU(ベンダ、モデル、および機能)が同じである。
• インストールされている XenServer ソフトウェアが同じバージョンである。
以上のほか、リソースプールに追加するサーバーには、以下の制限が適用されます。
• ほかのリソースプールのメンバではない。
• 共有ストレージが設定されていない。
• 実行中または一時停止状態の仮想マシンが XenServer ホスト上にない。
• シャットダウンなど、処理をアクティブに実行している仮想マシンがない。
また、リソースプールに追加するサーバーのシステムの時計が、プールマスタと同期している(NTP
を使用している場合など)こと、管理インターフェイスがボンディングされていないこと(リソース
プールに追加した後ではボンディング可能)、および管理 IP が静的である(そのサーバー上または
DHCP サーバー上で固定アドレスが指定されている)ことを確認する必要があります。
XenServer ホストに搭載されている物理ネットワークインターフェイスの数やローカルストレージ
リポジトリのサイズは、リソースプール内で異なっていても構いません。また、完全に同一の CPU を
搭載した複数のサーバーを入手することは難しい場合が多いため、軽微なばらつきは許容されます。
20
CPU が異なるホストをリソースプールに追加しても問題がないと判断できる場合は、--force パラメー
タを指定してホストを強制的に追加することもできます。
注:
リソースプールに追加する XenServer ホストで静的 IP アドレスが必要であるとい
う要件は、共有の NFS ストレージまたは iSCSI ストレージを提供するサーバーにも
適用されます。
リソースプールには、1 つ以上の共有ストレージリポジトリを設定します。これはリソースプールに
おける厳格な技術的要件ではありませんが、共有ストレージリポジトリを設定すると、仮想マシンを
実行する XenServer ホストを動的に選択したり、XenServer ホスト間で仮想マシンを動的に移行し
たりすることが可能になります。可能な場合は、共有ストレージを設定してからリソースプールを作
成してください。共有ストレージを追加したら、ローカルストレージ上にディスクを持つ既存の仮想
マシンを共有ストレージ上に移動しておくことをお勧めします。これを行うには、xe vm-copy コマ
ンドまたは XenCenter を使用します。
3.3. リソースプールを作成する
リソースプールは、XenCenter 管理コンソールまたは CLI を使用して作成できます。新しいホストを
リソースプールに追加すると、そのホスト上のローカルデータベースがプールのデータベースと同期
され、プールに適用されているいくつかの設定がそのホストに継承されます。
• 仮想マシン、ローカル、およびリモートのストレージ設定は、プールのデータベースに追加されま
す。プールへの追加処理が完了し、管理者がリソースを明示的に共有するまで、これらの仮想マシ
ンやローカルストレージとホストとの関連付けは解除されません。
• リソースプールに追加したホストには、プールに設定されている既存の共有ストレージリポジトリ
が継承され、その共有ストレージへのアクセスが自動的に可能になるように適切な物理ブロックデ
バイス(PBD)レコードが作成されます。
• 一部のネットワーク設定も、新しいホストに継承されます。つまり、ネットワークインターフェイ
スカード(NIC)の構造的な詳細、仮想 LAN(VLAN)、およびボンディングされたインターフェイ
スはすべて継承されますが、ポリシー情報は継承されません。追加したホスト上で再設定する必要
があるポリシーには、以下のものが含まれます。
• 管理インターフェイスの IP アドレス(プールに追加する前に設定済みのアドレスが保持されま
す)。
• 管理インターフェイスの場所(プールに追加する前の設定が保持されます)。たとえば、プール内
のほかのホストの管理インターフェイスがボンディングされたインターフェイス上に設定されて
いる場合は、新しいホストの管理インターフェイスを明示的にそのボンディングに移行する必要
があります。
• ストレージ専用のネットワークインターフェイス。XenCenter または CLI を使って新しいホス
トに再割り当てし、トラフィックが正しく転送されるように物理ブロックデバイスを接続し直す
必要があります。これは、プールに追加するときに IP アドレスが割り当てられないためで、この
ように正しく設定しないとストレージ用のネットワークインターフェイスを使用できません。
CLI を使用したストレージ専用ネットワークインターフェイスの設定については、4.4.7. 「スト
レージ専用 NIC を設定する」を参照してください。
CLI を使用して XenServer ホスト host1 および host2 をリソースプールに追加するには
1.
XenServer ホスト host2 上でコンソールを開きます。
2.
次のコマンドを実行して、XenServer ホスト host2 を XenServer ホスト host1 のプールに追加
します。
xe pool-join master-address=<host1> master-username=<administrators_username> \
master-password=<password>
ここで、master-address には XenServer ホスト host1 の完全修飾ドメイン名を指定し、password
には XenServer ホスト host1 のインストール時に設定した管理者パスワードを指定します。
21
リソースプール名を指定する
•
前の手順で使用した 2 つの XenServer ホストは、デフォルトで名前のないリソースプールに属
しています。リソースプールを作成するには、次のコマンドを実行して、名前のないリソースプ
ールに名前を設定します。Tab キーを押して pool_uuid を取得することもできます。
xe pool-param-set name-label=<"New Pool"> uuid=<pool_uuid>
22
3.4. 異種混在型のリソースプールを作成する
XenServer 6.5 では、種類の異なるハードウェアを使って異種混在型のリソースプールを作成できる
ため、新しいハードウェアによる環境の拡張が簡単に行えます。異種混在型のリソースプールを作成
するには、マスキングまたはレベリングと呼ばれる技術をサポートする Intel 社(FlexMigration)ま
たは AMD 社(Extended Migration)の CPU が必要です。これらの機能では、CPU を実際とは異な
る製造元、モデル、および機能のものとして見せかけることができます。これにより、異なる種類の
CPU を搭載したホストでプールを構成しても、ライブマイグレーションがサポートされます。
新しいホストを追加して異種混在型のリソースプールを作成する場合、以下の要件があります。
• プールに追加するホストの CPU が、プール内の既存のホストと同一ベンダ(AMD または Intel)の
ものである必要があります。ただし、ファミリ、モデル、およびステッピング数などは異なってい
ても構いません。
• プールに追加するホストの CPU が、Intel FlexMigration または AMD Enhanced Migration をサポ
ートしている必要があります。
• 既存のホストの CPU の機能が、プールに追加するホストの CPU のサブセット(下位機能セット)
である必要があります。
• プールに追加するホストの XenServer ソフトウェアが、既存のホストと、Hotfix のインストール
を含め同じバージョンである必要があります。
XenCenter を使用して異種混在型のリソースプールを作成すると、必要に応じて CPU のマスクが自
動的に有効になります。詳しくは、XenCenter のオンラインヘルプで「プール作成の要件」を参照し
てください。XenCenter でこのヘルプを開くには、F1 キーを押します。
xe CLI を使用して異種 XenServer ホストをプールに追加するには
1.
プールマスタの CPU 機能を確認します。これを行うには、xe host-get-cpu-features コマン
ドを実行します。
2.
プールに追加するホスト上で、プールマスターの CPU 機能を features パラメーターに指定して
xe host-set-cpu-features コマンドを実行します。以下はその例です。
xe host-set-cpu-features features=<pool_master's_cpu_ features>
3.
このホストを再起動します。
4.
このホスト上で xe pool-join コマンドを実行し、プールにホストを追加します。
CPU のマスクを解除して通常の機能に戻すには、xe host-reset-cpu-features コマンドを実行し
ます。
注:
ホストの複数の CPU のすべてのプロパティを表示するには、xe host-cpu-info コ
マンドを実行します。
3.5. 共有ストレージを追加する
サポートされている共有ストレージの種類の一覧については、「ストレージ」の章を参照してくださ
い。ここでは、共有ストレージ(ストレージリポジトリと呼びます)を既存の NFS サーバー上に作成
する方法について説明します。
CLI を使用して NFS 共有ストレージをリソースプールに追加する
1.
プール内の任意の XenServer ホストで、コンソールを開きます。
2.
次のコマンドを実行して、<server:/path>にストレージリポジトリを作成します。
23
xe sr-create content-type=user type=nfs name-label=<"Example SR"> shared=true \
device-config:server=<server> \
device-config:serverpath=<path>
ここで、device-config:server に NFS サーバーのホスト名を指定し、device-config:serverpath にその
サーバー上のパスを指定します。shared に true を指定しているため、プール内の既存の
XenServer ホストおよびこのプールに追加する XenServer ホストのすべてにこの共有ストレー
ジが自動的に接続されます。作成したストレージリポジトリの UUID(Universally Unique
Identifier)が、画面上に出力されます。
3.
次のコマンドを実行して、プールの UUID を確認します。
xe pool-list
4.
次のコマンドを実行して、共有ストレージをプール全体のデフォルトとして設定します。
xe pool-param-set uuid=<pool_uuid> default-SR=<sr_uuid>
共有ストレージがプールのデフォルトとして設定されたため、今後作成するすべての仮想マシン
のディスクがデフォルトで共有ストレージに作成されます。ほかの種類の共有ストレージを作成
する方法については、第 5 章 「ストレージ」を参照してください。
3.6. リソースプールから XenServer ホストを削除する
注:
XenServer ホストをプールから削除する前に、そのホスト上のすべての仮想マシン
がシャットダウン状態であることを確認してください。シャットダウンされていな
い仮想マシンが検出されると、警告メッセージが表示され、ホストを削除できませ
ん。
リソースプールから XenServer ホストを削除(イジェクト)すると、サーバーが再起動して再初期化
され、新規インストール後と同じ状態になります。ただし、ローカルディスク上に重要なデータがあ
る場合は、プールから XenServer ホストを削除しないでください。
CLI を使用してホストをリソースプールから削除するには
1.
プール内の任意のホストで、コンソールを開きます。
2.
次のコマンドを実行して、目的のホストの UUID を確認します。
xe host-list
3.
次のコマンドを実行して、そのホストをプールから削除します。
xe pool-eject host-uuid=<host_uuid>
XenServer ホストがリソースプールから削除され、新規インストールの状態になります。
警告:
ローカルディスクに重要なデータが格納されている場合は、そのホストをリソース
プールから削除しないでください。ホストをプールから削除すると、ローカルディ
スク上のすべてのデータが消去されます。ローカルディスク上のデータを保持する
には、XenCenter または xe vm-copy CLI コマンドを使用して、仮想マシンをプ
ールの共有ストレージにコピーしておきます。
ローカルディスク上に仮想マシンがある XenServer ホストをプールから削除すると、これらの仮想マ
シンはプールのデータベースに残り、ほかの XenServer ホストからもプール内に存在しているように
見えます。このような仮想マシンを起動可能にするためには、その仮想マシンに関連付けられている
仮想ディスクを、プール内のほかのホストからアクセスできる共有ストレージ上のものに変更するか、
仮想ディスクを削除する必要があります。このため、プールに XenServer ホストを追加する場合に
は、ローカルストレージの内容を共有ストレージ上に移動することを強くお勧めします。これにより、
24
プールからホストを削除したりホストに物理的な障害が発生したりしたときのデータの損失を回避す
ることができます。
3.7. リソースプールの XenServer ホストを保守するための準備
リソースプール内の XenServer ホストの保守を行う場合は、そのホストを無効にして仮想マシンが起
動しなくなるようにしてから、仮想マシンをプール内の別の XenServer ホストに移行しておく必要が
あります。これを簡単に行うには、XenCenter を使用して、XenServer ホストを保守モードに切り替
えます。詳しくは、XenCenter のオンラインヘルプを参照してください。
注:
プールマスタを保守モードにすると、オフラインになった仮想マシンに対するラウ
ンドロビンデータベースが最大で 24 時間分失われます。これは、予備の同期処理
が 24 時間ごとに機能するためです。
警告:
アップグレードをインストールする前に、すべての XenServer ホストを再起動し
て、設定を確認することを強くお勧めします。これにより、再起動するまで適用さ
れない変更内容が原因でアップデートに失敗することを回避できます。
CLI を使用して、プール内の XenServer ホストを保守するための準備を行うには
1.
次のコマンドを実行します。
xe host-disable uuid=<xenserver_host_uuid>
xe host-evacuate uuid=<xenserver_host_uuid>
これにより、XenServer ホストが無効になり、実行中の仮想マシンがプール内の別の XenServer
ホストに移行されます。
2.
保守作業を行います。
3.
保守作業が終了したら、次のコマンドを実行して、XenServer ホストを有効にします。
xe host-enable
シャットダウンまたは一時停止した仮想マシンを起動または再開します。
3.8. リソースプールデータのエクスポート
注:
リソースプールデータのエクスポートは、XenServer Enterprise Edition で使用で
きます。XenServer の各エディションおよびエディション間のアップグレードに
ついては、Citrix Web サイトを参照してください。ライセンスについて詳しくは、
CTX141511 - XenServer 6.5 Licensing FAQ を参照してください。
[リソースデータのエクスポート]オプションを使用すると、リソースプールのリソースデータレポー
トを生成し、それを XLS ファイルや CSV ファイルとしてエクスポートできます。このレポートには、
リソースプール内のサーバー、ネットワーク、ストレージ、仮想マシン、VDI、GPU など、さまざま
なリソースについての詳細な情報が記述されます。これにより、管理者は CPU、ストレージ、および
ネットワークなどのワークロードに基づいて、リソースの追跡、計画、および割り当てを行うことが
できます。
次の表は、このレポートに記述されるリソースおよびリソースデータの一覧です。
25
リソース
リソースデータ
サーバー
• 名前
• プールマスタ
• UUID
• アドレス
• CPU 使用率
• ネットワーク(平均/最大 KB/秒)
• 使用メモリ
• ストレージ
• アップタイム
• 説明
ネットワーク
• 名前
• 接続状態
• MAC
• MTU
• VLAN
• 種類
• 場所
VDI
• 名前
• 種類
• UUID
• サイズ
• ストレージ
• 説明
ストレージ
• 名前
• 種類
• UUID
• サイズ
• 場所
• 説明
26
リソース
リソースデータ
仮想マシン
• 名前
• 電源状態
• 実行サーバー
• アドレス
• MAC
• NIC
• オペレーティングシステム
• ストレージ
• 使用メモリ
• CPU 使用率
• UUID
• アップタイム
• テンプレート
• 説明
GPU
注 : GPU に 関 す る 情 報 は 、 GPU を 搭 載 し た
XenServer ホストでのみ記述されます。
• 名前
• サーバー
• PCI バスのパス
• UUID
• 使用電力
• 温度
• 使用メモリ
• コンピュータ使用率
3.8.1. リソースデータをエクスポートするには
1. XenCenter のナビゲーションペインで[インフラストラクチャ]をクリックし、リソースプールを
クリックします。
2.[プール]メニューをクリックし、[リソースデータのエクスポート]を選択します。
3. レポートの保存先を指定して、[保存]をクリックします。
3.9. 高可用性
3.9.1. 高可用性の概要
ネットワークの物理的な切断や XenServer ホストのハードウェア障害などにより、ホストが接続不能
になったり停止したりすることがあります。XenServer の高可用性機能には、これらの障害に備えた
り、障害発生時に仮想マシンを安全に回復したりするための一連の自動化オプションが用意されてい
ます。
注:
マルチパス化したストレージやネットワークボンディングと一緒に高可用性機能を
使用して、レジリエンシーの高いシステムを作成できます。高可用性機能を使用す
27
る場合は、マルチパス化したストレージとネットワークボンディングを使用する必
要があります。
高可用性を有効にすると、ホストが到達不能になったり動作が不安定になったりした場合に、そのホ
スト上で実行されている仮想マシンがシャットダウンされ、ほかのホスト上で再起動されます。これ
により、仮想マシンが(手作業または自動的に)ほかのホスト上で起動した後に元のホストが障害か
ら回復して、同じ仮想マシンが 2 つのホスト上で動作して仮想マシンディスクが破損するという問題
を避けることができます。
また、プールマスタに障害が発生したり通信できなくなったりした場合に、高可用性によりプールの
管理機能が自動的に復元されます。
さらに、仮想マシンの再起動プロセスを自動化して、常に最適なホストが選択されるように設定する
こともできます。複数の仮想マシンが特定の順番で起動して、特定の仮想マシン上のサービスが起動
してからほかの仮想マシンが起動するようにスケジュールを設定することもできます。これにより、
たとえば SQL サーバーよりも DHCP サーバーが先に起動するように設定できます。
警告:
高可用性機能は、マルチパス化したストレージおよびネットワークボンディングと
一緒に使用するように設計されています。これらの機能を設定してから、高可用性
を有効にする必要があります。マルチパス化したストレージとネットワークボンデ
ィングを使用しない場合、インフラストラクチャでの問題発生時にホストが予期せ
ず再起動されることがあります(自己隔離)。詳しくは、CTX134880『Designing
XenServer Network Configurations』および CTX134881『Configuring iSCSI
Multipathing Support for XenServer』を参照してください。
3.9.1.1. オーバーコミット
設定したフェイルオーバートレランス数に達して、実行中の仮想マシンをほかのホスト上で再起動で
きない場合、そのリソースプールはオーバーコミット状態とみなされます。
障害が発生したときに、すべての仮想マシンを再起動するために必要なメモリがプール内にない場合、
オーバーコミット状態になります。また、軽微な設定変更により、意図したとおりに仮想マシンが保
護されなくなる場合もあります。たとえば、仮想ブロックデバイス(VBD)とネットワークの設定を
変更すると、どのホストでどの仮想マシンを再起動できるかが変更される可能性があります。現状で
は、XenServer ですべての要因を予測して、高可用性機能による保護が正しく反映されるかどうかを
チェックすることはできません。ただし、高可用性を維持できなくなった場合は、非同期的なアラー
トが送信されます。
XenServer では、プール内の複数のホストに障害が発生した場合にどのような対処を行うかという
「フェイルオーバープラン」が動的に保持されます。高可用性機能を使用する場合、重要な概念として
「フェイルオーバートレランス数」を理解する必要があります。フェイルオーバートレランス数とは、
サービスを中断せずにフェイルオーバーするホスト障害の数を指します。たとえば、16 台のホストが
動作するリソースプールでフェイルオーバートレランス数を 3 に設定すると、プール内の任意の 3 台
のホスト障害までは許容され、そのホスト上の仮想マシンをほかのホスト上で再起動するというフェ
イルオーバープランが計算されます。フェイルオーバープランが見つからない場合は、プールが「オ
ーバーコミット」したとみなされます。フェイルオーバープランは、仮想マシンの追加や起動などの
ライフサイクル操作や移行に応じて動的に再計算されます。新しい仮想マシンの追加など、プールが
オーバーコミット状態になるような変更を加えると、XenCenter またはメールでアラートが送信され
ます。
3.9.1.2. オーバーコミットの警告
仮想マシンの起動または再開によりリソースプールがオーバーコミット状態になると、警告アラート
が送信されます。この警告は XenCenter に表示されるほか、Xen API ではメッセージインスタンス
としても使用可能です。メールによる通知が設定してある場合、この警告はメールでも送信されます。
警告アラートを受信した場合、その原因になった処理をキャンセルしたり、そのまま続行したりでき
ます。処理を続行すると、リソースプールがオーバーコミット状態になります。さまざまな再起動優
先度の仮想マシンで消費されているメモリ量が、プール全体およびホストごとに表示されます。
28
3.9.1.3. ホストを隔離する
XenServer ホストにネットワークの切断やコントロールスタックの問題などの障害が発生すると、仮
想マシンが 2 つのホスト上で同時に実行されることがないように、そのホストは自動的に隔離されま
す。隔離されたホストは直ちに再起動され、そのホスト上で実行中のすべての仮想マシンが停止しま
す。リソースプール内のほかのホストは、これらの仮想マシンの停止を検出し、設定されている再起
動優先度に従って仮想マシンを再起動します。隔離されたホストが再起動すると、リソースプールへ
の復帰を試行します。
3.9.2. 設定要件
注:
高可用性機能は、3 台以上の XenServer ホストが動作するリソースプールで使用す
ることをお勧めします。ホストが 2 台しかないプールで高可用性を使用すると、ハ
ートビートが失われた場合に予期せぬ問題が発生する場合があります。詳しくは、
Citrix Knowledge Base の CTX129721 を参照してください。
高可用性機能を使用するには、以下の要件を満たす必要があります。
• ハートビートストレージリポジトリとして、356MB 以上の iSCSI、NFS、またはファイバチャネル
LUN を少なくとも 1 つ含む共有ストレージ。ハートビートストレージリポジトリには、高可用性機
能により次の 2 つのボリュームが作成されます。
4MB のハートビートボリューム
ハートビートに使用されます。
256MB のメタデータボリューム
プールマスタに障害が発生した場合に備えて、プールマスタのメタデータが格納されます。
注:
信頼性を向上させるため、高可用性ハートビートとして専用の NFS または iSCSI ス
トレージアレイを使用することを強くお勧めします。
NetApp または EqualLogic のストレージリポジトリを使用する場合は、ハートビートストレージリ
ポジトリに使用するアレイに NFS または iSCSI の論理ユニット番号を手作業で準備する必要があ
ります。
• XenServer のリソースプール。高可用性機能では、単一リソースプール内のホストレベルの障害に
対する高可用性が提供されます。
• すべてのホストの静的 IP アドレス。
警告:
高可用性が有効なサーバーの IP アドレスが変更されると、そのホストのネットワー
クに障害が発生したと認識されてしまいます。この結果、そのサーバーは隔離され、
起動不能状態になります。この問題を解決するには、host-emergency-hadisable コマンドを実行して高可用性を無効にしてから、pool-emergencyreset-master コマンドを実行してプールマスタのアドレスをリセットし、その後
で高可用性を有効にします。
高可用性機能で仮想マシンを保護するには、その仮想マシンがアジャイルである必要があります。こ
れは、以下のことを意味します。
• 仮想ディスクが共有ストレージ上にある。この場合、共有ストレージの種類は問いません。iSCSI、
NFS、またはファイバチャネルの LUN はハートビートストレージでは必須条件ですが、仮想ディス
クストレージとしても使用できます。
• 仮想マシンにローカル DVD ドライブへの接続が設定されていない。
• 仮想ネットワークインターフェイスがプール全体にわたるネットワーク上にある。
29
高可用性を有効にする場合はプール内のサーバーで管理インターフェイスをボンディングし、ハート
ビートストレージリポジトリにはマルチパスストレージを使用することを強くお勧めします。
CLI を使用して仮想 LAN を作成してインターフェイスをボンディングした場合、作成された仮想 LAN
が接続されておらず、アクティブになっていない場合があります。この場合、仮想マシンがアジャイ
ルでないため、高可用性機能で保護されません。CLI の pif-plug コマンドを使用して、仮想 LAN と
ボンディング PIF をアクティブにすると仮想マシンがアジャイルになります。また、xe diagnosticvm-status コマンドを使用して、仮想マシンがアジャイルでない原因を調べたり、必要な修正を行っ
たりすることもできます。
3.9.3. 再起動優先度
高可用性機能では、各仮想マシンに再起動優先度と、高可用性機能で保護するかどうかを示すフラグ
を割り当てます。高可用性機能が有効な場合、保護されている仮想マシンが停止しないようにあらゆ
る処理が試行されます。再起動優先度を割り当てると、保護されている仮想マシンが停止した場合に
自動的に再起動するようになります。ホストに障害が発生している場合は、ほかのホスト上で仮想マ
シンが起動します。
仮想マシンには、以下の再起動優先度を割り当てることができます。
HA 再起動優先度
説明
0
この優先度が設定されたすべての仮想マシンの再起動が最初に試行さ
れます。
1
再起動優先度 0 のすべての仮想マシンが起動した後で再起動が試行さ
れます。
2
再起動優先度 1 のすべての仮想マシンが起動した後で再起動が試行さ
れます。
3
再起動優先度 2 のすべての仮想マシンが起動した後で再起動が試行さ
れます。
best-effort
再起動優先度 3 のすべての仮想マシンが起動した後で再起動が試行さ
れます。
ha-always-run
説明
true
このパラメータが設定された仮想マシンは再起動プランに含まれます。
false
このパラメータが設定された仮想マシンは再起動プランに含まれませ
ん。
警告:
StorageLink サービスを実行する仮想マシンには再起動優先度 0 を設定し、ほかの
仮想マシン(StorageLink サービスに依存する仮想マシンなど)に再起動優先度 1
以上を設定してください。
StorageLink ストレージリポジトリが使用されるリソースプールでは、
[可能なら再
起動](best-effort)を設定しないでください。
再起動優先度により、障害が発生した場合の仮想マシンの再起動順序が決定されます。XenCenter で
の高可用性設定、または CLI のプールオブジェクトの ha-plan-exists-for フィールドで、フェイルオー
バートレランス数(フェイルオーバーされるサーバー障害の数)に 1 以上を設定すると、その障害数
に達するまでは、再起動優先度 0、1、 2、または 3 の仮想マシンの再起動が保証されます。再起動優
先度として best-effort が設定された仮想マシンはフェイルオーバープランに含まれず、その仮想マシ
30
ン用のリソースが予約されないために再起動は保証されません。リソースプールでのサーバー障害数
がフェイルオーバートレランス数に達すると、保護されている仮想マシンの再起動は保証されなくな
ります。リソースプールがこの状態に達すると、システムアラートが生成されます。これ以降のサー
バー障害では、再起動優先度が設定されたすべての仮想マシンは、best-effort が設定されているものと
して処理されます。
保護されている仮想マシンをサーバー障害時に再起動できない場合(障害発生時にプールがオーバー
コミット状態であるなど)は、プールの状態が変化したときに、この仮想マシンの再起動がさらに試
行されます。つまり、プール内で追加の処理能力が発生した場合(重要でない仮想マシンをシャット
ダウンしたりホストを追加したりするなど)に、仮想マシンの再起動が再試行されます。
注:
always-run=true が設定されている仮想マシン用のリソースを解放するために、実行
中の仮想マシンが停止されたり移行されたりすることはありません。
3.10. XenServer プールの高可用性を有効にする
リソースプールの高可用性機能を有効にするには、XenCenter または CLI を使用します。いずれの方
法でも、仮想マシンに再起動優先度を設定して、プールがオーバーコミット状態になったときに優先
的に再起動する仮想マシンを指定します。
警告:
高可用性を有効にすると、プールからサーバーを削除するなど、フェイルオーバー
プランが影響を受けるような操作が無効になる場合があります。この場合、一時的
に高可用性を無効にしたり、仮想マシンの保護を解除したりして、目的の操作を実
行できます。
3.10.1. CLI を使用して高可用性を有効にする
1.
リソースプールに、高可用性機能をサポートするストレージリポジトリが接続されていることを
確認します。この機能をサポートするストレージリポジトリの種類は、iSCSI、NFS、およびファ
イバチャネルです。CLI を使用してこれらのストレージリポジトリを設定する方法について詳し
くは、5.3. 「ストレージ設定」を参照してください。
2.
保護する各仮想マシンに再起動優先度を設定します。これを行うには、次のコマンドを実行しま
す。
xe vm-param-set uuid=<vm_uuid> ha-restart-priority=<1> ha-always-run=true
3.
次のコマンドを実行して、プールの高可用性を有効にします。
xe pool-ha-enable heartbeat-sr-uuids=<sr_uuid>
4.
pool-ha-compute-max-host-failures-to-tolerate コマンドを実行します。これにより、プ
ールで許容される障害数(最大許容障害数)が返されます。つまり、この数を超えるホスト障害
が発生すると、保護されているすべての仮想マシンを実行するために必要なリソースを確保でき
なくなることを意味します。
xe pool-ha-compute-max-host-failures-to-tolerate
リソースプールの状態に基づいてフェイルオーバープランが再計算され、プールの最大許容障害
数(保護されている仮想マシンを停止することなくフェイルオーバーできるホスト障害数)が再
評価されます。再評価の結果、プールの最大許容障害数が次の ha-host-failures-to-tolerate で設定し
た値よりも小さくなると、システムアラートが送信されます。
5.
次のコマンドを実行して、プールのフェイルオーバートレランス数(プールで許可するサーバー
障害数)を設定します。ここで指定する値は、前の手順で返された値以下である必要があります。
xe pool-param-set ha-host-failures-to-tolerate=<2> uuid=<pool-uuid>
31
3.10.2. CLI を使用して高可用性機能による仮想マシンの保護を無効にする
特定の仮想マシンに対する高可用性機能を無効にするには、xe vm-param-set コマンドで haalways-run パラメータに false を指定します。このコマンドより、その仮想マシンに設定されている再
起動優先度が変更されることはありません。その仮想マシンの高可用性を再度有効にするには、haalways-run パラメータに true を指定します。
3.10.3. 到達不能なホストを復元する
何らかの理由でホストが高可用性ステートファイルにアクセスできない場合、そのホストは到達不可
として認識されます。このような XenServer ホストを復元するには、次の host-emergency-hadisable コマンドを使用して、高可用性機能を無効にします。
xe host-emergency-ha-disable --force
プールマスタとして動作していたホストの場合、高可用性が無効になって起動します。メンバホスト
がこのプールマスタに再接続すると、自動的に高可用性が無効になります。到達不能になったホスト
がメンバホストで、プールマスタと通信できない場合、次のように xe pool-emergencytransition-to-master コマンドを実行してそのホストを強制的にプールマスタとして再起動する
か、xe pool-emergency-reset-master コマンドを実行して新しいプールマスタの場所を指定し
ます。
xe pool-emergency-transition-to-master uuid=<host_uuid>
xe pool-emergency-reset-master master-address=<new_master_hostname>
すべてのホストが正しく再起動したら、次のコマンドを実行して高可用性を有効にします。
xe pool-ha-enable heartbeat-sr-uuid=<sr_uuid>
3.10.4. 高可用性が有効なプールでホストをシャットダウンする
高可用性機能を有効にしたリソースプールでは、ホストのシャットダウンや再起動がホスト障害とし
て認識されないように、正しい手順に従う必要があります。高可用性が有効なリソースプールでホス
トを正しくシャットダウンするには、XenCenter または CLI を使用してホストを disable(無効)にし
てから evacuate(保守モード)に切り替えて、shutdown(シャットダウン)します。CLI を使用する場
合は、次のコマンドを順に実行します。
xe host-disable host=<host_name>
xe host-evacuate uuid=<host_uuid>
xe host-shutdown host=<host_name>
3.10.5. 高可用性で保護されている仮想マシンをシャットダウンする
高可用性機能により保護されている仮想マシンが自動的に再起動するように設定されている場合、そ
の設定を有効にしたまま仮想マシンをシャットダウンすることはできません。このような仮想マシン
をシャットダウンするには、仮想マシンの高可用性を無効にしてからシャットダウン用の CLI コマン
ドを実行します。XenCenter を使用する場合は、保護されている仮想マシンの[シャットダウン]ボ
タンをクリックしたときに、高可用性による保護を無効にするためのダイアログボックスが開きます。
注:
ただし、保護されている仮想マシン上で実行されているオペレーティングシステム
内でシャットダウンを実行すると、ホスト障害が発生したときと同じように、自動
的に再起動されることに注意してください。これは、保護されている仮想マシンが、
オペレータエラーやプログラムによって不正にシャットダウンされることを防ぐた
めです。高可用性機能で保護されている仮想マシンを正しくシャットダウンするに
は、まずその保護を解除する必要があります。
32
3.11. ホストの電源投入
3.11.1. リモートからのホストの電源投入
XenServer ホストの電源投入機能を使用すると、XenCenter や CLI を使ってリモートのホストの電
源を投入したり切断(シャットダウン)したりできます。
ホストの電源投入機能を有効にするには、以下のいずれかの電源管理ソリューションが必要です。
• Wake-on-LAN が有効なネットワークカード。
• Dell Remote Access Card(DRAC)。XenServer で DRAC を使用するには、Dell サプリメンタ
ルパックをインストールしておく必要があります。DRAC をサポートするには、DRAC のサーバー
に RACADM コマンドラインユーティリティをインストールして、DRAC およびそのインターフェ
イスを有効にする必要があります。通常、RACADM は DRAC 管理ソフトウェアに含まれています。
詳しくは、Dell 社の DRAC ドキュメントを参照してください。
• Hewlett-Packard Integrated Lights-Out(iLO)。XenServer で iLO を使用するには、そのサ
ーバー上の iLO を有効にして、インターフェイスをネットワークに接続する必要があります。詳し
くは、HP 社の iLO ドキュメントを参照してください。
• XenServer ホストの電源を投入または切断するための、Xen API に基づいたカスタムスクリプト。
詳しくは、3.11.3. 「XenServer ホストの電源投入機能のカスタムスクリプトを作成する」を参照
してください。
電源を自動的に投入または切断できるように XenServer ホストを設定するには、以下の操作を行いま
す。
1. プール内のホストがリモートからの電源制御をサポートしていること(つまり Wake-on-LAN 機
能、DRAC または iLO カード、またはカスタムスクリプトが設定されていること)を確認します。
2. CLI または XenCenter を使用して、ホスト電源投入機能を有効にします。
3.11.2. CLI を使用してホストの電源投入を管理する
ホスト電源投入機能は、CLI または XenCenter で管理できます。ここでは、CLI を使用する方法につ
いて説明します。
ホスト電源投入機能は、ホストレベル(つまり各 XenServer ホスト)で有効になります。
この機能を有効にすると、CLI や XenCenter からホストの電源を入れることができます。
3.11.2.1. CLI を使用してホスト電源投入を有効にするには
1. 次のコマンドを実行します。
xe host-set-power-on host=<host uuid>\
power-on-mode=("" , "wake-on-lan",
"iLO", "DRAC","custom")
power-on-config:key=value
iLO および DRAC では、キー(key)として power_on_ip、power_on_user、および
power_on_password_secret を指定します。キー power_on_password_secret を指定することで、パスワ
ードを安全に格納することができます。
3.11.2.2. CLI を使用してホストの電源をリモートから投入するには
1. 次のコマンドを実行します。
xe host-power-on host=<host uuid>
33
3.11.3. XenServer ホストの電源投入機能のカスタムスクリプトを作成する
デフォルトでサポートされるプロトコル(Wake-On-Ring や Intel Active Management Technology
など)をサポートしない XenServer ホストの電源をリモートから投入するには、カスタムの Linux
Python スクリプトを作成します。ただし、iLO、DRAC、および Wake-On-LAN ソリューション用の
カスタムスクリプトを作成することもできます。
ここでは、XenServer API コール host.power_on のキー/値ペアを使用したカスタムスクリプトの作成
について説明します。
カスタムスクリプトは、XenServer の電源の制御が必要なときにコマンドラインから実行する必要が
あります。また、XenCenter でスクリプトの実行を指定することもできます。
XenServer API については、Citrix Web サイトで公開されている『Citrix XenServer Management
API』(英文)を参照してください。
警告:
/etc/xapi.d/plugins/ディレクトリにインストールされるデフォルトのスクリプトを編
集することはできません。新しく作成したスクリプトをこのディレクトリに追加す
ることはできますが、XenServer に付属のスクリプトは編集しないでください。
3.11.3.1. キー/値ペア
ホスト電源投入機能を使用するには、host.power_on_mode キーと host.power_on_config キーを
設定します。ここでは、これらのキーで使用する値について説明します。
次の API コールを使用すると、これらのフィールドを一度に設定することもできます。
void host.set_host_power_on_mode(string mode, Dictionary<string,string> config)
3.11.3.1.1. host.power_on_mode
• 定義:電源管理ソリューションの種類(Dell DRAC など)を指定するキー/値ペアを含みます。
• 設定可能な値:
• 空文字。電源管理を無効にします。
• iLO。HP iLO を示します。
• DRAC。Dell DRAC を示します。DRAC を使用するには、Dell サプリメンタルパックをインスト
ールしておく必要があります。
• wake-on-lan。Wake on LAN を示します。
• そのほかの名前(カスタムの電源投入スクリプトの指定)。このオプションでは、カスタムの電源
管理スクリプトを指定できます。
• 種類:文字列
3.11.3.1.2. host.power_on_config
• 定義:電源投入モードを指定するキー/値ペアを含みます。iLO および DRAC に関する追加情報を指
定します。
• 設定可能な値:
• 電源管理ソリューションの種類として iLO または DRAC を指定する場合は、このキーで以下のい
ずれかの値を指定します。
• power_on_ip。電源管理カードとの通信で使用される IP アドレスです。iLO または DRAC が
設定されたネットワークインターフェイスのドメイン名を入力することもできます。
• power_on_user。管理プロセッサに関連付けられた iLO または DRAC のユーザー名です。工
場出荷時のものから変更されている場合があります。
34
• power_on_password_secret。セキュリティを保護するシークレット機能を使用してパスワ
ードを指定します。
• power_on_password_secret でパスワードを指定するには、事前にパスワードシークレットを
作成しておく必要があります。
• 種類:マップ(文字列,文字列)
3.11.3.2. サンプルスクリプト
このサンプルスクリプトでは、XenServer API をインポートし、自身をカスタムスクリプトとして定
義し、さらにリモートから制御するホストに特定のパラメータを渡します。カスタムスクリプトでは、
常に session、remote_host、および power_on_config パラメータを定義する必要があります。
このスクリプトの結果は、実行に失敗した場合のみ表示されます。
import XenAPI
def custom(session,remote_host,
power_on_config):
result="Power On Not Successful"
for key in power_on_config.keys():
result=result+"
key="+key+"
value="+power_on_config[key]
return result
注:
作成したスクリプトは、拡張子.py で/etc/xapi.d/plugins ディレクトリに保存しま
す。
35
第 4 章 ネットワーク
この章では、XenServer のネットワーク、仮想 LAN、および NIC ボンディングなどについて説明し
ます。また、ネットワーク設定の管理やトラブルシューティングについても説明します。
重要:
XenServer では、デフォルトのネットワークスタックとして vSwitch が使用されま
す。ただし、必要に応じて Linux ネットワークスタックを使用することもできます。
詳しくは、4.2. 「vSwitch ネットワーク」を参照してください。
XenServer のネットワークの概念について理解している場合は、概要説明を読まずに、以下のセクシ
ョンに進んでください。
• スタンドアロン XenServer ホストでネットワークを作成する手順については、4.4.2. 「スタンド
アロンホストでネットワークを作成する」を参照してください。
• XenServer ホスト間のプライベートネットワークを作成する手順については、4.4.1. 「サーバー間
のプライベートネットワーク」を参照してください。
• リソースプール内の XenServer ホストでネットワークを作成する手順については、4.4.3. 「リソ
ースプールでネットワークを作成する」を参照してください。
• スタンドアロンまたはリソースプール内の XenServer ホストで仮想 LAN(VLAN)を作成する手順
については、4.4.4. 「VLAN を作成する」を参照してください。
• スタンドアロン XenServer ホストでボンディングを作成する手順については、4.4.5. 「スタンド
アロンホストで NIC ボンディングを作成する」を参照してください。
• リソースプール内の XenServer ホストでボンディングを作成する手順については、4.4.6. 「リソ
ースプールで NIC ボンディングを作成する」を参照してください。
ネットワークおよびネットワーク設計の追加情報については、Citrix Knowledge Center の
CTX130924『Designing XenServer Network Configurations』(英文)を参照してください。
この章では、管理トラフィック用に使用される、IP アドレスが割り当てられた NIC を「管理インター
フェイス」と呼びます。前回のリリースでは、
「プライマリ管理インターフェイス」という語を使用し
ていました同様に、ストレージトラフィック用の NIC を「セカンダリインターフェイス」と呼びま
す。
4.1. サポートされるネットワーク
XenServer では、各 XenServer ホストで最大 16 の物理 NIC(または最大 8 組のボンディングネッ
トワーク)がサポートされ、各仮想マシンで最大 7 つの仮想ネットワークインターフェイスがサポー
トされます。
注:
XenServer では、xe コマンドラインインターフェイス(CLI)による、NIC の自動
設定と管理機能が提供されます。XenServer の以前のバージョンとは異なり、ほと
んどの場合 CLI で必要な設定を行うため、ホストのネットワーク設定ファイルを直
接編集することはありません。
4.2. vSwitch ネットワーク
コントローラ仮想アプライアンスを使用すると、vSwitch ネットワークで OpenFlow がサポートさ
れ、ACL(アクセス制御リスト)などの追加機能が提供されます。XenServer vSwitch のコントロー
ラ仮想アプライアンスは「vSwitch コントローラ」と呼ばれ、ネットワークを監視するためのグラフ
ィックユーザーインターフェイスを提供します。vSwitch コントローラでは、以下の機能が提供され
ます。
36
• セキュリティポリシーによる、仮想マシンへのトラフィック出入力の詳細なフロー制御
• 仮想ネットワーク環境で行われるすべてのトラフィックの動作およびパフォーマンスの視覚化
vSwitch を使用することで、仮想化されたネットワーク環境での IT 管理が簡素化されます。仮想マシ
ンに対する設定や統計情報は、リソースプール内のホスト間で仮想マシンを移行しても常に正しく追
跡されます。詳しくは、
『XenServer vSwitch Controller User Guide』
(XenServer vSwitch コント
ローラユーザーガイド)を参照してください。
使用されているネットワークスタックを確認するには、次のコマンドを実行します。
xe host-list params=software-version
コマンドの出力で、network_backend の行を確認します。ネットワークスタックとして vSwitch が使用
されている場合は、次のように出力されます。
network_backend: openvswitch
ネットワークスタックとして Linux ブリッジが使用されている場合は、次のように出力されます。
network_backend: bridge
注:
Linux ネットワークスタックに戻すには、次のコマンドを実行します。
xe-switch-network-backend bridge
このコマンドの実行後、ホストを再起動する必要があります。
警告:
Linux ネットワークスタックでは OpenFlow がサポートされず、サーバー間のプラ
イベートネットワークを作成することはできません。また、XenServer vSwitch コ
ントローラを使用してネットワークを管理することもできません。
4.3. XenServer ネットワークの概要
ここでは、XenServer 環境でのネットワークに関する一般的な概念について説明します。
XenServer のインストール時に、各物理ネットワークインターフェイスカード(NIC)に対して 1 つ
のネットワークが作成されます。これらのデフォルトネットワークは、サーバーをリソースプールに
追加するときにマージされ、同じデバイス名を持つすべての物理 NIC が同じネットワークに接続され
るようになります。
通常、内部ネットワークを作成する、既存の NIC を使用して新しい VLAN を設定する、または NIC
ボンディングを作成するときにのみ、新しいネットワークを追加します。
XenServer では、4 種類のネットワークを設定できます。
• 外部ネットワークは物理ネットワークインターフェイスに関連付けられ、ネットワークに接続され
ている物理ネットワークインターフェイスと仮想マシンとの間にブリッジを提供します。これによ
り、仮想マシンから、サーバーの物理ネットワークインターフェイスカードを介して外部ネットワ
ークリソースに接続できます。
• ボンディングしたネットワークでは 2 つの NIC を 1 つの仮想的な NIC としてボンディングして、
仮想マシンとネットワークの間に単一の高性能チャネルを作成します。
• 単一サーバーのプライベートネットワークは物理ネットワークインターフェイスに関連付けられな
いため、そのホスト上の仮想マシン間での接続のみを提供します。外部には接続できません。
• サーバー間のプライベートネットワークは単一サーバーのプライベートネットワークの概念をリソ
ースプールレベルに拡張したもので、vSwitch を使用することで同一リソースプール内の仮想マシ
ン間での通信が可能になります。
37
注:
ネットワークの設定オプションには、スタンドアロン XenServer ホストとリソース
プールで、動作が異なるものがあります。ここでは、スタンドアロンホストとリソ
ースプールの両方に適用される一般情報と、スタンドアロンホストおよびリソース
プールに特有な情報について説明します。
38
4.3.1. ネットワークオブジェクト
この章では、ネットワークエンティティを表すサーバー側ソフトウェアオブジェクトとして、以下の
オブジェクトを使用します。
• PIF(Physical Interface)は、XenServer ホスト上の物理ネットワークインターフェイスを表しま
す。PIF オブジェクトは、名前と説明、グローバルに一意な UUID、対応する NIC のパラメータ、
および接続先のネットワークとサーバーという属性を持ちます。
• VIF(Virtual Interface)は、仮想マシン上の仮想インターフェイスを表します。VIF オブジェクト
は、名前と説明、グローバルに一意な UUID、および接続先のネットワークと仮想マシンという属
性を持ちます。
• ネットワークは、XenServer ホストの仮想イーサネットスイッチです。ネットワークオブジェクト
は、名前と説明、グローバルに一意な UUID、および接続先の VIF と PIF の集合という属性を持ち
ます。
XenCenter または CLI を使用して、ネットワークオプションの設定、管理用の NIC の選択、仮想ロ
ーカルエリアネットワーク(VLAN)や NIC ボンディングなどの高度なネットワーク機能の作成がで
きます。
4.3.2. ネットワーク
各 XenServer には、1 つ以上のネットワークがあり、それらは仮想イーサネットスイッチです。PIF
に関連付けられていないネットワークは「内部」ネットワークです。内部ネットワークは、同一
XenServer ホスト上の仮想マシン間の接続のみに使用され、外部との接続はできません。PIF に関連
付けられたネットワークは「外部」ネットワークです。外部ネットワークは、VIF と、ネットワーク
に接続された PIF 間のブリッジを提供し、PIF の NIC 経由で外部ネットワーク上のリソースへの接続
を可能にします。
4.3.3. VLAN
仮想ローカルエリアネットワーク(VLAN)では、IEEE 802.1Q 標準で定義されるように、単一の物
理ネットワークで複数の論理ネットワークをサポートすることができます。XenServer ホストでは
VLAN をさまざまな方法で使用できます。
注:
リソースプール、スタンドアロンホスト、そして NIC ボンディングの使用/不使用
などの構成の違いにより、サポートされる VLAN 設定が異なることはありません。
4.3.3.1. 管理インターフェイスでの VLAN の使用
802.1Q VLAN のタグ付けとタグ解除を行うスイッチポートは、一般にネイティブ VLAN ポートまた
はアクセスモードポートと呼ばれ、これを管理インターフェイスで使用して、管理用トラフィックを
適切な VLAN 上に流すことができます。この場合、XenServer ホストは VLAN 設定を認識しません。
管理インターフェイスを、トランクポート経由で XenServer の VLAN に割り当てることはできませ
ん。
4.3.3.2. 仮想マシンでの VLAN の使用
802.1Q VLAN のトランクポートとして設定されているスイッチポートと XenServer の VLAN 機能
を使用して、ゲストの仮想ネットワークインターフェイス(VIF)を特定の VLAN に接続できます。
この場合、XenServer ホストがゲストの VLAN タグ付けとタグ解除を実行します。
XenServer VLAN は、指定された VLAN タグに対応する VLAN インターフェイスを表す追加の PIF
オブジェクトによって表されます。これにより、XenServer ネットワークは、物理 NIC の PIF に接
続してその NIC 上のすべてのトラフィックにアクセスしたり、VLAN の PIF に接続して特定の VLAN
タグで指定されるトラフィックのみにアクセスしたりできます。
39
スタンドアロンまたはリソースプール内の XenServer ホストでの仮想 LAN(VLAN)の作成手順につ
いては、4.4.4. 「VLAN を作成する」を参照してください。
4.3.3.3. ストレージ専用 NIC での VLAN の使用
ストレージ専用 NIC(「IP が有効な NIC」または単に「管理インターフェイス」とも呼ばれます)で
は、上記管理インターフェイスのセクションで説明したネイティブ VLAN(またはアクセスモードポ
ート)を使用したり、仮想マシンのセクションで説明したトラインクポートと XenServer VLAN を使
用したりできます。ストレージ専用 NIC の設定については、4.4.7. 「ストレージ専用 NIC を設定す
る」を参照してください。
4.3.3.4. 管理インターフェイスとゲスト VLAN を単一のホスト NIC にまとめる
単一のスイッチポートをトランク VLAN とネイティブ VLAN の両方と組み合わせることができます。
これにより、1 つのホスト NIC を(ネイティブ VLAN 上の)管理インターフェイス用に使用したり、
ゲスト VIF を特定の VLAN ID に接続するために使用したりできます。
4.3.4. ジャンボフレーム
ジャンボフレームは、ストレージトラフィックのパフォーマンスを最適化するために使用される機能
です。ジャンボフレームは、1500 バイトを超えるペイロードを含むイーサネットフレームです。通
常、スループットの向上、システムバスメモリの負荷や CPU オーバーヘッドの低減を実現するために
使用されます。
注:
XenServer では、プール内のすべてのホスト上で、ネットワークスタックとして
vSwitch が使用されている場合にのみジャンボフレームがサポートされます。
ジャンボフレーム使用の要件
ジャンボフレームを使用する場合には、以下の点に注意してください。
• ジャンボフレームは、プールレベルで設定されます
• プール内のすべてのホスト上で、ネットワークバックエンドとして vSwitch を設定する必要があり
ます
• サブネット上のすべてのデバイスがジャンボフレームを使用するように設定する必要があります
• ジャンボフレームは、専用のストレージネットワーク上でのみ有効にすることをお勧めします
• 管理ネットワーク上でジャンボフレームを有効にする設定はサポートされていません
• 仮想マシンでのジャンボフレームの使用はサポートされていません
ジャンボフレームを使用する場合は、MTU(Maximum Transmission Unit)の値を 1500 から 9216
の範囲で指定します。これは、XenCenter または xe CLI で実行できます。ジャンボフレームを使用
したネットワーク設定について詳しくは、Citrix Knowledge Center の CTX130924『Designing
XenServer Network Configurations』(英文)を参照してください。
4.3.5. NIC ボンディング
NIC ボンディングは、「NIC チーミング」と呼ばれることもあります。管理者は、複数の NIC を「束
ね」て単一のネットワークカードとして機能させて、XenServer ホストの耐障害性や帯域幅を向上さ
せることができます。ボンディングを構成するすべての NIC は同じ MAC アドレスを共有します。
ボンディングされた NIC の一方に障害が発生すると、ホストのネットワークトラフィックは自動的に
他方の NIC 経由で転送されます。XenServer では、最大で 8 組のボンディングネットワークがサポ
ートされます。
40
XenServer では、アクティブ/アクティブモード、アクティブ/パッシブモード、および LACP ボンデ
ィングモードがサポートされます。ボンディングを構成できる NIC の数やサポートされるボンディ
ングモードは、使用するネットワークスタックにより異なります。
• LACP ボンディングは、vSwitch でのみ使用できます。アクティブ/アクティブモードおよびアクテ
ィブ/パッシブモードのボンディングは、vSwitch および Linux ブリッジの両方で使用できます。
• ネットワークスタックとして vSwitch を使用する場合は、最大で 4 つの NIC を使用してボンディ
ングを作成できます。
• Linux ブリッジネットワークスタックの場合、ボンディングを構成できる NIC は 2 つまでです。
次の図では、管理インターフェイスとして NIC ボンディングが使用されています。XenServer は、管
理用トラフィックにこの NIC ボンディングを使用します。
この図のホストでは、1 組の NIC ボンディング上に管理インターフェイスが設定されており、ほかの
2 組の NIC ボンディングは仮想マシン(ゲスト)トラフィックで使用されています。管理インターフ
ェイス以外の NIC(2 組の NIC ボンディングと 2 つの非ボンディング NIC)は、仮想マシントラフィ
ックで使用されています。
すべてのボンディングモードでフェイルオーバー機能が提供されますが、すべての NIC をすべての種
類のトラフィック用にアクティブに使用するモードは一部のみです。XenServer では、以下の種類の
トラフィックで NIC ボンディングを使用できます。
• 通常の NIC(非管理用)
:仮想マシントラフィック用の NIC をボンディングできます。これにより、
耐障害性が向上するだけでなく、複数の仮想マシンからのトラフィック負荷を分散させることがで
きます。
• 管理インターフェイス:管理インターフェイスをほかの NIC とボンディングして、障害発生時に管
理トラフィックが 2 つ目の NIC にフェイルオーバーされるように設定できます。アクティブ/アク
ティブモードでは管理インターフェイスの負荷を分散させることはできませんが、LACP(Link
Aggregation Control Protocol)モードでは可能です。
• セカンダリインターフェイス:セカンダリインターフェイス(ストレージ用のインターフェイスな
ど)として割り当てた NIC をボンディングできます。ただし、多くの iSCSI ソフトウェアイニシエ
ータストレージでは、負荷分散を提供しない NIC ボンディングではなく、マルチパス構成を使用す
ることをお勧めします。詳しくは、
『Designing XenServer Network Configurations』を参照して
ください。
このセクションでは、iSCSI および NFS のトラフィックに対して「IP ベースのストレージトラフィ
ック」という語を使用します。
VIF で既に使用されているインターフェイスを使用してボンディングを作成できます。この場合、仮
想マシントラフィックが自動的にそのボンディングインターフェイスに移行されます。
XenServer の NIC ボンディングでは、追加の PIF で表されます。XenServer の NIC ボンディング
は、それを構成する物理デバイス(PIF)を完全に包括します。
注:
単一の NIC を使ってボンディングを作成することはサポートされません。
ボンディングへの IP アドレスの割り当て
41
NIC ボンディングの IP アドレスは、以下のように割り当てられます。
• 管理ネットワークおよびストレージネットワーク
• 管理インターフェイスやセカンダリインターフェイスをボンディングする場合、単一の IP アドレ
スが割り当てられます。つまり、個々の NIC は IP アドレスを持たず、XenServer では単一の論
理接続として使用されます。
• 仮想マシン以外のトラフィック用に NIC ボンディングを使用する場合(共有ネットワークストレ
ージや XenCenter への接続など)は、ボンディングに IP アドレスを設定する必要があります。
管理インターフェイスやセカンダリインターフェイスの作成により既に NIC に IP アドレスが割
り当てられている場合は、その NIC を使ってボンディングを作成すると自動的にその IP アドレ
スが割り当てられます。
• XenServer 6.0 以降では、IP アドレスが割り当てられていない NIC と管理インターフェイスや
セカンダリインターフェイスでボンディングを作成すると、自動的に管理インターフェイスまた
はセカンダリインターフェイスの IP アドレスが割り当てられます。
• 仮想マシンネットワーク:仮想マシン(ゲスト)トラフィック用に NIC ボンディングを使用する場
合、そのボンディングに IP アドレスを設定する必要はありません。これは、ボンディングが、IP
アドレスが不要な OSI モデルのレイヤ 2(データリンクレイヤ)で動作するためです。仮想マシン
の IP アドレスは、VIF に割り当てられます。
ボンディングの種類
XenServer では、3 種類の NIC ボンディングがサポートされます。ボンディングの種類は、
XenCenter または CLI コマンドを使用して設定します。
• アクティブ/アクティブモードでは、ボンディングされた NIC 間で仮想マシントラフィックが分散
されます。4.3.5.1. 「アクティブ/アクティブボンディング」を参照してください。
• アクティブ/パッシブモードでは、一方の NIC のみがトラフィックに使用されます。4.3.5.2. 「ア
クティブ/パッシブボンディング」を参照してください。
• LACP(Link Aggregation Control Protocol)モードでは、スイッチとサーバー間で NIC のアクテ
ィブ/スタンバイが決定されます。4.3.5.3. 「 LACP ボンディング」を参照してください。
注:
ボンディングは Up Delay が 31000 ミリ秒、Down Delay が 200 ミリ秒で設定さ
れます。Up Delay の値が大きいのは、一部のスイッチで実際にポートが有効になる
までに時間がかかるためです。このように設定しないと、リンクが障害から復旧し
たとき、スイッチでトラフィックを転送できるようになる前に、ボンドによりその
リンクへトラフィックがリバランスされる可能性があります。両方の接続を別のス
イッチに移動する場合は、第 1 の接続を移動してから 31 秒間待機して、その接続
の使用が再開されてから、第 2 の接続を移動します。Up Delay の変更については、
4.3.8. 「ボンディングの Up Delay の変更」を参照してください。
ボンディングの状態
XenServer では、各ホストのボンディングの状態がイベントログに記録されます。イベントログに
は、ボンディングを構成する NIC の障害や障害から回復などの情報が記録されます。同様に、以下の
コマンドで links-up パラメータを使用して、ボンディングの状態を確認することもできます。
xe bond-param-get uuid=<bond_uuid> param-name=links-up
XenServer では、ボンディングの状態が約 5 秒ごとに確認されます。このため、ボンディングの複数
の NIC に 5 秒以内に相次いで障害が発生すると、次の状態チェックまで障害がログに記録されない場
合があります。
ボンディングのイベントログは、XenCenter の[ログ]タブに表示されます。また、各ホストの/var/
log/xensource.log にもログが記録されます。
42
4.3.5.1. アクティブ/アクティブボンディング
アクティブ/アクティブモードの NIC ボンディングを仮想マシントラフィックで使用すると、トラフ
ィックが両方の NIC で同時に送信されます。一方、管理トラフィックでアクティブ/アクティブモー
ドを使用すると、1 つの NIC でトラフィックが送信され、もう 1 つの NIC は障害発生時まで使用され
ません。アクティブ/アクティブモードは、Linux ブリッジおよび vSwitch ネットワークスタック環境
でのデフォルトの NIC ボンディングです。
ネットワークスタックとして Linux ブリッジを使用する場合、ボンディングを構成できる NIC は 2 つ
までです。ネットワークスタックとして vSwitch を使用する場合は、最大で 4 つの NIC を使用して
アクティブ/アクティブモードのボンディングを作成できます。ただし、アクティブ/アクティブモー
ドで 3 つまたは 4 つの NIC を使用する利点は、仮想マシントラフィックでしか発揮されません(次の
図参照)。
この図は、4 つの NIC で構成されるボンディングを仮想マシントラフィックで使用する利点について
示しています。1 つ目の図は管理インターフェイスの NIC ボンディングを示しており、NIC 2 がアク
ティブで、NIC 1、3、および 4 はパッシブです。仮想マシントラフィックでは、ボンディングを構成
する 4 つの NIC すべてがアクティブです(ただし 4 つ以上の仮想マシンが動作している場合)。スト
レージトラフィックでは、NIC 11 のみがアクティブです。
XenServer では、ボンディングに複数の MAC アドレスが関連付けられている場合のみ、複数の NIC
にトラフィックを送信できます。XenServer は、VIF の仮想 MAC アドレスに基づいて、トラフィッ
クを分散します。つまり、以下のようになります。
• 仮想マシントラフィック:仮想マシン(ゲスト)トラフィックのみに使用される NIC ボンディング
では、すべての NIC がアクティブになり、仮想マシントラフィックが分散されます。ただし、個別
の VIF のトラフィックが複数の NIC に分散されることはありません。
• 管理またはストレージ用のトラフィック:複数の NIC が同時にアクティブになることはありませ
ん。アクティブな NIC に障害が発生した場合のみ、ほかの NIC がアクティブになります。管理イ
ンターフェイスまたはセカンダリインターフェイスにボンディングを使用すると、トラフィックは
分散されませんが耐障害性が提供されます。
43
• 混合トラフィック:NIC ボンディングで IP ベースのストレージトラフィックと仮想マシントラフィ
ックの両方が送信される場合は、仮想マシントラフィックおよびコントロールドメイントラフィッ
クのみが分散されます。コントロールドメインは実質的に仮想マシンであるため、ほかの仮想マシ
ンと同じように NIC を使用します。XenServer では、仮想マシントラフィックと同じしくみでコン
トロールドメインのトラフィックが分散されます。
トラフィックの分散
XenServer は、パケット送信元の MAC アドレスに基づいてトラフィックを複数の NIC に分散しま
す。管理トラフィックの場合、送信元の MAC アドレスは 1 つなので、アクティブ/アクティブモード
では 1 つの NIC のみが使用され、トラフィックは分散されません。以下の 2 つの要素に基づいてトラ
フィックが分散されます。
• トラフィックを送信する側と受信する側の仮想マシンおよび VIF
• 送信されるデータの量(キロバイト)
XenServer では、各 NIC で送受信されるデータの量がキロバイト単位で評価されます。一方の NIC
で送信されるデータ量が他方の NIC の量を超えると、VIF と NIC の関連付けがリバランスされます。
1 つの VIF のトラフィック負荷が複数の NIC に分割されることはありません。
アクティブ/アクティブモードの NIC ボンディングでは、複数の仮想マシンからのトラフィックが分
散されますが、単一仮想マシンに対して 2 つの NIC によるスループットを提供することはできませ
ん。VIF は、ボンディングを構成する 2 つの NIC を同時に使用することはありません。XenServer で
トラフィックのリバランスが定期的に行われる間、ボンディング内の特定の NIC に VIF が固定的に割
り当てられることはありません。
アクティブ/アクティブモードは、「SLB(Source Level Balancing)」と呼ばれることもあります。
XenServer では、ボンディングされた NIC 間の負荷が SLB により分散されます。SLB はオープンソ
ースの ALB(Adaptive Load Balancing)モードに由来し、その機能を再利用して NIC 間で負荷を動
的にリバランスします。
このとき、各スレーブ(インターフェイス)に流れるバイト数は、定期的に追跡されます。新しい送
信元の MAC アドレスを含んだパケットが送信されると、負荷の低い方のスレーブインターフェイス
に割り当てられます。トラフィックのリバランスは、一定の間隔で行われます。
各 MAC アドレスは対応する負荷を持ち、XenServer は仮想マシンが送受信するデータ量に応じてそ
の負荷全体をほかの NIC にリバランスします。アクティブ/アクティブモードでは、1 つの仮想マシ
ンからのすべてのトラフィックを単一 NIC で送信できます。
注:
アクティブ/アクティブモードのボンディングでは、802.3ad(LACP)または
EtherChannel 用のスイッチサポートが不要です。
4.3.5.2. アクティブ/パッシブボンディング
アクティブ/パッシブモードのボンディングでは、1 つの NIC だけがトラフィックに使用されます。
その NIC に障害が発生した場合は、他方の NIC にフェイルオーバーされます。1 つの NIC がアクテ
ィブになってトラフィックを送信し、その NIC に障害が発生した場合にのみパッシブな NIC がアク
ティブになります。
アクティブ/パッシブモードの NIC ボンディングは、Linux ブリッジおよび vSwitch ネットワークス
タック環境で使用できます。ネットワークスタックとして Linux ブリッジを使用する場合、ボンディ
ングを構成できる NIC は 2 つまでです。ネットワークスタックとして vSwitch を使用する場合は、
最大で 4 つの NIC を使用してボンディングを作成できます。ただし、アクティブ/パッシブモードで
は、ボンディングを構成する NIC のうちアクティブになるのは 1 つのみで、すべての種類のトラフィ
ックで負荷分散は提供されません。
次の図では、2 つの NIC でアクティブ/パッシブモードのボンディングを構成しています。
44
この図は、2 つの NIC で構成されるアクティブ/パッシブモードのボンディングを示しています。NIC
1 がアクティブで、フェイルオーバー用の NIC 2 が別のスイッチに接続されています。NIC 1 に障害
が発生したときのみ、NIC 2 が使用されます。
XenServer の NIC ボンディングではデフォルトでアクティブ/アクティブモードが作成されるため、
CLI でアクティブ/パッシブモードのボンディングを作成する場合はパラメータを明示的に指定する
必要があります。ただし、管理トラフィックやストレージトラフィック用のネットワークに必ずアク
ティブ/パッシブモードを使用しなければならないわけではありません。
耐障害性を考慮すると、アクティブ/パッシブモードが適切である場合があります。アクティブ/パッ
シブモードでは、トラフィックに使用される NIC が頻繁には変更されません。同様に、このモードで
は 2 つのスイッチを使用して冗長性を向上できますが、スタック構成は必要はありません(管理スイ
ッチに障害が発生した場合にスタック構成のスイッチは単一障害点になってしまいます)。
アクティブ/パッシブモードのボンディングでは、802.3ad(LACP)または EtherChannel 用のスイ
ッチサポートが不要です。
トラフィックの負荷分散が不要な場合、または一方の NIC にのみトラフィックを送信したい場合は、
アクティブ/パッシブモードのボンディングを使用します。
重要:
VIF を作成した後やリソースプールが実務環境で動作している場合は、NIC ボンデ
ィングの作成や変更を慎重に行う必要があります。
4.3.5.3. LACP ボンディング
LACP(Link Aggregation Control Protocol)ボンディングでは、複数のポートをグループ化して単
一の論理チャネルとして使用します。LACP ボンディングでは、フェイルオーバーが提供されます。
また、より多くの帯域幅を使用できるようになります。
ほかのボンディングモードとは異なり、LACP ボンディングを使用するには送信側および受信側での
設定が必要です。つまり、ホストとスイッチの両方でボンディングを作成して、各ボンディングに
LAG(Link Aggregation Group)を作成します。詳しくは、4.3.5.4.1. 「LACP ボンディングのスイ
ッチ構成」を参照してください。LACP ボンディングを使用するには、ネットワークスタックとして
vSwitch を設定する必要があります。また、IEEE 802.3ad 標準をサポートするスイッチを使用する
必要があります。
次の表は、アクティブ/アクティブ SLB ボンディングと LACP ボンディングの比較を示しています。
45
ア ク テ ィ ブ / ア ク テ ィ ブ SLB
ボンディング
長所
注意事項
• XenServer の ハ ー ド ウ ェ ア
互換性一覧に記載されてい
るすべてのスイッチで使用
できます。
• 適切な負荷分散のためには、
1 つの VIF につき 1 つ以上
の NIC が必要です。
• スタック構成をサポートし
ないスイッチを使用できま
す。
LACP ボンディング
• ストレージトラフィックや
管理トラフィックを複数の
NIC に分散させることはで
きません。
• 4 つの NIC でボンディング
を構成できます。
• 負荷分散が提供されるのは、
複数の MAC アドレスが割り
当てられている場合のみで
す。
• すべての種類のトラフィッ
クですべての NIC が同時に
アクティブになります。
• IEEE 802.3ad 標準をサポー
トするスイッチを使用する
必要があります。
• 送信元の MAC アドレスに依
存せずにトラフィックが分
散されるため、すべての種類
のトラフィックで負荷分散
が提供されます。
• スイッチ側での設定が必要
です。
• vSwitch で の 使 用 の み が サ
ポートされています。
• 単一スイッチまたはスタッ
ク構成のスイッチが必要で
す。
トラフィックの分散
XenServer の LACP ボンディングでは 2 種類の「ハッシュ」(NIC およびスイッチがトラフィックを
分散する方式)がサポートされています。1 つは送信元および送信先の IP アドレスとポート番号に基
づいてトラフィックを分散するもので、もう 1 つは送信元の MAC アドレスに基づいてトラフィック
を分散.するものです。
ハッシュの種類およびトラフィックの形式によっては、アクティブ/アクティブモードのボンディング
よりも効率的にトラフィックを分散できます。
注:
管理者は、ホストおよびスイッチ上で送信トラフィックと受信トラフィックを個別
に設定します。ただし、これらの設定はホストとスイッチで異なっていても構いま
せん。
送信元/送信先のポートと IP による負荷分散
これは、LACP ボンディングのデフォルトのハッシュアルゴリズムです。1 つの仮想マシンからのトラ
フィックであっても、送信元または送信先のポートや IP が異なる場合は 2 つの NIC に分散されます。
たとえば、仮想マシン上で複数のアプリケーションを実行して、それらのアプリケーションが異なる
IP またはポートを使用する場合、このハッシュアルゴリズムによりトラフィックが分散されます。こ
の場合、1 つの仮想マシンで複数 NIC の総合スループットを使用できることになります。
同様に、次の図のように、1 つの仮想マシン上で実行される 2 つの異なるアプリケーションのトラフ
ィックをそれぞれ異なる NIC に分散できます。
46
この図では、ハッシュアルゴリズムとして[LACP - 送信元/送信先のポートと IP による負荷分散]
を選択した LACP ボンディングで、VM1 上の 2 つのアプリケーションのトラフィックを 2 つの異なる
NIC で送信しています。
送信元および送信先の IP アドレスとポート番号に基づいた LACP ボンディングは、単一仮想マシン上
の 2 つのアプリケーションのトラフィック負荷を分散させる場合に使用します(3 つの NIC によるボ
ンディングが設定された仮想マシンが 1 つのみの場合など)。
この図では、ハッシュアルゴリズムとして[LACP - 送信元/送信先のポートと IP による負荷分散]
を選択した LACP ボンディングで、単一仮想マシン上の各アプリケーションのトラフィックを、ボン
ディングを構成する 3 つの NIC のうちの 1 つを使って送信しています。VIF の数が NIC よりも少な
い点に注意してください。
このハッシュアルゴリズムでは、送信元の IP アドレス、送信元のポート番号、送信先の IP アドレス、
送信先のポート番号、および送信元の MAC アドレスという 5 つの要素により、トラフィックの分散
方法が決定されます。
送信元の MAC アドレスによる負荷分散
この負荷分散方式は、単一ホスト上で複数の仮想マシンが動作する場合に適しています。このボンデ
ィングでは、送信元の仮想マシンの MAC アドレスに基づいてトラフィックが分散されます。
XenServer は、アクティブ/アクティブモードのボンディングと同じアルゴリズムでトラフィックを
送信します。同一仮想マシンからのトラフィックが複数の NIC に分散されることはありません。こ
のため、VIF の数が NIC よりも少ない場合、このハッシュアルゴリズムは適していません。トラフィ
ックを複数の NIC に分散できないため、適切な負荷分散は提供されません。
47
この図では、ハッシュアルゴリズムとして[LACP - 送信元の MAC アドレスによる負荷分散]を選
択した LACP ボンディングで、VIF の数が NIC よりも少ないために NIC 3 が使用されていません。3
つの NIC に対して仮想マシンが 2 つしかないため、同時に 2 つの NIC しか使用できず、ボンディン
グの最大スループットが発揮されていません。このハッシュアルゴリズムでは、単一仮想マシンから
のトラフィックを複数の NIC に分散できません。
4.3.5.4. スイッチ設定
必要な冗長性の程度に応じて、ボンディングした NIC を同じスイッチに接続したり、スタック構成の
スイッチに個別に接続したりできます。2 つの NIC を異なるスイッチに接続した場合、一方の NIC や
スイッチに障害が発生した場合に、他方の NIC にフェイルオーバーされます。スイッチを追加するこ
とで、以下のように単一障害点を排除できます。
• ボンディングした管理インターフェイスの一方のリンクで 2 台目のスイッチに接続している場合、
そのスイッチに障害が発生しても管理ネットワークは切断されず、ホスト間の通信も中断されませ
ん。
• すべてのトラフィックの種類で、他方の NIC またはスイッチに障害が発生しても、他方の NIC や
スイッチにフェイルオーバーされるため、仮想マシンのネットワーク接続は維持されます。
LACP ボンディングの NIC を複数のスイッチに接続する場合は、スタック構成のスイッチを使用する
必要があります。
「スタック構成のスイッチ」とは、単一の論理スイッチとして動作する複数の物理ス
イッチの構成を指します。複数のスイッチを物理的に接続して、スイッチの管理ソフトウェアを使用
してそれらが単一の論理スイッチユニットとして動作するように設定する必要があります。通常、ス
イッチのスタック構成はスイッチベンダ独自の機能拡張で提供され、ベンダによっては異なる名称が
使用されている場合があります。
注:
アクティブ/アクティブモードのボンディングの問題を解決するには、スイッチをス
タック構成にする必要がある場合があります。アクティブ/パッシブモードのボン
ディングでは、スタック構成のスイッチを使用する必要はありません。
次の図では、NIC ボンディングの個々の NIC が、スタック構成の 2 つのスイッチに接続されていま
す。
48
この図では、ボンディングされた 2 つの NIC で同じネットワーク設定が使用されており、各ホストの
ネットワークとして表示されています。NIC ボンディングの個々の NIC は、冗長性のため 2 つの異な
るスイッチに接続されています。
4.3.5.4.1. LACP ボンディングのスイッチ構成
スイッチの詳細はベンダごとに異なりますが、LACP ボンディングでのスイッチ構成には以下の考慮
事項があります。
• LACP および IEEE 802.3ad 標準をサポートするスイッチを使用する必要があります。
• スイッチ上で LAG を作成するときに、全ホストの LACP ボンディングの数だけ LAG を作成する必
要があります。つまり、5 台のホストで構成されるプールで、各ホストの NIC 4 と NIC 5 で LACP
ボンディングを作成した場合は、スイッチ上に 5 つの LAG を作成します。ホストの NIC に対応す
るポートのグループに 1 つの LAG を作成し、必要に応じて VLAN ID を追加します。
• XenServer の LACP ボンディングでは、LAG のスタティックモードを無効にする必要があります。
4.3.5.4. 「スイッチ設定」で説明したように、LACP ボンディングの NIC を複数のスイッチに接続す
る場合は、スタック構成のスイッチを使用する必要があります。
4.3.6. セットアップ後のネットワークの初期設定
XenServer ホストのネットワーク設定は、ホストの初回インストール時に行います。IP アドレス設定
(DHCP/静的)、管理インターフェイス用の NIC、ホスト名などのオプションは、インストール時に指
定した値に基づいて設定されます。
複数の NIC を持つホストのインストール後の設定内容は、インストール時に管理用として選択した
NIC によって異なります。
• ホストの NIC ごとに PIF が作成される。
• 管理インターフェイスとして選択した NIC の PIF は、インストール時に指定したオプションで IP
アドレスが設定される。
• 各 PIF に対してネットワークが作成される(network 0、network 1 など)。
• 各ネットワークは個別の PIF に接続される。
• ほかの PIF の IP アドレスオプションは未設定のまま。
単一の NIC を持つ XenServer ホストでは、インストール後に次の内容が設定されます。
• その NIC に対応する単一の PIF が作成される。
• インストール中に指定したオプションで PIF の IP アドレスが設定され、ホストの管理が可能にな
る。
49
• その PIF がホスト管理用に設定される。
• 単一のネットワーク、network 0 が作成される。
• network 0 は PIF に接続され、仮想マシンへの外部からの接続が有効になる。
いずれの場合も、上記のネットワーク設定により、ほかのコンピューター上の XenCenter、xe CLI、
およびそのほかの管理ソフトウェアから、管理インターフェイスの IP アドレスを使用して
XenServer ホストに接続できるようになります。また、これらの設定により、ホスト上で作成された
仮想マシンに対して外部ネットワーク機能が提供されます。
XenServer のインストールでは、管理操作用の PIF に対してのみ、IP アドレスが設定されます。仮想
マシンの外部ネットワークは、仮想イーサネットスイッチとして動作するネットワークオブジェクト
を使用して、PIF から VIF へのブリッジによって実現されます。
VLAN、NIC ボンディング、およびストレージトラフィック専用 NIC の設定などのネットワーク機能
に必要な手順は、後続のセクションで説明します。
4.3.7. ネットワーク設定の変更
network オブジェクトを変更することで、ネットワーク設定を変更できます。つまり、network オブ
ジェクトまたは VIF を指定してコマンドを実行します。
4.3.7.1. network オブジェクトの変更
ネットワークのフレームサイズ(MTU)、name-label、name-description などの設定を変更するに
は、xe network-param-set コマンドにパラメータを指定して実行します。
xe network-param-set コマンドを実行するときは、uuid パラメータを必ず指定する必要がありま
す。
必要に応じて、以下のオプションパラメータを指定します。
• default_locking_mode。4.4.10.8.10. 「クラウド環境で VIF のロックモードを簡単に設定する」
を参照してください。
• name-label
• name-description
• MTU
• other-config:
パラメータに値を指定しない場合は、null 値が設定されます。マップパラメーターのキーと値は、
「map-param:key=value」形式で指定します。
4.3.8. ボンディングの Up Delay の変更
4.3.5. 「NIC ボンディング」で説明したように、障害発生後にそのリンクにトラフィックがリバラン
スされるのを避けるため、ボンディングの Up Delay 値としてデフォルトで 31000 ミリ秒が設定され
ます。この比較的大きな Up Delay 値は、アクティブ/アクティブモードだけでなく、すべてのボンデ
ィングモードで重要な意味を持ちます。
ただし、必要に応じてこの値を変更を変更することができます。
ボンディングの Up Delay を変更するには
1.
次のコマンドを実行して、Up Delay 値をミリ秒単位で指定します。
xe pif-param-set uuid=<<uuid of bond master PIF>> other-config:bond-updelay=<<delay in ms>>
2.
次のコマンドを実行して、物理インターフェイスをアンプラグして再プラグします。これにより、
変更が有効になります。
50
xe pif-unplug uuid=<<uuid of bond master PIF>>
xe pif-plug uuid=<<uuid of bond master PIF>>
4.4. ネットワーク設定を管理する
ここで説明するネットワーク設定手順のいくつかは、スタンドアロンホストとリソースプール内のホ
ストとで異なります。
4.4.1. サーバー間のプライベートネットワーク
以前のバージョンの XenServer では、同一ホスト上の仮想マシン間でのみ通信が可能な「単一サーバ
ーのプライベートネットワーク」を作成できました。このバージョンでは、この単一サーバーのプラ
イベートネットワークの概念をリソースプールレベルに拡張するサーバー間のプライベートネットワ
ークを作成できます。このプライベートネットワークでは、同一リソースプール内の仮想マシン間で
の通信が可能です。サーバー間のプライベートネットワークは、単一サーバーのプライベートネット
ワークの独立性と、リソースプール全体での接続性を兼ね備えています。このネットワークでは、
XenMotion による仮想マシンのライブマイグレーションなどのアジリティ機能も使用できます。
サーバー間のプライベートネットワークは、外部ネットワークから完全に隔離されます。このプライ
ベートネットワークに接続していない仮想マシンでは、このネットワーク上にトラフィックを送受信
できません。これは、その仮想マシンがほかの仮想マシンと同じ物理ホスト上にあり、同じ PIF(物
理ネットワークインターフェイス)上のネットワークに VIF が接続されている場合にも当てはまりま
す。VLAN でも同様の機能が提供されますが、サーバー間のプライベートネットワークで GRE
(Generic Routing Encapsulation)IP トンネリングプロトコルを使用すると、物理スイッチファブリ
ックを設定しなくても、ネットワークを隔離させることができます。
プライベートネットワークでは、物理スイッチファブリックを使用しなくても、以下の特長が提供さ
れます。
• 単一サーバーのプライベートネットワークと同様の独立したネットワークを構築できる。
• リソースプール内の複数ホスト間で仮想マシンを移行できる。
• XenMotion などの機能を使用できる。
サーバー間のプライベートネットワークは、NIC に IP アドレスを割り当てる必要があるため、管理イ
ンターフェイスまたはセカンダリインターフェイス上に作成する必要があります。IP アドレスが割
り当てられた任意の NIC を使用してこのネットワークを作成できます。サーバー間のプライベート
ネットワークをセカンダリインターフェイス上に作成する場合は、このインターフェイスが隔離され
たサブネットに属している必要があります。
管理インターフェイスやほかのセカンダリインターフェイスが同じサブネットに属していると、ネッ
トワークトラフィックが正しくルーティングされません。
注:
サーバー間のプライベートネットワークを作成するには、以下の条件を満たす必要
があります。
• リソースプール内のすべてのホストで XenServer 6.0 以降が動作している。
• リソースプール内のすべてのホストで、ネットワークスタックとして vSwitch が
使用されている。
• vSwitch コントローラが実行されており、リソースプールが追加されている
(vSwitch 接続に必要な初期化および設定タスクを行う vSwitch コントローラが
プールに設定されている)。
• サーバー間のプライベートネットワークは、管理インターフェイスとして設定さ
れた NIC 上で作成する必要があります。この管理インターフェイスには、サーバ
ー間のプライベートネットワーク用に作成した、異なるサブネット上のセカンダ
リインターフェイス(IP が有効な PIF)も含まれます。
51
vSwitch の設定について詳しくは、『XenServer vSwitch Controller User Guide』(XenServer
vSwitch コントローラユーザーガイド)を参照してください。プライベートネットワークを作成する
方法については、XenCenter のオンラインヘルプを参照してください。
4.4.2. スタンドアロンホストでネットワークを作成する
ホストのインストール時に各 PIF に対して外部ネットワークが作成されるため、追加のネットワーク
作成が必要になるのは、通常以下の場合のみです。
• プライベートネットワークを使用する。
• VLAN や NIC ボンディングなどの高度な機能を使用する。
XenCenter を使用してネットワークを追加したり削除したりする方法については、XenCenter のオ
ンラインヘルプを参照してください。
CLI を使用して新しいネットワークを追加するには
1.
XenServer ホストのテキストコンソールを開きます。
2.
次の network-create コマンドを実行してネットワークを作成します。これにより、新規に作成
したネットワークの UUID が返されます。
xe network-create name-label=<mynetwork>
この時点で、このネットワークは PIF に接続されていないため、内部ネットワークです。
4.4.3. リソースプールでネットワークを作成する
リソースプール内のすべての XenServer ホストで、同数の物理 NIC が装着されている必要がありま
す。ただし、この要件は XenServer ホストをプールに追加するときの絶対条件ではありません。
リソースプール内のすべてのホストで XenServer ネットワークの共通セットが共有されるため、プー
ル内のすべての XenServer ホストで同じ物理ネットワーク設定を使用することは重要です。個々の
ホスト上の PIF は、デバイス名に基づいたプール全体のネットワークに接続されます。たとえば、
eth0 NIC を持つすべての XenServer ホストでは、それに対応する PIF がプール全体の Network 0 ネ
ットワークに接続されます。eth1 NIC を持つホストも同様に Network 1 ネットワークに接続され、プ
ール内の 1 つ以上の XenServer ホストに装着されたほかの NIC も同様にネットワークに接続されま
す。
リソースプール内の XenServer ホストで NIC の数が異なると、一部のプールネットワークが一部の
ホストに対して有効にならないため、複雑な状況になります。たとえば、リソースプール内にホスト
host1 とホスト host2 があり、host1 に 4 つの NIC が装着されており、host2 に 2 つの NIC が装着
されている場合、eth0 と eth1 に対応する PIF に接続されたネットワークだけが host2 上で有効にな
ります。つまり、host1 上の仮想マシンが eth2 と eth3 のネットワークに接続された 2 つの VIF を持
つ場合、この仮想マシンは host2 上に移行できなくなります。
4.4.4. VLAN を作成する
リソースプール内の複数のホストで使用する VLAN を作成するには、pool-vlan-create コマンドを
実行します。これにより VLAN が作成され、必要な PIF がプール内の各ホスト上で作成され、プラグ
されます。詳しくは、A.4.26.2. 「pool-vlan-create」を参照してください。
CLI を使用してネットワークを外部 VLAN に接続するには
1.
XenServer ホストのテキストコンソールを開きます。
2.
次のコマンドを実行して、VLAN で使用する新しいネットワークを作成します。これにより、新
しいネットワークの UUID が返されます。
xe network-create name-label=network5
52
3.
次の pif-list コマンドを実行して、目的の VLAN タグをサポートする物理 NIC に対応している
PIF の UUID を確認します。これにより、既存の VLAN を含む、すべての PIF の UUID とデバイ
ス名が返されます。
xe pif-list
4.
次のコマンドを実行して、VLAN オブジェクトを作成します。このコマンドでは、その新規 VLAN
に接続されるすべての仮想マシン上の物理 PIF と VLAN タグを指定します。これにより、新しい
PIF が作成され、指定したネットワークにプラグされます。また、新しい PIF オブジェクトの
UUID が返されます。
xe vlan-create network-uuid=<network_uuid> pif-uuid=<pif_uuid> vlan=5
5.
仮想マシンの VIF を新しいネットワークに接続します。詳しくは、4.4.2. 「スタンドアロンホス
トでネットワークを作成する」を参照してください。
4.4.5. スタンドアロンホストで NIC ボンディングを作成する
NIC ボンディングを作成する場合、XenCenter を使用することをお勧めします。詳しくは、
XenCenter のオンラインヘルプを参照してください。
ここでは、xe CLI を使用して、リソースプールに属していない、スタンドアロン XenServer ホスト
の NIC ボンディングを作成します。リソースプール内の XenServer ホストで NIC ボンディングを
作成する方法については、4.4.6. 「リソースプールで NIC ボンディングを作成する」を参照してくだ
さい。
4.4.5.1. NIC ボンディングの作成
管理インターフェイスで NIC ボンディングを使用する場合、管理インターフェイスで使用している
PIF/NIC をボンディング PIF に移動する必要があります。XenServer 6.0 以降では、管理インターフ
ェイスが自動的にボンディングの PIF に移動します。
2 つまたは 4 つの NIC でボンディングを作成するには
1.
次の network-create コマンドを実行して、NIC ボンディングで使用する新しいネットワーク
を作成します。これにより、新しいネットワークの UUID が返されます。
xe network-create name-label=<bond0>
2.
次の pif-list コマンドを実行して、ボンディングに使用する PIF の UUID を検出します。
xe pif-list
3.
以下のいずれかを行います。
• アクティブ/アクティブモードのボンディング(デフォルト)を作成するには、bond-create
コマンドを使用します。このコマンドでは、作成したネットワークの UUID と、ボンディング
する PIF の UUID を、コンマで区切って指定します。
xe bond-create network-uuid=<network_uuid> pif-uuids=<pif_uuid_1>,<pif_uuid_2>,<pif_uuid_3>,<pif_uuid_4>
ボンディングを構成する NIC の数に応じて、2 つまたは 4 つの UUID を指定してください。こ
れにより、ボンディングの UUID が返されます。
• アクティブ/パッシブモードまたは LACP モードのボンディングを作成するには、上記と同じ構
文に mode パラメータを追加して、active-backup または lacp を指定します。
xe bond-create network-uuid=<network_uuid> pif-uuids=<pif_uuid_1>,<pif_uuid_2>,<pif_uuid_3>,<pif_uuid_4> /
mode=<balance-slb | active-backup | lacp>
注:
以前のリリースでは、other-config:bond-mode を指定してボンディングモードを変更
していました。このリリースでもこのパラメーターを使用できますが、mode の方が
53
効率的です(other-config:bond-mode は将来のリリースで使用できなくなる場合
があります)。other-config:bond-mode を使用する場合は、モードの変更を有効にする
ために pif-unplug および pif-plug を実行する必要があります。
4.4.5.2. ボンディングの MAC アドレスを制御する
管理インターフェイスで NIC ボンディングを作成するということは、その管理インターフェイスで使
用している PIF/NIC が、ボンディングに含まれることを意味します。ホストで DHCP を使用する場
合、ボンディングの MAC アドレスは使用中の PIF/NIC のものと同じになり、管理インターフェイス
の IP アドレスはボンディング作成後も保持されます。
管理インターフェイスとして使用している NIC と異なる MAC アドレスをボンディングに設定するこ
ともできますが、ボンディングが有効になって MAC アドレスや IP アドレスが変更されたときに、そ
のホストとの既存のネットワークセッションが切断されます。
ボンディングの MAC アドレスは、以下の 2 つの方法で制御できます。
• bond-create コマンドで mac パラメーターを指定します。このパラメータはオプションであり、
ボンディングの MAC アドレスを任意に設定できます。
• XenServer 6.5 以降では、管理インターフェイスのボンディングで mac パラメータを指定しない場
合、その管理インターフェイスの MAC アドレスが使用されます。そのほかの管理インターフェイ
スのボンディングでは、その管理インターフェイスの MAC アドレス(および IP アドレス)が使用
されます。非管理インターフェイスのボンディングでは、最初の NIC の MAC アドレスが使用され
ます。
4.4.5.3. NIC ボンディングを元に戻す
XenServer ホストのボンディングを解除する場合は、bond-destroy コマンドにより「プライマリ
スレーブ」が自動的に管理インターフェイスとして使用されることに注意してください。このため、
すべての VIF が管理インターフェイスに移動します。
「プライマリスレーブ」とは、ボンディング作成時に MAC アドレスおよび IP 設定の元になった PIF
を指します。2 つの NIC をボンディングする場合、以下のようにプライマリスレーブが決定されま
す。
1. ボンディングの一方が管理インターフェイスの場合はその NIC。
2. 管理インターフェイスが含まれないボンディングの場合は IP アドレスを持つ NIC。
3. それ以外の場合は最初の NIC。最初の NIC は、次のコマンドで確認できます。
xe bond-list params=all
4.4.6. リソースプールで NIC ボンディングを作成する
リソースプールでの NIC ボンディングの作成は、リソースプールにホストを追加したり仮想マシンを
作成したりした後ではなく、リソースプールの初期作成時に行ってください。これにより、プールに
追加するホストにボンディング設定が自動的に適用されるため、必要な手順を減らすことができます。
既存のプールに NIC ボンディングを作成する場合、以下のいずれかが必要です。
• CLI でプールマスタ上にボンディングを作成し、さらにほかのホスト上にボンディングを作成する。
• CLI でプールマスタ上にボンディングを作成し、ほかのホストを再起動する。これにより、プール
マスタの設定がすべてのホストに継承されます。
• XenCenter でプールマスタ上にボンディングを作成する。これにより、プールマスタのネットワー
ク設定が XenCenter によりすべてのホストに同期されます。ホストの再起動も不要です。
操作が簡単であり、不正な設定を防ぐためにも、XenCenter を使用して NIC ボンディングを作成す
ることをお勧めします。詳しくは、XenCenter のオンラインヘルプを参照してください。
54
ここでは、xe CLI を使用して、リソースプール内の XenServer ホストの NIC ボンディングを作成し
ます。スタンドアロン XenServer ホストで NIC ボンディングを作成する方法については、4.4.5.1.
「NIC ボンディングの作成」を参照してください。
警告:
高可用性機能が有効な場合は、ネットワークボンディングを作成しないでください。
ボンディングの作成処理により、実行中の高可用性ハートビートが阻害され、ホス
トが自動的に隔離(つまりシャットダウン)され、正しく再起動しなくなることが
あります。このようなホストを復元するには、host-emergency-ha-disable コ
マンドを実行する必要があります。
4.4.6.1. 新しいリソースプールに NIC ボンディングを追加する
1.
新しいリソースプールのプールマスタとして動作させるホストを選択します。XenServer ホス
トは、デフォルトで名前のないリソースプールに属します。リソースプールを作成するには、次
のコマンドを実行して、名前のないリソースプールに名前を設定します。
xe pool-param-set name-label=<"New Pool"> uuid=<pool_uuid>
2.
4.4.5.1. 「NIC ボンディングの作成」の手順に従って、NIC ボンディングを作成します。
3.
プールに追加するホストでコンソールを開き、次のコマンドを実行します。
xe pool-join master-address=<host1> master-username=root master-password=<password>
ネットワークとボンディングの情報が、新しいホストに自動的に複製されます。管理インターフ
ェイスが、元のホスト上の NIC からボンディングの PIF に移動します。これにより、このボンデ
ィング全体が管理インターフェイスとして動作します。
•
次の host-list コマンドを実行して、そのホストの UUID を確認します。
xe host-list
4.4.6.2. 既存のリソースプールに NIC ボンディングを追加する
警告:
高可用性機能が有効な場合は、ネットワークボンディングを作成しないでください。
ボンディングの作成処理により、実行中の高可用性ハートビートが阻害され、ホス
トが自動的に隔離(つまりシャットダウン)され、正しく再起動しなくなることが
あります。このようなホストを復元するには、host-emergency-ha-disable コ
マンドを実行する必要があります。
注:
XenCenter を使用せずにリソースプール全体の NIC ボンディングを作成する場合
は、プールマスタ上でボンディングを作成し、その後でほかのサーバーを再起動し
ます。また、service xapi restart コマンドを使用することもできます。これによ
り、プールマスタ上のボンディングおよび VLAN の設定が、各ホストの継承されま
す。ただし、各ホスト上の管理インターフェイスは、手作業で設定する必要があり
ます。
4.4.6.1. 「新しいリソースプールに NIC ボンディングを追加する」の手順に従って、NIC ボンディン
グを作成します。
4.4.7. ストレージ専用 NIC を設定する
ストレージなどの特定機能専用の NIC を設定するには、XenCenter または xe CLI を使用してその
NIC に IP アドレスを割り当てます。NIC に IP アドレスを割り当てると、セカンダリインターフェイ
スが作成されます(IP アドレスが割り当てられる NIC のうち、XenServer を管理するために使用さ
れる管理インターフェイスを「管理インターフェイス」と呼びます)。
55
セカンダリインターフェイスに特定の機能を割り当てる場合、その NIC がほかの用途に使用されない
ように、適切なネットワーク設定を行う必要があります。たとえば、NIC をストレージトラフィック
専用にするには、ストレージターゲットにその NIC からしかアクセスできないように、NIC、ストレ
ージターゲット、および VLAN を設定する必要があります。つまり、ストレージ用の NIC で送信する
トラフィックを、物理的な構成や IP アドレスの設定により制限します。これにより、その NIC にほ
かのトラフィック(管理トラフィックなど)が送信されることを防ぎます。
ストレージトラフィック用のセカンダリインターフェイスを作成するには、使用するストレージコン
トローラと同じサブネットに属し、ほかのセカンダリインターフェイスや管理インターフェイスとは
異なるサブネットに属している IP アドレスを割り当てる必要があります。
複数のセカンダリインターフェイスを作成する場合は、各インターフェイスが個別のサブネットに属
している必要があります。たとえば、ストレージトラフィック用のセカンダリインターフェイスを 2
つ追加する場合、3 つの異なるサブネットに属する IP アドレスが必要です。つまり、管理インターフ
ェイスのサブネット、1 つ目のセカンダリインターフェイスのサブネット、および 2 つ目のセカンダ
リインターフェイスのサブネットです。
ストレージトラフィックの耐障害性を高めるためにボンディングを使用する場合は、Linux ブリッジ
ボンディングではなく LACP を使用することを検討してください。LACP ボンディングを使用するに
は、ネットワークスタックとして vSwitch を設定する必要があります。詳しくは、4.2. 「vSwitch ネ
ットワーク」を参照してください。
注:
iSCSI または NFS のストレージリポジトリで使用するセカンダリインターフェイ
スの NIC を選択する場合、その NIC の IP サブネットが管理インターフェイスから
ルーティングできない隔離されたものである必要があります。ネットワークが隔離
されていない場合、ホストを再起動した後のネットワークインターフェイスの初期
化順序によっては、管理インターフェイスを経由してストレージトラフィックが送
信される可能性があります。
CLI を使用して NIC の機能を割り当てるには
1.
PIF が別のサブネット上にあること、またはその PIF 経由で目的のトラフィックが転送されるよ
うにネットワークトポロジに適したルーティングが設定されていることを確認します。
2.
次のコマンドを実行して、その PIF の IP 設定を行います。このコマンドでは、mode パラメータ
ーに適切な値を設定し、静的 IP アドレスを使用する場合はそのアドレス、ネットマスク、ゲート
ウェイ、および DNS のパラメーターを設定します。
xe pif-reconfigure-ip mode=<DHCP | Static> uuid=<pif-uuid>
3.
次のコマンドを実行して、PIF の disallow-unplug パラメーターを true に設定します。
xe pif-param-set disallow-unplug=true uuid=<pif-uuid>
xe pif-param-set other-config:management_purpose="Storage" uuid=<pif-uuid>
管理インターフェイスからもルーティングされるストレージ用のセカンダリインターフェイスを設定
するには、以下の 2 つの選択肢があります(ただし、この構成は推奨されません)。
• ホストの再起動後に、セカンダリインターフェイスが正しく設定されていることを確認し、xe pbdunplug コマンドと xe pbd-plug コマンドを使用してストレージ接続を再初期化します。これに
よりストレージ接続が再起動し、正しいインターフェイスにルーティングされます。
• xe pif-forget コマンドを使用してそのインターフェイスを XenServer データベースから消去し、
コントロールドメイン内で手作業でインターフェイスを設定します。これは上級者向けであり、
Linux ネットワークの設定方法に関する理解が必要です。
4.4.8. SR-IOV 対応の NIC を使用する
SR-IOV(Single Root I/O Virtualization)とは、単一の PCI デバイスを物理 PCI バス上で複数の
PCI デバイスとして仮想化する技術です。SR-IOV では、実際の物理デバイスを PF(Physical
56
Function )と呼び、そのほかのデバイスを VF(Virtual Functions)と呼びます。SR-IOV 技術を使
用すると、ハイパーバイザーで仮想マシンに 1 つまたは複数の VF を直接割り当てることができます。
ゲストからは、これらの VF を通常の PCI デバイスとして使用できます。
VF を仮想マシンに割り当てることで、そのハードウェアを仮想マシンから直接利用できるようになり
ます。このように設定すると、各仮想マシンが NIC を直接使用しているかのように動作するため、処
理のオーバーヘッドが軽減されてパフォーマンスが向上します。
警告:
SR-IOV VF を持つ仮想マシンでは、ライブマイグレーション、プールのローリング
アップグレード、高可用性、および障害回復など、仮想マシンの移行を伴う機能を
使用できなくなります。これは、仮想マシンが物理的な SR-IOV 対応 NIC の VF に
直接関連付けられるためです。また、SR-IOV VF で送信される仮想マシンネットワ
ークトラフィックは、vSwitch をバイパスします。このため、ACL や QoS などの機
能を使用できません。
SR-IOV NIC VF を仮想マシンに割り当てる
注:
SR-IOV は、XenServer Hardware Compatibility List(HCL)の一覧に掲載されて
いる SR-IOV 対応 NIC を Windows Server 2008 ゲストオペレーティングシステ
ムで使用する場合のみサポートされます。
1.
XenServer ホストのローカルコマンドシェルを開きます。
2.
lspci コマンドを実行して、VF の一覧を表示します。以下はその例です。
07:10.0 Ethernet controller: Intel Corporation 82559 \
Ethernet Controller Virtual Function (rev 01)
この例では、07:10.0 がこの VF のアドレス(bus:device.function)です。
3.
次のコマンドを実行して、VF を仮想マシンに割り当てます。
xe vm-param-set other-config:pci=0/0000:<bus:device.function> uuid=<vm-uuid>
4.
仮想マシンを起動して、適切な VF ドライバをインストールします。
注:
単一の仮想マシンに複数の VF を割り当てることもできます。ただし、単一の VF を
複数の仮想マシンに割り当てることはできません。
4.4.9. 出力データレートを制御する(QoS)
仮想マシンが 1 秒間に送信可能な出力データ量を仮想インターフェイス(VIF)に設定して、QoS
(Quality of Service:サービス品質)を制御できます。この QoS 値は、出力パケットの最大転送レー
トを 1 秒あたりのキロバイト単位で設定します。
この値で制御されるのは、仮想マシンからの出力(送信)転送レートのみです。仮想マシンの受信デ
ータ量は制限されません。受信データ量を制御する場合は、ネットワークレベル(スイッチなど)で
入力パケットを制限することをお勧めします。
VIF の QoS 値を設定するには、次の表のように、リソースプールのネットワークスタック構成に応じ
て vSwitch コントローラまたは XenServer(XenCenter または CLI による)を使用します。
57
ネットワークスタック
設定方法
vSwitch
• vSwitch コントローラ:ネットワークスタッ
クとして vSwitch を使用する場合は、これが
最適な設定方法です。vSwitch スタックが使
用される環境では、XenCenter の QoS オプシ
ョンを使用できません。
• xe コマンド:xe コマンドで QoS 転送レート
を設定することもできます。後述の例を参照
してください。ただし、vSwitch コントロー
ラのユーザーインターフェイスを使用した方
が詳細に制御できます。
Linux ブリッジ
• XenCenter[仮想インターフェイスプロパテ
ィ]ダイアログボックスで QoS 転送レートを
制御できます。
• xe コマンド:xe コマンドで QoS 転送レート
を設定することもできます。後述の例を参照
してください。
重要:
ネットワークスタックとして vSwitch を使用する環境で、vSwitch コントローラと
XenServer ホストで矛盾した QoS 値を設定することができます。この場合、低い
方の転送レートで出力トラフィックが制御されます。
CLI コマンドによる QoS 値の設定例
以下の例では、vif-param-set コマンドを使用して VIF の最大転送レートを毎秒 100 キロバイトに
設定しています。
xe vif-param-set uuid=<vif_uuid> qos_algorithm_type=ratelimit
xe vif-param-set uuid=<vif_uuid> qos_algorithm_params:kbps=100
注:
vSwitch コントローラを使用する場合は、CLI コマンドではなく vSwitch コントロ
ーラで最大転送レートを設定することをお勧めします。vSwitch コントローラでの
設定方法については、
『vSwitch Controller User Guide』
(vSwitch コントローラユ
ーザーガイド)を参照してください。
4.4.10. ネットワーク設定オプションを変更する
ここでは、XenServer ホストのネットワーク設定を変更する方法について説明します。以下の仮想デ
ィスクを移動できます。
• ホスト名(DNS 名)を変更する。
• DNS サーバーを追加または削除する。
• IP アドレスを変更する。
• 管理インターフェイスとして使用する NIC を変更する。
• サーバーに新しい物理 NIC を追加する。
• ARP フィルタを有効にする(スイッチポートのロック)。
4.4.10.1. ホスト名
システムのホスト名(DNS 名)はプール全体のデータベースに定義され、次の xe host-sethostname-live コマンドで変更できます。
58
xe host-set-hostname-live host-uuid=<host_uuid> host-name=<host-name>
新しいホスト名は、コントロールドメインのホスト名にも自動的に反映されます。
4.4.10.2. DNS サーバー
XenServer ホストの IP アドレス設定に DNS サーバーを追加したり削除したりするには、pifreconfigure-ip コマンドを使用します。たとえば、静的 IP を設定する PIF では、次のコマンドを実
行します。
pif-reconfigure-ip uuid=<pif_uuid> mode=static DNS=<new_dns_ip>
4.4.10.3. スタンドアロンホストで IP アドレス設定を変更する
ネットワークインターフェイスの設定は、xe CLI を使用して変更できます。ネットワーク設定スクリ
プトを直接編集することは避けてください。
PIF の IP アドレス設定を変更するには、pif-reconfigure-ip コマンドを使用します。pifreconfigure-ip コマンドで使用可能なオプションについて詳しくは、A.4.15.5. 「pif-reconfigureip」を参照してください。
注:
リソースプール内のホストの IP アドレスを変更する方法について詳しくは、
4.4.10.4. 「リソースプールで IP アドレス設定を変更する」を参照してください。
4.4.10.4. リソースプールで IP アドレス設定を変更する
リソースプール内の XenServer ホストには、管理やプール内のほかのホストとの通信に使用する単一
の管理 IP アドレスがあります。管理インターフェイスの IP アドレスの変更手順は、プールマスタと
それ以外のホストで異なります。
注:
ホストの IP アドレスやほかのネットワークパラメータを変更するときは、注意が必
要です。環境のネットワークトポロジや変更内容によっては、ネットワークストレ
ージへの接続が切断される場合があります。この問題が発生した場合は、
XenCenter の[ストレージ]>[修復]コマンドや、CLI の pbd-plug コマンドを
使用してストレージを再プラグする必要があります。この理由から、仮想マシンを
ほかのホストに移行してから、IP アドレス設定を変更することをお勧めします。
メンバホスト(非プールマスタ)で IP アドレス設定を変更する
1.
次の pif-reconfigure-ip コマンドを実行して、IP アドレスを設定します。pif-reconfigure-ip
コマンドで使用可能なオプションについて詳しくは、付録 A「コマンドラインインターフェイス」
を参照してください。
xe pif-reconfigure-ip uuid=<pif_uuid> mode=DHCP
2.
次の host-list コマンドを実行して、プール内のほかのすべての XenServer ホストが認識される
ことを確認します(メンバホストがプールマスタに正しく再接続されたことを示します)。
xe host-list
プールマスタとして動作する XenServer ホストの IP アドレスを変更する場合は、追加の手順が必要
です。これは、各メンバホストがプールマスタと通信するときに、変更前の古い IP アドレスが使用さ
れるためです。
可能な場合は、リソースプールの運用中に変更される可能性が低い IP アドレスをプールマスタに割り
当ててください。
59
プールマスタで IP アドレス設定を変更する
1.
次の pif-reconfigure-ip コマンドを実行して、IP アドレスを設定します。pif-reconfigure-ip
コマンドで使用可能なオプションについて詳しくは、付録 A「コマンドラインインターフェイス」
を参照してください。
xe pif-reconfigure-ip uuid=<pif_uuid> mode=DHCP
2.
プールマスタの IP アドレスが変更され、メンバホストが接続できなくなると、すべてのメンバホ
ストが緊急モードに切り替わります。
3.
プールマスタ上で、次の pool-recover-slaves コマンドを実行します。これにより、プールマ
スタが各メンバホストと通信し、プールマスタの新しい IP アドレスが通知されます。
xe pool-recover-slaves
4.4.10.5. 管理インターフェイス
複数の NIC が装着されたコンピュータに XenServer をインストールすると、管理インターフェイス
として使用される NIC が 1 つ選択されます。管理インターフェイスは、XenCenter とそのホスト間
の通信、およびホストどうしの通信で使用されます。
管理インターフェイスの NIC を変更するには
1.
次の pif-list コマンドを実行して、管理インターフェイスとして使用する NIC の PIF を確認しま
す。このコマンドにより、各 PIF の UUID が返されます。
xe pif-list
2.
次の pif-param-list コマンドを実行して、管理インターフェイスとして使用する PIF の IP アド
レス設定を確認します。必要な場合は、pif-reconfigure-ip コマンドを使用して、その PIF の
IP アドレス設定を変更します。pif-reconfigure-ip コマンドで使用可能なオプションについて
詳しくは、付録 A「コマンドラインインターフェイス」を参照してください。
xe pif-param-list uuid=<pif_uuid>
3.
次の host-management-reconfigure コマンドを実行して、管理インターフェイスとして使
用する PIF を変更します。このホストがリソースプールに属している場合は、プールマスタ上の
コンソールでこのコマンドを実行する必要があります。
xe host-management-reconfigure pif-uuid=<pif_uuid>
警告:
VLAN ネットワーク上に管理インターフェイスを配置することはサポートされませ
ん。
4.4.10.6. 管理アクセスを無効にする
管理コンソールへのリモートアクセスを完全に無効にするには、host-management-disable コマ
ンドを使用します。
警告:
管理インターフェイスを無効にした場合、物理ホストコンソールにログインして管
理タスクを行う必要があります。XenCenter などの外部インターフェイスは機能
しなくなります。
4.4.10.7. 物理 NIC を新規に追加する
XenServer ホストへの物理 NIC のインストールは、通常の手順で行います。その後、ホストを起動し
たら、pif-scan コマンドを実行して、新しい NIC 用の PIF オブジェクトを作成します。
60
4.4.10.8. スイッチポートロックの使用
XenServer のスイッチポートロック機能を使用すると、仮想マシンが MAC アドレスや IP アドレスを
偽装できくなり、不明な仮想マシンからの悪意のあるトラフィックを制御できるようになります。こ
の機能のポートロックコマンドでは、特定のネットワーク上のトラフィックをすべてブロック(デフ
ォルト)したり、特定の IP アドレスからのトラフィック以外をブロックしたりできます。
クラウドサービスプロバイダでスイッチポートロック機能を使用すると、内部脅威に対するセキュリ
ティを強化できます。仮想マシンがインターネットのパブリックな IP アドレスを使用するクラウド
環境では、なりすましなどに対するセキュリティ対策を施して、クラウドのテナントがほかの仮想マ
シンを攻撃することを防ぐ必要があります。
スイッチポートロック機能を使用すると、すべてのテナントや仮想マシンで同じレイヤ 2 ネットワー
クを使用して、ネットワーク設定をシンプルにできます。
ポートロックコマンドの機能の 1 つに、信頼できない仮想マシンからのトラフィックを制限して、そ
の仮想マシンが MAC アドレスや IP アドレスを偽装することを不可能にするものがあります。これ
により、以下の行為を制限できます。
• XenServer の管理者が許可していない MAC アドレスや IP アドレスを偽装する。
• ほかの仮想マシンのトラフィックを傍受、なりすまし、または妨害する。
4.4.10.8.1. 要件
• XenServer のスイッチポートロック機能は、Linux ブリッジおよび vSwitch ネットワークスタック
でサポートされます。
• 役割ベースのアクセス制御(RBAC)を使用する環境でこの機能を設定するには、プールオペレー
タまたはプール管理者以上の権限を持つアカウントでログインする必要があります。RBAC を使用
しない環境では、プールマスタのルートアカウントでログインする必要があります。
• ポートロックコマンドは、オンラインおよびオフラインのネットワークに対して実行できます。
• Windows 仮想マシンで切断されたネットワークアイコンを表示するには、XenServer Tools をイ
ンストールする必要があります。
4.4.10.8.2. 備考
スイッチポートロックを設定しない場合、デフォルトで VIF のロックモードは network_default(ネッ
トワークのロックモードを適用)に設定され、ネットワークは unlocked(ロックなし)に設定されま
す。
vSwitch コントローラやそのほかのサードパーティコントローラを使用する環境でスイッチポートロ
ックを設定することはサポートされません。
スイッチポートロックを設定しても、以下の行為は制限されません。
• ほかのテナントやユーザーに対して IP レベルの攻撃をする。ただし、そのクラウド内のほかのテナ
ントやユーザーになりすましたり、ほかのユーザーのトラフィックを傍受したりする IP レベル攻撃
は、スイッチポートロックで防御できます。
• ネットワークリソースを過度に消費する。
• 通常のスイッチフラッディングの手段(ブロードキャスト MAC アドレスまたは不明な送信先 MAC
アドレスを使用するなど)を使用して、ほかの仮想マシン宛てのトラフィックを受信する。
同様に、スイッチポートロックを設定しても、仮想マシンからのトラフィックの送信先は制限されま
せん。
4.4.10.8.3. 実装における注意事項
スイッチポートロック機能は、コマンドラインまたは XenServer API を使って実装できます。特に、
大規模な環境では、API を使って自動化することが一般的です。
61
4.4.10.8.4. 例
ここでは、スイッチポートロック機能を使用してさまざまな攻撃から環境を保護する方法について、
例を挙げて説明します。これらの例で、
「VM-c」は悪意のあるテナント(Tenant C)が使用している
仮想マシンを表します。
「VM-a」および「VM-b」は、通常のテナントが使用している仮想マシンを表
します。
例 1:ARP スプーフィングからの保護
「ARP スプーフィング」とは、攻撃者が自分の MAC アドレスをほかのノードの IP アドレスに関連付
けて、そのノード宛てのトラフィックを受信しようとする行為です。この行為では、攻撃者が偽の(「な
りすまし」の)ARP メッセージをイーサネット LAN に送信します。
シナリオ
VM-a が VM-b の IP アドレスを指定して VM-b に IP トラフィックを送信します。VM-c の攻撃者は、
ARP スプーフィングを使用して VM-b になりすまします。
1. VM-c から、推測的な ARP 応答のストリームが VM-a に送信されます。これらの ARP 応答では、
VM-c の MAC アドレス(c_MAC)と VM-b の IP アドレス(b_IP)との関連付けが偽装されます。
結果:管理者がスイッチポートロック機能を有効にしたため、偽装が無効になり、これらのパケッ
トはすべてドロップします。
2. VM-b から VM-a への ARP 応答により、VM-b の MAC アドレス(b_MAC)が VM-b の IP アドレ
ス(b_IP)に関連付けられます。
結果:VM-a が VM-b の ARP 応答を受信します。
例 2:IP アドレススプーフィングからの保護
「IP アドレススプーフィング」とは、送信元 IP アドレスを詐称して、パケットの ID を隠匿する行為
です。
シナリオ
攻撃者(Tenant C)が自分のホスト(Host-C)を使用してリモートシステムにサービス拒否攻撃をし
かけ、自分の ID を偽装しようとします。
攻撃 1
Tenant C が Host-C の IP アドレスと MAC アドレスとして、VM-a のもの(a_IP と a_MAC)を設定
します。Tenant C は、Host-C からリモートシステムに IP トラフィックを送信します。
結果:Host-C からのパケットはドロップします。これは、管理者がスイッチポートロック機能を有効
にしたためです。これにより、偽装が無効になります。
攻撃 2
Tenant C が Host-C の IP アドレスとして、VM-a のもの(a_IP)を設定し、元の c_MAC は保持し
ます。
Tenant C は、Host-C からリモートシステムに IP トラフィックを送信します。
結果:Host-C からのパケットはドロップします。これは、管理者がスイッチポートロック機能を有効
にしたためです。これにより、偽装が無効になります。
例 3:Web ホスト
シナリオ:
山田氏はインフラストラクチャ管理者です。
62
彼のテナント(Tenant B)は自分の仮想マシン VM-b で複数の Web サイトをホストしています。各
Web サイトでは、同一仮想ネットワークインターフェイス(VIF)上でホストされる個別の IP アドレ
スが必要です。
山田氏は Host-B の VIF を再設定して、この VIF が単一 MAC アドレスと複数 IP アドレスを保持する
ように変更します。
4.4.10.8.5. スイッチポートロック機能のしくみ
スイッチポートロック機能により、以下の 2 つのレベルでパケットフィルタを制御できます。
• VIF レベル:VIF 上での設定により、パケットがどのようにフィルタされるかが決定されます。仮
想マシンからのすべてのトラフィックをブロックしたり、その VIF に関連付けられている IP アド
レスを使用したトラフィックだけを送信したり、その VIF が接続しているネットワーク上のすべて
の IP アドレスにトラフィックを送信したりできます。
• ネットワークレベル:XenServer ネットワークにより、パケットがどのようにフィルタされるかが
決定されます。VIF のロックモードを network_default に設定すると、ネットワークレベルのロック
設定に基づいて許可されるトラフィックが決定されます。
使用するネットワークスタックにかかわらず、この機能は同じしくみで動作します。ただし、後続の
セクションで説明するように、Linux ブリッジでは IPv6 でのスイッチポートロックが完全にはサポー
トされません。
4.4.10.8.6. VIF のロックモード
XenServer のスイッチポートロック機能では、VIF に 4 つのロックモードを設定できます。これらの
ロックモードは、実行中の仮想マシンに接続されている VIF に対してのみ適用されます。
この図は、ネットワークのロックモードが「unlocked」に設定されているときの VIF のロックモード
を示しています。左の図では、VIF のロックモードが「network_default」に設定されており、仮想
マシンからのトラフィックはフィルタされません。中央の図では、VIF のロックモードが「disabled」
に設定されており、すべての送受信パケットがブロックされます。右の図では、VIF のロックモード
が「locked」に設定されており、正しい MAC アドレスおよび IP アドレスを含んでいるパケットだけ
が送信されます。
• network_default:VIF のロックモードを network_default に設定すると、XenServer はネットワ
ークの default-locking-mode パラメーターに基づいてその VIF を介したパケットをフィルタします。
このため、ネットワークに設定されているロックモード(disabled または unlocked)により、VIF
の動作が以下のように異なります。
• ネットワークのロックモードが default-locking-mode=disabled の場合、VIF ですべてのトラフィッ
クをドロップするフィルタ規則が適用されます。
• ネットワークのロックモードが default-locking-mode=unlocked の場合、VIF のすべてのフィルタ
規則が解除されます。default-locking-mode パラメーターのデフォルト値は unlocked です。
default-locking-mode パラメータについては、A.4.12. 「ネットワークコマンド」を参照してくださ
い。
63
ネットワークの default-locking-mode パラメーターの設定がそのネットワークに接続している
VIF のフィルタ規則に影響するのは、その VIF のロックモードが network_default である場合のみで
す。
注:
VIF がアクティブな場合、そのネットワークの default-locking-mode パラメータを変
更することはできません。
• locked:VIF のロックモードを locked に設定すると、XenServer はその VIF で特定の MAC アド
レスおよび IP アドレスとの送受信トラフィックのみを許可します。このモードで IP アドレスが指
定されていない場合、仮想マシンはその VIF を介してトラフィックを送信できなくなります。
VIF でのトラフィックを許可する IP アドレスを指定するには、IPv4 または IPv6(またはその両
方)の IP アドレスを ipv4_allowed または ipv6_allowed パラメータで指定します。ただし、Linux ブ
リッジを使用する環境では、IPv6 アドレスを指定しないでください。
Linux ブリッジがアクティブな場合でも、IPv6 アドレスを指定すること自体は可能ですが、その
IPv6 アドレスでトラフィックをフィルタすることはできません(Linux ブリッジには NDP
(Neighbor Discovery Protocol)パケットをフィルタするモジュールがないため、完全な保護を実
装できません。このため、NDP パケットを偽造することで仮想マシンが偽装される場合がありま
す)。この結果、Linux ブリッジ環境で IPv6 アドレスを指定しても、すべての IPv6 トラフィック
がその VIF で許可されてしまいます。IPv6 アドレスを指定しなければ、すべての IPv6 トラフィッ
クがその VIF でドロップされます。
• unlocked:すべてのネットワークトラフィックが許可され、その VIF を通過できるようになりま
す。つまり、その VIF で送受信されるトラフィックにいかなるフィルタも適用されません。
• disabled:すべてのネットワークトラフィックが禁止され、その VIF を通過できなくなります。つ
まり、VIF ですべてのトラフィックをドロップするフィルタ規則が適用されます。
4.4.10.8.7. スイッチポートロックの設定
ここでは、以下の手順について説明します。
• VIF で特定の IP アドレスのトラフィックだけを許可する。
• 許可する IP アドレスの一覧にほかの IP アドレスを追加する(たとえば、仮想マシンがネットワー
クに接続されて実行中に、VIF に IP アドレスを追加する場合(たとえば、ネットワークを一時的に
オフラインにしている場合))。
• 許可する IP アドレスの一覧から特定の IP アドレスを削除する。
VIF のロックモードを locked に設定すると、ipv4-allowed または ipv6-allowed パラメーターで指定され
た IP アドレスのトラフィックだけが許可されるようになります。
VIF に複数の IP アドレスが割り当てられることもあるため、これらのパラメータでは、複数の IP ア
ドレスを指定することもできます。
これらの手順は、VIF の接続前および接続後(仮想マシンの起動後)に実行できます。
VIF で特定の IP アドレスのトラフィックだけを許可するには
1.
VIF のロックモードが locked に設定されていない場合は、次のコマンドで locking-mode パラメ
ーターに locked を指定します。
xe vif-param-set uuid=<vif-uuid> locking-mode=locked
ここで、vif-uuid には VIF の UUID を指定します。VIF の UUID を確認するには、そのホスト上
で xe vif-list コマンドを実行します。仮想マシンの UUID(vm-uuid)ごとに各デバイスの一覧
が表示され、デバイス ID により VIF のデバイス番号が示されます。
64
2.
vif-param-set コマンドに以下のパラメータを使用して、許可する IP アドレスを指定します。
必要に応じて、以下のいずれかまたは両方を行います。
• 許可する IPv4 IP アドレスを指定します。以下はその例です。
xe vif-param-set uuid=<vif-uuid> ipv4-allowed=<comma separated list of ipv4-addresses>
• 許可する IPv6 IP アドレスを指定します。以下はその例です。
xe vif-param-set uuid=<vif-uuid> ipv6-allowed=<comma separated list of ipv6-addresses>
複数の IP アドレスをコンマで区切って入力できます。
VIF で許可する IP アドレスを追加するには
上記の手順で許可される IP アドレスを指定した後で、その VIF に許可される IP アドレスを追加する
ことができます。
•
vif-param-add コマンドに以下のパラメータを使用して、許可する IP アドレスを追加します。
必要に応じて、以下のいずれかまたは両方を行います。
• IPv4 IP アドレスを指定します。以下はその例です。
xe vif-param-add uuid=<vif-uuid> ipv4-allowed=<comma separated list of ipv4-addresses>
• IPv6 IP アドレスを指定します。以下はその例です。
xe vif-param-add uuid=<vif-uuid> ipv6-allowed=<comma separated list of ipv6-addresses>
VIF で許可する IP アドレスの一覧から特定の IP アドレスを削除するには
許可する IP アドレスとして複数のアドレスが指定されている場合は、特定の IP アドレスを削除して、
そのアドレスのトラフィックをドロップできます。
•
vif-param-remove コマンドに以下のパラメータを使用して、削除する IP アドレスを指定しま
す。必要に応じて、以下のいずれかまたは両方を行います。
• IPv4 IP アドレスを削除します。以下はその例です。
xe vif-param-remove uuid=<vif-uuid> ipv4-allowed=<comma separated list of ipv4-addresses>
• IPv6 IP アドレスを削除します。以下はその例です。
xe vif-param-remove uuid=<vif-uuid> ipv6-allowed=<comma separated list of ipv6-addresses>
4.4.10.8.8. 仮想マシンが特定のネットワークでトラフィックを送信したり受信したりできな
くする
ここでは、仮想マシンで特定の VIF を介した送受信を禁止します。VIF は特定の XenServer ネットワ
ークに接続するため、この手順を使用して仮想マシンが特定のネットワークを介して通信できないよ
うに設定できます。これにより、ネットワーク全体を無効にしなくても、トラフィックの送受信を詳
細に制御できるようになります。
CLI コマンドを使用する場合、VIF の接続を解除しなくてもその VIF のロックモードを設定できます。
このコマンドでは、実行中の VIF のフィルタ規則を変更できます。ネットワーク接続は許可されてい
るように表示されますが、仮想マシンから送信されるパケットは VIF ですべてドロップされます。
ヒント:
VIF の UUID を確認するには、そのホスト上で xe vif-list コマンドを実行します。
デバイス ID により VIF のデバイス番号が示されます。
65
VIF がトラフィックを受信することを禁止するには
•
次のコマンドを実行して、禁止するネットワークに接続している VIF のロックモードを disabled
に設定します。
xe vif-param-set uuid=<vif-uuid> locking-mode=disabled
また、XenCenter で VIF を無効にすることもできます。これを行うには、仮想マシンの[ネット
ワーク]タブでその VIF を選択して、
[非アクティブ化]をクリックします。
4.4.10.8.9. VIF の IP アドレスの制限を解除する
VIF のロックモードを元のデフォルトの設定に戻すには、以下の手順に従います。新規に作成する
VIF には、デフォルトで「unlocked」のロックモードが設定され、すべての IP アドレスのトラフィ
ックが許可されます。
VIF のロックモードを unlocked に戻すには
•
VIF のロックモードが unlocked に設定されていない場合は、次のコマンドで locking-mode パ
ラメーターに unlocked を指定します。
xe vif-param-set uuid=<vif_uuid> locking-mode=unlocked
4.4.10.8.10. クラウド環境で VIF のロックモードを簡単に設定する
クラウド環境では、各 VIF に対してロックモードコマンドを個別に実行せずに、すべての VIF がデフ
ォルトで disabled になるように設定できます。これを行うには、ネットワークレベルでパケットのフ
ィルタ規則を変更します。これにより、4.4.10.8.5. 「スイッチポートロック機能のしくみ」で説明
したように、パケットがどのようにフィルタされるかが XenServer ネットワークにより決定されるよ
うになります。
ネットワークの default-locking-mode パラメータにより、新しく作成する VIF のデフォルトの動作が決
定されます。VIF の locking-mode が network_default の場合、ネットワークレベルのロックモード
(default-locking-mode)が参照され、その設定により VIF でパケットの通過を禁止するか許可するかが
決定されます。
• unlocked:ネットワークの default-locking-mode パラメータが unlocked の場合、そのネットワーク
が接続する VIF ですべてのトラフィックが許可されます。
• disabled:ネットワークの default-locking-mode パラメータが disabled の場合、そのネットワークが
接続する VIF ですべてのトラフィックをドロップするフィルタ規則が適用されます。
XenCenter や CLI で作成するネットワークの default-locking-mode パラメータには、デフォルトで
unlocked が設定されます。
VIF のロックモードをデフォルト(network_default)のままにしておくことで、ネットワークの defaultlocking-mode パラメーターでそのネットワークに接続するすべての VIF のフィルタ規則を制御でき
ます。
次の図は、各 VIF の locking-mode パラメーターがデフォルト値(network_default)の場合に、ネットワ
ークの default-locking-mode パラメーターの設定がすべての VIF に適用されることを示しています。
66
この図は、デフォルトのロックモード設定の各 VIF に、ネットワークの default-locking-mode 設定
が適用されることを示しています。この例では、ネットワークの設定(default-lockingmode=disabled)が各 VIF に適用されるため、すべてのトラフィックがこれらの VIF を通過できな
くなっています。
新しく作成される VIF の locking-mode は network_default に設定されるため、ネットワークの defaultlocking-mode=disabled 設定が各 VIF に適用されます。この設定を特定の VIF で変更するには、その
VIF の locking-mode パラメータを明示的に設定します。たとえば、信頼できる仮想マシンがあり、そ
のトラフィックを制限したくない場合は、その仮想マシンの VIF の locking-mode パラメータを
unlocked に設定します。
ネットワークのデフォルトのロックモード設定を変更するには
•
ネットワークを作成した後で、次のコマンドを実行してデフォルトのロックモードを変更します。
xe network-param-set uuid=<network-uuid> default-locking-mode=[unlocked|disabled]
注:
ネットワークの UUID を確認するには、network-list コマンドを実行します。こ
れにより、そのホスト上のすべてのネットワークの UUID が表示されます。
ネットワークのデフォルトのロックモード設定を確認するには
•
以下のいずれかのコマンドを実行します。
xe network-param-get uuid=<network-uuid> param-name=default-locking-mode
または
xe network-list uuid=<network-uuid> params=default-locking-mode
4.4.10.8.11. ネットワーク設定を使用して VIF トラフィックのフィルタを解除する
XenServer ネットワークの default-locking-mode 設定に基づいて、そのネットワークに接続する仮想マ
シン上の VIF のフィルタ規則を制御するには、以下の手順に従います。
ネットワーク設定を使用して VIF トラフィックのフィルタを解除するには
1.
VIF のロックモードが network_default に設定されていない場合は、次のコマンドを実行します。
xe vif-param-set uuid=<vif_uuid> locking-mode=network_default
2.
ネットワークのロックモードが unlocked に設定されていない場合は、次のコマンドを実行します。
xe network-param-set uuid=<network-uuid> default-locking-mode=unlocked
4.5. ネットワークのトラブルシューティング
ネットワーク設定に問題が生じた場合は、まずコントロールドメインの ifcfg-*ファイルを直接変更し
ていないことを確認します。これらのファイルは、コントロールドメインのホストエージェントによ
り管理され、変更内容は上書きされます。
4.5.1. ネットワーク障害を診断する
一部のモデルのネットワークカードでは、ベンダからのファームウェアアップデートを適用しないと、
特定の最適化機能を有効にした状態や過負荷状態で正しく動作しない場合があります。仮想マシンへ
のトラフィックが破損する場合は、まずベンダから最新のファームウェアアップデートが入手可能か
どうか、BIOS をアップデートする必要があるかどうかを確認してください。
ネットワークの問題が解決されない場合は、CLI を使用して物理インターフェイスの受信/送信オフロ
ード最適化機能を無効にします。
67
警告:
受信/送信オフロード最適化機能を無効にすると、パフォーマンスが低下したり CPU
使用率が増加したりすることがあります。
まず、その物理インターフェイスの UUID を確認します。このとき、次のように、device パラメータ
でデバイスを指定できます。
xe pif-list device=eth0
次に、その PIF に対して次のパラメータを指定して、TX オフロード機能を無効にします。
xe pif-param-set uuid=<pif_uuid> other-config:ethtool-tx=off
最後に、変更を有効にするために、PIF を再プラグするかホストを再起動します。
4.5.2. 緊急時のネットワークリセット
ネットワークの設定に不備があると、ネットワークが切断されたり、XenCenter やリモートの SSH
を使って XenServer ホストにアクセスできなくなったりします。このような問題が発生した場合は、
緊急時のネットワークリセット機能を使用して、ホストのネットワークを簡単に復元およびリセット
できます。
この機能は、コマンドラインインターフェイス(CLI)の xe-reset-networking コマンドや、xsconsole
の[Network and Management Interface]セクションで実行できます。
ネットワークが切断される主な原因として、ネットワークインターフェイスの名前を変更したり、ボ
ンディングや VLAN を作成したり、管理インターフェイスを変更したりするときの設定ミスが挙げら
れます。また、プールのローリングアップグレード、手作業でのアップグレード、Hotfix やドライバ
のインストール時に接続が切断された場合、またはプールマスタやメンバホストがプール内のほかの
ホストと通信できなくなった場合に、緊急時のネットワークリセット機能を使用できます。
ただし、この機能を使用するのは緊急時のみにしてください。この機能により、そのホストのすべて
の PIF、ボンディング、VLAN、およびトンネル設定が削除されます。仮想マシンのネットワークや
VIF は削除されません。この機能を実行すると、実行中の仮想マシンが強制的にシャットダウンされ
ます。このため、可能な場合は仮想マシンを正しくシャットダウンしておいてください。ネットワー
クをリセットする前に、管理ネットワークの IP 設定(DHCP または固定アドレス)を変更できます。
プールマスタでのネットワークリセットが必要な場合は、ほかのプールメンバよりも先にプールマス
タをリセットしてください。その後で、すべてのプールメンバのネットワークをリセットして、プー
ルのネットワーク設定を統一します。これは、XenMotion が正しく動作するためにも重要です。
注:
ネットワークリセットや xe host.management_reconfigure によりプールマスタの IP
アドレス(管理インターフェイス)が変更された場合は、そのプール内のすべての
ホストでもネットワークリセットを実行する必要があります。これにより、新しい
IP アドレスでプールマスタに接続できるようになります。この場合、プールマスタ
の IP アドレスを正しく指定する必要があります。
高可用性が有効なプールでネットワークリセット機能を使用することはサポートさ
れません。高可用性が有効なプールでネットワークリセットする場合は、高可用性
を無効にしてからネットワークリセットコマンドを実行してください。
4.5.2.1. ネットワークリセットの検証
ネットワークリセット後の設定モードを指定したら、ホストの再起動後に適用される設定内容が
xsconsole および CLI に表示されます。変更が必要な場合はここで変更します。これ以降の手順では
変更できません。ホストを再起動したら、XenCenter または xsconsole を使用して新しいネットワー
ク設定を確認できます。XenCenter では、ホストの[ネットワーク]タブに新しいネットワーク設定
68
が表示されます。xsconsole では、
[Network and Management Interface]セクションに表示
されます。
注:
緊急時のネットワークリセットは、ほかのプールメンバ上でも実行する必要があり
ます。これにより、プールマスタからボンディング、VLAN、およびトンネルの設定
が複製されます。
4.5.2.2. CLI を使用したネットワークリセット
次の表は、xe-reset-networking コマンドで指定できるパラメータの一覧です。
警告:
xe-reset-networking コマンドのパラメータは、慎重に使用してください。不適
切なパラメータを指定すると、ネットワークの接続や設定が失われることがありま
す。この場合は、パラメータをまったく指定せずに xe-reset-networking コマン
ドを再実行してください。
プール全体のネットワーク設定をリセットする場合は、まずプールマスタから行い、
引き続きすべてのプールメンバのネットワークをリセットしてください。
69
パラメータ
必須/オプション
説明
-m、--master
オプション
プールマスタの管理インターフェイスの IP アドレスです。
デフォルトは、プールマスタで最後に使用されていた IP ア
ドレスです。
--device
オプション
管理インターフェイスのデバイス名です。デフォルトは、
インストール時に指定したデバイス名です。
--mode=static
オプション
管理インターフェイスの静的 IP アドレスを設定します。
以下の 4 つのパラメータを指定します。このパラメータ
を指定しない場合は、DHCP が使用されます。
--ip
mode=static の
場合に必須
ホ ス ト の 管 理 イ ン タ ー フ ェ イ ス の IP ア ド レ ス で す 。
mode=static を指定したときのみ有効です。
--netmask
mode=static の
場合に必須
管理インターフェイスのネットマスクです。
mode=static を指定したときのみ有効です。
--gateway
オプション
管理インターフェイスのゲートウェイです。
mode=static を指定したときのみ有効です。
--dns
オプション
管 理 イ ン タ ー フ ェ イ ス の DNS サ ー バ ー で す 。
mode=static を指定したときのみ有効です。
4.5.2.2.1. プールマスタでのコマンド例
ここでは、プールマスタに対して実行するコマンドの例を挙げます。
DHCP 環境でネットワーク設定をリセットするには
xe-reset-networking
静的 IP アドレス環境でネットワーク設定をリセットするには
xe-reset-networking --mode= static --ip=<ip-address> \
--netmask=<netmask> --gateway=<gateway> \
--dns=<dns>
DHCP 環境で、インストール時に指定したインターフェイスとは異なるインターフェイスが管理ネッ
トワークになった場合にネットワーク設定をリセットするには
xe-reset-networking --device=<device-name>
静的 IP アドレス環境で、インストール時に指定したインターフェイスとは異なるインターフェイス
が管理ネットワークになった場合にネットワーク設定をリセットするには
xe-reset-networking --device=<device-name> --mode=static \
--ip=<ip-address> --netmask=<netmask> \
--gateway=<gateway> --dns=<dns>
4.5.2.2.2. プールメンバでのコマンド例
プールマスタの例で挙げたすべてのコマンドは、プールメンバにも適用されます。ただし、プールマ
スタの IP アドレスの指定が必要になる場合があります(IP アドレスが変更された場合など)。
DHCP 環境でネットワーク設定をリセットするには
xe-reset-networking
70
DHCP 環境で、プールマスタの IP アドレスが変更された場合にネットワーク設定をリセットするに
は
xe-reset-networking --master=<master-ip-address>
静的 IP アドレス環境で、プールマスタの IP アドレスが変更されていない場合にネットワーク設定を
リセットするには
xe-reset-networking --mode=static --ip=<ip-address> --netmask-<netmask> \
--gateway=<gateway> --dns=<dns>
DHCP 環境で、管理インターフェイスとプールマスタの IP アドレスがインストール時の指定から変
更された場合にネットワーク設定をリセットするには
xe-reset-networking --device=<device-name> --master<master-ip-address>
71
第 5 章 ストレージ
この章では、物理的ストレージハードウェアの仮想マシンへのマップ方法と、ストレージ関連のタス
クを実行するために XenServer API で使用されるソフトウェアオブジェクトについて説明します。
サポートされる各種類のストレージのセクションでは、CLI による仮想マシン用ストレージの作成方
法、固有のデバイス設定オプション、バックアップのためのスナップショット作成、および XenServer
ホスト環境におけるストレージ管理のベストプラクティスについて説明します。さらに、仮想ディス
クのサービス品質(QoS:Quality of Service)の設定について説明します。
5.1. ストレージの概要
ここでは、XenServer ストレージオブジェクトの概要と、このオブジェクト間の関係について説明し
ます。
5.1.1. ストレージリポジトリ(SR)
ストレージリポジトリ(SR)は、仮想マシンの仮想ディスクイメージ(VDI)が格納される特定のス
トレージターゲットです。仮想ディスクイメージ(VDI)は、仮想ハードディスクドライブ(HDD)
を表す、抽象化されたストレージです。
ローカル接続の IDE、SATA、SCSI、および SAS ドライブ、そしてリモート接続の iSCSI、NFS、
SAS、およびファイバチャネルに対するサポートが組み込まれているため、目的に応じたさまざまな
ストレージリポジトリをホストで使用できます。ストレージリポジトリと VDI の抽象化によって、シ
ンプロビジョニング、VDI スナップショット、高速複製などの高度なストレージ機能を、サポートさ
れているストレージターゲット上で提供できるようになります。高度な機能を直接サポートしていな
いストレージサブシステムには、これらの機能を実装する Microsoft 社の仮想ハードディスク(VHD)
の仕様に基づいたソフトウェアスタックが提供されます。
SR コマンドでは、格納されている個々の VDI の作成、破棄、サイズ変更、複製、接続、および検出
を実行できます。
ストレージリポジトリは、永続的なオンディスクデータ構造体です。ブロックデバイスを使用する種
類のストレージリポジトリでは、新規ストレージリポジトリの作成時にそのストレージターゲット上
の既存のデータが消去されます。NFS など、そのほかの種類のストレージリポジトリでは、ストレー
ジアレイ上に新しいコンテナが作成されるため、既存のストレージリポジトリは保持されます。
各 XenServer ホストでは、複数の異なる種類のストレージリポジトリを同時に使用することができま
す。これらのストレージリポジトリは、ホスト間で共有したり、特定のホスト専用にしたりできます。
共有ストレージは、定義済みのリソースプール内の複数のホスト間でプール(共有)されます。共有
されたストレージリポジトリは、各ホストとネットワークで接続されている必要があります。リソー
スプールでは、すべてのホストが少なくとも 1 つの共有ストレージリポジトリを使用している必要が
あります。
ストレージリポジトリを管理する CLI 操作は、A.4.18. 「ストレージリポジトリ(SR)コマンド」で
説明します。
5.1.2. 仮想ディスクイメージ(VDI)
仮想ディスクイメージ(VDI)は、仮想ハードディスクドライブ(HDD)を表す、抽象化されたスト
レージです。XenServer における仮想化されたストレージの基本単位です。仮想ディスクイメージ
は、XenServer ホストに依存しない永続的なオンディスクオブジェクトです。VDI を管理する CLI 操
作は、A.4.24. 「VDI(仮想ディスクイメージ)コマンド」で説明します。ディスク上の実際のデー
タ形式はストレージリポジトリの種類によって異なり、SM API と呼ばれる専用のストレージプラグ
インインターフェイスにより管理されます。
72
5.1.3. 物理ブロックデバイス(PBD)
物理ブロックデバイス(PBD:Physical Block Device)は、物理サーバーとストレージリポジトリ間
のインターフェイスで、ストレージリポジトリを XenServer ホストにマップするためのコネクタオブ
ジェクトです。PBD には、ストレージターゲットとの接続および対話に使用するデバイス設定フィー
ルドが格納されます。たとえば、NFS デバイス設定には、NFS サーバーの IP アドレスや、XenServer
ホストがマウントするパスの情報が含まれます。PBD オブジェクトにより、ストレージリポジトリと
XenServer ホストとのランタイム接続が管理されます。PBD に関する CLI 操作は、A.4.14. 「PBD
(物理ブロックデバイス)コマンド」で説明します。
5.1.4. 仮想ブロックデバイス(VBD)
仮想ブロックデバイス(VBD:Virtual Block Device)は、上記の物理ブロックデバイス(PBD)に
似たコネクタオブジェクトで、VDI と仮想マシンをマップします。VBD は、VDI を仮想マシンに接続
(または「プラグ」)するメカニズムを提供するほか、QoS、統計情報、および VDI の起動に関するパ
ラメータの微調整が可能です。VBD に関する CLI 操作は、A.4.23. 「VBD(仮想ブロックデバイス)
コマンド」で説明します。
5.1.5. ストレージオブジェクトの相関
次の図は、ここで説明したストレージオブジェクトの相関を示しています。
ストレージリポジトリと関連オブジェクトの概略図
5.1.6. 仮想ディスクのデータ形式
一般に、物理ストレージと VDI のマップ形式には、次の 3 種類があります。
1. LUN 上の論理ボリュームベースの仮想ハードディスク:デフォルトの XenServer ブロックデバイ
スベースのストレージは、論理ボリュームマネージャー(LVM)をローカル接続のデバイス(LVM
ストレージリポジトリ)または SAN 接続の LUN(ファイバチャネル接続の LVMoHBA ストレージ
リポジトリ、iSCSI 接続の LVMoISCSI ストレージリポジトリ、または SAS 接続の LVMoHBA スト
レージリポジトリ)のディスク上に挿入します。VDI は、このボリュームマネージャ内のボリュー
ムとして表示され、スナップショットおよび複製の参照ノードのシンプロビジョニングが可能な
VHD 形式で格納されます。
2. ファイルシステム上のファイルベースの仮想ハードディスク(VHD):仮想マシンイメージは、ロ
ーカルの共有されていないファイルシステム(EXT ストレージリポジトリ)または共有された NFS
73
ターゲット(NFS ストレージリポジトリ)上の、シンプロビジョニングされた VHD 形式のファイ
ルとして格納されます。
3. LUN-per-VDI:アレイ固有のプラグインを提供するストレージリポジトリ(NetApp、
EqualLogic、および StorageLink ストレージリポジトリ)により、LUN が VDI として仮想マシン
に直接マップされます。このため、アレイレベルでストレージプロビジョニングを管理する環境で
は、抽象化された VDI とアレイストレージが一致します。
5.1.6.1. VDI の種類
通常作成される VDI は、VHD 形式です。必要に応じて、Raw 形式の VDI を作成できますが、これを
行うには xe CLI を使用する必要があります。
VDI が type=raw で作成されたかどうかは、sm-config マップで確認できます。これらのキーやマップ
の値は、それぞれ xe コマンドの sr-param-list と vdi-param-list を実行して確認できます。
5.1.6.2. xe CLI を使用して Raw 形式の仮想ディスクを作成する
1. 次のコマンドを実行して、格納先のストレージリポジトリの UUID を指定して VDI を作成します。
xe vdi-create sr-uuid=<sr-uuid> type=user virtual-size=<virtual-size> \
name-label=<VDI name> sm-config:type=raw
2. 作成した仮想ディスクを仮想マシンに接続し、その仮想マシン内で通常のディスクツールを使用し
てパーティション作成およびフォーマットを行います。仮想ディスクを仮想マシンにマップする
新しい VBD を作成するには、vbd-create コマンドを使用できます。
5.1.6.3. VDI の形式を変換する
VDI の Raw 形式と VHD 形式を直接変換することはできません。その代わり、新しい VDI(上記の
Raw 形式、または VHD)を作成して、既存のボリュームからデータをコピーします。この場合、xe
CLI コマンドを使用して、新しい VDI がコピー元の VDI よりも大きなサイズになるように注意してく
ださい(たとえば、vdi-param-list コマンドを実行して virtual-size フィールドを確認します)。次
に新しい VDI を仮想マシンに接続して、その仮想マシン内で適切なツール(Windows では標準的な
ディスク管理ツール。Linux では dd コマンド)を使用してデータの直接ブロックコピーを行います。
VHD 形式の VDI にデータをコピーする場合は、格納先ストレージリポジトリの領域が効率的に使用
されるように、空セクタを書き込まないコピー方法(この場合はファイルベースのコピー)を使用し
てください。
5.1.6.4. VHD ベースの VDI
VHD ファイルをチェーン化して、2 つの VDI で共通のデータを共有することができます。VHD ベー
スの仮想マシンを複製する場合、複製時にディスク上に存在したデータを複製元と複製先の仮想マシ
ンが共有します。その後、各仮想マシンは異なるコピーオンライトバージョンの VDI で個別の変更を
行います。この機能により、VHD ベースの仮想マシンをテンプレートからすぐに複製できるようにな
り、新しい仮想マシンのプロビジョニングと展開が容易になります。
その反面、仮想マシンやその VDI の複製を繰り返すと、チェーン化された VDI がツリー状になりま
す。XenServer では、チェーン内の VDI の 1 つを削除すると、それによって不要になる VDI が削除
されます。この結合プロセスは、非同期的に実行されます。解放されるディスク容量や処理に必要な
時間は、VDI のサイズと共有データの量によって異なります。ストレージリポジトリに対して同時に
実行される結合プロセスは、1 つのみです。また、このプロセススレッドはストレージリポジトリの
マスタホスト上で実行されます。
このプロセスによりマスタ上で実行中の仮想マシンが影響を受ける場合は、以下の手順で仮想マシン
を移行できます。
• ストレージリポジトリマスタでないホストに仮想マシンを移行します。
• ディスク入出力の優先度を高くして、スケジューラを設定します。詳しくは、5.7.10. 「仮想ディ
スクの QoS 設定」を参照してください。
74
XenServer の LVM ベースのストレージリポジトリおよびファイルベースのストレージリポジトリで
使用される VHD 形式では、シンプロビジョニングが使用されます。仮想マシンがデータをディスク
に書き込むときに、イメージファイルが自動的に 2MB のチャンクに拡張されます。このため、ファイ
ルベースの VHD では、仮想マシンイメージファイルに書き込まれているデータ分のスペースしか物
理ストレージ上で消費されません。LVM ベースの VHD では、その論理ボリュームコンテナが VDI の
実際のサイズである必要がありますが、その CoW インスタンスディスクはスナップショット作成時
または複製時に使用されます。これらの VHD の違いには、以下の特徴があります。
• LVM ベースの VHD:チェーン内の差分ディスクノードでは実際にディスクに書き込まれたデータ
分が消費されますが、リーフノード(VDI クローン)では実際のディスクサイズ分まで拡張されま
す。スナップショットリーフノード(VDI スナップショット)は、不使用時は縮小されたままで、
その割り当てが保持されるように読み取り専用で接続できます。読み取り/書き込み形式で接続さ
れたスナップショットノードは、接続時に完全に拡張され、接続解除時に縮小されます。
• ファイルベースの VHD:すべてのノードで、実際に書き込まれたデータ分しか消費されません。リ
ーフノードファイルは、動的に書き込まれるデータに必要な分だけ拡張されます。つまり、100GB
の VDI を新しい仮想マシンに割り当てて、そこにオペレーティングシステムをインストールする場
合、その VDI ファイルの物理サイズは、オペレーティングシステムといくらかのメタデータのサイ
ズを加算したものであり、100GB ではありません。
単一の VHD テンプレートから複数の仮想マシンを複製する場合、複製先の各仮想マシン(子 VM)に
より「チェーン」が形成され、新しい変更だけが子 VM に書き込まれ、古いブロックは複製元のテン
プレート(親)から直接読み取られます。その子 VM をテンプレートに変換して、さらにその複製を
作成すると、親、子、孫のチェーンが形成されることになり、パフォーマンスが低下します。XenServer
でサポートされるチェーンは 30 世代までですが、特別な理由がない限りこの上限値近くまでチェー
ンを拡張することは推奨されません。パフォーマンスを低下させずに仮想マシンの複製を作成するに
は、XenCenter または vm-copy コマンドを使用して仮想マシンをコピーします。これにより、チェ
ーンは 0 にリセットされます。
5.2. ストレージリポジトリの形式
新しいストレージリポジトリを作成するには、XenCenter の新規ストレージリポジトリウィザードを
使用します。このウィザードには、ストレージリポジトリの設定に必要な核手順が表示されます。ま
た、CLI の sr-create コマンドを使用することもできます。このコマンドでは、ストレージサブスト
レート上に新規ストレージリポジトリを作成し(既存のデータが消去されることがあります)、ストレ
ージリポジトリ API オブジェクトおよびそれに対応する物理ブロックデバイスレコードを作成しま
す。これにより、仮想マシンでそのストレージリポジトリを使用できるようになります。ストレージ
リポジトリが作成されると、物理ブロックデバイスが自動的にプラグされます。ストレージリポジト
リの shared=true フラグを設定した場合は、物理ブロックデバイスレコードが作成され、リソースプー
ル内のすべての XenServer ホストにプラグされます。
IP ベースのストレージ(iSCSI または NFS)を作成する場合は、ストレージネットワークとして管理
トラフィック用の NIC を使用したり、ストレージトラフィック用の NIC を作成してそれを使用した
りできます。NIC に IP アドレスを割り当てる方法については、4.4.7. 「ストレージ専用 NIC を設定
する」を参照してください。
XenServer のすべての種類のストレージリポジトリで、VDI のサイズ変更、高速複製、およびスナッ
プショットがサポートされます。LVM タイプのストレージリポジトリ(ローカル、iSCSI、および
HBA)では、スナップショットおよび非表示親ノード用のシンプロビジョニングが提供されます。そ
のほかの種類のストレージリポジトリでは、アクティブな仮想ディスクを含め、完全なシンプロビジ
ョニングがサポートされます。
警告:
VDI スナップショットなど、仮想マシンに接続されていない VHD VDI は、デフォ
ルトのシンプロビジョニングで格納されます。VDI を再接続するには、シックプロ
ビジョニングになるのに十分なディスク容量を確保する必要があります。VDI クロ
ーンでは、シックプロビジョニングが使用されます。
次の表は、サポートされる最大 VDI サイズの一覧です。
75
ストレージリポジトリの形式
最大 VDI サイズ
EXT3
2TB
LVM
2TB
NFS
2TB
iSCSI
2TB
HBA
2TB
5.2.1. ローカル LVM
この種類のストレージリポジトリは、ローカル接続のボリュームグループ内のディスクを示します。
デフォルトで、XenServer はそれ自体がインストールされた物理ホスト上のローカルディスクを使用
します。仮想マシンストレージの管理には、Linux 論理ボリュームマネージャ(LVM)が使用されま
す。VDI は、指定されたサイズの LVM 論理ボリュームに VHD 形式で実装されます。
5.2.1.1. LVM のパフォーマンスについての注意事項
XenServer 5.5 以降で提供されるスナップショット機能および高速複製機能を LVM ベースのストレ
ージリポジトリで使用すると、このストレージ固有のパフォーマンス上のオーバーヘッドが生じます。
パフォーマンスが重視される環境では、デフォルトの VHD 形式に加えて、Raw 形式での仮想ディス
クイメージ(VDI)作成がサポートされます。ただし、XenServer スナップショット機能は、Raw 形
式の VDI ではサポートされません。
注:
デフォルトの Windows VSS プロバイダによる移動不可のスナップショットは、す
べての種類の VDI でサポートされます。
警告:
type=raw ディスクが接続された仮想マシンのスナップショットを作成しないでくだ
さい。これを行うと、一部のみのスナップショットが作成されます。この場合、
snapshot-of フィールドを確認して孤立したスナップショットを識別し、削除できま
す。
5.2.1.2. ローカル LVM ストレージリポジトリ(lvm)を作成する
XenServer のインストール時に、デフォルトで LVM ストレージリポジトリが作成されます。
次の表は、lvm ストレージリポジトリ用の device-config パラメーターの一覧です。
パラメータ名
説明
必須
device
ストレージリポジトリとして
使用するローカルホスト上の
デバイス名です。
○
/dev/sdb にローカル lvm ストレージリポジトリを作成する場合は、次のコマンドを実行します。
xe sr-create host-uuid=<valid_uuid> content-type=user \
name-label=<"Example Local LVM SR"> shared=false \
device-config:device=/dev/sdb type=lvm
76
5.2.2. ローカル EXT3
EXT3 形式のストレージリポジトリでは、ローカルストレージでシンプロビジョニングが有効になり
ます。ただし、ストレージリポジトリのデフォルトの種類は LVM です。これは、一貫した書き込みパ
フォーマンスが提供され、ストレージのオーバーコミットを避けることができるためです。EXT3 形
式のストレージリポジトリでは、仮想マシンのライフサイクル操作(仮想マシンの作成、一時停止、
再開など)や仮想マシン内での大規模ファイルの作成でパフォーマンスの低下が生じることがありま
す。
ローカルディスク EXT ストレージリポジトリの設定は、常に XenServer CLI を使用して行います。
5.2.2.1. ローカル EXT3 ストレージリポジトリ(ext)を作成する
次の表は、ext ストレージリポジトリ用の device-config パラメーターの一覧です。
パラメータ名
説明
必須
device
ストレージリポジトリとして
使用するローカルホスト上の
デバイス名です。
○
/dev/sdb にローカル ext ストレージリポジトリを作成する場合は、次のコマンドを実行します。
xe sr-create host-uuid=<valid_uuid> content-type=user \
name-label=<"Example Local EXT3 SR"> shared=false \
device-config:device=/dev/sdb type=ext
5.2.3. udev
この種類のストレージリポジトリは、udev デバイスマネージャーを使って VDI として接続されたデバ
イスを示します。
XenServer には、リムーバブルストレージである udev として表わされる、2 種類のストレージリポ
ジトリがあります。1 つは、XenServer ホストの物理 CD または DVD ドライブに挿入された CD ま
たは DVD です。もう 1 つは、XenServer ホストの USB ポートに接続された USB デバイスです。こ
れらのメディアの VDI は、そのディスクまたは USB デバイスの挿入/取り外しにより、接続したり接
続解除したりできます。
5.2.4. ISO
この種類のストレージリポジトリは、ISO 形式のファイルとして格納された CD イメージを示します。
このストレージリポジトリは、共有 ISO ライブラリの作成に便利です。ISO のライブラリを格納する
ストレージリポジトリの content-type パラメータは iso である必要があります。
以下はその例です。
xe sr-create host-uuid=<valid_uuid> content-type=iso \
type=iso name-label=<"Example ISO SR"> \
device-config:location=<nfs server:path>
5.2.5. 統合された StorageLink(iSL)のストレージリポジトリ
統合された StorageLink(iSL)は、XenServer Version 6.5 以降では削除されており、これらの種類
のストレージリポジトリは使用できません。iSL の機能を使用するアプリケーションやコードなど
は、XenServer Version 6.5 またはそれ以降のバージョンでは使用できません。既存の仮想ディスク
(VDI)を統合された StorageLink のストレージリポジトリから iSCSI またはファイバチャネルのス
トレージリポジトリに移行する方法については、CTX141433 を参照してください。
77
5.2.6. ソフトウェア iSCSI のサポート
XenServer では、iSCSI LUN の共有ストレージリポジトリがサポートされます。iSCSI は、OpeniSCSI のソフトウェア iSCSI イニシエータまたは iSCSI HBA(Host Bus Adapter:ホストバスアダ
プタ)によりサポートされます。iSCSI HBA を使用するための手順は、ファイバチャネル HBA のも
のと同じです。詳しくは、5.2.8.2. 「ファイバチャネル、FCoE、iSCSI HBA または SAS ストレージ
リポジトリ上の共有 LVM(lvmohba)を作成する」を参照してください。
ソフトウェア iSCSI イニシエータによる共有 iSCSI のサポートは LVM(Logical Volume Manager:
論理ボリュームマネージャ)により実装され、パフォーマンス上、ローカルディスクで LVM 仮想ディ
スクを使用した場合と同様の長所があります。ソフトウェアベースのホストイニシエータを使用する
共有 iSCSI ストレージリポジトリでは、XenMotion を使用して仮想マシンのアジリティをサポートで
きます。仮想マシンはリソースプール内のどの XenServer ホストでも起動でき、サービスをほとんど
停止せずに、ホスト間で仮想マシンを移行できます。
iSCSI ストレージリポジトリは作成時に指定する LUN 全体を使用します。複数の LUN にまたがるこ
とはできません。データパスの初期化と LUN 検出のフェーズの両方で、クライアント認証のために
CHAP がサポートされます。
注:
iSCSI LUN のブロックサイズは、512 バイトである必要があります。
5.2.6.1. XenServer ホストでの iSCSI 設定
ネットワーク上で一意に識別されるように、すべて iSCSI イニシエータおよびターゲットに固有の名
前を設定する必要があります。各イニシエータは 1 つの iSCSI イニシエータアドレスを持ち、各ター
ゲットは 1 つの iSCSI ターゲットアドレスを持ちます。これらを総称して、IQN(iSCSI Qualified
Names)と呼びます。
XenServer ホストでは、ホストのインストール時にランダムな IQN で自動的に作成される単一の
iSCSI イニシエータがサポートされます。この単一のイニシエータを使用して、同時に複数の iSCSI
ターゲットに接続できます。
通常、iSCSI ターゲットは iSCSI イニシエータの IQN リストに基づいてアクセス制御を提供します。
このため、XenServer ホストからアクセスされるすべての iSCSI ターゲットおよび LUN で、ホスト
のイニシエータ IQN からのアクセスが許可されている必要があります。同様に、共有 iSCSI ストレー
ジリポジトリとして使用するターゲットおよび LUN で、リソースプール内のすべてのホストの IQN
からのアクセスが許可されている必要があります。
注:
一般的に、アクセス制御を提供しない iSCSI ターゲットでは、データの整合性を保
証するために、LUN アクセスがデフォルトで単一イニシエータに制限されます。リ
ソースプール内の複数の XenServer ホストで共有されるストレージリポジトリと
して iSCSI LUN を使用する場合は、その LUN で複数のイニシエータからのアクセ
スが有効になっていることを確認してください。
XenServer ホストの iSCSI ソフトウェアイニシエータの IQN 値は、XenCenter を使用するか、次の
CLI コマンドを実行することにより調整できます。
xe host-param-set uuid=<valid_host_id> other-config:iscsi_iqn=<new_initiator_iqn>
警告:
すべての iSCSI ターゲットおよびイニシエータで固有の IQN を使用することは必
須であり、IQN が重複するとデータの損傷や LUN アクセスの拒否が発生します。
警告:
78
iSCSI ストレージリポジトリが接続されている XenServer ホストの IQN を変更し
ないでください。IQN を変更すると、新規ターゲットや既存のストレージリポジト
リに接続できなくなります。
5.2.7. ハードウェアホストバスアダプタ(HBA)
ここでは、SAS、ファイバチャネル、および iSCSI のホストバスアダプタ(HBA)を管理するために
必要な、さまざまな操作について説明します。
5.2.7.1. QLogic iSCSI HBA セットアップの例
QLogic ファイバチャネル HBA および iSCSI HBA の設定について詳しくは、QLogic 社の Web サイ
トを参照してください。
HBA を XenServer ホストに物理的にインストールしたら、以下の手順で HBA を設定します。
1. HBA の IP ネットワーク構成を設定します。この例では、DHCP と HBA ポート 0 を使用します。
特定の IP アドレスやマルチポート HBA を設定する場合は、適切な値を指定します。
/opt/QLogic_Corporation/SANsurferiCLI/iscli -ipdhcp 0
2. 永続的 iSCSI ターゲットを HBA のポート 0 に追加します。
/opt/QLogic_Corporation/SANsurferiCLI/iscli -pa 0 <iscsi_target_ip_address>
3. xe sr-probe コマンドを使用して、HBA コントローラを強制的に再スキャンして、使用可能な LUN
を表示します。詳しくは、5.3.2. 「ストレージリポジトリをプローブする」および 5.2.8.2. 「フ
ァイバチャネル、FCoE、iSCSI HBA または SAS ストレージリポジトリ上の共有 LVM(lvmohba)
を作成する」を参照してください。
5.2.7.2. HBA ベースの SAS、ファイバチャネル、または iSCSI デバイスエントリを削
除する
注:
これらの手順は必須ではありません。パワーユーザーが必要に応じて実行すること
をお勧めします。
各 HBA ベースの LUN には、対応するグローバルデバイスパスエントリが<SCSIid><adapter>:<bus>:<target>:<lun>形式で/dev/disk/by-scsibus にあり、 標準デバイスパスが/dev に
あります。ストレージリポジトリとして使用しなくなった LUN のデバイスエントリを削除するには、
以下の手順に従います。
1. sr-forget または sr-destroy を使用して、XenServer ホストデータベースからストレージリポジ
トリを削除します。詳しくは、5.7.1. 「ストレージリポジトリの削除」を参照してください。
2. 適切な LUN およびホストに対する SAN 内のゾーン設定を削除します。
3. sr-probe コマンドを使用して、削除する LUN の ADAPTER、BUS、TARGET、および LUN 値を
確認します。詳しくは、5.3.2. 「ストレージリポジトリをプローブする」を参照してください。
4. 次のコマンドを実行して、デバイスエントリを削除します。
echo "1" > /sys/class/scsi_device/<adapter>:<bus>:<target>:<lun>/device/delete
警告:
削除する LUN を間違わないよう、十分注意してください。ホストに必要な LUN(起
動用、ルートデバイス用など)を削除してしまうと、ホストが使用不能になります。
79
5.2.8. 共有 LVM ストレージ
この種類のストレージリポジトリは、iSCSI(ファイバチャネルまたは Serial Attached SCSI)LUN
上に作成されたボリュームグループ内の論理ボリュームとしてのディスクを示します。
注:
iSCSI LUN のブロックサイズは、512 バイトである必要があります。
5.2.8.1. ソフトウェアイニシエータによる iSCSI 経由の共有 LVM ストレージリポジ
トリ(lvmoiscsi)を作成する
次の表は、lvmoiscsi ストレージリポジトリ用の device-config パラメーターの一覧です。
パラメータ名
説明
必須
target
ストレージリポジトリをホストする iSCSI ファイラの IP
アドレスまたはホスト名です。
○
targetIQN
ストレージリポジトリをホストする iSCSI ファイラの
IQN ターゲットアドレスです。
○
SCSIid
作成先 LUN の SCSI バス ID です。
○
chapuser
CHAP 認証に使用されるユーザー名です。
×
chappassword
CHAP 認証に使用されるパスワードです。
×
port
ターゲットをクエリするためのネットワークポート番号で
す。
×
usediscoverynumber
使用する特定の iscsi レコードインデックスです。
×
incoming_chapuser
iSCSI フィルタでホストでの認証に使用されるユーザー名
です。
×
incoming_chappassword
iSCSI フィルタでホストでの認証に使用されるパスワード
です。
×
iSCSI ターゲット上の特定の LUN に共有 lvmoiscsi ストレージリポジトリを作成する場合は、次のコ
マンドを実行します。
xe sr-create host-uuid=<valid_uuid> content-type=user \
name-label=<"Example shared LVM over iSCSI SR"> shared=true \
device-config:target=<target_ip=> device-config:targetIQN=<target_iqn=> \
device-config:SCSIid=<scsci_id> \
type=lvmoiscsi
5.2.8.2. ファイバチャネル、FCoE、iSCSI HBA または SAS ストレージリポジトリ上
の共有 LVM(lvmohba)を作成する
lvmoiscsi タイプのストレージリポジトリは、XenCenter または xe CLI で作成および管理できます。
次の表は、lvmohba ストレージリポジトリ用の device-config パラメータの一覧です。
パラメータ名
説明
必須
SCSIid
デバイスの SCSI ID です。
○
80
共有 lvmohba ストレージリポジトリを作成するには、リソースプール内の各ホスト上で以下の手順
を実行します。
1. リソースプール内の各 XenServer ホストの LUN にゾーンを定義します。この手順は、使用する
SAN 機材により大きく異なるため、詳しくは SAN のドキュメントを参照してください。
2. 必要に応じて、XenServer ホストに含まれている以下の HBA コマンドを使用して HBA を設定し
ます。
• Emulex の場合:/bin/sbin/ocmanager
• QLogic FC の場合:/opt/QLogic_Corporation/SANsurferCLI
• QLogic iSCSI の場合:/opt/QLogic_Corporation/SANsurferiCLI
QLogic iSCSI HBA の設定例については、5.2.7. 「ハードウェアホストバスアダプタ(HBA)」を
参照してください。ファイバチャネルおよび iSCSI の HBA について詳しくは、Emulex 社および
QLogic 社の Web サイトを参照してください。
3. sr-probe コマンドを使用して、HBA LUN のグローバルデバイスパスを確認します。sr-probe コ
マンドを実行すると、システムにインストールされている HBA が再スキャンされます。これによ
り、そのホスト用に定義されている新しい LUN がすべて検出され、各 LUN のプロパティが一覧表
示されます。対象のホストを指定するには、host-uuid パラメータを指定します。
<path>プロパティとして返されるグローバルデバイスパスは、リソースプール内のすべてのホスト
で共通です。このため、ストレージリポジトリを作成するときに、device-config:device パラメータ
の値としてこのパスを指定する必要があります。
複数の LUN が存在する場合は、<path>プロパティに含まれているベンダ、LUN サイズ、LUN シリ
アル番号、または SCSI ID を使用して LUN を指定します。
81
xe sr-probe type=lvmohba \
host-uuid=1212c7b3-f333-4a8d-a6fb-80c5b79b5b31
Error code: SR_BACKEND_FAILURE_90
Error parameters: , The request is missing the device parameter, \
<?xml version="1.0" ?>
<Devlist>
<BlockDevice>
<path>
/dev/disk/by-id/scsi-360a9800068666949673446387665336f
</path>
<vendor>
HITACHI
</vendor>
<serial>
730157980002
</serial>
<size>
80530636800
</size>
<adapter>
4
</adapter>
<channel>
0
</channel>
<id>
4
</id>
<lun>
2
</lun>
<hba>
qla2xxx
</hba>
</BlockDevice>
<Adapter>
<host>
Host4
</host>
<name>
qla2xxx
</name>
<manufacturer>
QLogic HBA Driver
</manufacturer>
<id>
4
</id>
</Adapter>
</Devlist>
4. sr-probe コマンドで返された<path>プロパティのグローバルデバイスパスを指定して、プールマ
スターとして動作するホスト上でストレージリポジトリを作成します。PBD が作成され、自動的に
プール内の各ホストにプラグされます。
xe sr-create host-uuid=<valid_uuid> \
content-type=user \
name-label=<"Example shared LVM over HBA SR"> shared=true \
device-config:SCSIid=<device_scsi_id> type=lvmohba
注:
上記の sr-create 処理の PBD 作成とプラグ操作を再試行するには、XenCenter の
[ストレージ]>[修復]コマンドを使用できます。ストレージリポジトリ作成時の
ゾーン設定がリソースプール内の一部のホストで不正な場合、この機能を使用して
82
解決できます。問題のホストに対する LUN ゾーン設定を修正したら、ストレージリ
ポジトリを作成し直す代わりに、[修復]コマンドを使用します。
5.2.9. NFS VHD
この種類のストレージリポジトリは、リモートの NFS ファイルシステム上に VHD ファイルとしてデ
ィスクを格納します。
NFS は、さまざまな環境で使用できる、「ユビキタス」なストレージインフラストラクチャです。
XenServer では、TCP/IP を利用する NFS V3 をサポートする既存の NFS サーバーを、仮想ディスク
(VDI)のストレージリポジトリとしてすぐに使用できます。VDI は、Microsoft VHD 形式でのみ格納
されます。さらに、NFS ストレージリポジトリは共有できるので、共有ストレージリポジトリに VDI
を格納することにより、リソースプール内のどの XenServer ホストでも仮想マシンを起動できるよう
になります。また、XenMotion を使用して、サービスをほとんど停止せずに、サーバー間で仮想マシ
ンを移行できます。
NFS ストレージリポジトリを作成するには、NFS サーバーのホスト名または IP アドレスが必要です。
sr-probe コマンドを使用すると、NFS サーバー上でエクスポートされている、ストレージリポジト
リを作成可能なパスを確認できます。NFS サーバーは、そのパスがリソースプール内のすべての
XenServer ホストにエクスポートされるように設定されている必要があります。すべてのホストに
エクスポートされない場合、ストレージリポジトリの作成に失敗し、物理ブロックデバイスレコード
のプラグに失敗します。
NFS 上に格納される VDI ではシンプロビジョニングが使用されます。仮想マシンがデータをディス
クに書き込むときにイメージファイルが割り当てられます。これには、実際に仮想マシンイメージフ
ァイルに書き込まれているデータ分の領域しか NFS ストレージ上で消費されないという大きな利点
があります。つまり、100GB の VDI を新しい仮想マシンに割り当てて、そこにオペレーティングシ
ステムをインストールする場合、オペレーティングシステムデータのサイズがその VDI ファイルの物
理サイズに反映され、100GB にはなりません。
VHD ファイルをチェーン化して、2 つの VDI で共通のデータを共有することもできます。NFS ベー
スの仮想マシンを複製する場合、複製時にディスク上に存在したデータを複製元と複製先の仮想マシ
ンが共有します。その後、各仮想マシンは異なるコピーオンライトバージョンの VDI で個別の変更を
行います。この機能により、NFS ベースの仮想マシンをテンプレートからすぐに複製できるようにな
り、新しい仮想マシンのプロビジョニングと展開が容易になります。
注:
サポートされる VHD チェーンは 30 世代までです。
VHD ベースのイメージには、シンプロビジョニングとチェーン化をサポートするために追加のメタデ
ータが必要なため、LVM ベースのストレージほど高パフォーマンスではありません。
XenServer の NFS および VHD の実装では、NFS サーバーのストレージリポジトリディレクトリを完
全に制御できることが前提になっています。VDI の内容を破損する危険があるため、管理者がストレ
ージリポジトリディレクトリの内容を変更することは避けてください。
XenServer は、障害からの高度なデータ保護を維持しながら、不揮発性の RAM を使用して書き込み
要求に迅速に応答するエンタープライズクラスのストレージ用に調整されています。たとえば、
XenServer では、Network Appliance 社の Data ONTAP 7.3 および 8.1 が動作する FAS2020 およ
び FAS3210 ストレージに対し、広範なテストが実施されています。
XenServer でローエンドなストレージを使用すると、すべての書き込みの応答を待機してから仮想マ
シンに確認応答を渡すため、時間がかかることがあります。これにより、パフォーマンスが大きく犠
牲になります。この問題は、ストレージリポジトリのマウントポイントを非同期モードでエクスポー
トするようにストレージを設定することで解消できる場合があります。ただし、非同期モードでのエ
クスポートでは実際にディスク上にない書き込みも認識されるため、管理者は障害のリスクを慎重に
考慮する必要があります。
83
XenServer の NFS 実装では、デフォルトで TCP が使用されます。可能な環境であれば、UDP が使用
されるように設定すると、パフォーマンスが向上する場合があります。このように設定するには、ス
トレージリポジトリを作成するときに device-config パラメータに useUDP=true を指定します。
警告:
NFS ストレージリポジトリ上の VDI はシンプロビジョニングで作成されるため、
NFS ストレージリポジトリ上にすべての VDI に対して十分なディスク領域がある
ことを確認する必要があります。XenServer ホストでは、仮想ディスクの作成時に
NFS ストレージリポジトリに必要なディスク領域があるかどうかはチェックされま
せん。
5.2.9.1. 共有 NFS ストレージリポジトリ(nfs)を作成する
次の表は、nfs ストレージリポジトリ用の device-config パラメータの一覧です。
パラメータ名
説明
必須
server
NFS サーバーの IP アドレスま
たはホスト名です。
○
serverpath
ストレージリポジトリを作成
する NFS サーバー上の、NFS
マウントポイントを含めたパ
スです。
○
192.168.1.10:/export1 に共有 NFS ストレージリポジトリを作成する場合は、次のコマンドを実行しま
す。
xe sr-create host-uuid=<host_uuid> content-type=user \
name-label=<"Example shared NFS SR"> shared=true \
device-config:server=192.168.1.10 device-config:serverpath=/export1 type=nfs
5.2.10. ハードウェア HBA 上の LVM
この種類のストレージリポジトリでは、HBA LUN 上に作成されたボリュームグループ内の論理ボリ
ューム上の VHD としてディスクが表示され、ハードウェアベースの iSCSI または FC のサポートが提
供されます。
XenServer ホストでは、Emulex または QLogic のホストバスアダプタ(HBA)を使ったファイバチ
ャネル(FC)ストレージエリアネットワーク(SAN)がサポートされます。FC LUN を XenServer
ホストに提供するための FC 設定は、ホストのストレージデバイス、ネットワークデバイス、および
HBA を含め、すべて手作業で行う必要があります。すべての FC 設定が完了すると、目的の FC LUN
の SCSI デバイスが HBA によりホストに提供されます。これにより、ローカルで接続されている
SCSI デバイスのように、SCSI デバイスを使用して FC LUN にアクセスできるようになります。
ホスト上に存在する、LUN を持つ SCSI デバイスの一覧を確認するには、sr-probe コマンドを使用
します。このコマンドでは、新しく追加されたデバイスも認識されます。sr-probe で返される SCSI
デバイスのパス値は、その LUN にアクセスするすべてのホストで同一です。このため、リソースプー
ル内のすべてのホストからアクセスされる共有ストレージレポジトリを作成するときは、このパスを
使用する必要があります。
QLogic iSCSI HBA に対しても、同じ機能を使用できます。
HBA ベースのファイバチャネルおよび iSCSI の共有ストレージリポジトリを作成する手順について
は、5.3.1. 「新規ストレージリポジトリを作成する」を参照してください。
注:
84
XenServer では、ファイバチャネルの LUN を仮想マシンに直接マップすることは
サポートされていません。HBA ベースの LUN は、ホストにマップして、ストレー
ジリポジトリ内でそれを指定する必要があります。ストレージリポジトリ内の仮想
ディスクイメージは、標準のブロックデバイスとして仮想マシンに提供されます。
5.3. ストレージ設定
ここでは、さまざまな種類のストレージリポジトリを作成して、XenServer ホストから使用できるよ
うにする設定例について説明します。以下の例では、CLI を使用しています。XenCenter の[新規ス
トレージリポジトリ]ウィザードの使用方法については、オンラインヘルプを参照してください。
5.3.1. 新規ストレージリポジトリを作成する
ここでは、さまざまな種類のストレージリポジトリ(SR)を作成して、XenServer ホストから使用で
きるようにする設定例について説明します。これらの例では、CLI を使用してストレージリポジトリ
を作成します。XenCenter の[新規ストレージリポジトリ]ウィザードでの作成方法については、
XenCenter のオンラインヘルプを参照してください。
注:
lvm および ext3 の種類のローカルストレージリポジトリは、xe CLI を使用してのみ
作成できます。ただし、作成後のすべての種類のストレージリポジトリは、
XenCenter および xe CLI で管理できます。
XenServer ホストで使用する新規ストレージリポジトリを CLI で作成するには、以下の 2 つの基本手
順があります。
1. 必要なパラメータの値を確認するためにストレージリポジトリをプローブする。
2. ストレージリポジトリを作成して SR オブジェクトとそれに関連付けられた PBD オブジェクトを
初期化し、その PBD オブジェクトをプラグしてストレージリポジトリをアクティブ化する。
これらの手順の詳細は、作成するストレージリポジトリの種類により異なります。いずれの場合でも、
sr-create コマンドによる作成に成功すると、そのストレージリポジトリの UUID が返されます。
物理ストレージデバイスを解放するために不要なストレージリポジトリを破棄したり、XenServer ホ
ストからストレージリポジトリを消去して接続を解除したり、さらにそれを別のホストに接続したり
できます。詳しくは、5.7.1. 「ストレージリポジトリの削除」を参照してください。
注:
XenServer ホストやプールで StorageLink 設定を指定する場合は、デフォルトのユ
ーザー名 admin とパスワード storagelink を使用するか、StorageLink Gateway サ
ービスのインストール時に指定した資格情報を使用してください。StorageLink
Manager ではデフォルトの資格情報が自動的に使用されますが、XenCenter では
明示的に入力する必要があります。
5.3.2. ストレージリポジトリをプローブする
以下の 2 つの目的で、sr-probe コマンドを実行できます。
1. ストレージリポジトリ作成時に必要なパラメータを確認する。
2. 既存のストレージリポジトリの一覧を表示する。
これらのいずれの場合でも、ストレージリポジトリの種類と、その種類に応じたいくつかの deviceconfig パラメータを指定して sr-probe コマンドを実行します。必要なパラメータを指定せずに srprobe コマンドを実行すると、必要なパラメータと指定可能なオプションを示すエラーメッセージが
表示されます。必要なパラメータを正しく指定した場合は、既存のストレージリポジトリの一覧が表
示されます。sr-probe コマンドによる出力は、すべて XML 形式で返されます。
85
たとえば、既知の iSCSI ターゲットがある場合は、その名前または IP アドレスを指定してプローブで
きます。これにより、そのターゲット上で使用可能なすべての IQN が以下のように返されます。
xe sr-probe type=lvmoiscsi device-config:target=<192.168.1.10>
Error code: SR_BACKEND_FAILURE_96
Error parameters: , The request is missing or has an incorrect target IQN parameter, \
<?xml version="1.0" ?>
<iscsi-target-iqns>
<TGT>
<Index>
0
</Index>
<IPAddress>
192.168.1.10
</IPAddress>
<TargetIQN>
iqn.192.168.1.10:filer1
</TargetIQN>
</TGT>
</iscsi-target-iqns>
次に、このターゲットの名前または IP アドレスと、特定の IQN を指定してプローブを実行すると、
その IQN 上で使用可能なすべての SCSIid(LUN)が以下のように返されます。
xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10 \
device-config:targetIQN=iqn.192.168.1.10:filer1
Error code: SR_BACKEND_FAILURE_107
Error parameters: , The SCSIid parameter is missing or incorrect, \
<?xml version="1.0" ?>
<iscsi-target>
<LUN>
<vendor>
IET
</vendor>
<LUNid>
0
</LUNid>
<size>
42949672960
</size>
<SCSIid>
149455400000000000000000002000000b70200000f000000
</SCSIid>
</LUN>
</iscsi-target>
最後に、これら 3 つのパラメータ(ターゲットの名前または IP アドレス、IQN、および SCSIid)を
指定してプローブを実行すると、その LUN 上に存在するストレージリポジトリの一覧が以下のように
返されます。
86
xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10 \
device-config:targetIQN=192.168.1.10:filer1 \
device-config:SCSIid=149455400000000000000000002000000b70200000f000000
<?xml version="1.0" ?>
<SRlist>
<SR>
<UUID>
3f6e1ebd-8687-0315-f9d3-b02ab3adc4a6
</UUID>
<Devlist>
/dev/disk/by-id/scsi-149455400000000000000000002000000b70200000f000000
</Devlist>
</SR>
</SRlist>
次の表は、ストレージリポジトリの各種類に対して、プローブ可能なパラメータの一覧です。
SR の種類
device-config パラメーター(依存順)
プローブの
可否
sr-create で必須
lvmoiscsi
target
×
○
chapuser
×
×
chappassword
×
×
targetIQN
○
○
SCSIid
○
○
lvmohba
SCSIid
○
○
NetApp
target
×
○
username
×
○
password
×
○
chapuser
×
×
chappassword
×
×
aggregate
×*
○
FlexVols
×
×
allocation
×
×
asis
×
×
server
×
○
serverpath
○
○
lvm
device
×
○
ext
device
×
○
EqualLogic
target
×
○
nfs
87
SR の種類
device-config パラメーター(依存順)
プローブの
可否
sr-create で必須
username
×
○
password
×
○
chapuser
×
×
chappassword
×
×
storagepool
׆
○
*アグリゲートのプローブは sr-create の実行時のみ可能です。これは、ストレージリポジトリの作成時に適切なアグリゲート
を指定できるようするためです。
†ストレージプールのプローブは sr-create の実行時のみ可能です。これは、ストレージリポジトリの作成時に適切なアグリ
ゲートを指定できるようするためです。
5.4. ストレージのマルチパスを有効にする
ファイバチャネルおよび iSCSI のストレージリポジトリでは、動的なマルチパスがサポートされます。
デフォルトでは、ラウンドロビンモードの負荷分散が使用されるため、通常運用時に両方の経路にア
クティブなトラフィックが流れます。マルチパスを有効にするには、XenCenter または xe CLI を使
用します。ストレージマルチパス構成について詳しくは、CTX134881『Configuring Multipathing
for XenServer』を参照してください。
マルチパスを有効にする前に、使用するストレージサーバー上で複数のターゲット
が使用可能になっていることを確認してください。たとえば、iSCSI ストレージバ
ックエンドの特定のポータルに対して sendtargets を照会した場合、以下のように複
数のターゲットが返される必要があります。
iscsiadm -m discovery --type sendtargets --portal 192.168.0.161
192.168.0.161:3260,1 iqn.strawberry:litchie
192.168.0.204:3260,2 iqn.strawberry:litchie
CLI を使用してストレージのマルチパスを有効にするには
1.
次のコマンドを実行して、ホスト上のすべての PBD をアンプラグします。
xe pbd-unplug uuid=<pbd_uuid>
2.
次のコマンドを実行して、ホストの other-config:multipathing パラメータを設定します。
xe host-param-set other-config:multipathing=true uuid=host_uuid
3.
次のコマンドを実行して、ホストの other-config:multipathhandle パラメータを dmp に設定します。
xe host-param-set other-config:multipathhandle=dmp uuid=host_uuid
4.
ホスト上でシングルパスモードで動作しているストレージリポジトリのマルチパスを有効にする
には、次の操作を行います。
• そのストレージリポジトリ上の仮想ディスクを使用している、実行中の仮想マシンを移行また
は一時停止します。
• そのストレージリポジトリの PBD をマルチパスで再接続するために、アンプラグして再プラグ
します。
xe pbd-plug uuid=<pbd_uuid>
マルチパスを無効にする場合は、まず VBD をアンプラグし、ホストの other-config:multipathing パラメ
ータを false に設定して、上記の手順で PBD を再プラグします。このとき、other-config:multipathhandle
パラメータは変更しないでください。このパラメータは自動的に変更されます。
88
XenServer でのマルチパスのサポートは、デバイスマッパー multipathd components に基づいていま
す。マルチパスノードの有効化および無効化は、ストレージマネージャ API により自動的に処理され
ます。Linux の標準ツール dm-multipath とは異なり、システム上のすべての LUN のデバイスマッパー
ノードが自動的に作成されるわけではなく、ストレージ管理レイヤにより LUN がアクティブに使用さ
れるときにのみ新しいデバイスマッパーノードがプロビジョニングされます。このため、dm-multipath
CLI ツールを使って XenServer の DM テーブルノードを照会したり更新したりする必要はありませ
ん。システム上のアクティブなデバイスマッパーマルチパスノードを確認したり、デバイスマッパー
テーブルの状態を手作業で照会したりするには、以下の mpathutil ユーティリティを使用します。
• mpathutil list
• mpathutil status
注:
組み込まれているマルチパス管理アーキテクチャとの互換性がないため、標準的な
CLI ユーティリティ dm-multipath を XenServer で使用しないでください。ホスト
上のノードの状態を照会するには、CLI ツール mpathutil を使用してください。
注:
EqualLogic アレイでは、従来の意味でのストレージ IO のマルチパス化がサポート
されず、ネットワーク/NIC ボンディングレベルでマルチパス化する必要がありま
す。EqualLogic/LVMoISCSI ストレージリポジトリのネットワークフェイルオー
バーの設定については、EqualLogic のドキュメントを参照してください。
5.5. XenServer と IntelliCache
注:
この機能は、XenServer を XenDesktop と併用する場合のみ使用可能です。
XenServer の IntelliCache 機能により、共有ストレージとローカルストレージを組み合わせて使用し
て、仮想デスクトップインフラストラクチャをより効率的に展開できるようになりました。この機能
は、多くの仮想マシンで同じオペレーティングシステムイメージを共有する場合に特に有効です。こ
の機能を使用すると、ストレージアレイへの負荷が軽減され、パフォーマンスが向上します。また、
共有ストレージからマスタイメージがローカルストレージ上にキャッシュされるため、XenServer と
共有ストレージ間のネットワークトラフィックが減少します。
IntelliCache により、仮想マシンの親 VDI のデータが、その仮想マシンホストのローカルストレージ
上にキャッシュされます。このローカルキャッシュは、親 VDI からのデータ読み取りが必要になった
ときに使用されます。多数の仮想マシンで親 VDI を共有する場合(たとえば、同じマスターイメージ
に基づく仮想デスクトップを多数運用する場合など)、1 つの仮想マシンでキャッシュされたデータが
ほかの仮想マシンでも使用されるという状況が多く発生します。この場合、共有ストレージ上のマス
タイメージにアクセスする代わりに、ローカルキャッシュが使用されます。
IntelliCache を使用するには、シンプロビジョニングで作成されたローカルストレージリポジトリが
必要です。シンプロビジョニングという方法を使用すると、ストレージ領域を最大限に活用できます。
これにより、ローカルストレージを効率的に使用できるようになります。シンプロビジョニングでは、
すべてのデータブロックを事前に割り当てる従来の方式とは異なり、オンデマンドでブロックが割り
当てられます。
重要:
シンプロビジョニングを有効にすると、ホストのデフォルトローカルストレージの
種類が LVM から EXT3 に変更されます。XenDesktop を使用する場合は、ローカル
キャッシュが正しく機能するように、シンプロビジョニングを有効にする必要があ
ります。
89
シンプロビジョニングを使用すると、管理者はそのストレージリポジトリの実際の使用可能領域より
も大きなサイズを仮想マシンに提供できます。この場合、領域は予約されず、仮想マシンによりデー
タが書き込まれるまでは、LUN の割り当て処理でデータブロックが要求されることはありません。
警告:
仮想マシンでのディスク消費が増加すると、シンプロビジョニングのストレージリ
ポジトリで物理領域が足りなくなることがあります。この問題を回避するため、
IntelliCache が有効な仮想マシンでは、ローカルストレージリポジトリのキャッシ
ュに空きがなくなると自動的に共有ストレージへのフォールバックが行われます。
IntelliCache が有効な仮想マシンのサイズは急激に増加することがあるため、同じ
ストレージリポジトリで通常の仮想マシンと IntelliCache 仮想マシンを共存させる
ことは推奨されません。
5.5.1. IntelliCache の使用
IntelliCache は、XenServer をホストにインストールするときに有効にします。インストール済みの
XenServer ホストでは、CLI を使用してこの機能を有効にすることもできます。
Citrix では、IntelliCache を使用する場合は、可能な限り高速にデータを転送できるように、SSD
(Solid State Disk)や高性能な RAID などをローカルストレージデバイスとして使用することをお勧
めします。ローカルディスクのデータスループットだけでなく、ストレージ容量についても考慮する
必要があります。また、親 VDI をホストする共有ストレージの種類は、NFS または EXT である必要
があります。
5.5.1.1. インストール時に有効にする
インストール時に IntelliCache を有効にするには、仮想マシンストレージの画面で[Enable thin
provisioning(Optimized storage for XenDesktop)]を選択します。これにより、このローカ
ルストレージリポジトリが仮想マシン VDI のローカルキャッシュとして使用されるようになります。
5.5.1.2. 既存のホストでシンプロビジョニングに変換する
LVM ベースの既存のローカルストレージリポジトリを破棄して EXT3 ベースのシンプロビジョニン
グストレージリポジトリに変換するには、次のコマンドを実行します。
警告:
これらのコマンドにより、既存のローカルストレージリポジトリが破棄され、その
ストレージリポジトリ上の仮想マシンがすべて消去されます。
90
localsr=`xe sr-list type=lvm host=<hostname> params=uuid --minimal`
echo localsr=$localsr
pbd=`xe pbd-list sr-uuid=$localsr params=uuid --minimal`
echo pbd=$pbd
xe pbd-unplug uuid=$pbd
xe pbd-destroy uuid=$pbd
xe sr-forget uuid=$localsr
sed -i "s/'lvm'/'ext'/" /etc/firstboot.d/data/default-storage.conf
rm -f /etc/firstboot.d/state/10-prepare-storage
rm -f /etc/firstboot.d/state/15-set-default-storage
service firstboot start
xe sr-list type=ext
ローカルキャッシュを有効にするには、次のコマンドを実行します。
xe host-disable host=<hostname>
localsr=`xe sr-list type=ext host=<hostname> params=uuid --minimal`
xe host-enable-local-storage-caching host=<hostname> sr-uuid=$localsr
xe host-enable host=<hostname>
91
5.5.1.3. 仮想マシンの起動設定
仮想マシン起動時の VDI の動作として、以下の 2 つのモードがあります。
1. 共有デスクトップモード
このモードで仮想マシンを起動すると、VDI が前回起動時の状態に復元されます。前回の仮想マシ
ンセッション内での変更内容は、すべて削除されます。
仮想デスクトップに対する永続的な変更をユーザーに許可せず、常に標準的なデスクトップを提供
する場合は、このオプションを選択します。
2. プライベートデスクトップモード
このモードの仮想マシンは、VDI が前回シャットダウン時の状態のまま起動します。
仮想デスクトップに対する永続的な変更をユーザーに許可する場合は、このオプションを選択しま
す。
5.5.1.3.1. 仮想マシンのキャッシュ設定
仮想マシンのキャッシュ設定は、VDI フラグ allow-caching により制御されます。
5.5.1.3.1.1. 共有デスクトップモード
on-boot オプションを reset に設定して allow-caching フラグを true に設定した共有デスクトップ
の場合、仮想マシン上での新規データはローカルストレージに書き込まれ、共有ストレージには書き
込まれません。これにより、共有ストレージへの負荷は著しく軽減されます。ただし、仮想マシンを
ほかのホスト上に移行することはできません。
5.5.1.3.1.2. プライベートデスクトップモード
on-boot オプションを persist に設定して allow-caching フラグを true に設定したプライベートデ
スクトップの場合、仮想マシン上での新規データはローカルストレージおよび共有ストレージに書き
込まれます。キャッシュされたデータの読み取り時には共有ストレージへの入出力が不要なため、共
有ストレージへの負荷はいくらか軽減されます。仮想マシンをほかのホスト上に移行することも可能
であり、移行先でのデータ読み取りに応じてそのホスト上にローカルキャッシュが生成されます。
5.5.1.4. 実装の詳細とトラブルシューティング
問: IntelliCache は、XenMotion や高可用性機能と互換性がありますか?
答: 仮想デスクトップがプライベートモード(on-boot=persist)の場合は、IntelliCache と XenMotion
や高可用性機能を併用することができます。
警告:
VDI のキャッシュ動作として on-boot=reset および allow-caching=true が設定されて
いる仮想マシンは、ほかのホスト上に移行することはできません。この場合、仮想
マシンの移行に失敗します。
問: ローカルキャッシュはローカルディスクのどこに生成されますか?
答: キャッシュはストレージリポジトリ内に生成されます。各ホストの設定パラメータ(localcache-sr)により、キャッシュファイルを格納する(ローカル)ストレージリポジトリが決定
されます。通常、これらのストレージリポジトリの種類は EXT です。IntelliCache を有効にし
て仮想マシンを実行すると、このストレージリポジトリ上に<uuid>.vhdcache という名前のファ
イルが作成されます。これが、UUID で示される VDI のキャッシュファイルです。これらのキ
ャッシュファイルは、XenCenter には表示されません。キャッシュファイルを表示するには、
dom0 にログインし、/var/run/sr-mount/<sr-uuid>の内容を一覧します。
92
問: キャッシュ用のストレージリポジトリを指定するには?
答: ローカルストレージリポジトリは、host オブジェクトの local-cache-sr フィールドで示され
ます。このフィールドの値を表示するには、次のコマンドを実行します。
xe sr-list params=local-cache-sr,uuid,name-label
この値を設定するには、以下のいずれかを行います。
• XenServer をホストにインストールするときに、[Enable thin provisioning]オプションを
選択する。
• 既存の XenServer ホストで、xe host-enable-local-storage-caching host=<hostname> sr-uuid=<sr>
を実行する。このコマンドを実行するには、指定されたホストが無効になっており、仮想マシ
ンがシャットダウン状態である必要があります。
1 つ目のオプションでは、ホストのインストール時に種類が EXT のローカルストレージリポジ
トリが作成されます。2 つ目のオプションでは、コマンドラインで指定したストレージリポジト
リが使用されます。
警告:
これらの手順が必要になるのは、複数のローカルストレージリポジトリを設定した
場合のみです。
問: ローカルキャッシュはいつ削除されますか?
答: VDI のキャッシュファイルが削除されるのは、その VDI 自体を削除したときのみです。VDI が
仮想マシンに接続されると(仮想マシンの起動時など)、キャッシュがリセットされます。VDI
を削除したときにホストがオフラインだった場合は、そのホストの起動時に実行されるストレー
ジリポジトリ同期によりキャッシュファイルが削除されます。
注:
仮想マシンをほかのホストに移行したとき、および仮想マシンをシャットダウンし
たときは、ホスト上のキャッシュファイルは削除されません。
5.6. ストレージ読み取りキャッシュ
注:
ストレージ読み取りキャッシュ機能は、XenServer Enterprise Edition ユーザー、
または XenDesktop 権限により XenServer にアクセスするユーザーが使用できま
す。XenServer の各エディションおよびエディション間のアップグレードについ
ては、Citrix Web サイトを参照してください。ライセンスについて詳しくは、
CTX141511 - XenServer 6.5 Licensing FAQ を参照してください。
読み取りキャッシュでは、外部ディスクからの最初の読み取り後、データがホストの空きメモリにキ
ャッシュされるので、仮想マシンのディスクパフォーマンスが向上します。たとえば、XenDesktop
の Machine Creation Service(MCS)環境などで、単一のベース仮想マシンから多数の仮想マシン
が複製されている状況では、ディスクからの読み取りブロック数が大幅に削減されるため、パフォー
マンスが格段に向上します。
データがメモリにキャッシュされるため、ディスクから複数回読み取る必要がある場合には常にパフ
ォーマンスが向上します。最も顕著な例は、負荷の高い I/O 処理によりサービス速度が低下している
場合です。たとえば、多数のエンドユーザーが、非常に短時間の間に一斉に起動したり(ブートスト
ーム)、多数の仮想マシンが同時刻にマルウェアスキャンを実行するようにスケジュール指定されてい
る場合(アンチウイルスストーム)などです。読み取りキャッシュはデフォルトでオンになっていま
す。
93
5.6.1. 有効化と無効化
NFS や EXT3 ストレージリポジトリなど、ファイルベースのストレージリポジトリの場合、読み取り
キャッシュはデフォルトでオンになっています。ほかのストレージリポジトリの場合はすべてデフォ
ルトでオフです。
特定のストレージリポジトリで読み取りキャッシュを無効にするには、次のように入力します。
xe sr-param-set uuid=<sr-uuid> other-config:o_direct=true
5.6.2. 制限事項
• 読み取りキャッシュは、NFS および EXT3 ストレージリポジトリの場合にのみ使用できます。その
ほかの種類のストレージリポジトリでは使用できません。
• 読み取りキャッシュは、読み取り専用の VDI および親 VDI に対してのみ適用されます。これらは、
「高速複製」またはスナップショットディスクから作成された仮想マシン上に存在します。最もパフ
ォーマンスが向上するのは、多数の仮想マシンが単一の「ゴールドイメージ」から複製されている
場合です。
• パフォーマンスが向上する度合いは、ホストのコントロールドメイン(dom0)で使用可能な空き
メモリ量に応じて異なります。dom0 のメモリ量を増やすと、読み取りキャッシュに割り当てられ
るメモリ量も増加します。dom0 のメモリ量の設定について詳しくは、CTX134951 - How to
Configure dom0 Memory in XenServer 6.1 and Later を参照してください。
5.6.3. IntelliCache との比較
IntelliCache およびメモリベースの読み取りキャッシュは、ある意味において相補的です。
IntelliCache は、別の階層でキャッシュするだけではなく、読み取りおよび書き込みの両方をキャッ
シュします。主な相違点は、IntelliCache がネットワークからの読み取りをローカルディスクにキャ
ッシュするのに対して、インメモリ読み取りキャッシュはネットワークまたはディスクからの読み取
りをホストメモリにキャッシュする点です。インメモリ読み取りキャッシュの利点は、メモリの方が
Solid-State Disk(SSD)よりも速度が 10 倍速いということです。このため、ブートストームや負荷
の高い I/O 処理の状況でも、パフォーマンスが向上する可能性があります。
読み取りキャッシュと IntelliCache は、同時に有効にすることができます。この場合、ネットワーク
からの読み取りを IntelliCache がローカルディスクにキャッシュし、そのローカルディスクからの読
み取りを読み取りキャッシュがメモリにキャッシュします。
5.6.4. 読み取りキャッシュサイズを設定するには
読み取りキャッシュのパフォーマンスを最適化するには、XenServer のコントロールドメイン
(dom0)のメモリ量を増やします。
重要:
この場合、読み取りキャッシュサイズは、プール内のすべてのホストで個別に設定
する必要があります。読み取りキャッシュサイズに変更を加える場合は、プール内
のすべてのホストに対して設定する必要があります。
XenServer ホストのローカルシェルを開き、ルートユーザーとしてログオンします。
読み取りキャッシュサイズを設定するには、次のコマンドを実行します。
/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=<nn>M,max:<nn>M
初期値と最大値は、同じ値に設定する必要があります。以下はその例です。
/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=20480M,max:20480M
重要:
94
読み取りキャッシュサイズに変更を加えたら、すべてのホストを再起動します。
5.6.4.1. 現在の dom0 のメモリ割り当てを表示する
現在の dom0 のメモリ設定を表示するには、次のように入力します。
free -m
free -m の出力は、現在の dom0 のメモリ設定を示しています。この値は、さまざまなオーバーヘッド
により想定された値よりも小さくなっている場合があります。次の表は、dom0 を 752MB に設定し
た場合のホストの出力例です。
Mem
Total
Used
Free
Shared
Buffer
Cached
594
486
108
0
149
78
258
336
49
462
-/+
buffers/
cache
Swap
511
使用できる値の範囲
XenServer 6.5 コントロールドメイン(dom0)は 64 ビットであるので、大きい値を使用できます
(たとえば、32768MB)。初期値は 752MB 以上に設定することをお勧めします。それより小さい値
の場合、ホストが起動に失敗することがあります。
注:
マシンのメモリ量が少ない場合(たとえば、16GB 未満)は、dom0 に割り当てら
れるメモリ量が 752MB 未満になるように設定できます。ただし、dom0 に 400MB
未満のメモリ量を割り当てることは推奨されません。
5.6.4.2. 実例
管理者は、読み取りキャッシュの使用効率を最大にするために、dom0 に割り当てられるメモリ量を
増やす必要があります。すべてのゴールドイメージがキャッシュされたときに、dom0 の空きメモリ
量に完全に一致するのが理想的な状態です。複数のベースイメージが使用されている場合(たとえば、
マルチセッションの XenApp を提供しているサーバーと単一の XenDesktop セッションを提供して
いるクライアントが存在する場合)、dom0 に割り当てられるメモリに対して、キャッシュされるイメ
ージの合計サイズを考慮する必要があります。
注:
イメージ全体はキャッシュされません。通常、メモリにロードされるのはイメージ
の一部のみです。また、キャッシュされるのは、使用中のイメージの一部のみです。
必要なメモリ量を実験的に決定するために、メモリ量が 128GB のホストで、20GB の Windows7 ゴ
ールドイメージを使用する場合について考えてみます。
1.
たとえば、dom0 に 24GB という大容量のメモリを割り当てます。
2.
通常のワークロードで、仮想マシンを起動します。free -m 出力の、特にメモリ行の[Free]の値
に注意してください。
Mem
Total
Used
Free
Shared
Buffers
Cached
24576
11456
13120
0
391
9109
95
-/+
Buffers/
cache
Swap
511
1956
22620
13
498
キャッシュ済みの値が大きくなっていますが(9109MB)、これは読み取りキャッシュが動作し
て、dom0 の空きメモリ量に余裕があることを示しています(13120MB)。
3.
読み取りキャッシュで使用できる容量にはまだ余裕があるため、合計メモリ量を減らしてみます。
dom0 に割り当てられるメモリ量を 13GB 減らすと(メモリ使用量には約 512MB 未満の変動が
あります)、出力は次のようになります。
Mem
Total
Used
Free
Shared
Buffers
Cached
11968
11202
766
0
409
8879
1914
10054
19
492
-/+
Buffers/
cache
Swap
511
上の表は、ゴールドイメージの仮想マシンを適切にキャッシュするようにホストが調整され、必
要以上のメモリ量を使用していないことを示しています。
4.
dom0 のメモリ割り当て量をさらに減らしてみると、ゴールドイメージのキャッシュ済み容量に
影響が出始め、その結果、読み取りキャッシュの有効性が低下しています。たとえば、dom0 に
割り当てられるメモリ量を 6GB まで減らしてみると、出力は次のようになります。
Mem
Total
Used
Free
Shared
Buffers
Cached
6144
5942
202
0
359
3647
1936
4208
87
424
-/+
Buffers/
cache
Swap
511
この時点で、dom0 の空きメモリ量は 512MB 未満に低下し、キャッシュ済みの容量は 3647MB
で、前の場合より約 5GB 減少しています。つまり、この状態ではゴールドイメージのうち約 5GB
がメモリにキャッシュされておらず、読み取りキャッシュの有効性はさらに低下しています。
5.6.4.3. XenCenter の表示に関する注意事項
管理者は、ホストの全メモリが Xen ハイパーバイザー、dom0、仮想マシン、および空きメモリから
構成されていることを認識する必要があります。通常、dom0 と仮想マシンのメモリのサイズは固定
されており、Xen ハイパーバイザーが使用するメモリ量は可変です。これは、常時ホストで実行中の
仮想マシン数などのいくつかの要因と、これらの仮想マシンの設定方法に応じて異なります。Xen が
使用するメモリ量は制限できません。Xen はメモリを使い果たすこともあるので、ホストに空きメモ
リが存在する場合でも、別の仮想マシンを開始することはできません。
ホストに割り当てられているメモリ量を表示するには、XenCenter でホストを選択してから[メモ
リ]タブをクリックします。
[Xen]フィールドに、dom0 に割り当てられているメモリと Xen メモリの合計容量が表示されます。
このため、表示されるメモリ量は、管理者が指定した容量よりも大きくなることがあります。また、
96
管理者が dom0 に固定サイズを設定した場合でも、仮想マシンの起動および停止時にそのサイズが変
動することがあります。
5.7. ストレージリポジトリ(SR)の管理
ここでは、ライブ VDI マイグレーション機能を含め、ストレージリポジトリの管理に必要なさまざま
な操作について説明します。
5.7.1. ストレージリポジトリの削除
ストレージリポジトリ(SR)は、一時的または永続的に削除できます。
• detach:ストレージデバイスとプールまたはホストの間の関連付けを削除します(pbd-unplug)。
ストレージリポジトリ(およびその仮想ディスクイメージ)にはアクセスできなくなります。仮想
ディスクイメージの内容と、仮想ディスクイメージにアクセスするために仮想マシンで使用される
メタ情報は保持されます。保守などのためにストレージリポジトリを一時的にオフラインにする必
要があるときに、このコマンドを使用します。接続を解除したストレージリポジトリは後で再接続
できます。
• forget:物理ディスク上のストレージリポジトリの内容は保持されますが、仮想マシンを仮想ディ
スクイメージに接続するのに使用した情報は永続的に削除されます(pbd-unplug および vbdunplug)。たとえば、ストレージリポジトリの内容を削除せずに、ストレージリポジトリを別の
XenServer ホストに再接続できます。
• destroy:物理ディスクからストレージリポジトリの内容を削除します。
destroy または forget の場合、ストレージリポジトリに接続されている PBD をホストからアンプラ
グする必要があります。
1. 次のコマンドを実行して、PBD をアンプラグします。これにより、XenServer ホストからストレ
ージリポジトリが接続解除されます。
xe pbd-unplug uuid=<pbd_uuid>
2. 次のコマンドを実行して、ストレージリポジトリを破棄します。これにより、XenServer ホストの
データベースからストレージリポジトリおよびその PBD が削除され、そのストレージリポジトリ
の内容が物理ディスクから削除されます。
xe sr-destroy uuid=<sr_uuid>
3. 次のコマンドを実行して、ストレージリポジトリの接続を消去します。これにより、XenServer ホ
ストのデータベースからストレージリポジトリおよびその PBD が削除されますが、ストレージリ
ポジトリ自体は物理メディア上に残ります。
xe sr-forget uuid=<sr_uuid>
注:
対象のストレージリポジトリのソフトウェアオブジェクトでガベージコレクション
処理が完了するまで、時間がかかる場合が理ます。
5.7.2. ストレージリポジトリをイントロデュースする
以前に接続を消去したストレージリポジトリを再度イントロデュースするには、PBD を作成して適切
な XenServer ホストに手動でプラグし、ストレージリポジトリをアクティブ化します。
以下の例では、lvmoiscsi ストレージリポジトリを接続します。
1. 次のコマンドを実行して、既存のストレージリポジトリの UUID を確認します。
xe sr-probe type=lvmoiscsi device-config:target=<192.168.1.10> \
device-config:targetIQN=<192.168.1.10:filer1> \
device-config:SCSIid=<149455400000000000000000002000000b70200000f000000>
97
2. 次のコマンドを実行して、sr-probe で返された既存のストレージリポジトリの UUID をイントロ
デュースします。これにより、新規ストレージリポジトリの UUID が返されます。
xe sr-introduce content-type=user name-label=<"Example Shared LVM over iSCSI SR">
shared=true uuid=<valid_sr_uuid> type=lvmoiscsi
3. 次のコマンドを実行して、ストレージリポジトリに添付する PBD を作成します。これにより、新
規 PBD の UUID が返されます。
xe pbd-create type=lvmoiscsi host-uuid=<valid_uuid> sr-uuid=<valid_sr_uuid> \
device-config:target=<192.168.0.1> \
device-config:targetIQN=<192.168.1.10:filer1> \
device-config:SCSIid=<149455400000000000000000002000000b70200000f000000>
4. 次のコマンドを実行して、PBD をプラグします。これにより、ストレージリポジトリが接続されま
す。
xe pbd-plug uuid=<pbd_uuid>
5. 次のコマンドを実行して、PBD プラグの状態を確認します。PBD が正しくプラグされている場合、
currently-attached プロパティが true になります。
xe pbd-list sr-uuid=<sr_uuid>
注:
手順 3.~手順 5.は、リソースプール内の各ホスト上で行う必要があり、XenCenter
の[ストレージ]>[修復]コマンドでも実行できます。
5.7.3. LUN のライブ拡張
ストレージの要件に応じてストレージアレイにキャパシティを追加して、XenServer ホストにプロビ
ジョニングされる LUN のサイズを増やすことができます。LUN のライブ拡張機能を使用すると、仮
想マシンを停止せずに LUN のサイズを増やすことができます。
ストレージアレイの容量を増やしたら、次のように入力します。
xe sr-scan sr-uuid=<sr_uuid>
これにより、ストレージリポジトリが再スキャンされ、追加されたストレージ領域が使用可能になり
ます。
この操作は XenCenter でも使用できます。ストレージリポジトリを選択してサイズを変更し、
[再ス
キャン]をクリックします。詳しくは、F1 キーを押して XenCenter のオンラインヘルプを参照して
ください。
注:
以前のバージョンの XenServer では、iSCSI および HBA のストレージリポジトリ
の物理ボリュームグループをサイズ変更するために、手作業でコマンドを実行する
必要がありました。現在、これらのコマンドは必要ありません。
警告:
既存の LUN のサイズを小さくすることはできません。ストレージアレイ上の LUN
のサイズを小さくすると、データが失われることがあります。
5.7.4. ライブ VDI マイグレーション
ストレージ XenMotion のライブ VDI マイグレーション機能を使用すると、仮想マシンの仮想ディス
クイメージ(VDI)を仮想マシンを停止せずに再配置できます。これにより、管理者は以下のタスク
を実行できます。
98
• 安価なローカルストレージに格納されている仮想マシンを、高速で耐障害性の高いストレージアレ
イに移動する。
• 仮想マシンを開発環境から実務環境に移動する。
• ストレージ容量による制限がある場合に、仮想マシンをストレージ階層間で移動する。
• ストレージアレイをアップグレードする。
5.7.4.1. 制限事項
ライブ VDI マイグレーションには、以下の制限事項があります。
• 移動先のリポジトリ上に十分な空きディスク容量が必要です。
• XenServer に統合された StorageLink のストレージリポジトリ上にある VDI は移行できません。
• 複数のスナップショットを持つ VDI は移行できません。
5.7.4.2. XenCenter を使用して仮想ディスクを移動するには
1. XenCenter のリソースペインで、仮想ディスクが格納されているストレージリポジトリを選択して
[ストレージ]タブをクリックします。
2.[仮想ディスク]の一覧で、移動する仮想ディスクを選択して[移動]をクリックします。
3.[仮想ディスクの移動]ダイアログボックスで、移動先のストレージリポジトリを選択します。
注:
一覧には、各ストレージリポジトリの空き容量が表示されます。移動先のストレー
ジリポジトリ上に十分なディスク容量があることを確認してください。
4.[移動]をクリックして仮想ディスクを移動します。
xe CLI リファレンスについては、A.4.24.9. 「vdi-pool-migrate」を参照してください。
5.7.5. 停止した仮想マシンの VDI をほかのストレージリポジトリに移行する
(オフラインマイグレーション)
メンテナンス時または階層ストレージを使用する場合は、仮想マシンに関連付けられた仮想ディスク
イメージ(VDI)をほかのストレージリポジトリに移動することができます。XenCenter を使用する
と、仮想マシンおよびその VDI を、同一または異なるストレージリポジトリにコピーできます。個々
の VDI をコピーする場合は、XenCenter と xe CLI を併用します。
xe CLI リファレンスについては、A.4.27.25. 「vm-migrate」を参照してください。
5.7.5.1. 仮想マシンのすべての仮想ディスクイメージをほかのストレージリポジトリ
にコピーする
XenCenter の[VM のコピー]コマンドでは、選択した仮想マシンのすべての VDI を同一または異な
るストレージリポジトリ上にコピーできます。このとき、デフォルトでは、元の仮想マシンおよび
VDI は変更されません。仮想マシンをコピーではなく移動する場合は、
[仮想マシンの複製]ダイアロ
グボックスの[複製後に元の VM を削除する]チェックボックスをオンにします。
1. 仮想マシンをシャットダウンします。
2. XenCenter で仮想マシンを選択し、[VM]>[VM のコピー]を選択します。
3. コピー先のストレージリポジトリを選択します。
5.7.5.2. 個々の仮想ディスクイメージをほかのストレージリポジトリにコピーする
個々の VDI をストレージリポジトリ間でコピーするには、xe CLI と XenCenter を使用します。
99
1. 仮想マシンをシャットダウンします。
2. 次のコマンドを実行して、コピーする VDI の UUID を確認します。仮想マシンに DVD ドライブが
ある場合、その vdi-uuid は<not in database>で示され、無視できます。
xe vbd-list vm-uuid=<valid_vm_uuid>
注:
vbd-list コマンドにより、VBD UUID および VDI UUID が表示されます。ここで
は、VBD UUID ではなく VDI UUID を使用することに注意してください。
3. XenCenter で、仮想マシンの[ストレージ]タブを選択します。コピーする VDI を選択して、
[接
続解除]をクリックします。この操作は、vbd-destroy コマンドでも実行できます。
注:
vbd-destroy コマンドで VDI UUID を「接続解除」する場合は、その VBD の otherconfig:owner パラメータが true に設定されていないことを確認してください。true
に設定されている場合は、false を設定しないと、「接続解除」ではなく「破棄」さ
れてしまいます。VDI を「破棄」する場合は、vbd-destroy コマンドに otherconfig:owner=true を指定して実行することもできます。
4. 次の vdi-copy コマンドを実行して、仮想マシンの各 VDI を指定したストレージリポジトリにコピ
ーします。
xe vdi-copy uuid=<valid_vdi_uuid> sr-uuid=<valid_sr_uuid>
5. XenCenter で、仮想マシンの[ストレージ]タブを選択します。[接続]をクリックして、新しい
ストレージリポジトリの VDI を選択します。この操作は、vbd-create コマンドでも実行できます。
6. 元の VDI を削除するには、XenCenter で元のストレージリポジトリの[ストレージ]タブを選択
します。元の VDI は、一覧の[仮想マシン]列が空白になっています。その VDI を選択して、
[削
除]をクリックすると VDI が削除されます。
5.7.6. ローカルのファイバチャネルストレージリポジトリを共有ストレージリ
ポジトリに変換する
xe CLI および XenCenter の[ストレージ]>[修復]を使用して、ファイバチャネルストレージリ
ポジトリを共有ストレージリポジトリに変換します。
1. リソースプール内のすべてのホストを、XenServer 6.5 にアップグレードします。
2. すべてのホストで、ストレージリポジトリの LUN が適切にゾーン設定されていることを確認しま
す。各ホストで LUN が存在するかどうかを sr-probe コマンドで確認する方法については、
5.3.2. 「ストレージリポジトリをプローブする」を参照してください。
3. 次のコマンドを実行して、共有ストレージリポジトリに変換します。
xe sr-param-set shared=true uuid=<local_fc_sr>
4. 共有されたストレージリポジトリは、XenCenter のツリー表示でホストレベルからプールレベルに
移動します。このリポジトリには赤い感嘆符「!」が付き、プール内のすべてのホストに接続されて
いないことを示します。
5. ストレージリポジトリを選択し、[ストレージ]メニューの[ストレージリポジトリの修復]を選
択します。
6.[修復]をクリックすると、プール内のホストごとに PBD が作成され、プラグされます。
100
5.7.7. バッキングアレイ上での破棄操作によるブロックベースストレージの領
域の解放
領域の解放を使用すると、ストレージアレイによってシンプロビジョニングされた LUN 上で、未使用
のブロック(たとえば、ストレージリポジトリで削除された仮想ディスクイメージなど)を解放でき
ます。解放された領域は、アレイでの再利用が可能になります。
注:
この機能は、ストレージアレイのサブセットでのみ使用できます。現在のアレイが
この機能をサポートしているかどうか、および操作に特別な設定が必要かどうかを
判断するには、XenServer ハードウェア互換性一覧(HCL)およびストレージベン
ダー固有のドキュメントを参照してください。
XenCenter を使用して領域を解放するには
1.[インフラストラクチャ]ビューで、ストレージリポジトリに接続されているホストまたはリソー
スプールをクリックします。
2.[ストレージ]タブをクリックします。
3. 一覧でストレージリポジトリを選択して、[空き領域の解放]をクリックします。
4.[はい]をクリックして、操作を確定します。
5.[通知]、[イベント]の順にクリックして、操作の状態を表示します。
詳しくは、F1 キーを押して XenCenter のオンラインヘルプを参照してください。
注:
• これは、XenCenter の場合のみの操作です。
• この操作は、アレイ上でシンプロビジョニングされた LUN に基づいた、LVM ベ
ースのストレージリポジトリでのみ使用できます。
• ローカル SSD の場合も、領域を解放できます。
• この操作は、ファイルベースのストレージリポジトリ(NFS や Ext3 など)では
必要ありません。これらのストレージリポジトリでは、
[空き領域の解放]は使用
できません。
• 領域の解放は負荷の高い操作であり、ストレージアレイのパフォーマンスが低下
する場合があります。このため、領域の解放はアレイで必要なときにのみ行うよ
うにしてください。アレイ要求度の低いオフピーク時にこの操作を行うことをお
勧めします。
5.7.8. スナップショット削除時のディスク領域の自動解放
XenServer 6.5 では、スナップショットを削除するときに、LVM ベースのストレージリポジトリに割
り当てられていたすべてのディスク領域が自動的に解放されます。仮想マシンを再起動する必要はあ
りません。この機能は「オンライン結合(Online Coalescing)」と呼ばれます。
注:
オンライン結合は、LVM ベースのストレージリポジトリ(LVM、LVMoISCSI、およ
び LVMoHBA)のみに適用されます。EXT や NFS ストレージリポジトリには適用さ
れません。
オンライン結合が意図したとおりに実行されない場合があります。以下の状況で
は、オフライン結合ツールを使用することをお勧めします。
101
• 仮想マシンによる入出力スループットが大きい場合
• いつまでも領域が解放されない場合
注:
オフライン結合ツールを使用すると、仮想マシンの一時停止および再開によるダウ
ンタイムが発生します。
オフライン結合ツールを使用する前に、不要なスナップショットや複製をすべて削
除しておきます。これにより、より多くの領域が解放されます。すべての領域を解
放するには、すべてのスナップショットおよび複製を削除しておきます。
仮想マシンのすべてのディスクが、共有ストレージ上か、単一ホストのローカルス
トレージ上に格納されている必要があります。共有ストレージとローカルストレー
ジ上の複数のディスクを持つ仮想マシンでは、結合を実行できません。
5.7.8.1. オフライン結合ツールによるディスク領域の解放
注:
オンライン結合は、LVM ベースのストレージリポジトリ(LVM、LVMoISCSI、およ
び LVMoHBA)のみに適用されます。EXT や NFS ストレージリポジトリには適用さ
れません。
XenCenter で、隠しオブジェクトを表示([表示]メニューの[隠しオブジェクト])して、リソース
ペインで仮想マシンを選択します。[全般]タブに UUID が表示されます。
リソースペインで、リソースプールのマスタ(一覧の最初のホスト)を選択します。[全般]タブに
UUID が表示されます。スタンドアロンサーバー環境の場合は、仮想マシンのホストを選択します。
1. ホスト上でコンソールを開き、以下のコマンドを実行します。
xe host-call-plugin host-uuid=<host-UUID> \
plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=<VM-UUID>
たとえば、仮想マシンの UUID が 9bad4022-2c2d-dee6-abf5-1b6195b1dad5 でホストの UUID
が b8722062-de95-4d95-9baa-a5fe343898ea の場合は、以下のコマンドを実行します。
xe host-call-plugin host-uuid=b8722062-de95-4d95-9baa-a5fe343898ea \
plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=9bad4022-2c2d-dee6-abf5-1b6195b1dad5
2. このコマンドにより、仮想マシンが実行中の場合は一時停止され、ディスク領域が解放された後で
仮想マシンが再開されます。
注:
オフライン結合ツールを実行する前に、XenCenter または XenServer CLI コマン
ドを使用して、仮想マシンをシャットダウンまたは一時停止しておくことをお勧め
します。実行中の仮想マシンに対してこのツールを実行した場合、仮想マシンが一
時停止され、VDI 結合が行われた後で仮想マシンが再開されます。
結合する仮想ディスクイメージ(VDI)が共有ストレージ上にある場合は、プール
マスタ上でオフライン結合ツールを実行する必要があります。
VDI がローカルストレージ上にある場合は、そのストレージが接続されているサー
バー上でオフライン結合ツールを実行する必要があります。
5.7.9. ディスク入出力スケジューラの変更
通常、すべての種類の新規ストレージリポジトリに、デフォルトのディスクスケジューラ noop が適用
されます。noop スケジューラでは、同一デバイスにアクセスする複数の仮想マシンによる競合に対し
102
て、適切なパフォーマンスが提供されます。ディスク QoS(5.7.10. 「仮想ディスクの QoS 設定」を
参照)を適用するには、このデフォルト設定を変更して、cfq ディスクスケジューラをストレージリポ
ジトリに割り当てる必要があります。スケジューラの変更を有効にするには、PBD をアンプラグして
再プラグしてください。ディスクスケジューラを変更するには、次のコマンドを実行します。
xe sr-param-set other-config:scheduler=noop|cfq|anticipatory|deadline \
uuid=<valid_sr_uuid>
注:
EqualLogic、NetApp、および NFS ストレージには適用されません。
5.7.10. 仮想ディスクの QoS 設定
仮想ディスクの入出力優先度に関する QoS(Quality of Service)オプションを設定できます。ここ
では、xe CLI を使用して、既存の仮想ディスクに対してこの設定を行う方法について説明します。
複数のホストが同一 LUN にアクセスするような共有ストレージリポジトリの場合、各ホストから
LUN にアクセスする VBD に QoS オプションが適用されます。リソースプール内のホスト全体には
適用されません。
VBD に対する QoS パラメータを設定する前に、そのストレージリポジトリのディスクスケジューラ
が正しく設定されていることを確認してください。スケジューラの設定について詳しくは、5.7.9.
「ディスク入出力スケジューラの変更」を参照してください。QoS を有効にするストレージリポジト
リでは、スケジューラ用のパラメータを cfq に設定する必要があります。
注:
ストレージリポジトリのスケジューラを cfq に設定し、その変更を有効にするため
に PBD を再プラグすることを忘れないでください。
最初のパラメータは、qos_algorithm_type です。このパラメータは、仮想ディスクの QoS アルゴリズ
ムの種類を指定するもので、このバージョンので唯一サポートされる ionice を値として設定する必要
があります。
QoS パラメータ自体は、qos_algorithm_params パラメータに割り当てられた「キー=値」のペアを使用
して設定されます。仮想ディスクの場合、qos_algorithm_params に sched キーを指定し、そのキーの
値によっては class キーを指定します。
設定可能な qos_algorithm_params:sched の値は、以下のとおりです。
• sched=rt または sched=real-time を設定すると、QoS スケジューリングの優先度が「リアルタイム」
に設定されます。この場合は、class パラメーターに値を設定する必要があります。
• sched=idle を設定すると、QoS スケジューリングの優先度が「アイドル」に設定されます。この場
合は、class パラメーターに値を設定する必要はありません。
• sched=<anything>を設定すると、QoS スケジューリングの優先度が「最大限の努力」に設定されま
す。この場合は、class パラメーターに値を設定する必要があります。
設定可能な class パラメーターの値は、以下のとおりです。
• キーワード highest、high、normal、low、または lowest のいずれか。
• 0 から 7 までの整数。7 が最高で 0 が最低の優先度を示します。たとえば、優先度 5 の I/O 要求
は、優先度 2 の要求よりも優先されます。
これらのディスク QoS 設定を有効にするには、other-config:scheduler に cfq を設定し、そのストレージ
の PBD を再プラグします。
たとえば、次のコマンドを実行すると、仮想ディスクの VBD が使用するリアルタイム優先度が 5 に設
定されます。
103
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_type=ionice
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:sched=rt
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:class=5
xe sr-param-set uuid=<sr_uuid> other-config:scheduler=cfq
xe pbd-plug uuid=<pbd_uuid>
104
第 6 章 仮想マシンのメモリ設定
仮想マシンを作成するときに、特定のメモリ量を割り当てることができます。動的メモリ制御(DMC:
Dynamic Memory Control)機能を使用すると、仮想マシン間での動的なメモリ再割り当てが可能に
なり、XenServer 環境での物理メモリ使用を効率化できます。
XenCenter の[メモリ]タブには、メモリの使用状況がグラフで示されます。このタブについて詳し
くは、XenCenter ヘルプを参照してください。
動的メモリ制御機能には、以下の特長があります。
• 仮想マシンを再起動せずにメモリを追加したり削除したりできるため、ユーザーに中断のないサー
ビスを提供できます。
• ホスト上で追加の仮想マシンを起動できない状況でも、実行中の仮想マシンのメモリ割り当て量が
均等に削減されるため、仮想マシンを新たに起動できるようになります。
6.1. 動的メモリ制御(DMC)とは
XenServer の動的メモリ制御では、実行中の仮想マシンのメモリが自動的に調節されます。この機能
では、各仮想マシンに割り当てられたメモリ量を特定の範囲内で増減して、パフォーマンスを維持し
ながらサーバーあたりの仮想マシン密度を向上させることができます。
DMC が無効な場合、サーバー上に使用可能なメモリがないときに追加の仮想マシンを起動しようとす
ると、メモリ不足によるエラーが発生します。この問題を解決するには、既存の仮想マシンに割り当
てたメモリ量を減らして、各仮想マシンを再起動しなければなりません。DMC を有効にすると、サー
バー上に使用可能なメモリがない場合でも、実行中の仮想マシンのメモリ割り当て量が(管理者が設
定した範囲内で)減らされて、追加の仮想マシン用に解放されます。
6.1.1. 動的メモリ範囲
管理者は、各仮想マシンについて動的メモリ範囲を設定できます。これは、仮想マシンを再起動せず
に増減できるメモリ量の範囲を指します。管理者は、実行中の仮想マシンの動的メモリ範囲を調節で
きます。XenServer では、仮想マシンに割り当てられるメモリがこの動的メモリ範囲内で維持されま
す。このため、実行中の仮想マシンについてこの範囲を変更すると、その仮想マシンに割り当てられ
ているメモリ量がすぐに変更される場合があります(たとえば、動的メモリ範囲の最小値と最大値に
同じ値を設定すると、その仮想マシンに割り当てられるメモリ量が強制的にその値に変更されます)。
使用可能なメモリがないサーバー上で追加の仮想マシンの起動が必要になると、実行中のほかの仮想
マシンのメモリが解放されます。追加の仮想マシン用に必要なメモリは、実行中の各仮想マシンから、
指定されたメモリ範囲内で均等に再割り当てされます。
動的メモリ制御機能では、動的最小メモリ量と動的最大メモリ量を設定して、その仮想マシンの動的
メモリ範囲(DMR:Dynamic Memory Range)を作成します。
• 動的最小メモリ量:その仮想マシンに割り当てるメモリ量の最小値。
• 動的最大メモリ量:その仮想マシンに割り当てるメモリ量の最大値。
たとえば、動的最小メモリ量を 512MB、動的最大メモリ量を 1024MB に設定した場合、この仮想マ
シンの動的メモリ範囲は(DMR)は 512~1024MB になり、この範囲内で仮想マシンが動作します。
XenServer の DMC を有効にすると、各仮想マシンのメモリがこの DMR 内で常に確保されます。
6.1.2. 静的メモリ範囲
XenServer でサポートされるオペレーティングシステムの中には、メモリの動的な追加や削除を正し
く処理できないものがあります。このため、仮想マシンの起動時に最大メモリ量を割り当てて、ゲス
トオペレーティングシステムがページテーブルやほかのメモリ管理ストラクチャを用意できるように
する必要があります。XenServer でこれを行うには、静的メモリ範囲という概念を使用します。静的
105
メモリ範囲は、仮想マシンの実行中に増減できないメモリ範囲です。仮想マシンによっては、動的メ
モリ範囲が常に静的メモリ範囲内でなければならないなどの制約を受けます。静的最小メモリ量(静
的メモリ範囲の最小値)には、XenServer 上でそのオペレーティングシステムが動作するために必要
な最低限のメモリ量が設定されています。
注:
静的最小メモリ量にはそのオペレーティングシステムで必要な最低限のメモリ量が
設定されているため、この値を変更しないことをお勧めします。詳しくは、後述の
「サポートされるオペレーティングシステム」の表を参照してください。
静的最大メモリ量に動的最大メモリ量よりも大きな値を設定すると、仮想マシンに
より多くのメモリを割り当てなければならなくなったときに、その仮想マシンを再
起動しなくても割り当て量を増やすことができます。
6.1.3. 動的メモリ制御の動作
仮想マシンメモリの自動圧縮
• 動的メモリ制御が無効な場合、追加の仮想マシンを起動できない状態のホスト上で仮想マシンを新
たに起動しようとすると、メモリ不足エラーが発生し、起動に失敗します。
• 動的メモリ制御が有効な場合、このような状態のホストでメモリの解放が試行されます(実行中の
仮想マシンに割り当てられているメモリを動的メモリ範囲内で削減することで)。これにより、その
ホストで実行中のすべての仮想マシンが、動的最小メモリ量と動的最大メモリ量の範囲内で均等に
「圧縮」されます。
動的メモリ制御が有効なとき
• ホストで使用可能なメモリ量が十分な場合、実行中のすべての仮想マシンに動的最大メモリ量が割
り当てられます。
• ホストで使用可能なメモリ量が不十分な場合、実行中のすべての仮想マシンに動的最小メモリ量が
割り当てられます。
動的メモリ制御を設定するときは、十分なメモリが仮想マシンに割り当てられるようにしてください。
割り当てられたメモリが十分でないと、仮想マシンで以下の問題が発生する場合があります。
• 動的メモリ制御により割り当てられるメモリが十分でないと、仮想マシンの起動に時間がかかる場
合があります。同様に、仮想マシンに割り当てるメモリ量が少なすぎると、起動に時間がかかる場
合があります。
• 動的最小メモリ量の設定が低すぎると、仮想マシン起動時のパフォーマンスおよび安定性が低下す
る場合があります。
6.1.4. 動的メモリ制御のしくみ
動的メモリ制御では、以下の 2 つのモードのいずれかで仮想マシンが動作します。
1. ターゲットモード:仮想マシンの動的メモリ範囲を指定します。XenServer は、このターゲットに
合致するように仮想マシンのメモリ割り当てを調節します。メモリターゲットの設定は、特に仮想
サーバー環境や、仮想マシンに必要なメモリが分かっている場合に使用します。XenServer は、指
定されたターゲットに合致するように仮想マシンのメモリ割り当てを調節します。
2. 動的範囲モード:管理者は、仮想マシンの動的メモリ範囲を指定します。XenServer は、その範囲
内でターゲットを選択し、そのターゲットに合致するように仮想マシンのメモリ割り当てを調節し
ます。動的範囲の設定は、仮想デスクトップ環境や、実行する仮想マシンの数に応じて動的にメモ
リを再割り当てする場合に使用します。XenServer は、指定された範囲内でターゲットを選択し、
そのターゲットに合致するように仮想マシンのメモリ割り当てを調節します。
注:
106
これらの動作モードは、実行中の仮想マシンで必要に応じて切り替えることができ
ます。仮想マシンは、特定のメモリサイズを指定するとターゲットモードになり、
メモリ範囲を指定すると動的範囲モードになります。
6.1.5. 動的メモリ制御の制限事項
管理者は、すべてのゲストオペレーティングシステムに対してすべてのメモリ制御操作を使用できま
す。ただし、常に以下の条件を満たしている必要があります。
0 ≤ memory-static-min ≤ memory-dynamic-min ≤ memory-dynamic-max ≤memory-static-max
XenServer で仮想マシンのメモリプロパティを設定するときは、上記の条件を満たす任意の値を指定
できますが、検証チェックが行われます。この条件に加えて、特定のオペレーティングシステムに適
用される制限事項もあります。サポートされるメモリ範囲は、仮想マシン上で動作するオペレーティ
ングシステムにより異なります。XenServer では、これらの制限を超えた値を設定しても、警告は表
示されません。ただし、パフォーマンスおよび安定性の問題を避けるため、以下のメモリ制限を超え
ないように設定してください。サポートされるオペレーティングシステムごとの最小および最大のメ
モリ制限について詳しくは、『XenServer 仮想マシンユーザーガイド』を参照してください。
警告:
仮想マシンには、そのオペレーティングシステムで使用可能な物理メモリの上限を
超えるメモリを割り当てないでください。オペレーティングシステムがサポートす
るメモリ量の上限を超えると、その仮想マシンの動作が不安定になる場合がありま
す。
さらに、サポートされるすべてのオペレーティングシステムにおいて、動的最小メ
モリ量は静的最大メモリ量の 4 分の 1 以上に設定する必要があります。動的最小
メモリ量を下回るメモリを割り当てると、その仮想マシンの動作が不安定になる場
合があります。仮想マシンのサイズを慎重に測定して、動的最小メモリ量でもアプ
リケーションが正しく動作することを確認してください。
6.2. xe CLI コマンドを使用するには
6.2.1. 仮想マシンの静的メモリプロパティを表示する
1. 次のコマンドを実行して、仮想マシンの UUID を確認します。
xe vm-list
2. param-name=memory-static を指定して、次のコマンドを実行します。
xe vm-param-get uuid=<uuid> param-name=memory-static-{min,max}
たとえば、次のコマンドを実行すると、UUID が「ec77~」の仮想マシンに設定されている静的最
大メモリ量が表示されます。
xe vm-param-get uuid= \
ec77a893-bff2-aa5c-7ef2-9c3acf0f83c0 \
param-name=memory-static-max;
268435456
この仮想マシンに設定されている静的最大メモリ量は、268435456 バイト(256MB)です。
6.2.2. 仮想マシンの動的メモリプロパティを表示する
仮想マシンの動的メモリプロパティを表示するには、param-name=memory-dynamic を指定し
ます。
1. 次のコマンドを実行して、仮想マシンの UUID を確認します。
107
xe vm-list
2. param-name=memory-dynamic を指定して、次のコマンドを実行します。
xe vm-param-get uuid=<uuid> param-name=memory-dynamic-{min,max}
たとえば、次のコマンドを実行すると、UUID が「ec77~」の仮想マシンに設定されている動的最
大メモリ量が表示されます。
xe vm-param-get uuid= \
ec77a893-bff2-aa5c-7ef2-9c3acf0f83c0 \
param-name=memory-dynamic-max;
134217728
この仮想マシンに設定されている動的最大メモリ量は、134217728 バイト(128MB)です。
6.2.3. メモリプロパティを変更する
警告:
静的または動的メモリ量を設定する場合、各パラメータを正確な順序で指定する必
要があります。また、以下の条件を満たしている必要があります。
0 ≤ memory-static-min ≤ memory-dynamic-min ≤ memory-dynamic-max ≤ memory-staticmax
仮想マシンの静的メモリ範囲を変更するには、次のコマンドを実行します。
xe vm-memory-static-range-set uuid=<uuid> min=<value>max=<value>
仮想マシンの動的メモリ範囲を変更するには、次のコマンドを実行します。
xe vm-memory-dynamic-range-set \
uuid=<uuid> min=<value> \
max=<value>
メモリターゲットの設定は、特に仮想サーバー環境や、仮想マシンに必要なメモリが分かっている場
合に使用します。XenServer は、指定されたターゲットに合致するように仮想マシンのメモリ割り当
てを調節します。以下はその例です。
xe vm-target-set target=<value> vm=<vm-name>
仮想マシンのすべてのメモリ制限(静的および動的)を変更するには、次のコマンドを実行します。
xe vm-memory-limits-set \
uuid=<uuid> \
static-min=<value> \
dynamic-min=<value> \
dynamic-max=<value> static-max=<value>
注:
• 仮想マシンに特定サイズのメモリ量を割り当てるには、dynamic-min と
dynamic-max に同じ値を指定します。
• static-max を超える値を動的メモリに指定することはできません。
• 仮想マシンの静的最大メモリ量を変更するには、仮想マシンを一時停止またはシ
ャットダウンする必要があります。
6.2.4. 個々のメモリプロパティを変更する
警告:
108
静的最小メモリ量にはそのオペレーティングシステムで必要な最低限のメモリ量が
設定されているため、この値を変更しないことをお勧めします。詳しくは、後述の
「サポートされるオペレーティングシステム」の表を参照してください。
仮想マシンの動的メモリプロパティを変更する
1. 次のコマンドを実行して、仮想マシンの UUID を確認します。
xe vm-list
2. memory-dynamic-{min,max}=<value>を指定して、次のコマンドを実行します。
xe vm-param-set uuid=<uuid>memory-dynamic-{min,max}=<value>
たとえば、次のコマンドを実行すると、動的最大メモリ量が 128MB に変更されます。
xe vm-param-set uuid=ec77a893-bff2-aa5c-7ef2-9c3acf0f83c0 memory-dynamic-max=128MiB
6.3. アップグレードの問題
Citrix XenServer 5.5 からのアップグレードを行うと、すべての仮想マシンの動的最小メモリ量と動
的最大メモリ量に同じ値が設定されます。
109
第 7 章 XenServer のメモリ使用
XenServer ホストでのメモリ占有量を計算する場合、考慮すべき 2 つのコンポーネントがあります。
1 つは Xen ハイパーバイザー自身によって消費されるメモリで、もう 1 つはホストのコントロールド
メインによって消費されるメモリです。コントロールドメインは「Domain0」または「dom0」とも
呼ばれ、XenServer の管理ツールスタックを実行するセキュアな特権 Linux 仮想マシンです。コント
ロールドメインは、XenServer の管理機能を提供するほか、ユーザーが作成した仮想マシンに物理デ
バイスへのアクセスを提供するドライバスタックも実行します。
7.1. コントロールドメインのメモリ
コントロールドメインに割り当てられるメモリの量は、物理ホストの物理メモリの量に基づいて自動
的に調整されます。
ホストのメモリ(GB)
コントロールドメインに割り当てられるメモリ
(MB)
20 - 24
752
24 - 48
2048
48 - 64
3072
64 - 1024
4096
注:
XenCenter の[Xen]フィールドには、上記のメモリ量よりも大きな値が表示され
る場合があります。これは、コントロールドメイン、Xen ハイパーバイザー、およ
びクラッシュカーネルにより使用されているメモリ量が含まれるためです。多くの
メモリを搭載したホスト上では、ハイパーバイザーにより使用されるメモリ量も大
きくなります。
7.1.1. コントロールドメインに割り当てられるメモリ量の変更
ホストの物理メモリ量が少ない場合(16GB 以下など)、コントロールドメインに割り当てられるメモ
リ量が 752MB 未満になるように設定できます。ただし、コントロールドメインに 400MB 未満のメ
モリを割り当てることは推奨されません。
1. XenServer ホストのローカルシェルを開き、root でログインします。
2. 以下のコマンドを実行します。
/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=<nn>M,max:<nn>M
<nn>に、コントロールドメインに割り当てるメモリ量をメガバイト(MB)単位で指定します。
3. XenCenter またはコンソールで reboot コマンドを使用して、XenServer ホストを再起動します。
ホストが再起動したら、コンソールで free コマンドを実行してメモリ設定を確認します。
警告:
コントロールドメインに割り当てるメモリ量を増やすと、仮想マシンで使用できる
メモリが減少します。
コントロールドメインに上記の値以上のメモリを割り当てることもできます。ただ
し、これを行う場合は Citrix のサポートの指示に従ってください。
110
7.1.2. 仮想マシンで使用できるメモリの確認
仮想マシンに割り当て可能なホストメモリを計算するには、ホストの memory-free フィールドの値を確
認して、vm-compute-maximum-memory コマンドを使用して VM に割り当て可能な実際の空
きメモリ量を取得します。これを行うには、次のコマンドを実行します。
xe host-list uuid=<host_uuid> params=memory-free
xe vm-compute-maximum-memory vm=<vm_name> total=<host_memory_free_value>
111
第 8 章 障害回復とバックアップ
XenServer の障害回復(DR:Disaster Recovery)機能は、壊滅的なハードウェア障害などによりそ
のプールやサイト全体が使用不能になった場合に、仮想マシンや vApp を回復できるように設計され
ています。単一サーバーの障害からの回復については、3.9. 「高可用性」を参照してください。
注:
この機能を使用するには、ルートユーザーまたはプールオペレータ以上の権限が必
要です。
8.1. XenServer の障害回復のしくみ
XenServer の障害回復では、仮想マシンや vApp を回復するために必要なすべての情報がストレージ
リポジトリ(SR)上に格納され、その情報が実務環境(プライマリサイト)からバックアップ環境
(セカンダリサイト)に複製されます。プライマリサイトのリソースプールが停止すると、複製された
ストレージから仮想マシンや vApp が復元され、セカンダリサイト(障害回復サイト)上に再作成さ
れます。
障害が発生したら、XenCenter の障害回復ウィザードを使用して、複製ストレージから障害回復サイ
トにインポートする仮想マシンや vApp を選択します。障害回復サイトのプールで仮想マシンが起動
すると、そのプールのメタデータも複製されたストレージ上に格納されます。プライマリサイトがオ
ンライン状態に復帰すると、セカンダリサイトで再作成された仮想マシンや vApp が、このメタデー
タに基づいてプライマリサイトに復元されます。障害回復ウィザードにより同一仮想マシンについて
の複数の情報が検出された場合(プライマリサイトのストレージ、障害回復サイトのストレージ、お
よびインポート先のプールに同一仮想マシンのメタデータが見つかった場合など)は、最新の情報の
みが使用されます。
障害回復機能は、XenCenter および xe CLI で使用できます。コマンドについて詳しくは、A.4.6.
「障害回復(DR)コマンド」を参照してください。
ヒント:
障害回復ウィザードでは、障害回復システムの設定を確認するために、フェイルオ
ーバーテストを実行することもできます。このテストでは、通常のフェイルオーバ
ーと同じ処理が実行されますが、障害回復サイトにエクスポートされた仮想マシン
や vApp は一時停止状態で起動します。さらに、テスト完了時にこれらの仮想マシ
ンや vApp、および再作成されたストレージが障害回復サイトから消去されます。
XenServer の仮想マシンは、以下の 2 つのコンポーネントで構成されています。
• 仮想マシンにより使用される仮想ディスク。その仮想マシンのリソースプールで構成されているス
トレージリポジトリ上に格納されます。
• 仮想マシン環境の内容が記述されたメタデータ。使用不能になったり破損したりした仮想マシンを
再作成するために必要な情報は、このメタデータのみです。通常、仮想マシンの作成時にメタデー
タ設定データが書き込まれ、仮想マシン構成を変更すると更新されます。プール内の仮想マシンで
は、メタデータのコピーがそのプール内のすべてのサーバー上に格納されます。
障害回復機能が有効な場合、プール内のすべての仮想マシンや vApp についての設定情報であるプー
ルメタデータにより、仮想マシンがセカンダリサイト(障害回復サイト)上に再作成されます。各仮
想マシンのメタデータには、仮想マシンの名前と説明、固有の識別子である UUID(Universally
Unique Identifier)、メモリと仮想 CPU の構成、およびネットワークとストレージの情報が記録され
ます。また、高可用性または障害回復環境での仮想マシンの起動オプション(起動順序、起動間隔、
および高可用性再起動優先度)も仮想マシンのメタデータに記録されます。たとえば、障害発生時に
仮想マシンを DR サイトのプールに再作成する場合、vApp に含まれる各仮想マシンはメタデータに
記録されている順序および間隔で起動します。
112
8.2. 障害回復のインフラストラクチャ要件
XenServer の障害回復機能を使用するには、プライマリサイトおよびセカンダリサイトで特定のイン
フラストラクチャ要件を満たす必要があります。
• プールメタデータおよび仮想マシンの仮想ディスクで使用されるストレージが、実務環境(プライ
マリサイト)からバックアップ環境(セカンダリサイト)に複製されている。ストレージの複製(ミ
ラー化など)は、使用するストレージソリューションにより行われ、その方法はデバイスによって
異なります。
• 障害回復サイトのプールで再作成された仮想マシンおよび vApp が起動した後で、障害回復プール
のメタデータと仮想ディスクを格納するストレージリポジトリが複製されている。これにより、プ
ライマリサイトがオンライン状態になったときに、これらの仮想マシンおよび vApp がプライマリ
サイトに復元(フェイルバック)されます。
• 障害回復サイトのハードウェアインフラストラクチャは、プライマリサイトのものと同一である必
要はありません。ただし、XenServer のバージョンおよびパッチレベルが一致しており、プライマ
リサイトすべての仮想マシンの再作成および実行に必要なリソースが障害回復プールに設定されて
いる必要があります。
警告:
障害回復ウィザードでは、ストレージアレイの機能を制御することはできません。
障害回復機能を使用する場合は、メタデータのストレージが 2 つのサイト間で複製
されるように設定しておく必要があります。一部のストレージアレイには、ストレ
ージを自動的に複製するためのミラー化機能が用意されています。このような機能
を使用する場合は、仮想マシンが障害回復サイト上で再起動する前に、ミラー化機
能を無効にしておく必要があります。
113
8.3. 障害回復についての注意事項
障害回復機能を有効にする前に、以下の点について確認してください。
8.3.1. 障害発生前の手順
障害が発生する前に、以下の手順を行います。
• 仮想マシンおよび vApp を設定する。
• 仮想マシンおよび vApp とストレージリポジトリ、およびストレージリポジトリと LUN との対応を
確認する。特に、name_label フィールドと name_description フィールドにこれらの対応を示す内容を
使用すると便利です。仮想マシンや vApp とストレージリポジトリの対応、およびストレージリポ
ジトリと LUN の対応を表すストレージリポジトリ名を使用すると、複製ストレージからの仮想マシ
ンや vApp の回復がわかりやすくなります。
• LUN の複製を設定する。
• これらの LUN 上の 1 つまたは複数のストレージリポジトリへのプールメタデータの複製を有効に
する。
8.3.2. 障害発生後の手順
障害が発生した後では、以下の手順を行います。
• 障害回復サイトから共有ストレージへの読み取り/書き込みアクセスが正しく行われるように、既存
のミラー化機能を無効にする。
• 仮想マシンデータの回復元の LUN がほかのプールに接続されていないことを確認する。ほかのプ
ールに接続されていると、データが破損することがあります。
• 障害回復サイトを障害から保護する場合は、障害回復サイトの 1 つまたは複数のストレージリポジ
トリにプールメタデータを複製する。
8.3.3. 回復後の手順
仮想マシンが正しく回復された後では、以下の手順を行います。
• ミラー化されたストレージを再同期します。
• 障害回復サイトで、プライマリサイトにフェイルバックする仮想マシンや vApp を正しくシャット
ダウンする。
• プライマリサイトで、フェイルオーバー時と同じ手順に従って、仮想マシンや vApp をプライマリ
サイトにフェイルバックする。
• プライマリサイトを再び保護する場合は、複製 LUN 上の 1 つまたは複数のストレージリポジトリ
へのプールメタデータの複製を有効にする。
8.4. XenCenter での障害回復の有効化
ここでは、XenCenter を使用して障害回復を有効にする方法について説明します。XenCenter の[障
害回復の設定]ダイアログボックスを使用して、プール内のすべての仮想マシンや vApp についての
設定情報であるプールメタデータの格納先ストレージリポジトリを指定します。このメタデータは、
管理者がプールの仮想マシンや vApp の設定を変更するたびに更新されます。
注:
障害回復を有効にできるのは、ストレージとして HBA 上の LVM または iSCSI 上の
LVM を使用する場合のみです。これらのストレージでは、プールの回復情報を保持
する新規 LUN 用にいくらかの容量が必要になります。
以下の手順に従います。
114
1. プライマリサイトでフェイルオーバー対象のリソースプールを選択します。[プール]メニューか
ら[障害回復]、[設定]の順に選択します。
2. プールメタデータの格納先として、最大で 8 つのストレージリポジトリを選択できます。これらの
ストレージでは、プールの回復情報を保持する新規 LUN 用にいくらかの容量が必要になります。
注:
プール内のすべての仮想マシンの上方が格納されます。仮想マシンを個別に選択す
る必要はありません。
3.[OK]をクリックします。これでプールの障害回復が有効になりました。
8.5. 障害発生時の仮想マシンと vApp の回復(フェイルオーバー)
ここでは、障害発生時に仮想マシンや vApp をセカンダリ(障害回復)サイトにフェイルオーバーす
る方法について説明します。
1. XenCenter で、セカンダリサイトのリソースプールを選択し、
[プール]メニューから[障害回復]、
[障害回復ウィザード]の順に選択します。
このウィザードでは、実行する操作として[フェイルオーバー]、[フェイルバック]、または[フ
ェイルオーバーテスト]を選択できます。仮想マシンや vApp をセカンダリサイトにフェイルオー
バーするには、[フェイルオーバー]をクリックして[次へ]をクリックします。
警告:
ファイバチャネル共有ストレージで LUN ミラー化によるセカンダリサイトへのデ
ータ複製を行っている場合は、回復を実行する前にミラー化を無効にする必要があ
ります。これにより、セカンダリサイトからの読み取りおよび書き込みアクセスが
可能になります。
2. 回復対象の仮想マシンや vApp のプールメタデータを格納しているストレージリポジトリを選択
します。
デフォルトでは、このウィザードの一覧にプール内で接続されているすべてのストレージリポジト
リが表示されます。ほかのストレージリポジトリを検出するには、
[ストレージ リポジトリの検出]
をクリックして、目的のストレージの種類を選択します。
• ハードウェア HBA ストレージリポジトリを検出するには、[ハードウェア HBA SR の検出]を
選択します。
• ソフトウェア iSCSI ストレージリポジトリを検出するには、
[ソフトウェア iSCSI SR の検出]
を選択して、ターゲットホスト、IQN、および LUN の情報を指定します。
ストレージリポジトリを選択したら、[次へ]をクリックして次のページに進みます。
3. フェイルオーバーする仮想マシンや vApp を選択して、[回復後の電源状態]で適切なオプション
を選択します。これらのオプションでは、フェイルオーバーした仮想マシンや vApp を自動的に起
動するかどうかを指定します。
[次へ]をクリックして次のページに進み、事前チェックを開始します。
4. このウィザードでは、対象の仮想マシンや vApp が正しくセカンダリサイトにフェイルオーバーさ
れるように、事前にいくつかのチェックが実行されます。たとえば、選択した仮想マシンや vApp
に必要なストレージが使用可能かどうかがチェックされます。この時点でストレージが見つから
ない場合は、このページの[SR の接続]をクリックして適切なストレージリポジトリを接続でき
ます。
事前チェックで見つかったすべての問題を解決したら、[フェイルオーバー]をクリックします。
フェイルオーバー処理が開始されます。
5. 進行状況のページに、各仮想マシンや vApp についてフェイルバックに成功したかどうかが表示さ
れます。選択した仮想マシンや vApp の数によっては、フェイルオーバー処理に時間がかかること
115
があります。この処理では、仮想マシンや vApp のメタデータが複製ストレージからエクスポート
され、それらの仮想マシンや vApp がセカンダリサイトのプールで再作成された後、仮想ディスク
を格納しているストレージリポジトリが仮想マシンに接続され、最後に(指定されている場合は)
再作成された仮想マシンが起動します。
6. フェイルオーバーが完了したら、[次へ]をクリックして結果レポートを表示します。結果レポー
トのページで[完了]をクリックして、ウィザードを終了します。
プライマリサイトが障害から復帰した後、仮想マシンをプライマリサイトに復元するには、再度障害
回復ウィザードを使用して[フェイルバック]オプションを選択します。
8.6. プライマリサイト復帰後の仮想マシンと vApp の復元(フェイルバ
ック)
ここでは、プライマリサイト(実務環境)が障害から復帰した後で、仮想マシンや vApp を複製スト
レージからプライマリサイトに復元(フェイルバック)する方法について説明します。仮想マシンや
vApp をプライマリサイトにフェイルバックするには、障害回復ウィザードを使用します。
1. XenCenter で、セカンダリサイトのリソースプールを選択し、
[プール]メニューから[障害回復]、
[障害回復ウィザード]の順に選択します。
このウィザードでは、実行する操作として[フェイルオーバー]、[フェイルバック]、または[フ
ェイルオーバーテスト]を選択できます。仮想マシンや vApp をプライマリサイトにフェイルバッ
クするには、[フェイルバック]をクリックして[次へ]をクリックします。
警告:
ファイバチャネル共有ストレージで LUN ミラー化によるプライマリサイトへのデ
ータ複製を行っている場合は、復元を実行する前にミラー化を無効にする必要があ
ります。これにより、プライマリサイトからの読み取りおよび書き込みアクセスが
可能になります。
2. 回復対象の仮想マシンや vApp のプールメタデータを格納しているストレージリポジトリを選択
します。
デフォルトでは、このウィザードの一覧にプール内で接続されているすべてのストレージリポジト
リが表示されます。ほかのストレージリポジトリを検出するには、
[ストレージ リポジトリの検出]
をクリックして、目的のストレージの種類を選択します。
• ハードウェア HBA ストレージリポジトリを検出するには、[ハードウェア HBA SR の検出]を
選択します。
• ソフトウェア iSCSI ストレージリポジトリを検出するには、[ソフトウェア iSCSI SR の検出]
を選択して、ターゲットホスト、IQN、および LUN の情報を指定します。
ストレージリポジトリを選択したら、[次へ]をクリックして次のページに進みます。
3. フェイルバックする仮想マシンや vApp を選択して、[回復後の電源状態]で適切なオプションを
選択します。これらのオプションでは、フェイルバックした仮想マシンや vApp を自動的に起動す
るかどうかを指定します。
[次へ]をクリックして次のページに進み、事前チェックを開始します。
4. このウィザードでは、対象の仮想マシンや vApp が正しくプライマリサイトにフェイルバックされ
るように、事前にいくつかのチェックが実行されます。たとえば、選択した仮想マシンや vApp に
必要なストレージが使用可能かどうかがチェックされます。この時点でストレージが見つからな
い場合は、このページの[SR の接続]をクリックして適切なストレージリポジトリを接続できま
す。
事前チェックで見つかったすべての問題を解決したら、[フェイルバック]をクリックします。フ
ェイルバック処理が開始されます。
116
5. 進行状況のページに、各仮想マシンや vApp についてフェイルバックに成功したかどうかが表示さ
れます。選択した仮想マシンや vApp の数によっては、フェイルバック処理に時間がかかることが
あります。この処理では、仮想マシンや vApp のメタデータが複製ストレージからエクスポートさ
れ、それらの仮想マシンや vApp がセカンダリサイトのプールで再作成された後、仮想ディスクを
格納しているストレージリポジトリが仮想マシンに接続され、最後に(指定されている場合は)再
作成された仮想マシンが起動します。
6. フェイルバックが完了したら、[次へ]をクリックして結果レポートを表示します。結果レポート
のページで[完了]をクリックして、ウィザードを終了します。
8.7. フェイルオーバーテスト
フェイルオーバーテストは、障害回復を計画するときに重要な機能です。障害回復ウィザードでは、
障害回復システムの設定を確認するために、フェイルオーバーテストを実行できます。このテストで
は、通常のフェイルオーバーと同じ処理が実行されますが、障害回復サイトにエクスポートされた仮
想マシンや vApp は一時停止状態で起動します。テストが完了すると、これらの仮想マシンや vApp、
および再作成されたストレージが障害回復サイトから自動的に消去されます。障害回復の初回設定
時、および障害回復が有効なプールの構成を大幅に変更したときに、フェイルオーバーテストを実行
して障害回復が正しく機能することを確認することをお勧めします。
仮想マシンや vApp のフェイルオーバーテストを実行するには
1.
XenCenter で、セカンダリサイトのリソースプールを選択し、[プール]メニューから[障害回
復]、[障害回復ウィザード]の順に選択します。
2.
実行する操作として[フェイルオーバーテスト]をクリックし、[次へ]をクリックします。
注:
ファイバチャネル共有ストレージで LUN ミラー化によるセカンダリサイトへのデ
ータ複製を行っている場合は、回復を実行する前にミラー化を無効にする必要があ
ります。これにより、セカンダリサイトからの読み取りおよび書き込みアクセスが
可能になります。
3.
回復対象の仮想マシンや vApp のプールメタデータを格納しているストレージリポジトリを選択
します。
デフォルトでは、このウィザードの一覧にプール内で接続されているすべてのストレージリポジ
トリが表示されます。ほかのストレージリポジトリを検出するには、
[ストレージ リポジトリの
検出]をクリックして、目的のストレージの種類を選択します。
• ハードウェア HBA ストレージリポジトリを検出するには、
[ハードウェア HBA SR の検出]
を選択します。
• ソフトウェア iSCSI ストレージリポジトリを検出するには、
[ソフトウェア iSCSI SR の検出]
を選択して、ターゲットホスト、IQN、および LUN の情報を指定します。
ストレージリポジトリを選択したら、[次へ]をクリックして次のページに進みます。
4.
フェイルオーバーする仮想マシンや vApp を選択し、[次へ]をクリックして次のページに進み、
事前チェックを開始します。
5.
フェイルオーバーテストを実行する前に、対象の仮想マシンや vApp が正しくセカンダリサイト
にフェイルオーバーされるように、事前にいくつかのチェックが実行されます。たとえば、選択
した仮想マシンや vApp に必要なストレージが使用可能かどうかがチェックされます。
• ストレージが使用可能かどうかのチェック:必要なストレージが見つからない場合は、このペ
ージの[SR の接続]をクリックして適切なストレージリポジトリを接続できます。
• 障害回復サイトのプールで高可用性が無効になっているかどうかのチェック:プライマリサイ
トと障害回復サイトの両方のプールで同じ仮想マシンが実行されないように、セカンダリサイ
トのプールで高可用性機能が無効になっている必要があります。これにより、再作成された仮
想マシンや vApp が自動的に起動することを避けることができます。セカンダリサイトのプー
117
ルの高可用性を無効にするには、このページの[高可用性の無効化]をクリックします(ここ
で無効にした高可用性機能は、フェイルオーバーテストの完了時に自動的に有効になります)。
事前チェックで見つかったすべての問題を解決したら、[フェイルオーバー]をクリックしま
す。フェイルオーバーテストが開始されます。
6.
進行状況のページに、各仮想マシンや vApp についてフェイルバックに成功したかどうかが表示
されます。選択した仮想マシンや vApp の数によっては、フェイルオーバー処理に時間がかかる
ことがあります。この処理では、仮想マシンや vApp のメタデータが複製ストレージから回復さ
れ、それらの仮想マシンや vApp がセカンダリサイトのプールで再作成された後、仮想ディスク
を格納しているストレージリポジトリが仮想マシンに接続されます。
フェイルオーバーテストでは、セカンダリサイトにフェイルオーバーされた仮想マシンは実行さ
れず、一時停止状態になります。
7.
フェイルオーバーテストに成功したら、
[次へ]をクリックします。これにより、障害回復サイト
がクリーンアップされます。
• フェイルオーバーにより再作成された仮想マシンや vApp が、ここで削除されます。
• フェイルオーバーにより接続されたストレージが、ここで接続解除されます。
• フェイルオーバーテストの事前チェック時にセカンダリサイトのプールの高可用性を無効にし
た場合は、ここで自動的に有効になります。
障害回復サイトのクリーンアップ処理の進行状況がウィザードに表示されます。
8. [完了]をクリックしてウィザードを終了します。
8.8. vApp
vApp は、関連する複数の仮想マシンを単一の管理対象として論理的にグループ化したものです。
vApp の起動時に、その vApp に含まれる各仮想マシンが特定の順序に基づいて起動します。このた
め、ほかの仮想マシンに依存する仮想マシンが常に後から起動するように設定できます。つまり、ソ
フトウェアのアップデート時など、システム全体の再起動が必要な場合に、管理者が依存関係を考慮
しながら順番に仮想マシンを起動する必要はありません。vApp に含まれる仮想マシンは同一ホスト
上で動作する必要はなく、通常の規則に従ってリソースプール内で移行されます。XenServer の障害
回復機能を使用する場合は、同一ストレージリポジトリ上の仮想マシンや、同一 SLA(Service Level
Agreement:サービス品質保証契約)の仮想マシンを vApp としてグループ化すると便利です。
vApp の作成
複数の仮想マシンを vApp としてグループ化するには、以下の手順に従います。
1.
リソースペインでプールを選択して、
[プール]メニューの[vApp の管理]を選択します。
[vApp
の管理]ダイアログボックスが開きます。
2.
新しい vApp の名前と、任意で説明を入力し、[次へ]をクリックします。
vApp の内容を示す名前を指定すると便利です。複数の vApp に同じ名前を使用することも可能
ですが、重複しないわかりやすい名前を指定することをお勧めします。また、スペースを含む名
前を引用符で囲む必要はありません。
3.
新しい vApp に追加する仮想マシンを選択して、[次へ]をクリックします。
[検索]ボックスを使用して、名前に特定の文字列が含まれる仮想マシンだけを一覧に表示するこ
ともできます。
4.
vApp に追加した仮想マシンの起動シーケンスを指定して、[次へ]をクリックします。
118
5.
値
説明
起動順序
vApp に追加した仮想マシンの起動順序を指定します。起動順序と
して 0 を指定すると、その仮想マシンが最初に起動します。次に 1
を指定した仮想マシンが起動し、2、3 と続きます。
次の VM 起動までの間
隔
起動順序の値でグループ化される仮想マシンの起動間隔を指定しま
す。たとえば、15 秒を設定した場合、起動順序 0 の仮想マシンが起
動した後、15 秒後に起動順序 1 の仮想マシンが起動します。
ウィザードの最後のページで vApp の設定内容を確認できます。前のページに戻って設定を変更
するには[前へ]をクリックします。
[完了]をクリックすると、vApp が作成され、ウィザード
が閉じます。
注:
同一リソースプール内の異なるホスト上の仮想マシンをグループ化して vApp を作
成することもできますが、異なるプールの仮想マシンで vApp を作成することはで
きません。
8.8.1. XenCenter の[vApp の管理]ダイアログボックスの使用
XenCenter の[vApp の管理]ダイアログボックスでは、リソースプール内で定義されている vApp
を表示して、それらを変更、起動、停止、およびエクスポートしたり、新しい vApp を作成したりで
きます。一覧で vApp を選択すると、その vApp に含まれているすべての仮想マシンがダイアログボ
ックス右側に表示されます。詳しくは、XenCenter のオンラインヘルプを参照してください。オンラ
インヘルプを開くには、F1 キーを押すか、[?]ボタンをクリックします。
8.9. XenServer ホストと仮想マシンのバックアップと復元
XenServer ホストのインストール後の状態を変更しないで、可能な限りそのまま運用することをお勧
めします。XenServer ホストは通常のサーバーとは異なるため、追加のパッケージをインストールし
たり、追加のサービスを起動したりしないでください。XenServer ホストの状態を元に戻すには、イ
ンストールメディアから XenServer を再インストールします。複数の XenServer ホストがある場合
は、PXE ブートサーバーと、適切な回答ファイルを設定することが最善の方法です(『XenServer イ
ンストールガイド』を参照)。
仮想マシンについては、標準的な物理サーバーに対してそうするように、仮想マシンにバックアップ
エージェントをインストールします。Windows 仮想マシンでは、CA 社の BrightStor ARCserve
Backup、および Symantec 社の NetBackup と Backup Exec を使ったバックアップが検証されてい
ます。
動作検証済みのバックアップツール、ベストプラクティス、一般的なバックアップについて詳しくは、
Citrix 社の Web サイトを参照してください。
Citrix では、潜在的なハードウェアやソフトウェアの障害に備えて、ここで説明する複数のバックア
ップ手順を頻繁に行うことをお勧めします。
プールメタデータをバックアップするには
1.
次のコマンドを実行します。
xe pool-dump-database file-name=<backup>
2.
次のコマンドを実行します。
xe pool-restore-database file-name=<backup> dry-run=true
このコマンドでは、バックアップに必要な、適切な名前を持つ NIC が適切な数だけホストにイン
ストールされているかどうかがチェックされます。
119
ホスト設定およびソフトウェアをバックアップするには
•
次のコマンドを実行します。
xe host-backup host=<host> file-name=<hostbackup>
注:
• コントロールドメイン(ドメイン 0)にバックアップを作成しないでください。
• この手順では、サイズの大きなバックアップファイルが作成される場合がありま
す。
• 復元処理を完了するために、元のインストール CD から起動する必要があります。
• この手順で作成したバックアップファイルは、作成元のホストの復元にのみ使用
できます。
仮想マシンをバックアップするには
1.
バックアップ対象の仮想マシンがオフラインであることを確認します。
2.
次のコマンドを実行します。
xe vm-export vm=<vm_uuid> filename=<backup>
注:
この手順により、仮想マシン上のすべてのデータも一緒にバックアップされます。
仮想マシンをインポートするときは、バックアップデータ用に使用するストレージ
メカニズムを指定できます。
警告:
この手順ではすべての仮想マシンデータがバックアップされるため、完了するまで
に時間がかかる場合があります。
仮想マシンメタデータのみをバックアップするには
•
次のコマンドを実行します。
xe vm-export vm=<vm_uuid> filename=<backup> metadata=true
8.9.1. 仮想マシンメタデータのバックアップ
ストレージやネットワークなどの関連リソースや仮想マシンに関するメタデータは、各 XenServer ホ
スト上のデータベースに格納されます。ストレージリポジトリとこのデータベースにより、プール内
で使用可能なすべての仮想マシンの完全な情報が提供されます。このため、物理ハードウェアの障害
やそのほかの災害シナリオから復旧できるように、このデータベースのバックアップ方法を理解して
おくことは重要です。
ここでは、最初に単一ホスト環境のメタデータのバックアップ方法を説明し、次に複雑なプール構成
のバックアップ方法を説明します。
8.9.1.1. 単一ホスト環境でのバックアップ
プールデータベースをバックアップするには、CLI を使用します。一貫したプールメタデータバック
アップファイルを取得するには、XenServer ホスト上で pool-dump-database を実行し、その結
果ファイルをアーカイブします。バックアップファイルには、プールに関する機密性の高い認証情報
が含まれます。このため、安全な方法で保管してください。
プールメタデータを復元するには、最新のダンプファイルに対して xe pool-restore-database コ
マンドを実行します。XenServer ホストが完全に動作不能になった場合は、再度新規インストールを
行い、その後でその XenServer ホストに対して pool-restore-database コマンドを実行します。
120
プールデータベースの復元後、一部の仮想マシンが「一時停止」状態として認識される場合がありま
す。その一時停止状態のメモリが格納されている場所(suspend-VDI-uuid フィールドで定義される)が
ローカルのストレージリポジトリである場合、ホストの再インストールにより仮想マシンが使用不可
になります。このような仮想マシンを起動できるように「停止」状態にリセットするには、xe vmshutdown vm=vm_name -force コマンドまたは xe vm-reset-powerstate
vm=<vm_name> -force コマンドを使用します。
警告:
この方法で復元された XenServer ホストでは、元の UUID が保持されます。このた
め、元の XenServer ホストが動作しているときに、別の物理マシンにそのホストを
復元すると、UUID の競合が発生します。この競合による顕著な影響として、復元
した XenServer ホストに XenCenter で接続できなくなります。物理ホストを複製
する目的でプールメタデータのバックアップを使用することは推奨されません。物
理ホストを複製するには、自動インストールの機能を使用してください
(『XenServer インストールガイド』を参照)。
8.9.1.2. プール環境でのバックアップ
リソースプール環境では、プールマスタがプライマリのデータベースを提供し、このデータベースが
プール内のすべてのメンバホストによって同期され、ミラー化されます。これにより、プールに冗長
性が提供されます。プール内のすべてのホストがプールデータベースの正確なコピーを保持している
ため、任意のメンバがプールマスタとして動作することができます。メンバホストをプールマスタと
して動作させる方法については、『XenServer 管理者ガイド』を参照してください。
たとえば、仮想マシンデータを格納する共有ストレージを複数サイトにバックアップし、プールメタ
データを格納するローカルサーバーストレージをバックアップしない場合など、このレベルの冗長性
では不十分です。共有ストレージを持つプールを完全に作成し直すには、最初にプールマスタ上の
pool-dump-database ファイルのバックアップを行い、このファイルをアーカイブしておきます。
このバックアップを新しい一連のホストに復元するには
1.
インストールメディアまたは PXE ブートを使用して、XenServer の新規インストールを行いま
す。
2.
新しいプールマスタとして動作するホストで、xe pool-restore-database を実行します。
3.
新しいプールマスタで、xe host-forget コマンドを実行し、古いメンバホストを消去します。
4.
メンバホストで xe pool-join コマンドを実行し、それらのホストを新しいプールに追加します。
8.9.2. XenServer ホストのバックアップ
ここでは、XenServer ホストのコントロールドメインのバックアップおよび復元の手順について説明
します。以下の手順では、仮想マシンを格納するストレージリポジトリはバックアップしません。
Xen および XenServer エージェントを実行するコントロールドメイン(Dom0)のみをバックアップ
します。
注:
コントロールドメインは、ほかのパッケージでカスタマイズしないで、インストー
ル後の状態でそのまま運用します。このため、復旧方法として、XenServer メディ
アから新規インストールを簡単に実行できるように、PXE ブート環境を設定してお
くことをお勧めします。通常は、プールメタデータをバックアップし、コントロー
ルドメイン自体をバックアップする必要はありません(8.9.1. 「仮想マシンメタデ
ータのバックアップ」を参照)。ここで説明するバックアップ方法は、プールメタデ
ータのバックアップを補完するものです。
さらに、xe コマンドの host-backup と host-restore を使用することもできます。xe hostbackup コマンドでは、アクティブパーティションを指定ファイルにアーカイブできます。xe host121
restore コマンドでは、xe host-backup コマンドで作成したアーカイブを、ホストの非アクティブ
パーティションに抽出します。このパーティションをアクティブにするには、インストール CD から
起動して、バックアップを復元するオプションを選択します。
上記の手順を実行してホストを再起動したら、仮想マシンメタデータが一貫した状態に復元されてい
ることを確認します。これを行うには、xe pool-restore-database file-name=/var/backup/pooldatabase-${DATE}を実行します。このファイルは、xe host-backup コマンドにより作成されたもの
です。このコマンドでは、実行中のファイルシステムをアーカイブする前に仮想マシンメタデータの
一貫した状態のスナップショットを作成する xe pool-dump-database が実行されます。
XenServer ホストをバックアップするには
•
十分な空きディスク容量があるリモートホスト上で、次のコマンドを実行します。
xe host-backup file-name=<filename> -h <hostname> -u root -pw <password>
これにより、コントロールドメインのファイルシステムの圧縮イメージが作成され、file-name 引
数で指定したファイルに保存されます。
実行中の XenServer ホストを復元するには
1.
特定のバックアップから実行中の XenServer ホストを復元するには、その XenServer ホストが
到達可能な状態で次のコマンドを実行します。
xe host-restore file-name=<filename> -h <hostname> -u root -pw <password>;
これにより、(filename で指定するファイルを格納するホストではなく)コマンドを実行した
XenServer ホストのハードディスクに、圧縮イメージが復元されます。この意味では、「復元」
という語は適していません。通常、復元とはバックアップした状態に完全に戻すことを指します。
この復元コマンドは、圧縮されたバックアップファイルを展開するだけですが、別のパーティシ
ョン(/dev/sda2)に書き込んでおり、現在のバージョンのファイルシステムを上書きしません。
2.
ルートファイルシステムの復元されたバージョンを使用するには、XenServer インストール CD
を使用して XenServer ホストを再起動し、[Restore from backup]オプションを選択する必
要があります。
バックアップからの復元後、XenServer ホストを再起動すると、復元されたイメージから起動し
ます。
最後に、次のコマンドを実行して、仮想マシンメタデータを復元します。
xe pool-restore-database file-name=/var/backup/pool-database-*
注:
ここで説明したバックアップからの復元を行っても、バックアップパーティション
は破棄されません。
クラッシュした XenServer ホストを再起動するには
1.
XenServer ホストがクラッシュして到達不能になった場合は、XenServer のインストール CD を
使用してアップグレードインストールを実行する必要があります。アップグレードインストール
が完了したら、マシンを再起動し、XenCenter またはリモート CLI からホストに到達可能である
ことを確認します。
2.
次に、8.9.2. 「XenServer ホストのバックアップ」の手順を実行します。
122
8.9.3. 仮想マシンのバックアップ
仮想マシンをバックアップする最善の方法は、個々の仮想マシン上で標準的なバックアップツールを
使用することです。Windows 仮想マシンの場合、CA BrightStor ARCserve Backup などが動作検証
済みです。
8.10. 仮想マシンスナップショット
重要:
仮想マシンの保護と回復機能(VMPR)は、XenServer 6.5 およびこれ以降のバー
ジョンでは削除されています。VMPR の機能を使用するアプリケーションやコード
などは、XenServer 6.5 およびこれ以降のバージョンでは使用できません。ただし、
仮想マシンのスナップショット機能やこれに依存する VMPR 以外の機能は削除さ
れていません。詳しくは、CTX137335 を参照してください。
XenServer には、便利なスナップショット機能が用意されています。この機能では、仮想マシンのス
トレージとメタデータのスナップショットを作成して、その時点の仮想マシンの状態を保存しておく
ことができます。スナップショットを作成するときは、自己矛盾のないディスクイメージが保存され
るように、必要に応じて一時的にデータ I/O が停止します。
スナップショットにより、仮想マシンのテンプレート化と類似の機能が提供されます。仮想マシンの
スナップショットには、すべてのストレージ情報と、接続している仮想インターフェイス(VIF)な
どの仮想マシン設定が含まれ、バックアップ用にエクスポートしたり復元したりできます。スナップ
ショットは、すべての種類のストレージでサポートされますが、以前のバージョンの XenServer で作
成した LVM ベースのストレージリポジトリはアップグレードする必要があり、ボリュームがデフォル
ト形式でフォーマットされている必要があります(type=raw 形式ではスナップショットを作成できま
せん)。
スナップショット処理では、次の 2 段階のプロセスが実行されます。
• メタデータをテンプレートとして取り込む。
• ディスクの VDI スナップショットを作成する。
XenServer では、標準スナップショット、休止スナップショット、およびメモリを含んだスナップシ
ョットがサポートされています。
8.10.1. 標準スナップショット
標準スナップショットはクラッシュ整合状態であり、Linux 仮想マシンを含むすべての種類の仮想マ
シンで作成できます。
8.10.2. 休止スナップショット
休止スナップショットでは、Windows Volume Shadow Copy Service(VSS)の機能を使用して、
特定時点のアプリケーション整合スナップショットを作成できます。VSS フレームワークにより、
VSS 対応のアプリケーション(Microsoft Exchange や Microsoft SQL Server など)では、スナップ
ショット作成に備えてメモリ内のデータをディスク上に保存できます。
このため、休止スナップショットはより安全に復元できますが、スナップショット作成時のシステム
パフォーマンスが影響を受ける場合があります。また、負荷状態によってはスナップショット作成に
失敗するため、複数回の試行が必要になる場合があります。
XenServer では、以下のオペレーティングシステムで休止スナップショットがサポートされていま
す。
• Windows Server 2012 R2 Server Core
• Windows Server 20012 R2
123
• Windows Server 2012
• Windows Server 2008 R2
• Windows Server 2008(32 ビット/64 ビット)
• Windows Server 2003(32 ビット/64 ビット)
Windows 8.1、Windows 8、Windows 7、Windows 2000、および Windows Vista はサポートさ
れていません。休止スナップショットについて詳しくは、8.10.9.3. 「休止スナップショットの注意
事項」を参照してください。
8.10.3. メモリを含んだスナップショット
仮想マシンのディスク(ストレージ)およびメタデータに加えて、仮想マシンのメモリ(RAM)をス
ナップショットに含めることができます。この機能は、ソフトウェアのアップグレードやパッチの適
用時、または新しいアプリケーションをテストするときに、現在の仮想マシンの状態に戻れるように
したい場合に便利です。この種類のスナップショットへの復元時に仮想マシンを再起動する必要はあ
りません。
メモリを含んだスナップショットは、XenAPI、xe CLI、または XenCenter を使って、実行中または
一時停止状態の仮想マシンで作成できます。
8.10.4. 仮想マシンスナップショットの作成
スナップショットを作成する前に、『XenServer 仮想マシンユーザーガイド』の「sysprep を使用し
た Windows 仮想マシンの複製の準備」および「Linux 仮想マシンを複製する前に」を参照して、必
要な準備を行ってください。
まず、メモリの状態を取得できるように、仮想マシンが実行中または一時停止状態であることを確認
します。対象の仮想マシンを指定するには、vm=<name>または vm=<vm uuid>引数を使用します。
次の vm-snapshot コマンドまたは vm-snapshot-with-quiesce コマンドを実行して、仮想マシ
ンのスナップショットを作成します。
xe vm-snapshot vm=<vm uuid> new-name-label=<vm_snapshot_name>
xe vm-snapshot-with-quiesce vm=<vm uuid> new-name-label=<vm_snapshot_name>
8.10.5. メモリを含んだスナップショットの作成
次の vm-checkpoint コマンドを実行します。このとき、メモリを含んだスナップショットであるこ
とを示す名前を指定すると便利です。
xe vm-checkpoint vm=<vm uuid> new-name-label=<name of the checkpoint>
スナップショットが作成されると、その UUID が表示されます。
以下はその例です。
xe vm-checkpoint vm=2d1d9a08-e479-2f0a-69e7-24a0e062dd35 \
new-name-label=example_checkpoint_1
b3c0f369-59a1-dd16-ecd4-a1211df29886
メモリを含んだスナップショットを作成するには、各ディスクに 4MB 以上の空き領域と、RAM と同
等のサイズ、および 20%程度のオーバーヘッドが必要です。つまり、RAM のサイズが 256MB であ
る場合は、約 300MB のストレージが必要です。
124
注:
メモリを含んだスナップショットの作成中に、仮想マシンが一時的に停止し、使用
できない状態になります。
8.10.6. XenServer プールのすべてのスナップショットの一覧を表示するには
次の snapshot-list コマンドを実行します。
xe snapshot-list
これにより、XenServer プール内のすべてのスナップショットの一覧が表示されます。
8.10.7. 特定の仮想マシンから作成したスナップショットの一覧を表示するには
まず、vm-list コマンドを実行して、その仮想マシンの UUID を取得します。
xe vm-list
これにより、すべての仮想マシンとその UUID が表示されます。以下はその例です。
xe vm-list
uuid ( RO): 116dd310-a0ef-a830-37c8-df41521ff72d
name-label ( RW): Windows Server 2003 (1)
power-state ( RO): halted
uuid ( RO): 96fde888-2a18-c042-491a-014e22b07839
name-label ( RW): Windows XP SP3 (1)
power-state ( RO): running
uuid ( RO): dff45c56-426a-4450-a094-d3bba0a2ba3f
name-label ( RW): Control domain on host
power-state ( RO): running
また、仮想マシンのリストをフィールドの値でフィルタして、対象の仮想マシンを指定することもで
きます。
たとえば、power-state=halted を指定すると、power-state フィールドの値が halted である仮想
マシンだけが対象になります。複数の仮想マシンがフィルタ条件に一致し、そのすべてのオブジェク
トに対してコマンドを実行する場合は、オプション--multiple を指定する必要があります。仮想マシ
ンのフィールドの一覧は、xe vm-list params=all コマンドで確認できます。
目的の仮想マシンの UUID を指定して、次のコマンドを実行します。
xe snapshot-list snapshot-of=<vm uuid>
以下はその例です。
xe snapshot-list snapshot-of=2d1d9a08-e479-2f0a-69e7-24a0e062dd35
これにより、この仮想マシンのスナップショットの一覧が表示されます。
125
uuid ( RO): d7eefb03-39bc-80f8-8d73-2ca1bab7dcff
name-label ( RW): Regular
name-description ( RW):
snapshot_of ( RO): 2d1d9a08-e479-2f0a-69e7-24a0e062dd35
snapshot_time ( RO): 20090914T15:37:00Z
uuid ( RO): 1760561d-a5d1-5d5e-2be5-d0dd99a3b1ef
name-label ( RW): Snapshot with memory
name-description ( RW):
snapshot_of ( RO): 2d1d9a08-e479-2f0a-69e7-24a0e062dd35
snapshot_time ( RO): 20090914T15:39:45Z
8.10.8. 仮想マシンをスナップショット作成時の状態に戻すには
仮想マシンを特定のスナップショット作成時の状態に復元するには、そのスナップショットの UUID
を指定して、snapshot-revert コマンドを実行します。
以下の手順に従います。
1. 次の snapshot-list コマンドを実行して、復元先のスナップショットの UUID を取得します。
xe snapshot-list
2. 取得した UUID を指定して、次のコマンドを実行します。
xe snapshot-revert snapshot-uuid=<snapshot uuid>
以下はその例です。
xe snapshot-revert snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886
仮想マシンがスナップショット作成時の状態に戻り、一時停止状態になります。
注:
スナップショットのシックプロビジョニングのためのディスク容量が足りない場合
は、ディスク領域が解放されるまでスナップショットを復元できません。この場合
は、操作を再試行してください。
注:
その仮想マシンの任意のスナップショットを復元先として指定できます。また、こ
の復元処理により既存のスナップショットが削除されることはありません。
8.10.8.1. スナップショットの削除
スナップショットを削除するには、以下の手順に従います。
1. 次の snapshot-list コマンドを実行して、復元先のスナップショットの UUID を取得します。
xe snapshot-list
2. 取得した UUID を指定して、次の snapshot-uninstall コマンドを実行します。
xe snapshot-uninstall snapshot-uuid=<snapshot-uuid>
3. これにより、仮想マシンおよび VDI が削除されることを警告するメッセージが表示されます。処理
を続行するには、yes と入力します。
以下はその例です。
126
xe snapshot-uninstall snapshot-uuid=1760561d-a5d1-5d5e-2be5-d0dd99a3b1ef
The following items are about to be destroyed
VM : 1760561d-a5d1-5d5e-2be5-d0dd99a3b1ef (Snapshot with memory)
VDI: 11a4aa81-3c6b-4f7d-805a-b6ea02947582 (0)
VDI: 43c33fe7-a768-4612-bf8c-c385e2c657ed (1)
VDI: 4c33c84a-a874-42db-85b5-5e29174fa9b2 (Suspend image)
Type 'yes' to continue
yes
All objects destroyed
スナップショットのメタデータのみを削除する場合は、次のコマンドを実行します。
xe snapshot-destroy snapshot-uuid=<snapshot-uuid>
以下はその例です。
xe snapshot-destroy snapshot-uuid=d7eefb03-39bc-80f8-8d73-2ca1bab7dcff
8.10.9. スナップショットテンプレート
8.10.9.1. スナップショットからテンプレートを作成する
スナップショットから仮想マシンテンプレートを作成できます。ただし、メモリの状態はテンプレー
トに反映されません。
以下の手順に従います。
1. 次の snapshot-copy コマンドを実行します。ここで、new-name-label でテンプレートの名前
を指定します。
xe snapshot-copy new-name-label=<vm-template-name> \
snapshot-uuid=<uuid of the snapshot>
以下はその例です。
xe snapshot-copy new-name-label=example_template_1
snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886
注:
これにより作成されるテンプレートは、スナップショットと同じリソースプールに
属します。つまり、そのプールの XenServer データベース内にのみ格納されます。
2. テンプレートが作成されたことを確認するには、次の template-list コマンドを実行します。
xe template-list
これにより、その XenServer ホスト上のすべてのテンプレートが一覧表示されます。
8.10.9.2. スナップショットをテンプレートとしてエクスポートする
仮想マシンのスナップショットをエクスポートすると、ディスクイメージを含む仮想マシンの完全な
複製が、拡張子.xva の単一のファイルとしてローカルコンピュータ上に格納されます。
以下の手順に従います。
1. 次の snapshot-export-to-template コマンドを実行して、新しいテンプレートファイルを作成
します。
xe snapshot-export-to template snapshot-uuid=<snapshot-uuid> \
filename=<template- filename>
127
以下はその例です。
xe snapshot-export-to-template snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886 \
filename=example_template_export
仮想マシンのエクスポート/インポート機能は、さまざまな方法で使用できます。
• 仮想マシンのバックアップのための便利な機能として。障害発生時には、エクスポートした仮想マ
シンファイルを使用して仮想マシン全体を復元できます。
• 仮想マシンを簡単に複製する方法として。たとえば、よく使用する特別な目的のサーバー設定の仮
想マシンなどです。思いどおりに仮想マシンを設定、エクスポート、およびインポートして、元の
仮想マシンの複製を作成できます。
• 仮想マシンを簡単にほかのサーバーに移動する方法として。
テンプレートの使用について詳しくは、『XenServer 仮想マシンユーザーガイド』の「仮想マシンの
作成」の章および XenCenter のオンラインヘルプの「仮想マシンの管理」を参照してください。
8.10.9.3. 休止スナップショットの注意事項
注:
VSS をサポートするには、Windows 仮想マシンに Xen VSS プロバイダをインスト
ールする必要があります。このプロバイダをインストールするには、Windows 準仮
想化ドライバーに付属の install-XenProvider.cmd スクリプトを実行します。詳し
くは、
『XenServer 仮想マシンユーザーガイド』の Windows のセクションを参照し
てください。
一般に、仮想マシンでその VDI スナップショット(VDI の複製ではなく)にアクセスするには、VSS
インターフェイスを使用する必要があります。XenServer 管理者は、仮想マシンの other-config に
snapmanager=true 属性を追加するフラグを指定して、ほかの仮想マシンの VDI スナップショットをイ
ンポートできます。
警告:
ただし、これによりセキュリティ上の脆弱性が発生するため、注意してください。
この機能を使用すると、VSS レイヤにより生成される、仮想マシン内の移動可能な
スナップショット ID を使用して、VSS スナップショットをほかの仮想マシンに接
続してバックアップできるようになります。
VSS 休止タイムアウト:Microsoft の休止期間は 10 秒に固定されています。このため、スナップショ
ット作成が休止期間内に完了しない場合があります。たとえば、XAPI デーモンが、ストレージリポジ
トリのスキャンなど、スナップショットを阻害するようなタスクをキューに入れると、VSS スナップ
ショットがタイムアウトにより失敗する場合があります。この場合、スナップショットの作成を再試
行する必要があります。
注:
仮想マシンに多くの仮想ブロックデバイス(VBD)が接続されていると、タイムア
ウトが発生することがあります。このため、仮想マシンに 3 つ以上の VBD を接続
しないことをお勧めします。ただし、この問題を回避する方法があります。仮想マ
シンのすべての VDI が異なるストレージリポジトリ上でホストされていると、その
仮想マシンに 3 つ以上の VBD が接続されていても、VSS スナップショットに成功
する可能性が高くなります。
仮想マシンのすべてのディスクの VSS スナップショット:VSS スナップショット作成時に使用可能
なすべてのデータを格納するために、XAPI マネージャでは、XenServer ストレージマネージャ API
でスナップショット作成可能な、仮想マシンのすべてのディスクおよび関連メタデータがスナップシ
ョットとして収集されます。VSS レイヤでディスクのサブセットのスナップショットが要求された
場合は、仮想マシンの完全なスナップショットは作成されません。
128
vm-snapshot-with-quiesce による起動可能なスナップショット仮想マシンイメージ:XenServer
VSS ハードウェアプロバイダにより、起動可能ボリュームも含め、スナップショットボリュームが書
き込み可能に設定されます。
Windows 仮想マシンのダイナミックディスクでホストされるボリュームの VSS スナップショット:
vm-snapshot-with-quiesce コマンドおよび XenServer VSS ハードウェアプロバイダでは、
Windows 仮想マシンのダイナミックディスクでホストされるボリュームのスナップショットをサポ
ートしません。
注:
VSS をサポートするには、Windows 仮想マシンに Xen VSS プロバイダをインスト
ールする必要があります。このプロバイダをインストールするには、Windows 準仮
想化ドライバに付属の install-XenProvider.cmd スクリプトを実行します。詳しくは、
『XenServer 仮想マシンユーザーガイド』の Windows のセクションを参照してくだ
さい。
8.11. マシン障害に対処する
ここでは、さまざまな障害からの回復方法について詳しく説明します。ここで説明するすべての障害
回復シナリオでは、8.9. 「XenServer ホストと仮想マシンのバックアップと復元」で説明されている
いずれかの方法でバックアップされていることを前提としています。
8.11.1. メンバホストの障害
高可用性機能が無効なリソースプールでは、プールマスタがメンバホストからの定期的なハートビー
トメッセージを監視して、メンバホストに発生する障害を検出します。ハートビートが 600 秒受信さ
れない場合、プールマスタはメンバホストに障害が発生していると認識します。この状態から回復さ
せる方法には、2 つあります。
• 動作していないメンバホストの問題を解決して起動します(物理的に再起動するなど)。メンバホス
トとプールマスタとの接続が復元されると、そのメンバホストが動作中であることがプールマスタ
により再度マーク付けされます。
• メンバホストをシャットダウンし、xe host-forget コマンドを使用してそのメンバの情報をプー
ルマスタから消去します。メンバホストの情報をプールマスタから消去すると、そのメンバホスト
上で実行されていたすべての仮想マシンは「オフライン」としてマーク付けされ、ほかの XenServer
ホスト上で再起動可能になります。障害が発生した XenServer ホストが正しくオフラインとして
認識されないと、仮想マシンデータが破損することがあるため注意してください。また、xe hostforget コマンドでプールを単一ホストの複数のプールに分割しないでください。これを行うと、分
割したプールがすべて同じ共有ストレージを使用するために、仮想マシンデータが破損することが
あります。
警告:
• プールから消去したホストを XenServer ホストとして再度使用する場合は、
XenServer ソフトウェアを新規にインストールしてください。
• 高可用性が有効なリソースプールでは、xe host-forget コマンドを使用しない
でください。まず高可用性を無効にしてからホストを消去し、その後で高可用性
を有効にします。
メンバーホストに障害が発生した後で、そのホスト上の仮想マシンの状態が「実行中」として認識さ
れることがあります。そのメンバ XenServer ホストが停止していることが確実である場合は、xe
vm-reset-powerstate コマンドを使用して、仮想マシンの電源状態を強制的に「停止」
(halted)に
設定してください。詳しくは、A.4.27.28. 「vm-reset-powerstate」を参照してください。
警告:
このコマンドの使用を誤ると、データが破損することがあります。このため、必要
な場合にのみこのコマンドを使用してください。
129
ほかの XenServer ホスト上で仮想マシンを起動できるようにするには、仮想マシンストレージのロッ
クを解除する必要もあります。ストレージリポジトリ上の各ディスクは、同時に複数のホストで使用
することはできません。このため、停止したホストにより使用されていたディスクをほかのホストで
使用できるようにするには、ストレージのロックを解除します。これを行うには、プールマスタ上で、
仮想マシンのディスクを格納している各ストレージリポジトリに対して以下のスクリプトを実行しま
す。
/opt/xensource/sm/resetvdis.py <host_UUID> <SR_UUID> [master]
master を指定するのは、その XenServer ホストが障害発生時にストレージリポジトリマスター(プ
ールマスター、またはローカルストレージを使用するホスト)であった場合のみです。
警告:
このコマンドを実行する前に、そのホストが停止していることを確認してください。
このコマンドの使用を誤ると、データが破損することがあります。
このスクリプトを実行する前にほかの XenServer ホスト上で仮想マシンを起動しようとすると、次の
エラーメッセージが表示されます。VDI <UUID> already attached RW.
8.11.2. プールマスタの障害
リソースプールの各メンバには、必要に応じてプールマスタの役割を引き継ぐための情報がすべて格
納されています。プールマスタに障害が発生した場合、以下の処理が行われます。
1. 高可用性が有効なリソースプールでは、ほかのホストがプールマスタとして自動的に選出されま
す。
2. 高可用性が無効な場合、各メンバはプールマスタが回復するのを待機します。
この時点でプールマスタが回復した場合、プール内のメンバとの通信が再確立され、通常の状態に戻
ります。
プールマスタが完全に機能を停止している場合は、任意のメンバホスト上で xe pool-emergencytransition-to-master コマンドを実行します。選択したメンバホストがプールマスタとしての動作
を開始したら、xe pool-recover-slaves コマンドを実行します。これにより、ほかのすべてのメン
バホストが新しいプールマスタとの通信を開始します。
停止したプールマスタのハードウェアの問題が解決した場合、または新しいサーバーに交換した場合
は、XenServer ソフトウェアをインストールして、プールに追加できます。通常、リソースプール内
の XenServer ホストは同種であるため、新しいサーバーをプールマスタとして指定し直す必要はあり
ません。
プールマスタとして動作する XenServer ホストが変更された場合、デフォルトのプールストレージリ
ポジトリに適切な値が設定されていることを確認する必要もあります。これを行うには、xe poolparam-list コマンドを使用して、default-SR パラメータに正しいストレージリポジトリが指定されて
いることを確認します。
8.11.3. リソースプールの障害
リソースプール全体に障害が発生した場合は、プールデータベースを最初から作成し直さなければな
りません。このような事態を避けるためにも、xe pool-dump-database コマンド(A.4.16.3.
「pool-dump-database」を参照)を使用して、プールメタデータを定期的にバックアップしておく
ことが必要です。
リソースプール全体の障害から回復するには
1.
ホストに XenServer ソフトウェアを新規にインストールします。この時点では、リソースプール
を作成しません。
130
2.
プールマスターとして動作するホストに対して xe pool-restore-database コマンド(A.
4.16.11. 「pool-restore-database」を参照)を使用し、バックアップからプールデータベース
を復元します。
3.
XenCenter でプールマスタに接続し、すべての共有ストレージおよび仮想マシンが使用可能にな
っていることを確認します。
4.
新規インストールした残りのメンバホストをプールに追加して、適切なホスト上で仮想マシンを
起動します。
8.11.4. 設定エラーによる障害に対処する
ホストに物理的な障害がない場合でも、ソフトウェアやホスト設定の問題により障害が発生すること
があります。
ホストのソフトウェアおよび設定を復元するには
1.
次のコマンドを実行します。
xe host-restore host=<host> file-name=<hostbackup>
2.
ホストをインストール CD から起動して、[Restore from backup]を選択します。
8.11.5. 物理マシンの障害
物理ホストマシンに障害が発生した場合は、以下の適切な手順に従って回復します。
警告:
障害が発生したホスト上で実行されていた仮想マシンは、プールのデータベースで
は Running(「実行中」)としてマーク付けされます。これは、同じ仮想マシンが複数
のホスト上で起動して重大なディスク損傷が発生することを防ぐための安全上の機
能です。管理者は、マシン(および仮想マシン)がオフラインになっていることを
確認してから、次のコマンドを実行して仮想マシンの電源状態を Halted(「停止」)
状態に変更できます。
xe vm-reset-powerstate vm=<vm_uuid> --force
これにより、XenCenter または CLI を使用して、その仮想マシンを起動できるよう
になります。
障害が発生したプールマスタをメンバホストを実行したまま交換する
1.
次のコマンドを実行します。
xe pool-emergency-transition-to-master
xe pool-recover-slaves
2.
コマンドの実行に成功したら、仮想マシンを再起動します。
すべてのホストに障害が発生したリソースプールを復元するには
1.
次のコマンドを実行します。
xe pool-restore-database file-name=<backup>
警告:
131
このコマンドは、適切な名前を持つ NIC が適切な数だけそのホストにインストール
されている場合にのみ成功します。
2.
ターゲットマシンで元のマシンと異なるストレージ設定が使用されている場合(異なる IP アドレ
スでのブロックミラーなど)は、pbd-destroy コマンドの次に pbd-create コマンドを実行し
てストレージ設定を再作成します。これらのコマンドについては、A.4.14. 「PBD(物理ブロッ
クデバイス)コマンド」を参照してください。
3.
ストレージ設定を再作成したら、pbd-plug コマンドを使用するか、XenCenter の[ストレー
ジ]>[修復]を選択してそのストレージ設定を使用します。
4.
すべての仮想マシンを再起動します。
仮想マシンストレージを使用できないときに仮想マシンを復元するには
1.
次のコマンドを実行します。
xe vm-import filename=<backup> metadata=true
2.
メタデータのインポートに失敗した場合は、次のコマンドを実行します。
xe vm-import filename=<backup> metadata=true --force
このコマンドにより、仮想マシンメタデータの復元が「最大限の努力」で試行されます。
3.
すべての仮想マシンを再起動します。
132
第 9 章 XenServer の監視と管理
XenServer では、CPU、メモリ、ディスク、ネットワーク、C-状態/P-状態情報、ストレージなどの
パフォーマンス測定値(メトリクス)を詳細に監視できます。これらの測定値は、必要に応じてホス
ト単位または仮想マシン単位で監視できます。これらの測定値は、直接アクセスして使用したり、
XenCenter やそのほかのサードパーティ製アプリケーションで視覚的に表示したりできます。
また、XenServer ではシステムやパフォーマンスに関するアラートを生成できます。これらのアラー
トは、特定のシステムイベントが発生した場合や、ホスト、仮想マシン、またはストレージリポジト
リで CPU、メモリ使用、ネットワーク使用、ストレージスループット、または仮想マシンのディスク
使用が特定のしきい値を超過した場合に生成されます。これらのアラートは、xe CLI または
XenCenter で設定できます。ホストまたは仮想マシンのパフォーマンス測定値に基づくアラート生
成について詳しくは、9.2. 「アラート」を参照してください。
9.1. XenServer パフォーマンスの監視
XenServer ホストや仮想マシンのパフォーマンスは、ラウンドロビンデータベース(RRD)に格納さ
れる測定値を使って監視できます。これらの測定値は、HTTP または RRD2CSV ツールを使って照会
できます。また、XenCenter では、これらのデータに基づいてシステムパフォーマンスグラフが作成
されます。9.1.5. 「ラウンドロビンデータベースの使用」および 9.1.3. 「XenCenter での測定値の
解析と視覚化」を参照してください。
以下の表は、ホストおよび仮想マシンで使用可能なパフォーマンス測定値の一覧です。
注:
一定期間における遅延は、その期間の遅延時間を平均化したものです。
一部の測定値は、ストレージリポジトリや CPU により使用できない場合がありま
す。
9.1.1. ホストのパフォーマンス測定値
測定値名
説明
条件
XenCent
er でのデ
ータソー
ス名
avgqu_sz_<sr-uuidshort>
I/O キューのサイズの平均 (要求)。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>キュ
ーのサイ
ズ
cpu<cpu>C<cstate>
CPU<cpu>が C-状態<cstate>である時間(ミ
リ秒)。
CPU に C状態があ
ること。
CPU<cpu
> C-状態
<cstate>
cpu<cpu>P<pstate>
CPU<cpu>が P-状態<pstate>である時間(ミ
リ秒)。
CPU に P状態があ
ること。
CPU<cpu
> P-状態
<pstate
>
133
測定値名
説明
条件
cpu<cpu>
物理 CPU<cpu>の使用率。デフォルトで有効。 物
理
CPU<cpu
>がある
こと。
CPU<cpu
>
cpu_avg
すべての物理 CPU の平均使用率。デフォルト
で有効。
なし
平均 CPU
inflight_<sr-uuidshort>
インフライト状態の I/O 要求数。デフォルトで
有効。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>イン
フライト
要求
io_throughput_read_
<sr-uuid-short>
SR からの読み取りデータ(MiB/秒)。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>読み
取りスル
ープット
io_throughput_write
_<sr-uuid-short>
SR への書き込みデータ(MiB/秒)。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>書き
込みスル
ープット
io_throughput_total_
<sr-uuid-short>
SR のすべての I/O(MiB/秒)。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>合計
スループ
ット
iops_read_<sr-uuidshort>
1 秒あたりの読み取り要求。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>読み
取
り
IOPS
134
XenCent
er でのデ
ータソー
ス名
測定値名
説明
条件
XenCent
er でのデ
ータソー
ス名
iops_write_<sr-uuidshort>
1 秒あたりの書き込み要求。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>書き
込
み
IOPS
iops_total_<sr-uuidshort>
1 秒あたりの I/O 要求。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>合計
IOPS
iowait_<sr-uuidshort>
I/O 待機時間のパーセンテージ。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>IO
待機
latency_<sr-uuidshort>
平均 I/O 遅延(ミリ秒)。
ホストの
SR<sr>
で 1 つ以
上 の VBD
がプラグ
されてい
ること。
<sr>遅延
loadavg
Domain0 の loadavg。デフォルトで有効。
なし
コントロ
ールドメ
インロー
ド
memory_free_kib
合計空きメモリ量(KiB)。デフォルトで有効。
なし
空きメモ
リ
memory_reclaimed
圧縮により解放されたホストメモリ(B)。
なし
解放され
たメモリ
memory_reclaimed_
max
圧縮により解放可能なホストメモリ(B)。
なし
解放され
るメモリ
(概算値)
memory_total_kib
ホストの合計メモリ量(KiB)。デフォルトで有
効。
なし
メモリ合
計
network/latency
ローカルホストからすべてのオンラインホスト
に送信された最後の 2 回のハートビートの間
隔(秒)。デフォルトで無効。
高可用性 ネットワ
が 有 効 で ーク遅延
あること。
135
測定値名
説明
条件
XenCent
er でのデ
ータソー
ス名
statefile/<t>/latency
ローカルホストからステートファイルへの前回
アクセス時の応答時間(秒)。デフォルトで無
効。
高可用性 高可用性
が有効で ステート
あること。 フ ァ イ ル
遅延
pif_<pif>_rx
物理インターフェイス<pif>での 1 秒あたりの
受信バイト。デフォルトで有効。
PIF<pif>
があるこ
と。
<xencen
ter-pifname>受
信(注参
照)
pif_<pif>_tx
物理インターフェイス<pif>での 1 秒あたりの
送信バイト。デフォルトで有効。
PIF<pif>
があるこ
と。
<xencen
ter-pifname>送
信(注参
照)
pif_<pif>_rx_errors
物理インターフェイス<pif>での 1 秒あたりの
受信エラー数。デフォルトで無効。
PIF<pif>
があるこ
と。
<xencen
ter-pifname>受
信エラー
(注参照)
pif_<pif>_tx_errors
物理インターフェイス<pif>での 1 秒あたりの
転送エラー数。デフォルトで無効。
PIF<pif>
があるこ
と。
<xencen
ter-pifname>送
信エラー
(注参照)
pif_aggr_rx
すべての物理インターフェイスでの 1 秒あた
りの受信バイト。デフォルトで有効。
なし
NIC 受 信
合計
pif_aggr_tx
すべての物理インターフェイスでの 1 秒あた
りの送信バイト。デフォルトで有効。
なし
NIC 送 信
合計
sr_<sr>_cache_size
IntelliCache ストレージリポジトリのサイズ
(B)。デフォルトで有効。
IntelliCac
he が有効
であるこ
と。
IntelliCac
he キャッ
シュサイ
ズ
sr_<sr>_cache_hits
1 秒あたりの成功キャッシュ。デフォルトで有
効。
IntelliCac
he が有効
であるこ
と。
IntelliCac
he キャッ
シュ成功
sr_<sr>_cache_miss
es
1 秒あたりの失敗キャッシュ。デフォルトで有
効。
IntelliCac
he が有効
であるこ
と。
IntelliCac
he キャッ
シュ失敗
136
測定値名
説明
条件
XenCent
er でのデ
ータソー
ス名
xapi_allocation_kib
xapi デーモンによる割り当てメモリ量(KiB)。 なし
デフォルトで有効。
エージェ
ントメモ
リ割り当
て
xapi_free_memory_k xapi デ ー モ ン で 使 用 可 能 な 空 き メ モ リ 量
ib
(KiB)。デフォルトで有効。
なし
xapi_healthcheck/
latency_healt
高 可 用 性 XenServe
が有効で r ヘ ル ス
あること。 チ ェ ッ ク
遅延
ローカルホストでの前回 xapi モニタリングコ
ール時の応答時間(秒)。デフォルトで無効。
xapi_live_memory_ki xapi デ ー モ ン で 使 用 中 の ラ イ ブ メ モ リ 量
b
(KiB)。デフォルトで有効。
xapi_memory_usage
_kib
空きエー
ジェント
メモリ
なし
エージェ
ントメモ
リライブ
xapi デーモンで使用中の合計メモリ量(KiB)。 なし
デフォルトで有効。
エージェ
ントメモ
リ使用
9.1.2. 仮想マシンのパフォーマンス測定値
測定値名
説明
条件
cpu<cpu>
仮想 CPU<cpu>の使用率。デフォルトで有効。 仮
想
CPU<cpu
>がある
こと。
XenCent
er でのデ
ータソー
ス名
CPU<cpu
>
memory
仮想マシンに割り当てられているメモリ量
(B)。デフォルトで有効。
なし
メモリ合
計
memory_target
仮想マシンバルーンドライバの目標メモリ量
(B)。デフォルトで有効。
なし
メモリ目
標値
memory_internal_fre
e
ゲストエージェントにより報告された使用メモ
リ量(KiB)。デフォルトで有効。
なし
空きメモ
リ
runstate_fullrun
すべての仮想 CPU が実行されていた時間。
なし
VCPU 完
全実行
runstate_full_content すべての仮想 CPU が実行可能であった時間
ion
(CPU の待機中など)。
なし
VCPU 完
全競合
runstate_concurrenc
y_hazard
なし
VCPU 並
列性のハ
ザード
一部の仮想 CPU が実行されていて一部が実行
可能であった時間。
137
測定値名
説明
条件
XenCent
er でのデ
ータソー
ス名
runstate_blocked
すべての仮想 CPU がブロックされていたりオ
フラインであったりした時間。
なし
VCPU ア
イドル
runstate_partial_run
一部の仮想 CPU が実行されていて一部がブロ
ックされていた時間。
なし
VCPU 部
分実行
runstate_partial_con
tention
一部の仮想 CPU が実行可能で一部がブロック
されていた時間。
なし
VCPU 部
分競合
vbd_<vbd>_write
デバイス<vbd>への 1 秒あたりの書き込みバ
イト。デフォルトで有効。
VBD<vbd
>がある
こと。
ディスク
<vbd> 書
き込み
vbd_<vbd>_read
デバイス<vbd>からの 1 秒あたりの読み取り
バイト。デフォルトで有効。
VBD<vbd
>がある
こと。
ディスク
<vbd> 読
み取り
vbd_<vbd>_write_la
tency
デバイス<vbd>への書き込み(ミリ秒)。
VBD<vbd
>がある
こと。
ディスク
<vbd> 書
き込み遅
延
vbd_<vbd>_read_lat
ency
デバイス<vbd>からの読み取り(ミリ秒)。
VBD<vbd
>がある
こと。
ディスク
<vbd> 読
み取り遅
延
vbd
<vbd>_iops_read
1 秒あたりの読み取り要求。
ホストの
非
ISO
VDI 用 に
1 つ以上
の VBD が
プラグさ
れている
こと。
ディスク
<vbd> 読
み 取 り
IOPS
vbd
<vbd>_iops_write
1 秒あたりの書き込み要求。
ホストの
非
ISO
VDI 用 に
1 つ以上
の VBD が
プラグさ
れている
こと。
ディスク
<vbd> 書
き 込 み
IOPS
vbd
<vbd>_iops_total
1 秒あたりの I/O 要求。
ホストの
非
ISO
VDI 用 に
1 つ以上
の VBD が
プラグさ
れている
こと。
ディスク
<vbd> 合
計 IOPS
138
測定値名
説明
条件
XenCent
er でのデ
ータソー
ス名
vbd <vbd>_iowait
I/O 待機時間のパーセンテージ。
ホストの
非
ISO
VDI 用 に
1 つ以上
の VBD が
プラグさ
れている
こと。
ディスク
<vbd>IO
待機
vbd <vbd>_inflight
インフライト状態の I/O 要求数。
ホストの
非
ISO
VDI 用 に
1 つ以上
の VBD が
プラグさ
れている
こと。
ディスク
<vbd> イ
ンフライ
ト要求
vbd
<vbd>_avgqu_sz
I/O キューのサイズの平均。
ホストの
非
ISO
VDI 用 に
1 つ以上
の VBD が
プラグさ
れている
こと。
ディスク
<vbd> キ
ューのサ
イズ
vif_<vif>_rx
仮想インターフェイス<vif>での 1 秒あたりの
受信バイト。デフォルトで有効。
VIF<vif>
があるこ
と。
<vif> 受
信
vif_<vif>_tx
仮想インターフェイス<vif>での 1 秒あたりの
転送バイト。デフォルトで有効。
VIF<vif>
があるこ
と。
<vif> 送
信
vif_<vif>_rx_errors
仮想インターフェイス<vif>での 1 秒あたりの
受信エラー数。デフォルトで有効。
VIF<vif>
があるこ
と。
<vif> 受
信エラー
vif_<vif>_tx_errors
仮想インターフェイス<vif>での 1 秒あたりの
転送エラー数。デフォルトで有効。
VIF<vif>
があるこ
と。
<vif> 送
信エラー
注:
<xencenter-pif-name>は、以下のいずれかを示します。
NIC<pif>
<pif>
<pif> が pif_eth# を 含 ん で い る 場 合
(#は 0~9)
<pif>が pif_eth#.#、pif_xenbr#、ま
たは pif_bond#を含んでいる場合
139
<内部>ネットワーク<pif>
<pif>が pif_xapi#を含んでいる場合
(<内部>の部分は変数ではありませ
ん)
TAP<tap>
<pif>が pif_tap#を含んでいる場合
xapi ループバック
<pif>が pif_lo を含んでいる場合
9.1.3. XenCenter での測定値の解析と視覚化
XenCenter の[パフォーマンス]タブでは、リソースプールの全体的なパフォーマンス測定値をリア
ルタイムで監視でき、仮想マシンおよび物理マシンのパフォーマンスの傾向を視覚的に確認すること
ができます。[パフォーマンス]タブのグラフには、デフォルトで CPU、メモリ、ネットワーク入出
力、およびディスク入出力に関するデータが表示されます。さらに、ほかのパフォーマンスデータを
追加したり、グラフの形式を変更したり、新しいグラフを追加したりできます。9.1.3.1. 「パフォー
マンスグラフの設定」を参照してください。
• 過去 12 か月までさかのぼってパフォーマンスデータを表示でき、測定値が急増している部分など
をクローズアップして表示することもできます。
• XenCenter では、サーバー、仮想マシンまたはストレージリポジトリの CPU、メモリ使用率、ネッ
トワーク入出力、ストレージ入出力、またはディスク入出力の使用状況が特定のしきい値を超過し
た場合に、アラートが生成されるように設定できます。詳しくは、9.2.1. 「XenCenter でのアラー
トの表示」を参照してください。
注:
仮想マシンのすべてのパフォーマンスデータを表示するには、その仮想マシンに
XenServer Tools(準仮想化ドライバ)をインストールする必要があります。
9.1.3.1. パフォーマンスグラフの設定
新しいグラフを追加するには
1.[パフォーマンス]タブで、[操作]、[新規グラフ]の順にクリックします。[新規グラフ]ダイア
ログボックスが開きます。
2.[名前]ボックスにグラフの名前を入力します。
3.[データソース]の一覧で、グラフに追加するデータソースのチェックボックスをオンにします。
4.[保存]をクリックします。
既存のグラフを編集するには
1.[パフォーマンス]タブで、編集するグラフをクリックします。
2. グラフを右クリックして[操作]を選択するか、[操作]ボタンをクリックします。[グラフの編
集]を選択します。
3. グラフの[詳細]ダイアログボックスで、必要な変更を行って[OK]をクリックします。
9.1.3.1.1. グラフの種類の設定
パフォーマンスグラフ上のデータは線または面で表示できます。
折れ線グラフ:
140
面グラフ:
グラフの種類を変更するには
1.[ツール]メニューの[オプション]を選択し、[グラフ]ページを開きます。
2. パフォーマンスデータを折れ線グラフで表示するには、[折れ線グラフ]をクリックします。
3. パフォーマンスデータを面グラフで表示するには、[面グラフ]をクリックします。
4.[OK]をクリックして変更を保存します。
XenCenter のパフォーマンスグラフについて詳しくは、XenCenter ヘルプの「システムパフォーマ
ンスの監視」のセクションを参照してください。
9.1.4. パフォーマンス測定値の設定
注:
C-状態および P-状態は、一部のプロセッサで提供される電源管理機能です。これら
の状態の範囲は、ホストの物理的な能力と電源管理設定により異なります。
パフォーマンス測定値に関するコマンドでは、ホストおよび仮想マシンの両方で以下の情報が返され
ます。
• データソースの説明
• 測定値の単位
• 使用可能な値の範囲
以下はその例です。
name_label: cpu0-C1
name_description: Proportion of time CPU 0 spent in C-state 1
enabled: true
standard: true
min: 0.000
max: 1.000
units: Percent
特定の測定値を有効にする
デフォルトでは、多くの測定値が有効になっており、データが収集されます。無効な測定値を有効に
するには、次のコマンドを実行します。
xe host-data-source-record data-source=<metric name> host=<hostname>
特定の測定値を無効にする
データの収集が不要な測定値がある場合は、その測定値を無効にできます。測定値を無効にするには、
次のコマンドを実行します。
xe host-data-source-forget data-source=<metric name> host=<hostname>
141
有効なホスト測定値を表示する
ホストに対して有効になっている測定値を表示するには、次のコマンドを実行します。
xe host-data-source-list host=<hostname>
有効な仮想マシン測定値を表示する
仮想マシンに対して有効になっている測定値を表示するには、次のコマンドを実行します。
xe vm-data-source-list vm=<vm_name>
9.1.5. ラウンドロビンデータベースの使用
XenServer では、パフォーマンス測定値がラウンドロビンデータベース(RRD)に格納されます。こ
れらのデータベースは、固定サイズのデータベースに作成される複数のラウンドロビンアーカイブ
(RRA)で構成されます。
各アーカイブでは、各測定値が以下の間隔でサンプリングされます。
• 10 分間は 5 秒間隔
• 過去 2 時間は 1 分間隔
• 過去 1 週間は 1 時間間隔
• 過去 1 年間は 1 日間隔
5 秒間隔で実行されるサンプリングでは実際の測定値が記録され、それ以降のラウンドロビンアーカ
イブでは集約関数(CF)が使用されます。XenServer では、以下の CF がサポートされます。
• AVERAGE(平均)
• MIN(最小)
• MAX(最大)
RRD は、個々の仮想マシン、dom0、および XenServer ホスト用に作成されます。仮想マシンの RRD
は、実行ホスト(実行中の仮想マシンの場合)、またはプールマスタ(実行されていない仮想マシンの
場合)上に格納されます。このため、パフォーマンスデータを取得するには、仮想マシンがどこにあ
るかを知っている必要があります。
XenServer RRD の使用方法について詳しくは、Citrix Developer Network の「Using XenServer
RRDs」を参照してください。
9.1.5.1. HTTP を使用した RRD の解析
RRD は、/host_rrd または/vm_rrd の HTTP ハンドラで指定した XenServer ホストから HTTP 経由でダ
ウンロードできます。これらの両アドレスでは、HTTP 認証を使用するか、有効な XenAPI セッショ
ン参照を照会引数として指定して認証を受ける必要があります。以下はその例です。
ホスト RRD のダウンロード
wget http://<server>/host_rrd?session_id=OpaqueRef:<SESSION HANDLE>
仮想マシン RRD のダウンロード
wget http://<server>/vm_rrd?session_id=OpaqueRef:<SESSION HANDLE>>&uuid=<VM UUID>
これらのコマンドでは、rrdtool にインポートしてそのまま解析可能な XML ファイルがダウンロード
されます。
XenServer RRD の HTTP での使用方法について詳しくは、Citrix Developer Network の「Using
XenServer RRDs」を参照してください。
142
9.1.5.2. rrd2csv を使用した RRD の解析
パフォーマンス測定値は、XenCenter で表示するほかにも、rrd2csv ツールを使用して RRD をコン
マ区切り(CSV)形式のファイルとして書き出すことができます。このツールには、man ページおよ
びヘルプページが用意されています。rrd2csv ツールの man ページまたはヘルプページを表示する
には、以下のコマンドを実行します。
man rrd2csv
または
rrd2csv --help
注:
複数のオプションを使用する場合は、個別に指定する必要があります。たとえば、
仮想マシンまたはホストの UUID と名前ラベルを取得するには、次のように
rrd2csv をコールします。
rrd2csv -u -n
取得した UUID は一意であるためプライマリキーとして適していますが、名前ラベ
ルは一意であるとは限りません。
このツールについて詳しくは、man ページ(rrd2csv --help)のヘルプテキストを参照してください。
9.2. アラート
XenServer では、ホストや仮想マシンのパフォーマンス測定値に応じてアラートが送信されるように
設定できます。さらに、XenServer には、ホストが特定の状態になると生成される事前設定のアラー
トが用意されています。これらのアラートは、XenCenter または xe CLI で表示できます。
9.2.1. XenCenter でのアラートの表示
XenCenter の[システムアラート]ウィンドウには、以下のさまざまなアラートが表示されます。
• 9.2.1.1. 「XenCenter のパフォーマンスアラート」
• 9.2.1.2. 「XenCenter のシステムアラート」
• 9.2.1.3. 「XenCenter のソフトウェアアップデートアラート」
9.2.1.1. XenCenter のパフォーマンスアラート
ホスト、仮想マシン、またはストレージリポジトリで、CPU、メモリ使用、ネットワーク使用、スト
レージスループット、または仮想マシンのディスク使用が特定のしきい値を超過した場合に、アラー
トが生成されるように設定できます。
アラートのデフォルトの生成間隔は 60 分ですが、この間隔は必要に応じて変更できます。生成され
たアラートは、
[システムアラート]ウィンドウに表示されます。また、特定のパフォーマンスアラー
トをほかの重大なシステムアラートと同様にメールで送信することもできます。XenCenter の[シス
テムアラート]ウィンドウには、xe CLI で設定したカスタムのアラートも表示されます。
各アラートには、重要度が割り当てられます。これらを変更したり、アラート生成時にメールが送信
されるように設定したりできます。アラートのデフォルトの重要度は、3 に設定されています。
143
重要度
名前
説明
デフォルトでのメール
送信
1
データ損失の
危険性
直ちに対処しないとデータが恒久的に失われた
り破損したりする可能性があります。
○
2
サービス損失
の危険性
直ちに対処しないと一部のサービスに障害が発
生する可能性があります。
○
3
サービスの低
下
直ちに対処しないとサービスが影響を受ける可
能性があります。
○
4
サービスの回
復
何らかの問題が改善されました。
×
5
情報
一般的な情報(仮想マシンの起動、停止、再開
など)です。
×
9.2.1.1.1. アラートを表示するには
[システムアラート]ウィンドウを開くには、次のいずれかを行います。
•[ツール]メニューの[システムアラート]を選択します。
• ツールバーの[システムアラート]ボタンをクリックします。
ツールバーを非表示にしている場合は、[XenCenter]ウィンドウ右上に表示される[システムア
ラート]ボタンをクリックします。
9.2.1.1.2. パフォーマンスアラートを設定するには
パフォーマンスアラートを設定するには、以下の手順に従います。
1. リソースペインでホスト、仮想マシン、またはストレージリポジトリを選択して、[全般]タブの
[プロパティ]をクリックします。
2.[アラート]をクリックします。
• サーバーまたは仮想マシンの CPU 使用率パフォーマンスアラートが生成されるようにするに
は、[CPU 使用率アラートを有効にする]チェックボックスをオンにして、アラートを生成する
CPU の使用率と許容時間のしきい値を設定します。
• サーバーまたは仮想マシンのネットワーク使用量パフォーマンスアラートが生成されるように
するには、[ネットワーク使用量アラートを有効にする]チェックボックスをオンにして、アラ
ートを生成するネットワーク入出力の使用量と許容時間のしきい値を設定します。
• サーバーのメモリ使用量パフォーマンスアラートが生成されるようにするには、[メモリ使用量
アラートを有効にする]チェックボックスをオンにして、アラートを生成するメモリの使用量と
許容時間のしきい値を設定します。
• 仮想マシンのディスク使用量パフォーマンスアラートが生成されるようにするには、[ディスク
使用量アラートを有効にする]チェックボックスをオンにして、アラートを生成するディスク入
出力の使用量と許容時間のしきい値を設定します。
• ストレージリポジトリのスループットパフォーマンスアラートが生成されるようにするには、
[ストレージスループットアラートを有効にする]チェックボックスをオンにして、アラートを
生成するストレージスループットと許容時間のしきい値を設定します。
注:
144
物理ブロックデバイス(PBD:Physical Block Device)は、物理サーバーとストレ
ージリポジトリ間のインターフェイスです。PBD 上の読み取りおよび書き込み時
の総スループット量が指定のしきい値を超えると、その PBD が接続されているホス
ト上でアラートが生成されます。ほかの XenServer ホストアラートとは異なり、こ
のアラートはストレージリポジトリに対して設定します。
• アラートの送信間隔を変更するには、[アラートの送信間隔]ボックスに分単位で値を入力しま
す。しきい値に達してアラートが生成されると、送信間隔が経過するまでそのアラートは生成さ
れません。
3.[OK]をクリックして変更を保存します。
パフォーマンスアラートの表示、フィルタ、および重要度の設定方法については、XenCenter のオン
ライン ヘルプを参照してください。
9.2.1.2. XenCenter のシステムアラート
次の表は、システムアラートが生成されるときのシステムのイベントまたは状態の一覧です。システ
ムアラートは、XenCenter の[システムアラート]ウィンドウに表示されます。
名前
重要度
説明
license_expires_soon
2
XenServer のライセンスの有効期限が近
づいています。
ha-statefile_lost
2
高可用性のストレージリポジトリとの接続
が失われました。直ちに対処する必要があ
ります。
haheartbeat_approaching_timeout
5
高可用性のタイムアウトが近づいていま
す。直ちに対処しないとホストが再起動さ
れる可能性があります。
ha_statefile_approaching_timeout
5
高可用性のタイムアウトが近づいていま
す。直ちに対処しないとホストが再起動さ
れる可能性があります。
haxapi_healthcheck_approaching_ti
meout
5
高可用性のタイムアウトが近づいていま
す。直ちに対処しないとホストが再起動さ
れる可能性があります。
ha_network_bonding_error
3
サービスが失われる可能性があります。高
可用性のハートビートを送信するためのネ
ットワーク接続が失われました。
ha_pool_overcommited
3
サービスが失われる可能性があります。高
可用性で仮想マシンを保護できない可能性
があります。
ha_poor_drop_in_plan_exists_for
3
高可用性による保護が低下して失敗する可
能性が高くなりましたが、まだ損失はあり
ません。
ha_protected_vm_restart_failed
2
サービスが失われました。高可用性で保護
されている仮想マシンを再起動できません
でした。
ha_host_failed
3
高可用性でホスト障害が検出されました。
145
名前
重要度
説明
ha_host_was_fenced
4
仮想マシンの破損を防ぐため、高可用性に
よりホストが再起動されました。
redo_log_healthy
4
xapi の redo ログがエラーから回復しまし
た。
redo_log_broken
3
xapi redo ログでエラーが発生しました。
ip_configured_pif_can_unplug
3
高可用性使用時に IP 設定済みの NIC が
xapi によりアンプラグされ、高可用性に問
題が生じる可能性があります。
host_sync_data_failed
3
XenServer パフォーマンス測定値の同期
に失敗しました。
host_clock_skew_detected
3
ホストの時計設定がプール内のほかのホス
トと同期していません。
host_clock_went_backwards
1
ホストの時計設定が破損しています。
pool_master_transition
4
新しいホストがプールマスタとして選出さ
れました。
pbd_plug_failed_on_server_start
3
ホストの起動時にストレージとの接続に失
敗しました。
auth_external_init_failed
2
ホストで Active Directory による外部認証
に失敗しました。
auth_external_pool_nonhomogeneous
2
プールのホスト間で Active Directory によ
る外部認証設定が異なっています。
multipath_period_alert
3
ストレージリポジトリへのいずれかのパス
が切断または復元されました。
bond-status-changed
3
ボンディングを構成するいずれかのリンク
が切断または再接続されました。
9.2.1.3. XenCenter のソフトウェアアップデートアラート
アラート
説明
新 し い XenCenter が
使用可能
XenCenter の新しいバージョンが入手可能ですが、既存のバージョンで
も新しいバージョンの XenServer に接続できます。
XenCenter の 旧 バ ー
ジョン
XenCenter のバージョンが古いため新しいバージョンの XenServer に
接続できません。
XenServer の 旧 バ ー
ジョン
XenServer のバージョンが古いためこのバージョンの XenCenter で接
続できません。
ライセンスの期限切れ
XenServer ライセンスの有効期限が切れました。
不明な IQN
XenServer で iSCSI ストレージを使用していますがホストの IQN が空白
です。
146
アラート
説明
重複した IQN
XenServer で iSCSI ストレージを使用していますがホストの IQN が重複
しています。
9.2.2. xe CLI によるパフォーマンスアラートの設定
注:
アラートを生成するかどうかを 5 分未満の間隔でチェックすることはできません
(チェックによる過剰な負荷および障害の誤検出を防ぐため)。アラートのチェック
間隔として 5 分よりも小さい値を指定しても、アラートの生成は 5 分おきに行われ
ます。
パフォーマンスの監視機能である perfmon は 5 分おきに実行され、XenServer から 1 分間の平均パ
フォーマンスの情報を取得します。このデフォルト設定は、/etc/sysconfig/perfmon で変更できます。
perfmon ツールは、そのホスト上で実行されるパフォーマンス変数の更新を 5 分おきに読み取りま
す。これらの変数は、ホストおよびそのホスト上の仮想マシンごとにグループ化されます。perfmon
は、XenServer ホストおよび仮想マシンごとに other-config:perfmon パラメータの内容を読み取り、そ
のパラメータの値により監視すべき変数およびメッセージを生成すべき状況を決定します。
以下の例では、other-config:perfmon パラメータの XML 文字列で仮想マシンの CPU 使用率アラートを
設定しています。
xe vm-param-set uuid=<vm_uuid> other-config:perfmon=\
'<config>
<variable>
<name value="cpu_usage"/>
<alarm_trigger_level value="0.5"/>
</variable>
</config>'
注:
<variable>ノードを複数記述することも可能です。
有効な仮想マシンエレメント
name
変数の名前(デフォルト値なし)。値として cpu_usage、network_usage、または disk_usage を使用
する場合、デフォルトが適用されるため、rrd_regex および alarm_trigger_sense パラメータは不要で
す。
alarm_priority
生成するアラートの重要度(デフォルト値は 3)。
alarm_trigger_level
アラートを生成する値レベル(デフォルト値なし)。
alarm_trigger_sense
alarm_trigger_level が最大値の場合は high、最小値の場合は low(デフォルト値は high)。
alarm_trigger_period
値がしきい値に達した場合にアラートを送信するまでの秒数(デフォルト値は 60)。
alarm_auto_inhibit_period
アラート送信後にそのアラートを無効にしておく秒数(デフォルト値は 3600)。
147
consolidation_fn
rrd_updates からの変数の計算方法。cpu-usage のデフォルトは average、fs_usage のデフォ
ルトは get_percent_fs_usage、そのほかの変数では sum です。
rrd_regex
パフォーマンス値の計算に使用される、xe vm-data-sources-list uuid=<vm_uuid>コマン
ドで返される変数名にマッチする正規表現。このパラメータは、以下の名前付き変数のデフォル
ト値を持ちます。
• cpu_usage
• network_usage
• disk_usage
xe vm-data-source-list の正規表現にマッチするすべての値は、consolidation_fn で指定した方
法で計算されます。
有効なホストエレメント
name
変数の名前(デフォルト値なし)。
alarm_priority
生成するアラートの重要度(デフォルト値は 3)。
alarm_trigger_level
アラートを生成する値レベル(デフォルト値なし)。
alarm_trigger_sense
alarm_trigger_level が最大値の場合は high、最小値の場合は low(デフォルト値は high)。
alarm_trigger_period
値がしきい値に達した場合にアラートを送信するまでの秒数(デフォルト値は 60)。
alarm_auto_inhibit_period
アラート送信後にそのアラートを無効にしておく秒数(デフォルト値は 3600)。
consolidation_fn
rrd_updates からの変数の計算方法(デフォルト値は sum または average)。
rrd_regex
パフォーマンス値の計算に使用される、xe vm-data-source-list uuid=<vm_uuid>コマン
ドで返される変数名にマッチする正規表現。このパラメータは、以下の名前付き変数のデフォル
ト値を持ちます。
• cpu_usage
• network_usage
• memory_free_kib
• sr_io_throughput_total_xxxxxxxx(ここで xxxxxxxx はストレージリポジトリ UUID の最初
の 8 文字)
注:
ストレージリポジトリスループット:ストレージスループットアラートは、ホスト
ではなくストレージリポジトリを対象にして設定します。以下はその例です。
xe sr-param-set uuid=<sr_uuid> other-config:perfmon=\
'<config>
<variable>
<name value="sr_io_throughput_total_per_host"/>
<alarm_trigger_level value="0.01"/>
</variable>
</config>'
148
9.2.2.1. 一般的な設定例
以下は、一般的な設定の例です。
<config>
<variable>
<name value="NAME_CHOSEN_BY_USER"/>
<alarm_trigger_level value="THRESHOLD_LEVEL_FOR_ALARM"/>
<alarm_trigger_period value="RAISE_ALARM_AFTER_THIS_MANY_SECONDS_OF_BAD_VALUES"/>
<alarm_priority value="PRIORITY_LEVEL"/>
<alarm_trigger_sense value="HIGH_OR_LOW"/>
<alarm_auto_inhibit_period value="MINIMUM_TIME_BETWEEN_ALARMS_FROM_THIS_MONITOR"/>
<consolidation_fn value="FUNCTION_FOR_COMBINING_VALUES"/>
<rrd_regex value="REGULAR_EXPRESSION_TO_CHOOSE_DATASOURCE_METRIC"/>
</variable>
<variable>
...
</variable>
...
</config>
9.3. メールアラートを設定する
XenServer ホストでシステムアラートが生成されたときに、メールによる通知が送信されるように設
定できます。これを行うには、XenCenter または xe コマンドラインインターフェイス(CLI)を使用
します。
9.3.1. XenCenter を使用してアラートメールを有効にする
1. リソースペインでプールを右クリックして、[プロパティ]を選択します。
2.[プロパティ]ダイアログボックスで、[メールオプション]をクリックします。
3.[アラートをメールで送信する]チェックボックスをオンにして、送信先のメールアドレス、およ
び SMTP サーバーの詳細を入力します。
注:
ここで指定する SMTP サーバーは、認証が不要なものである必要があります。
9.3.2. xe CLI を使用してアラートメールを有効にする
重要:
XenCenter または xe CLI を使用してアラートメールを有効にする場合、認証が不
要な SMTP サーバーの詳細を指定する必要があります。認証が必要な SMTP サー
バーを指定すると、メールが送信されません。
これを行うには、次のコマンドを実行して、メールアドレスと SMTP サーバーを指定します。
xe pool-param-set uuid=<pool_uuid> other-config:mail-destination=<[email protected]>
xe pool-param-set uuid=<pool_uuid> other-config:ssmtp-mailhub=<smtp.domain.tld[:port]>
また、次のように、メールで送信するアラートの最低優先度(XenCenter では「重要度」と呼ばれま
す)を指定できます。
xe pool-param-set uuid=<pool_uuid> other-config:mail-max-priority=<level>
デフォルトの優先度は 4 です。
149
注:
一部の SMTP サーバーでは、完全修飾ドメイン名(FQDN)が指定されたメールだ
けが転送されます。メールが転送されない場合は、これが原因になっている可能性
があります。この場合、サーバーのホスト名を FQDN に設定し、メールサーバーで
それが使用されるように設定します。
9.3.2.1. 認証が必要な SMTP サーバーでアラートメールを送信する
XenServer の mail-alarm ユーティリティでは、sSMTP を使用してアラートメールを送信できます。
mail-alarm ユーティリティは、アラートメールを送信する前に、設定ファイル mail-alarm.conf をチェ
ックします。この設定ファイルが存在する場合は、その内容に基づいて sSMTP が構成されます。設
定ファイルが存在しない場合は、XAPI データベースに格納されている情報(XenCenter または xe
CLI で設定された情報)に基づいてアラートメールが送信されます。認証が必要な SMTP サーバーで
アラートメールを送信するには、以下の内容の mail-alarm.conf ファイルを/etc/に作成する必要があり
ます。
root=postmaster
authUser=<username>
authPass=<password>
mailhub=<server address>:<port>
注:
この設定ファイルは、XenServer ホストで生成されるすべてのシステムアラートで
使用されます。
9.3.2.1.1. そのほかの設定オプション
SMTP サーバーによっては、追加の設定が必要な場合があります。設定可能なオプションおよび構文
については、ssmtp.conf の man ページを参照してください。主な内容は以下のとおりです。
150
NAME
ssmtp.conf – ssmtp configuration file
DESCRIPTION
ssmtp reads configuration data from /etc/ssmtp/ssmtp.conf The file contains keyword-argument pairs, one per line. Lines starting with '#'
and empty lines are interpreted as comments.
The possible keywords and their meanings are as follows (both are caseinsensitive):
Root
The user that gets all mail for userids less than 1000. If blank,
address rewriting is disabled.
Mailhub
The host to send mail to, in the form host | IP_addr port [:
port]. The default port is 25.
RewriteDomain
The domain from which mail seems to come. For user authentication.
Hostname
The full qualified name of the host. If not specified, the host
is queried for its hostname.
FromLineOverride
Specifies whether the From header of an email, if any, may override the default domain. The default is "no".
UseTLS
Specifies whether ssmtp uses TLS to talk to the SMTP server.
The default is "no".
UseSTARTTLS
Specifies whether ssmtp does a EHLO/STARTTLS before starting SSL
negotiation. See RFC 2487.
TLSCert
The file name of an RSA certificate to use for TLS, if required.
AuthUser
The user name to use for SMTP AUTH. The default is blank, in
which case SMTP AUTH is not used.
AuthPass
The password to use for SMTP AUTH.
AuthMethod
The authorization method to use. If unset, plain text is used.
May also be set to "cram-md5".
9.4. カスタムフィールドとタグ
XenCenter では、仮想マシンやストレージなどをわかりやすく分類するためのタグやカスタムフィー
ルドを作成できます。詳しくは、XenCenter のオンラインヘルプを参照してください。
151
9.5. カスタム検索
XenCenter では、カスタムの検索条件を作成して保存できます。これらの検索条件をエクスポート/
インポートしたり、検索結果をリソースペインに表示したりできます。詳しくは、XenCenter のオン
ラインヘルプを参照してください。
9.6. 物理バスアダプタのスループットを確認する
ファイバチャネル、SAS、および iSCSI のホストバスアダプタ(HBA)では、以下の手順で PBD の
ネットワークスループットを確認できます。
PBD スループットを確認するには
1.
ホスト上の PBD のリストを出力します。
2.
どの LUN がどの PBD 上にルーティングされているかを確認します。
3.
各 PBD およびストレージリポジトリで、そのストレージリポジトリ上の VDI を参照している
VBD のリストを出力します。
4.
ホスト上の仮想マシンに接続されているすべてのアクティブな VBD について、総スループットを
算出します。
iSCSI および NFS ストレージでは、ネットワークの統計値を確認して、アレイでスループットのボト
ルネックが発生していないかどうか、PBD が飽和状態になっていないかを確認します。
152
第 10 章 トラブルシューティング
10.1. サポート
Citrix では、次の 2 種類のサポートを提供しています。Citrix サポート Web サイトで無料セルフヘル
プサポートを利用するか、このサイトからサポートサービスを購入できます。技術的な問題が発生し
た場合は、オンラインでサポートケースを登録したり、サポート担当者に電話したりできます。
Citrix Knowledge Center では、XenServer の問題解決に有用な情報が提供されています。ここで
は、製品のドキュメント、ナレッジベース、ホワイトペーパー、ディスカッションフォーラム、Hotfix
やそのほかのアップデートなどのリソースにアクセスできます。
この章では、XenServer ホストで技術的な問題が生じた場合の解決方法について説明します。また、
ここで解決できない問題を Citrix ソリューションプロバイダや Citrix に問い合わせる場合に必要な、
アプリケーションログの場所やそのほかの情報についても説明します。
インストールに関する問題とその解決方法については、『XenServer インストールガイド』を参照し
てください。また、仮想マシンに関連するトラブルシューティングについては、『XenServer 仮想マ
シンユーザーガイド』を参照してください。
重要:
この章で説明するトラブルシューティングを実行する場合には、Citrix ソリューシ
ョンプロバイダまたは Citrix テクニカルサポートのガイダンスに従うことをお勧め
します。
注:
デバッグ時に、ホストのシリアルコンソールへのアクセスが必要になることがあり
ます。このため、XenServer のセットアップ時にシリアルコンソールにアクセスで
きるように設定しておくことをお勧めします。ブレードサーバーなど、物理シリア
ルポートを搭載していないホストや、適切な物理インフラストラクチャを使用でき
ない環境では、Dell DRAC や HP iLO などの埋め込み管理デバイスを設定できるか
どうかを確認してください。シリアルコンソールへのアクセスの設定について詳し
くは、CTX123116『XenServer 上でトラブルシューティング用のシリアルケーブ
ル接続を設定する方法』を参照してください。
10.1.1. XenServer ホストのログ
XenServer ホストの情報を収集するには、XenCenter を使用できます。[ツール]メニューの[サー
バーの状態レポートの作成]を選択して、
[サーバーの状態レポート]ウィザードを開きます。このウ
ィザードでは、さまざまな種類の情報(各種ログ、クラッシュダンプなど)を一覧から選択してレポ
ートを作成できます。収集された情報は、XenCenter を実行しているコンピュータ上にダウンロード
されます。詳しくは、XenCenter のオンラインヘルプを参照してください。
さらに、XenServer ホストには、xen-bugtool ユーティリティを使用して、ログ出力やほかのシス
テム情報を簡単に照合できるいくつかのコマンドが用意されています。xe コマンド hostbugreport-upload を使用すると、該当するログファイルとシステム情報を収集して、Citrix サポー
ト FTP サイトにアップロードできます。このコマンドの詳細とオプションのパラメーターについて
は、A.4.9.4. 「host-bugreport-upload」を参照してください。Citrix サポートにクラッシュダンプ
の提出が要求された場合は、xe コマンド host-crashdump-upload を使用します。このコマンドの
詳細とオプションのパラメーターについては、A.4.9.6. 「host-crashdump-upload」を参照してく
ださい。
XenServer ホストのログに機密性の高い情報が書き込まれる場合があります。
153
デフォルトでは、サーバーログにはエラーと警告だけが書き込まれます。より詳しい情報が必要な場
合は、詳細ログを有効にできます。これを行うには、次の host-loglevel-set コマンドを使用しま
す。
host-loglevel-set log-level=level
ここで、level に詳細レベルを示す 0、1、2、3、または 4 を指定します(0 が最も詳細)。
各ログファイルはデフォルトで 20 世代までローテーションされ、logrotate コマンドは毎日実行さ
れます。
10.1.1.1. ホストのログメッセージを中央サーバーに送信する
ログをコントロールドメインのファイルシステムに書き込まず、リモートサーバーに書き込むように
XenServer ホストを設定できます。この場合、リモートサーバー上で、ログを受信して適切に集約す
る syslogd デーモンが実行されている必要があります。syslogd デーモンは Linux と UNIX の標準
的な機能で、Windows やそのほかのオペレーティングシステムで使用できるサードパーティ製のバ
ージョンもあります。
リモートサーバーにログを書き込むには
1.
次のコマンドを実行します。syslog_destination パラメータには、ログの書き込み先リモートサ
ーバーのホスト名またはI P アドレスを設定します。
xe host-param-set uuid=<xenserver_host_uuid> logging:syslog_destination=<hostname>
2.
次のコマンドを実行します。
xe host-syslog-reconfigure uuid=<xenserver_host_uuid>
これにより、変更内容が有効になります。このコマンドは、host パラメータを指定することで、
リモートから実行することもできます。
10.1.2. XenCenter ログ
XenCenter では、クライアント側のログも記録されます。このファイルには、XenCenter の使用中
の全操作とエラーの説明がすべて含まれます。また、実行されたさまざまな操作の監査記録になる、
イベントの情報ログも含まれます。XenCenter のログファイルは、プロファイルフォルダの次の場所
に格納されます。XenCenter を Windows XP 上にインストールした場合は、次のパスに格納されま
す。
%userprofile%\AppData\Citrix\XenCenter\logs\XenCenter.log
XenCenter を Windows Vista 上にインストールした場合は、次のパスに格納されます。
%userprofile%\AppData\Citrix\Roaming\XenCenter\logs\XenCenter.log
XenCenter のログファイルを開いたりメールで送信したりするときは、XenCenter で[ヘルプ]メ
ニューの[アプリケーションログファイルの表示]を選択し、ログファイルを表示します。
10.1.3. XenCenter と XenServer ホスト間の接続のトラブルシューティング
XenCenter で特定の XenServer ホストに接続できない場合は、以下の点を確認してください。
• XenCenter のバージョンが、接続先の XenServer ホストより古くないかどうか。
XenCenter には下位互換性があり、古いバージョンの XenServer ホストとは問題なく通信できま
すが、古い XenCenter で新しい XenServer ホストと通信することはできません。
この問題を修正するには、XenServer ホストのバージョンと同じ、またはより新しいバージョンの
XenCenter をインストールします。
154
• ライセンスが有効かどうか。
ライセスキーの有効期限は、XenCenter で XenServer ホストを選択して、
[全般]タブの[ライセ
ンス詳細]で確認できます。
また、ソフトウェアを Version 3.2.0 から最新のバージョンにアップグレードした場合は、新しい
ライセンスファイルを入手して適用する必要があります。
ライセンスについて詳しくは、『XenServer インストールガイド』の「XenServer のライセンス」
の章を参照してください。
• XenServer ホストは、ポート 443(XenAPI によるコマンドと応答の双方向接続)およびポート
5900(準仮想化 Linux 仮想マシンとのグラフィカル VNC 接続)上の HTTPS を介して XenCenter
に接続します。XenServer ホストと、クライアントソフトウェアが動作するコンピュータ間にファ
イアウォールを設定している環境では、これらのポートからのトラフィックを許可してください。
155
付録 A コマンドラインインターフェイ
ス
この章では、XenServer のコマンドラインインターフェイス(CLI)について説明します。xe CLI を
使用すると、システム管理タスクを自動化するスクリプトを記述して、XenServer を既存の IT イン
フラストラクチャに統合することができます。
xe コマンドラインインターフェイスは、XenServer ホストにデフォルトでインストールされ、
XenCenter にも含まれています。Linux の場合、スタンドアロンのリモート CLI も使用できます。
Windows の場合は、xe.exe CLI 実行ファイルが XenCenter と一緒にインストールされます。
Windows 上で CLI を使用するには、コマンドプロンプトを開き、CLI 実行ファイルのインストール
先ディレクトリ(デフォルトで C:\Program Files\Citrix\XenCenter)に変更するか、このパスをシステム
パスに追加します。
RPM ベースのディストリビューション(Red Hat や CentOS など)では、次のコマンドを実行して、
XenServer インストールメディアの xe-cli-6.00-@[email protected] という名前の RPM か
ら CLI 実行ファイルをインストールします。
rpm -ivh xe-cli-6.00-@[email protected]
ホスト上の CLI の基本ヘルプを表示するには、次のコマンドを実行します。
xe help command
使用頻度の高い xe コマンドの一覧を表示するには、次のコマンドを実行します。
xe help
また、すべての xe コマンドの一覧を表示するには、次のコマンドを実行します。
xe help --all
A.1. 基本構文
XenServer のすべての xe コマンドの基本構文は、次のとおりです。
xe <command-name> <argument=value> <argument=value> ...
各コマンドには、argument=value(引数=値)という形式で指定する引数のセットがあります。一部の
コマンドには必須の引数があり、多くのコマンドにはオプションの引数があります。通常、オプショ
ンの引数を指定せずにコマンドを実行すると、各引数のデフォルト値が適用されます。
xe コマンドをリモートで実行する場合、接続と認証用の追加の引数が必要になります。これらの引数
も、argument=value 形式で指定します。
server 引数では、コマンドの実行先のホスト名または IP アドレスを指定します。username 引数と
password 引数では、認証(ユーザー名とパスワード)情報を指定します。password-file 引数は、パス
ワードを直接入力する代わりに指定できます。この場合、指定したファイルからパスワードが読み取
られ(必要に応じてファイルの末尾から CR と LF が削除されます)、接続時に使用されます。これは、
パスワードをコマンドラインに直接入力するより安全です。
オプションの port 引数を使用して、リモートの XenServer のエージェントポート(デフォルトで
443)を指定できます。
例:ローカルの XenServer ホストに対するコマンド:
xe vm-list
156
例:リモートの XenServer ホストに対するコマンド:
xe vm-list -user <username> -password <password> -server <hostname>
リモート接続用の引数では、以下の省略構文も使用できます。
-u
username
-pw
password
-pwf
password-file
-p
port
-s
server
例:リモートの XenServer ホストに対するコマンド:
xe vm-list -u <myuser> -pw <mypassword> -s <hostname>
引数は環境変数 XE_EXTRA_ARGS から、コンマ区切りの「キー=値」形式で取得することもできま
す。たとえば、任意の XenServer ホスト上で次のコマンドを実行して、リモートの XenServer ホス
ト用のコマンドで使用する環境変数を定義できます(ただしこの定義は永続的でなく、ホストを再起
動すると削除されます)。
export XE_EXTRA_ARGS="server=jeffbeck,port=443,username=root,password=pass"
このコマンドにより環境変数が設定されるため、接続と認証用の引数を追加しなくてもリモートの
XenServer ホストにコマンドを実行できるようになります。
また、環境変数 XE_EXTRA_ARGS を使用すると、リモートの XenServer ホストに xe コマンドを実
行するときに、Tab キーによる自動補完機能を使用できるようになります。この機能はデフォルトで
無効になっています。
A.2. 特殊文字と構文
xe コマンドで引数およびその値を指定するには、以下の形式を使用します。
argument=value
値にスペースが含まれている場合を除き、引用符を使用しないでください。また、引数名、等号(=)、
および値の間にスペースを挿入しないでください。この形式に従っていない引数はすべて無視されま
す。
値にスペースが含まれる場合は、以下の形式を使用します。
argument="value with spaces"
XenServer ホストにログインして CLI を使用する場合、標準的な Linux bash シェルに類似した、Tab
キーによる自動補完機能を使用できます。たとえば、xe vm-l と入力してから Tab キーを押すと、コ
マンドの残りの部分が補完されます。ただし、vm-l で始まるコマンドが複数ある場合は、Tab キーを
もう 1 回押すと、それらのコマンドが一覧表示されます。これは、コマンド内でオブジェクトの UUID
を指定する場合に特に便利です。
注:
リモートの XenServer ホストに対してコマンドを実行する場合、この自動補完機能
は無効です。ただし、ローカルホスト上で XE_EXTRA_ARGS という環境変数にリ
モートホスト用のホスト名、ユーザー名、およびパスワードを定義しておくと、Tab
157
キーによる自動補完機能を使用できるようになります。詳しくは、A.1. 「基本構
文」を参照してください。
A.3. コマンドの種類
xe コマンドは、API オブジェクトのリスト取得とパラメータ操作に関係する低レベルコマンドと、仮
想マシンやホストとより抽象的に対話する高レベルコマンドの 2 種類に分けることができます。低レ
ベルコマンドは、以下のとおりです。
• <class>-list
• <class>-param-get
• <class>-param-set
• <class>-param-list
• <class>-param-add
• <class>-param-remove
• <class>-param-clear
ここで、<class>は以下のいずれかです。
• bond
• console
• host
• host-crashdump
• host-cpu
• network
• patch
• pbd
• pif
• pool
• sm
• sr
• task
• template
• vbd
• vdi
• vif
• vlan
• vm
これらの<class>値ですべての<class>-param-コマンドを使用できるわけではありません。
A.3.1. パラメータの種類
xe コマンドで操作するオブジェクトには、それを識別したり状態を定義したりするためのパラメータ
セットがあります。
ほとんどのパラメータでは、1 つの値を取ります。たとえば、仮想マシンの name-label パラメータで
は、1 つの文字列値を指定します。xe vm-param-list など、パラメータのリストを取得するコマン
158
ドの出力では、かっこ内にパラメータの読み取りと書き込みが可能なのか、読み取り専用なのかが示
されます。たとえば、仮想マシンに対する xe vm-param-list コマンドによる出力には、以下の行
が含まれます。
user-version ( RW): 1
is-control-domain ( RO): false
1 つ目のパラメータ user-version は書き込み可能であり、値は 1 です。2 つ目の is-control-domain は読
み取り専用で、値は false です。
パラメーターにはこのほかにも 2 つの種類があり、これらは複数の値を取ります。set パラメーター
には、値の一覧が含まれます。map パラメーターには、キー/値ペアのセットが含まれます。たとえ
ば、仮想マシンに対する xe vm-param-list コマンドによる出力には、以下の行が含まれます。
platform (MRW): acpi: true; apic: true; pae: true; nx: false
allowed-operations (SRO): pause; clean_shutdown; clean_reboot; \
hard_shutdown; hard_reboot; suspend
platform パラメータには、キー/値ペアを表す項目のリストがあります。キー名の後にはコロン文字
(:)が付きます。キー/値の各ペアは、セミコロン文字(;)で区切られます。MRW の M はマップパ
ラメータであるこを示し、RW は読み取りと書き込みが可能であることを示します。allowedoperations パラメータには、項目セットを構成するリストがあります。SRO の S はセットパラメータ
であることを示し、RO は読み取り専用であることを示します。
xe コマンドでマップパラメーターをフィルタする、つまりマップパラメーターを設定する場合は、区
切り文字のコロン(:)をマップパラメーター名と「キー/値」ペアの間に挿入します。たとえば、仮
想マシンの other-config パラメータの foo キーの値を baa に設定する場合、コマンドは次のようになり
ます。
xe vm-param-set uuid=<VM uuid> other-config:foo=baa
注:
以前のバージョンでは、マップパラメータを指定する区切り文字としてダッシュ
(-)が使用されていました。このバージョンでも従来の構文を使用できますが、将
来廃止予定です。
A.3.2. 低レベルパラメータコマンド
オブジェクトのパラメーターを操作するには、次のいくつかのコマンドを使用します。<class>param-get、<class>-param-set、<class>-param-add、<class>-param-remove、<class>param-clear、および<class>-param-list。これらのコマンドは、特定のオブジェクトを指定する
uuid パラメータを取ります。これらは低レベルのコマンドであるため、仮想マシンの名前ではなく、
UUID を指定する必要があります。
<class>-param-list uuid=<uuid>
すべてのパラメータとその値のリストを出力します。class-list コマンドとは異なり、expensive
フィールドの値のリストが出力されます。
<class>-param-get uuid=<uuid> param-name=<parameter> [param-key=<key>]
特定のパラメータの値を返します。マップパラメータの場合、param-key を指定すると、マップ
のキーに対応する値が取得されます。param-key を指定しない場合、またはパラメータがセット
の場合は、セットまたはマップの文字列表現を返します。
<class>-param-set uuid=<uuid> param=<value>...
1 つまたは複数のパラメータの値を設定します。
159
<class>-param-add uuid=<uuid> param-name=<parameter> [<key>=<value>...] [paramkey=<key>]
マップまたはセットパラメータに値を追加します。マップパラメータの場合は、
<key>=<value>構文を使用してキー/値ペアを追加します。セットパラメータの場合は、
<param-key>=<key>構文を使用してキーを追加します。
<class>-param-remove uuid=<uuid> param-name=<parameter> param-key=<key>
マップパラメータのキー/値ペアまたはセットパラメータのキーを削除します。
<class>-param-clear uuid=<uuid> param-name=<parameter>
セットまたはマップを完全にクリアします。
A.3.3. 低レベルリストコマンド
<class>-list コマンドでは、<class>で指定する種類のオブジェクトのリストが出力されます。デフ
ォルトでは、すべてのオブジェクトのリストと、パラメータのサブセットが出力されます。このデフ
ォルトの動作を変更して、オブジェクトをフィルタしてサブセットのみを出力したり、出力されるパ
ラメータを変更したりできます。
出力されるパラメーターを変更するには、必要なパラメーターのコンマ区切り一覧として引数
params を指定する必要があります。以下はその例です。
xe vm-list params=name-label,other-config
すべてのパラメータのリストを出力するには、次の構文を使用します。
xe vm-list params=all
計算のために多くのリソースを消費するパラメータは、list コマンドで表示されない場合があります。
この場合、そのパラメータは次のように示されます。
allowed-VBD-devices (SRO): <expensive field>
これらのフィールドを取得するには、<class>-param-list コマンドまたは<class>-param-get コマ
ンドを使用します。
特定のパラメータ値を持つオブジェクトだけを出力する(つまりリストをフィルタする)には、その
パラメータおよび値をコマンドラインで指定します。以下はその例です。
xe vm-list HVM-boot-policy="BIOS order" power-state=halted
この例では、power-state フィールドに値 halted を持ち、さらに HVM-boot-policy フィールドに値 BIOS
order を持つ仮想マシンだけが出力されます。
マップのキーの値、またはセットに値が存在するかどうかを指定してリストをフィルタすることもで
きます。マップのキーの値を指定する場合は map-name:key=value、セットに値が存在するかど
うかを指定する場合は set-name:contains=value という構文を使用します。
スクリプトを作成する場合は、コマンドラインに--minimal を渡すことで、最初のフィールドだけをコ
ンマ区切りで出力することができます。たとえば、3 つの仮想マシンがインストールされた
XenServer ホスト上で xe vm-list --minimal を実行すると、次のように 3 つの仮想マシンの UUID
がコンマ区切りで出力されます。
a85d6717-7264-d00e-069b-3b1d19d56ad9,aaa3eec5-9499-bcf3-4c03-af10baea96b7, \
42c044de-df69-4b30-89d9-2c199564581d
A.4. xe コマンドリファレンス
ここでは、各 xe コマンドの機能と、指定可能なパラメータ、構文などについて説明します。コマンド
の対象オブジェクトごとに、アルファベット順に説明します。
160
A.4.1. アプライアンスコマンド
vApp とも呼ばれる仮想アプライアンス(appliance オブジェクト)を作成または変更します。vApp
について詳しくは、『XenServer 仮想マシンユーザーガイド』を参照してください。
A.4.1.1. appliance オブジェクトのパラメータ
appliance オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
アプライアンスの UUID
必須
name-description
アプライアンスの説明文字列
オプショ
ン
paused
force
オプショ
ン
強制シャットダウン
オプショ
ン
A.4.1.2. appliance-assert-can-be-recovered
appliance-assert-can-be-recovered uuid=<appliance-uuid> database:vdi-uuid=<vdi-uuid>
この仮想アプライアンス/vApp を回復するためのストレージが使用可能かどうかをテストします。
A.4.1.3. appliance-create
appliance-create name-label=<name-label> [name-description=<name-description>]
仮想アプライアンス/vApp を作成します。以下はその例です。
xe appliance-create name-label=my_appliance
アプライアンスに仮想マシンを追加します。
xe vm-param-set uuid=<VM-UUID> appliance=<appliance-uuid> \
xe vm-param-set uuid=<VM-UUID> appliance=<appliance-uuid>
A.4.1.4. appliance-destroy
appliance-destroy uuid=<appliance-uuid>
仮想アプライアンス/vApp を破棄します。以下はその例です。
xe appliance-destroy uuid=<appliance-uuid>
A.4.1.5. appliance-recover
appliance-recover uuid=<appliance-uuid> database:vdi-uuid=<vdi-uuid> [paused=<true|
false>]
指定した VDI のデータベースから仮想アプライアンス/vApp を回復します。
A.4.1.6. appliance-shutdown
appliance-shutdown uuid=<appliance-uuid> [force=<true|false>]
仮想アプライアンス/vApp のすべての仮想マシンをシャットダウンします。以下はその例です。
161
xe appliance-shutdown uuid=<appliance-uuid>
A.4.1.7. appliance-start
appliance-start uuid=<appliance-uuid> [paused=<true|false>]
仮想アプライアンス/vApp を起動します。以下はその例です。
xe appliance-start uuid=<appliance-uuid>
A.4.2. 監査コマンド
リソースプールの RBAC 監査ファイルのすべての記録をファイルとしてダウンロードします。オプ
ションの since パラメータを指定すると、その日時以降の記録のみがダウンロードされます。
A.4.2.1. audit-log-get コマンドのパラメータ
audit-log-get コマンドには、以下のパラメータがあります。
パラメータ名
説明
種類
filename
プールの監査ログを<filename>で指定するファイルに書き
込みます
必須
since
特定の日時以降の記録のみをダウンロードします
オプショ
ン
A.4.2.2. audit-log-get
audit-log-get [since=<timestamp>] filename=<filename>
指定した日時(ミリ秒単位)以降の監査ログをダウンロードします。
次のコマンドを実行します。
xe audit-log-get since=2009-09-24T17:56:20.530Z \
filename=/tmp/auditlog-pool-actions.out
A.4.3. ボンディングコマンド
物理インターフェイスのフェイルオーバーを提供するネットワークボンディング(bond オブジェク
ト)を管理します。詳しくは、4.4.5. 「スタンドアロンホストで NIC ボンディングを作成する」を参
照してください。
bond オブジェクトは、master と member の PIF を結合する参照オブジェクトです。master PIF
は、bond オブジェクトを参照するために総体的な PIF として使用されるボンディングインターフェ
イスです。member PIF は、2 つ以上の物理インターフェイスのセットであり、高レベルのボンディ
ングインターフェイスとして結束されています。
A.4.3.1. bond オブジェクトのパラメータ
bond オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
ボンディングの一意の識別子/オブジェ
クト参照
読み取り専用
162
パラメータ名
説明
種類
master
ボンドマスタ PIF の UUID
読み取り専用
members
ボンディングを構成する PIF の UUID
のセット
読み取り専用のセットパラメ
ータ
A.4.3.2. bond-create
bond-create network-uuid=<network_uuid> pif-uuids=<pif_uuid_1,pif_uuid_2,...>
既存の PIF オブジェクトをリストで指定して、指定したネットワーク上にボンディングネットワーク
インターフェイスを作成します。ただし、指定した PIF が別のボンディングで使用されていたり、
VLAN タグが設定されていたり、同じ XenServer ホスト上に存在しなかったり、または 2 つ以上の
PIF が指定されていなかったりする場合、このコマンドは失敗します。
A.4.3.3. bond-destroy
host-bond-destroy uuid=<bond_uuid>
UUID で指定したボンディングインターフェイスを XenServer ホストから削除します。
A.4.4. CD コマンド
XenServer ホスト上の物理 CD/DVD ドライブ(cd オブジェクト)を操作します。
A.4.4.1. cd オブジェクトのパラメータ
cd オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
CD の一意の識別子/オブジェクト参照
読み取り専用
name-label
CD の名前
読み取り/書き込み
name-description
CD の説明文字列
読み取り/書き込み
allowed-operations
この CD 上で実行できる操作のリスト
読み取り専用のセットパラメ
ータ
current-operations
この CD 上で現在処理中の操作のリス
ト
読み取り専用のセットパラメ
ータ
sr-uuid
この CD が属しているストレージリポ
ジトリの一意の識別子/オブジェクト参
照
読み取り専用
sr-name-label
この CD が属しているストレージリポ
ジトリの名前
読み取り専用
vbd-uuids
この CD に接続している仮想マシン上
の VBD の一意の識別子のリスト
読み取り専用のセットパラメ
ータ
crashdump-uuids
クラッシュダンプを CD に書き込むこ
とはできないため使用されない
読み取り専用のセットパラメ
ータ
163
パラメータ名
virtual-size
説明
種類
仮想マシンに表示された CD のサイズ
(バイト数)
読み取り専用
physical-utilisation
ストレージリポジトリ上での CD イメ
ージの物理スペース(バイト数)
読み取り専用
type
CD の種類は User に設定される
読み取り専用
sharable
CD ドライブが共有可能かどうか。デフ
ォルトは false
読み取り専用
read-only
CD が読み取り専用かどうか。false の
場 合 は 書 き 込 み 可 能 。 CD で は 常 に
true
読み取り専用
storage-lock
ディスクがストレージレベルでロック
されている場合に true
読み取り専用
parent
この CD がチェーンの一部である場合
は、親ディスクへの参照
読み取り専用
missing
ストレージリポジトリのスキャン操作
によりこの CD がディスク上に存在し
ないと認識された場合に true
読み取り専用
other-config
CD の追加設定パラメータを指定するキ
ー/値ペアのリスト
読み取り/書き込み可のマップ
パラメータ
location
このデバイスがマウントされているパ
ス
読み取り専用
managed
このデバイスが管理されている場合に
true
読み取り専用
xenstore-data
xenstore ツリーに挿入されるべきデー
タ
読み取り専用のマップパラメ
ータ
sm-config
ストレージマネージャデバイス設定キ
ーの名前と説明
読み取り専用のマップパラメ
ータ
is-a-snapshot
このテンプレートが CD スナップショ
ットの場合に true
読み取り専用
snapshot_of
このテンプレートのスナップショット
元の CD の UUID
読み取り専用
snapshots
この CD から作成されたすべてのスナ
ップショットの UUID
読み取り専用
snapshot_time
スナップショット作成日時
読み取り専用
A.4.4.2. cd-list
cd-list [params=<param1,param2,...>] [parameter=<parameter_value>...]
XenServer ホストまたはリソースプール上の CD と ISO(CD イメージファイル)のリストを、オプ
ションの引数 params に基づいてフィルタして出力します。
164
オプションの引数 params を使用して特定のパラメータ値を持つオブジェクトだけを出力する(つまり
リストをフィルタする)場合は、そのオブジェクトのパラメータのリストを含む文字列を値として指
定します。または、キーワード all を指定してすべてのパラメータのリストを出力することもできま
す。params を使用しない場合、使用可能なすべてのパラメータのうち、デフォルトのサブセットが出
力されます。
オプションの引数には、「cd オブジェクトのパラメータ」から任意の数を指定できます。
A.4.5. コンソールコマンド
コンソール(console オブジェクト)を操作します。
console オブジェクトのリストは、標準オブジェクトリストコマンド(xe console-list)を使用して
出力でき、パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レ
ベルパラメータコマンド」を参照してください。
A.4.5.1. console オブジェクトのパラメータ
console オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
コンソールの一意の識別子/オブジェク
ト参照
読み取り専用
vm-uuid
このコンソールを開いている VM の一
意の識別子/オブジェクト参照
読み取り専用
vm-name-label
このコンソールを開いている VM の名
前
読み取り専用
protocol
このコンソールが使用するプロトコル。 読み取り専用
vt100:VT100 ターミナル、rfb:Remote
FrameBuffer プ ロ ト コ ル ( VNC で 使
用 )、 ま た は rdp : Remote Desktop
Protocol(RDP)のいずれか
location
このコンソールのサービスの URI
読み取り専用
other-config
このコンソールの追加設定パラメータ
を指定するキー/値ペアのリスト
読み取り/書き込み可のマップ
パラメータ
A.4.6. 障害回復(DR)コマンド
障害発生時に仮想マシンを回復します。
A.4.6.1. drtask-create
drtask-create type=<type> sr-whitelist=<sr-white-list> device-config=<device-config>
障害回復タスクを作成します。たとえば、障害回復の準備タスクとして特定の iSCSI ストレージリポ
ジトリに接続するには、次のコマンドを実行します。
xe dr-task-create type=lvmoiscsi device-config:target=<target-ip-address> \
device-config:targetIQN=<targetIQN> device-config:SCSIid=<SCSIid> \
sr-whitelist=<sr-uuid-list>
注:
165
sr-whitelist にストレージリポジトリの UUID リストを指定しますが、そのうちの
1 つのストレージリポジトリのみが drtask-create によりイントロデュース/接続
されます。
A.4.6.2. drtask-destroy
drtask-destroy uuid=<dr-task-uuid>
障害回復タスクを破棄してストレージリポジトリの接続を消去します。
A.4.6.3. vm-assert-can-be-recovered
vm-assert-can-be-recovered uuid=<vm-uuid> database:vdi-uuid=<vdi-uuid>
特定の仮想マシンを回復するためにストレージを使用できるかどうかをテストします。
A.4.6.4. appliance-assert-can-be-recovered
appliance-assert-can-be-recovered uuid=<appliance-uuid> database:vdi-uuid=<vdi-uuid>
仮想アプライアンス/vApp ディスクを格納しているストレージが使用可能かどうかをチェックしま
す。
A.4.6.5. appliance-recover
appliance-recover uuid=<appliance-uuid> database:vdi-uuid=<vdi-uuid> [force=<true|
false>]
指定した VDI のデータベースから仮想アプライアンス/vApp を回復します。
A.4.6.6. vm-recover
vm-recover uuid=<vm-uuid> database:vdi-uuid=<vdi-uuid> [force=<true|false>]
指定した VDI のデータベースから仮想マシンを回復します。
A.4.6.7. sr-enable-database-replication
sr-enable-database-replication uuid=<sr_uuid>
指定した(共有)ストレージリポジトリへの xapi データベースの複製を有効にします。以下はその例
です。
xe sr-enable-database-replication uuid=<sr-uuid>
A.4.6.8. sr-disable-database-replication
sr-disable-database-replication uuid=<sr_uuid>
指定したストレージリポジトリへの xapi データベースの複製を無効にします。以下はその例です。
xe sr-enable-database-replication uuid=<sr-uuid>
A.4.6.9. 使用例
ここでは、障害回復コマンドの使用例を順に挙げます。
プライマリサイトで、データベースの複製を有効にします。
xe sr-database-replication uuid=<sr=uuid>
166
プライマリサイトでの障害発生時に、セカンダリサイトでストレージリポジトリに接続します
(device-config は sr-probe と同じフィールドを持つ点に注意してください)。
xe drtask-create type=lvmoiscsi \
device-config:target=<target ip address> \
device-config:targetIQN=<target-iqn> \
device-config:SCSIid=<scsi-id> \
sr-whitelist=<sr-uuid>
ストレージリポジトリ上のデータベース VDI を見つけます。
xe vdi-list sr-uuid=<sr-uuid> type=Metadata
データベース VDI から仮想マシンを照会します。
xe vm-list database:vdi-uuid=<vdi-uuid>
仮想マシンを回復します。
xe vm-recover uuid=<vm-uuid> database:vdi-uuid=<vdi-uuid>
障害回復タスクを破棄し、このタスクによりイントロデュースされ、かつ仮想マシンにより使用され
ないすべてのストレージリポジトリを破棄します。
xe drtask-destroy uuid=<drtask-uuid>
A.4.7. イベントコマンド
イベント(event オブジェクト)を操作します。
A.4.7.1. event オブジェクトのクラス
event オブジェクトには、以下のクラスがあります。
クラス名
説明
pool
物理ホストのリソースプール
vm
仮想マシン
host
物理ホスト
network
仮想ネットワーク
vif
仮想ネットワークインターフェイス
pif
物理ネットワークインターフェイス(NIC に関連付けられた各 VLAN は個別の
PIF として表されます)
sr
ストレージレポジトリ
vdi
仮想ディスクイメージ
vbd
仮想ブロックデバイス
pbd
ホストがストレージリポジトリへのアクセスに使用する物理ブロックデバイス
A.4.7.2. event-wait
event-wait class=<class_name> [<param-name>=<param_value>] [<param-name>=/
=<param_value>]
167
このコマンドで指定した条件を満たすオブジェクトが存在するようになるまで、ほかのコマンドの実
行をブロックします。x=y は「フィールド x の値が y になるまで待機する」、x=/=y は、
「フィールド x
の値が y 以外になるまで待機する」を意味します。
例:特定の仮想マシンが実行状態になるまで待機する場合は、次のコマンドを実行します。
xe event-wait class=vm name-label=myvm power-state=running
このコマンドでは、myvm という名前の仮想マシンの power-state が「running」になるまで、ほかの
コマンドの実行をブロックします。
例:特定の仮想マシンが再起動するまで待機する場合は、次のコマンドを実行します。
xe event-wait class=vm uuid=$VM start-time=/=$(xe vm-list uuid=$VM
params=start-time --minimal)
このコマンドでは、UUID が$VM の仮想マシンが再起動(つまり異なる start-time 値を持つ)するま
で、ほかのコマンドの実行をブロックします。
このコマンドでは、event オブジェクトのクラスのすべてのクラスを使用できます。また、パラメー
ターは、class-param-list コマンドで出力されるすべてのパラメーターを使用できます。
A.4.8. GPU コマンド
物理 GPU(pgpu)、GPU グループ(gpu-group)、および仮想 GPU(vgpu)を操作します。
GPU オブジェクトのリストは、標準オブジェクトリストコマンド(xe pgpu-list、xe gpu-grouplist、および xe vgpu-list)を使用して出力でき、パラメータは標準パラメータコマンドを使用して
操作できます。詳しくは、A.3.2. 「低レベルパラメータコマンド」を参照してください。
A.4.8.1. pgpu オブジェクトのパラメータ
pgpu オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
物理 GPU の一意の識別子/
オブジェクト参照
読み取り専用
vendor-name
物理 GPU ベンダの名前
読み取り専用
device-name
ベンダが物理 GPU モデルに
割り当てた名前
読み取り専用
gpu-group-uuid
この物理 GPU が割り当てら 読み取り専用
れた GPU グループの一意の
識別子/オブジェクト参照。
プール内のすべてのホスト
上 の 同 一 物 理 GPU が
XenServer により自動的に
グループ化されます
gpu-group-name-label
この物理 GPU が割り当てら
れた GPU グループの名前
読み取り専用
host-uuid
この物理 GPU が接続してい
る XenServer ホストの一意
の識別子/オブジェクト参照
読み取り専用
168
パラメータ名
説明
種類
host-name-label
この物理 GPU が接続してい
る XenServer ホストの名前
読み取り専用
pci-id
PCI 識別子
読み取り専用
dependencies
同一仮想マシンにパススル
ーされる依存 PCI デバイス
のリスト
読み取り/書き込み可のマッ
プパラメータ
other-config
物理 GPU の追加設定パラメ
ータを指定するキー/値ペア
のリスト
読み取り/書き込み可のマッ
プパラメータ
supported-VGPU-types
ハードウェアでサポートさ
れる仮想 GPU の一覧
読み取り専用
enabled-VGPU-types
この物理 GPU で有効な仮想
GPU の一覧
読み取り/書き込み
resident-VGPUs
この物理 GPU で実行中の仮
想 GPU の一覧
読み取り専用
A.4.8.2. 物理 GPU の操作
物理 GPU グループを操作するコマンド
A.4.8.2.1. pgpu-param-set
pgpu-param-set uuid=<uuid_of_pgpu> gpu-group-uuid=<uuid_of_destination_group>
物理 GPU を別の GPU グループに移動します。移動先のグループに、仮想 GPU を使用している実行
中の仮想マシンが存在する場合は使用できません。
A.4.8.2.2. pgpu-param-get-uuid
pgpu-param-get-uuid uuid=<uuid_of_pgpu> param-name=<supported-vGPU-types|enabledvGPU-types>
この物理 GPU でサポートされるかまたは有効な仮想 GPU を表示します。
A.4.8.2.3. pgpu-param-set-uuid
pgpu-param-set-uuid uuid=<uuid_of_pgpu> enabled_VGPUtypes=<comand_separated_list_of_vgpu_type_uuids>
この種類の物理 GPU で有効な仮想 GPU のセットを変更します。
A.4.8.2.4. pgpu-param-add-uuid
pgpu-param-add-uuid uuid=<uuid_of_pgpu> param-name=<enabled_vgpu_types> paramkey=<uuid_of_vgpu>
この物理 GPU で仮想 GPU を有効にします。
A.4.8.3. gpu-group オブジェクトのパラメータ
gpu-group オブジェクトには、以下のパラメータがあります。
169
パラメータ名
説明
種類
uuid
GPU グループの一意の識別
子/オブジェクト参照
読み取り専用
name-label
GPU グループの名前
読み取り/書き込み
name-description
GPU グループの説明文字列
読み取り/書き込み
VGPU-uuids
GPU グループ内の仮想 GPU
の一意の識別子/オブジェク
ト参照のリスト
読み取り専用のセットパラ
メータ
PGPU-uuids
GPU グループ内の物理 GPU
の一意の識別子/オブジェク
ト参照のリスト
読み取り専用のセットパラ
メータ
other-config
GPU グループの追加設定パ
ラメータを指定するキー/値
ペアのリスト
読み取り/書き込み可のマッ
プパラメータ
supported-VGPU-types
ハードウェアでサポートさ
れるすべての仮想 GPU の一
覧
読み取り専用
enabled-VGPU-types
物理 GPU で有効なすべての
仮想 GPU の一覧
読み取り専用
allocation-algorithm
グループ内の物理 GPU に割
り当てられた仮想 GPU の深
さ優先/幅優先設定
読み取り/書き込み可の
enum パラメーター
A.4.8.3.1. GPU グループの操作
GPU グループを操作するコマンド
A.4.8.3.1.1. gpu-group-create
gpu-group-create name-label=<name_for_group> [name-description=<description>]
物理 GPU が移動できる新規(空の)GPU グループを作成します。
A.4.8.3.1.2. gpu-group-destroy
gpu-group-destroy uuid=<uuid_of_group>
GPU グループを破棄します。対象は空のグループのみです。
A.4.8.3.1.3. gpu-group-get-remaining-capacity
gpu-group-get-remaining-capacity uuid=<uuid_of_group> vgpu-typeuuid=<uuid_of_vgpu_type>
GPU グループでインスタンス化できる、指定した種類の仮想 GPU の数を返します。
A.4.8.3.1.4. gpu-group-param-set
gpu-group-param-set uuid=<uuid_of_group> allocation-algorithm=<breadth-first|depth-first>
仮想 GPU を物理 GPU に割り当てるときの GPU グループの割り当てアルゴリズムを変更します。
170
A.4.8.3.1.5. gpu-group-param-get-uuid
gpu-group-param-get-uuid uuid=<uuid_of_group> param-name=<supported-vGPU-types|
enabled-vGPU-types>
この GPU グループでサポートされるかまたは有効な種類を返します。
A.4.8.4. vgpu オブジェクトのパラメータ
vgpu オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
仮想 GPU の一意の識別子/
オブジェクト参照
読み取り専用
vm-uuid
この仮想 GPU が割り当てら
れた仮想マシンの一意の識
別子/オブジェクト参照
読み取り専用
vm-name-label
この仮想 GPU が割り当てら
れた仮想マシンの名前
読み取り専用
gpu-group-uuid
この仮想 GPU を含んでいる
GPU グループの一意の識別
子/オブジェクト参照
読み取り専用
gpu-group-name-label
この仮想 GPU を含んでいる
GPU グループの名前
読み取り専用
currently-attached
GPU パススルーが有効な仮
想マシンで true、それ以外は
false
読み取り専用
other-config
この仮想 GPU の追加設定パ
ラメータを指定するキー/値
ペアのリスト
読み取り/書き込み可のマッ
プパラメータ
type-uuid
この仮想 GPU の種類に対す
る一意の識別子/オブジェク
ト参照
読み取り/書き込み可のマッ
プパラメータ
type-model-name
仮想 GPU に関連付けられて
いるモデル名
読み取り専用
A.4.8.5. 仮想 GPU(vGPU)のパラメーター
注:
仮想 GPU および GPU パススルー機能は、XenMotion、ストレージ XenMotion、お
よび仮想マシンの一時停止に対応していません。ただし、GPU パススルー機能また
は仮想 GPU を使用した仮想マシンは、適切なリソースを備えたホストから起動でき
ます。
仮想 GPU には、以下のパラメーターがあります。
171
パラメーター名
説明
種類
uuid
仮想 GPU の一意の識別子/オ
ブジェクト参照
読み取り専用
vendor-name
仮想 GPU のベンダー名
読み取り専用
model-name
仮想 GPU に関連付けられてい
るモデル名
読み取り専用
framebuffer-size
仮想 GPU のフレームバッファ
ーサイズ(バイト数)
読み取り専用
max-heads
仮想 GPU でサポートされるデ
ィスプレイの最大数
読み取り専用
supported-on-PGPUs
この仮想 GPU をサポートする
物理 GPU の一覧
読み取り専用
enabled-on-PGPUs
こ の 仮 想 GPU が 有 効 な 物 理
GPU の一覧
読み取り専用
VGPU-uuids
この種類の仮想 GPU の一覧
読み取り専用
A.4.8.6. 仮想 GPU の操作
A.4.8.6.1. vgpu-create
vgpu-create vm-uuid=<uuid_of_vm> gpu_group_uuid=<uuid_of_gpu_group> [vgpu-typeuuid=<uuid_of_vgpu-type>]
仮想 GPU を作成します。仮想マシンを指定した GPU グループに接続し、必要に応じて仮想 GPU の
種類を指定します。種類を指定しない場合は、「パススルー」が割り当てられます。
A.4.8.6.2. vgpu-destroy
vgpu-destroy uuid=<uuid_of_vgpu>
指定した仮想 GPU を破棄します。
A.4.8.6.3. 仮想 GPU を持つ仮想マシンの VNC の無効化
xe vm-param-add uuid=<uuid_of_vm>param-name=platform vgpu_vnc_enabled=<true|false>を使用します。
false を指定すると、disablevnc=1 がディスプレイエミュレーターに渡され、仮想マシンの VNC が無効
にされます。デフォルトでは、VNC は有効になっています。
A.4.9. ホストコマンド
XenServer ホスト(host オブジェクト)を操作します。
XenServer ホストとは、XenServer ソフトウェアを実行している物理サーバーを指します。これらの
サーバー上では仮想マシンが実行され、コントロールドメインまたはドメイン 0 と呼ばれる特殊な権
限を持つ仮想マシンにより制御されます。
host オブジェクトのリストは、標準オブジェクトリストコマンド(xe host-list、xe host-cpulist、および xe host-crashdump-list)を使用して出力でき、パラメータは標準パラメータコマン
ドを使用して操作できます。詳しくは、A.3.2. 「低レベルパラメータコマンド」を参照してくださ
い。
172
A.4.9.1. host オブジェクトセレクタ
ここで説明する多くのコマンドでは、以下の標準的な方法で 1 つまたは複数の XenServer ホストを
操作対象として指定します。UUID や名前でホストを指定するには、引数 host=<uuid_or_name_label>
を使用します。また、すべての host オブジェクトのリストを、フィールドの値に基づいてフィルタす
ることもできます。たとえば、enabled=true と指定すると、enabled パラメータが true の XenServer
ホストがすべて操作対象として選択されます。複数の XenServer ホストがフィルタ条件に一致し、そ
のすべてのオブジェクトに対してコマンドを実行する場合は、オプション--multiple を指定する必要が
あります。指定できるすべてのパラメータの一覧は、次の表のとおりです。また、xe host-list
params=all コマンドを実行してこれらのパラメータを表示することもできます。XenServer ホス
トを選択するパラメーターを指定しない場合、すべての host オブジェクトに対してそのコマンドが実
行されます。
A.4.9.2. host オブジェクトのパラメータ
host オブジェクトには、以下のパラメーターがあります。
パラメータ名
説明
種類
uuid
host の一意の識別子/オブジ
ェクトリファレンス
読み取り専用
name-label
XenServer ホストの名前
読み取り/書き込み
name-description
XenServer ホストの説明文
字列
読み取り専用
enabled
XenServer ホストが有効か 読み取り専用
どうか。ホストが無効でシ
ャットダウンまたは再起動
できる状態であれば false。
ホストが有効で、仮想マシン
の起動が許可される状態で
あれば true
API-version-major
メジャーバージョン番号
読み取り専用
API-version-minor
マイナーバージョン番号
読み取り専用
API-version-vendor
API ベンダの ID
読み取り専用
API-version-vendorimplementation
ベンダ実装の詳細
読み取り専用のマップパラ
メータ
logging
ログ設定
読み取り/書き込み可のマッ
プパラメータ
suspend-image-sr-uuid
一時停止状態のイメージが
格納されるストレージリポ
ジトリの一意の識別子/オブ
ジェクトリファレンス
読み取り/書き込み
crash-dump-sr-uuid
クラッシュダンプが格納さ
れるストレージリポジトリ
の一意の識別子/オブジェク
トリファレンス
読み取り/書き込み
173
パラメータ名
説明
種類
software-version
バージョン管理パラメータ
とその値のリスト
読み取り専用のマップパラ
メータ
capabilities
このホストを実行できる
Xen のバージョンのリスト
読み取り専用のセットパラ
メータ
other-config
XenServer ホストの追加設
定パラメーターを指定する
キー/値ペアの一覧
読み取り/書き込み可のマッ
プパラメータ
chipset-info
チップセットの追加設定パ
ラメータを指定するキー/値
ペアのリスト
読み取り専用のマップパラ
メータ
hostname
このホストのホスト名
読み取り専用
address
このホストの IP アドレス
読み取り専用
license-server
• ライセンスサーバーの追
加設定パラメータを指定
するキー/値ペアのリスト
読み取り専用のマップパラ
メータ
• Citrix 製品との通信では、
デフォルトでポート
27000 が 使 用 さ れ ま す 。
ポート番号の変更手順に
つ い て 詳 し く は 、 Citrix
eDocs の「製品ライセンス
の有効化」を参照してくだ
さい。
supported-bootloaders
XenServer ホストがサポー
トするブートローダーの一
覧。pygrub、eliloader など
読み取り専用のセットパラ
メータ
memory-total
XenServer ホスト上の物理
RAM の量(バイト数)
読み取り専用
memory-free
仮想マシンに割り当てるこ
とのできる物理 RAM の残量
(バイト数)
読み取り専用
host-metrics-live
このホストが動作可能の場
合に true
読み取り専用
logging
syslog_destination キーでリモ
ートの syslog サービスのホ
スト名を設定
読み取り/書き込み可のマッ
プパラメータ
allowed-operations
現在の状態で可能な操作の
リスト。このリストは参考
用で、クライアントがこのフ
ィールドを読み取る時点で
サーバーの状態が変更され
ている可能性もありあます
読み取り専用のセットパラ
メータ
174
パラメータ名
説明
種類
current-operations
現在処理中の操作のリスト。 読み取り専用のセットパラ
このリストは参考用で、クラ メータ
イアントがこのフィールド
を読み取る時点でサーバー
の状態が変更されている可
能性もありあます
patches
ホストに対するパッチのセ
ット
読み取り専用のセットパラ
メータ
blobs
バイナリデータストア
読み取り専用
memory-free-computed
ホスト上の空きメモリ量(少
なく見積もった量)
読み取り専用
ha-statefiles
高可用性ステートファイル
の UUID
読み取り専用
ha-network-peers
障害発生時にこのホスト上
の仮想マシンを実行できる
ホストの UUID
読み取り専用
external-auth-type
外 部 認 証 の 種 類 ( Active
Directory など)
読み取り専用
external-auth-service-name
外部認証サービスの名前
読み取り専用
external-auth-configuration
外部認証サービスの設定情
報
読み取り専用のマップパラ
メータ
XenServer ホストには、パラメータリストを持つ以下のオブジェクトも含まれています。
XenServer ホストの CPU(cpu オブジェクト)には、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
CPU の一意の識別子/オブジェクト参照
読み取り専用
number
XenServer ホスト内の物理 CPU コア
の数
読み取り専用
vendor
CPU 名 の ベ ン ダ 文 字 列 。 た と え ば
「GenuineIntel」
読み取り専用
speed
modelname
CPU のクロック速度(Hz 数)
CPU モデルのベンダ文字列。たとえば
「Intel(R) Xeon(TM) CPU 3.00GHz」
読み取り専用
読み取り専用
stepping
CPU のリビジョン番号
読み取り専用
flags
物理 CPU のフラグ(features フィール
ドのデコード版)
読み取り専用
Utilisation
現在の CPU 使用率
読み取り専用
host-uuid
この CPU が動作するホストの UUID
読み取り専用
175
パラメータ名
説明
種類
model
物理 CPU のモデル番号
読み取り専用
family
物理 CPU のファミリ番号
読み取り専用
XenServer ホストのクラッシュダンプ(crashdump オブジェクト)には、以下のパラメータがあり
ます。
パラメータ名
説明
種類
uuid
クラッシュダンプの一意の識別子/オブ
ジェクト参照
読み取り専用
host
クラッシュダンプが対応する
XenServer ホスト
読み取り専用
timestamp
クラッシュダンプの日時。形式は
yyyymmdd-hhmmss-ABC ( こ こ で
ABC は GMT などのタイムゾーンイン
ジケーター)
読み取り専用
size
クラッシュダンプのサイズ(バイト数) 読み取り専用
A.4.9.3. host-backup
host-backup file-name=<backup_filename> host=<host_name>
このコマンドでは、指定した XenServer ホストのコントロールドメインのバックアップを、コマンド
の実行元コンピュータにダウンロードし、file-name のファイル名で保存します。
xe host-backup コマンドは、ローカルホスト上(つまり特定のホスト名を指定せ
ずに)実行しても機能しますが、このように使用しないでください。これを行うと、
コントロールドメインのパーティションに大きなバックアップファイルが作成さ
れ、空きディスク容量が足りなくなります。このコマンドは、バックアップファイ
ルを保持できるディスク領域があるリモートコンピュータからのみ使用してくださ
い。
A.4.9.4. host-bugreport-upload
host-bugreport-upload [<host-selector>=<host_selector_value>...] [url=<destination_url>]
[http-proxy=<http_proxy_name>]
このコマンドでは、新しいバグレポート(xen-bugtool を使って、すべてのオプションファイルを含
めて)を生成し、Citrix サポート FTP サイトなどにアップロードします。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
オプションのパラメータは、使用する HTTP プロキシを指定する http-proxy と、アップロード先を指
定する url です。これらのオプションパラメータを使用しない場合、プロキシサーバは特定されず、
デフォルトの Citrix サポート FTP サイトにアップロードされます。
A.4.9.5. host-crashdump-destroy
host-crashdump-destroy uuid=<crashdump_uuid>
このコマンドでは、UUID で指定したクラッシュダンプを XenServer ホストから削除します。
176
A.4.9.6. host-crashdump-upload
host-crashdump-upload uuid=<crashdump_uuid>
[url=<destination_url>]
[http-proxy=<http_proxy_name>]
このコマンドでは、クラッシュダンプを Citrix サポート FTP サイトなどにアップロードします。これ
らのオプションパラメータを使用しない場合、プロキシサーバは特定されず、デフォルトの Citrix サ
ポート FTP サイトにアップロードされます。オプションのパラメータは、使用する HTTP プロキシを
指定する http-proxy と、アップロード先を指定する url です。
A.4.9.7. host-disable
host-disable [<host-selector>=<host_selector_value>...]
このコマンドでは、指定した XenServer ホストが無効になり、新しい仮想マシンがそのホスト上で起
動しなくなります。これにより、その XenServer ホストがシャットダウンまたは再起動できる状態に
なります。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.9.8. host-dmesg
host-dmesg [<host-selector>=<host_selector_value>...]
このコマンドでは、指定した XenServer ホストから Xen dmesg(カーネルリングバッファの出力)を
取得します。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.9.9. host-emergency-management-reconfigure
host-emergency-management-reconfigure interface=<uuid_of_management_interface_pif>
このコマンドでは、この XenServer ホストの管理インターフェイスを設定し直します。このコマンド
は、XenServer ホストが緊急モードに切り替わった場合にのみ使用してください。つまり、プールマ
スタへの接続が切断され、再試行しても接続できないメンバホスト上で使用します。
A.4.9.10. host-enable
host-enable [<host-selector>=<host_selector_value>...]
このコマンドでは、指定した XenServer ホストが有効になり、新しい仮想マシンがそのホスト上で起
動可能になります。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.9.11. host-evacuate
host-evacuate [<host-selector>=<host_selector_value>...]
このコマンドでは、指定したホスト上で実行されているすべての仮想マシンを、リソースプール内の
ほかの適切なホストに移行(ライブマイグレーション)します。事前に、host-disable コマンドを
使用してホストを無効にしておく必要があります。
177
プールマスタを無効にする場合は、ほかのホストがプールマスタとして選出される必要があります。
高可用性機能が無効なリソースプールでプールマスタを変更するには、pool-designate-newmaster コマンドを使用する必要があります。詳しくは、A.4.16.2. 「pool-designate-newmaster」を参照してください。高可用性機能が有効な場合は、そのホストをシャットダウンすれば、
高可用性機能により任意のホストがプールマスタとして選出されます。A.4.9.29. 「hostshutdown」を参照してください。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.9.12. host-forget
host-forget uuid=<XenServer_host_UUID>
このコマンドでは、指定した XenServer ホストが xapi エージェントから削除されて、その結果リソ
ースプールから除外されます。
--force パラメータを使用すると、確認のメッセージが表示されなくなります。
警告:
リソースプールの高可用性を有効にしたまま、このコマンドを使用しないでくださ
い。ホストを除外するには、事前に高可用性を無効にしておき、このコマンドを実
行した後で高可用性を有効にします。
ヒント:
このコマンドは、動作していない XenServer ホストをリソースプールから削除する
場合に使用します。動作している XenServer ホストをリソースプールから削除す
る場合は、xe pool-eject を使用する必要があります。
A.4.9.13. host-get-system-status
host-get-system-status filename=<name_for_status_file>
[entries=<comma_separated_list>] [output=<tar.bz2 | zip>] [<hostselector>=<host_selector_value>...]
このコマンドでは、システム状態の情報を指定したパスにダウンロードします。オプションのパラメ
ータ entries は、システム情報エントリのコンマ区切りのリストです。これらのエントリは、hostget-system-status-capabilities コマンドで返される XLM フラグメントから指定します。詳しく
は、A.4.9.14. 「host-get-system-status-capabilities」を参照してください。このパラメータを指
定しない場合、すべてのシステム状態の情報がファイルに保存されます。パラメータ output は tar.bz2
(デフォルト)または zip で、このパラメータを指定しない場合、ファイルは tar.bz2 形式で保存されま
す。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。
A.4.9.14. host-get-system-status-capabilities
host-get-system-status-capabilities [<host-selector>=<host_selector_value>...]
このコマンドでは、指定したホストのシステム状態の情報を取得します。以下のように、各機能が
XML フラグメントとして返されます。
178
<?xml version="1.0" ?> <system-status-capabilities>
<capability content-type="text/plain" default-checked="yes" key="xenserver-logs" \
max-size="150425200" max-time="-1" min-size="150425200" min-time="-1" \
pii="maybe"/>
<capability content-type="text/plain" default-checked="yes" \
key="xenserver-install" max-size="51200" max-time="-1" min-size="10240" \
min-time="-1" pii="maybe"/>
...
</system-status-capabilities>
各機能の capability エントリには、以下の属性があります。
属性
説明
key
機能の一意の識別子。
content-type
text/plain または application/data。インターフェイスにユ
ーザーが判読できる形式で表示されるかどうかを示します。
default-checked
yes または no。ユーザーインターフェイスでこのエントリを
デフォルトで選択するかどうかを示します。
min-size、max-size
このエントリのサイズのおおよその範囲をバイト数で示しま
す。-1 はサイズが重要でないことを示します。
min-time、max-time
このエントリの収集時間のおおよその範囲を秒数で示しま
す。-1 は時間が重要でないことを意味します。
pii
機密性の高い情報。このエントリに、システムの所有者やネ
ットワークトポロジの詳細を特定できる情報があるかどうか
を示します。次のうちのいずれかになります。
• no:エントリに機密性の高い情報がない
• yes:エントリに機密性の高い情報がある、またはその可能
性が高い
• maybe:機密性の高い情報があるかどうかを監査すべき
• if_customized:ファイルをカスタマイズしていない場合
は機密性の高い情報がないが、そのファイルの編集を推奨
しているためこれらの情報が含まれている可能性がある。
これは特にカスタムドメインのネットワークスクリプトに
使用される
pii の値にかかわらず、いかなるバグレポートにもパスワード
は含まれません。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。
A.4.9.15. host-is-in-emergency-mode
host-is-in-emergency-mode
このホストが緊急モードで動作しているかどうかを識別します。緊急モードの場合は true が出力さ
れ、それ以外は false が出力されます。このコマンドは、プールマスタが存在しなくてもメンバホスト
に直接実行できます。
179
A.4.9.16. host-apply-edition
host-apply-edition [host-uuid=<XenServer_host_UUID>]
[edition=xenserver_edition=<"free"><"per-socket"><"xendesktop">]
特定エディションの XenServer ライセンスをホストサーバーに割り当てます。XenServer は、指定
された種類のライセンスを Citrix ライセンスサーバーに要求し、割り当て可能なライセンスがある場
合はそれをライセンスサーバーからチェックアウトします。
Citrix XenServer for XenDesktop の場合は<"xendesktop">を指定します。
ライセンスに関する初期設定については、license-server-address および license-server-port
の説明も参照してください。
A.4.9.17. host-license-add
host-license-add [license-file=<path/license_filename>] [hostuuid=<XenServer_host_UUID>]
無償版の XenServer で、ローカルのライセンスファイルを解析して、指定した XenServer ホストに
そのライセンスを追加します。
A.4.9.18. host-license-view
host-license-view [host-uuid=<XenServer_host_UUID>]
XenServer ホストライセンスの内容を表示します。
A.4.9.19. host-logs-download
host-logs-download [file-name=<logfile_name>] [<host-selector>=<host_selector_value>...]
このコマンドでは、指定した XenServer ホストのログのコピーをダウンロードします。ログのコピー
は、デフォルトで作成日時が記録された hostname-yyyy-mm-dd T hh:mm:ssZ.tar.gz という形式のファイ
ル名で保存されます。オプションのパラメーター file-name を使用して、別のファイル名を指定でき
ます。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
xe host-logs-download コマンドは、ローカルホスト上(つまり特定のホスト名
を指定せずに)実行しても機能しますが、このように使用しないでください。これ
を行うと、コントロールドメインのパーティションにログのコピーファイルが作成
されてしまいます。このコマンドは、ログのコピーファイルを保持できるディスク
領域があるリモートコンピュータからのみ使用してください。
A.4.9.20. host-management-disable
host-management-disable
このコマンドでは、外部の管理ネットワークインターフェイス上のホストエージェントを無効にして、
接続しているすべての API クライアント(XenCenter など)を切断します。指定した XenServer ホ
ストに直接適用され、メンバーホストに対して実行した場合でもプールマスターには転送されません。
警告:
このコマンドをリモートのホストに対して使用する場合は、細心の注意が必要です。
リモートホストの管理インターフェイスを無効にすると、そのコントロールドメイ
180
ンに接続できなくなり、リモートから管理インターフェイスを再び有効にすること
ができなくなります。
A.4.9.21. host-management-reconfigure
host-management-reconfigure [interface=<device> ] | [pif-uuid=<uuid> ]
このコマンドでは、XenServer ホストが XenCenter に接続するための管理インターフェイスを再指
定します。これにより、/etc/xensource-inventory の MANAGEMENT_INTERFACE キーが更新されます。
インターフェイス(IP アドレスが必要)のデバイス名を指定した場合、XenServer ホストは直ちにバ
インドし直します。この場合、このコマンドは通常モードと緊急モードのいずれの場合でも機能しま
す。
PIF オブジェクトの UUID を指定した場合、XenServer ホストは再バインドすべき IP アドレスを自
動的に判断します。この場合、緊急モードではこのコマンドを使用できません。
警告:
このコマンドをリモートのホストに対して使用する場合は、xe pif-reconfigure
を使用して新しインターフェイスでの接続を設定しておいてください。これを行わ
ないと、その XenServer ホストに対して CLI コマンドを実行できなくなります。
A.4.9.22. host-power-on
host-power-on [host=<host_uuid> ]
ホスト電源投入機能が有効な XenServer ホストの電源を投入します。対象のホストで host-setpower-on が有効になっている必要があります。
A.4.9.23. host-get-cpu-features
host-get-cpu-features {features=<pool_master_cpu_features>} [uuid=<host_uuid>]
ホストの物理 CPU の機能を示す 16 進数値を出力します。
A.4.9.24. host-set-cpu-features
host-set-cpu-features {features=<pool_master_cpu_features>} [uuid=<host_uuid>]
ホストの物理 CPU の機能をマスクして、指定した機能セットだけが提供されるように CPU マスキン
グが試行されます(異種混在型プールのサポート)。pool_master_cpu_features は、host-get-cpufeatures コマンドで取得される、32 桁の 16 進数値(スペースが含まれる場合もあります)で指定し
ます。
A.4.9.25. host-set-power-on
host-set-power-on {host=<host uuid> {power-on-mode=<""> <"wake-on-lan"> <"iLO">
<"DRAC"> <"custom"> } | [power-onconfig=<"power_on_ip"><"power_on_user"><"power_on_password_secret">] }
電源管理ソリューションをサポートする XenServer ホストのホスト電源投入機能を有効にします。
host-set-power-on コマンドでは、ホストの電源管理ソリューションの種類を<power-on-mode>
で指定する必要があります。さらに、<power-on-config>のキー/値ペアで設定オプションを指定し
ます。"power_on_password_secret"でパスワードを指定するには、事前にパスワードシークレット
を作成しておく必要があります。
A.4.9.26. host-reboot
host-reboot [<host-selector>=<host_selector_value>...]
181
このコマンドでは、指定した XenServer ホストを再起動します。ここで指定するホストは、既に xe
host-disable コマンドで無効になっている必要があります。ホストが有効になっていると、
HOST_IN_USE というエラーメッセージが表示されます。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
指定した XenServer ホストがプールのメンバである場合、シャットダウン時に接続は失われますが、
そのホストが元の接続状態に戻ると、プールに復帰します。メンバホストをシャットダウンしても、
そのほかのメンバホストやプールマスタは継続して機能します。プールマスタをシャットダウンした
場合は、マスタが再起動してオンライン状態に戻って、メンバホストがプールマスタと再接続して同
期するか、または管理者がいずれかのメンバホストをプールマスタとして指定するまで、プールは機
能しません。
A.4.9.27. host-restore
host-restore [file-name=<backup_filename>] [<host-selector>=<host_selector_value>...]
このコマンドでは、file-name で指定した、XenServer ホストソフトウェアのバックアップを復元しま
す。このコマンドでの「復元」は通常の完全な復元ではなく、圧縮されたバックアップファイルがセ
カンダリパーティションに展開されるだけです。xe host-restore コマンドを実行した後は、インス
トール CD から起動して、[Restore from backup]を選択する必要があります。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.9.28. host-set-hostname-live
host-set-hostname host-uuid=<uuid_of_host> hostname=<new_hostname>
このコマンドでは、host-uuid で指定した XenServer ホストのホスト名を変更します。これにより、コ
ントロールドメインのデータべース内のホスト名レコードおよび実際の Linux ホスト名が永続的に設
定されます。ここで、hostname に name_label フィールドの値と同じものを指定するのではないこ
とに注意してください。
A.4.9.29. host-shutdown
host-shutdown [<host-selector>=<host_selector_value>...]
このコマンドでは、指定した XenServer ホストをシャットダウンします。ここで指定する
XenServer ホストは、既に xe host-disable コマンドで無効になっている必要があります。ホスト
が有効になっていると、HOST_IN_USE というエラーメッセージが表示されます。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
指定した XenServer ホストがプールのメンバである場合、シャットダウン時に接続は失われますが、
そのホストが元の接続状態に戻ると、プールに復帰します。メンバホストをシャットダウンしても、
そのほかのメンバホストやプールマスタは継続して機能します。プールマスタをシャットダウンした
場合は、マスタが再起動してオンライン状態に戻って、メンバホストがプールマスタと再接続して同
期するか、またはいずれかのメンバホストがプールマスタとして指定されるまで、プールは機能しま
せん。高可用性が有効なプールでは、任意のメンバホストが自動的にプールマスタとして選出されま
す。高可用性が無効なプールでは、管理者が pool-designate-new-master コマンドを使用して、
特定のメンバホストをプールマスタとして指定する必要があります。A.4.16.2. 「pool-designatenew-master」を参照してください。
182
A.4.9.30. host-syslog-reconfigure
host-syslog-reconfigure [<host-selector>=<host_selector_value>...]
このコマンドは、指定した XenServer ホスト上の syslog デーモンを再設定します。これにより、ホス
トの logging パラメータで定義されている設定情報が適用されます。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.9.31. host-data-source-list
host-data-source-list [<host-selectors>=<host selector value>...]
ホストで記録可能なデータソースのリストを出力します。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。ホストを選択するパラメータを指定しない場合、すべての host オブジェクトに対してそ
のコマンドが実行されます。
データソースには、パラメーターとして standard および enabled があり、host-data-source-list コマ
ンドの出力で確認できます。データソースの enabled パラメーターが true の場合、そのデータソース
のメトリクス情報がパフォーマンスデータベースに記録中であることを示します。standard パラメー
ターが true のデータソースでは、デフォルトでメトリクス情報がパフォーマンスデータベースに記録
されます(enabled パラメーターに true が設定されます)。standard パラメーターが false のデータソー
スでは、メトリクス情報はパフォーマンスデータベースに記録されません(enabled パラメーターに
false が設定されます)。
データソースメトリクスのパフォーマンスデータベースへの記録を開始するには、host-datasource-record コマンドを実行します。これにより、enabled に true が設定されます。記録を停止す
るには、host-data-source-forget を実行します。これにより、enabled に false が設定されます。
A.4.9.32. host-data-source-record
host-data-source-record data-source=<name_description_of_data-source> [<hostselectors>=<host selector value>...]
ホストで、指定したデータソースを記録します。
これにより、ホストの永続的なパフォーマンスメトリクスデータベースにデータソースからの情報が
書き込まれます。このデータベースは、パフォーマンス上の理由から、通常のエージェントデータベ
ースとは区別されます。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。ホストを選択するパラメータを指定しない場合、すべての host オブジェクトに対してそ
のコマンドが実行されます。
A.4.9.33. host-data-source-forget
host-data-source-forget data-source=<name_description_of_data-source> [<hostselectors>=<host selector value>...]
ホストのデータソースを指定して記録を停止して、記録済みのすべてのデータを消去します。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
183
定できます。ホストを選択するパラメータを指定しない場合、すべての host オブジェクトに対してそ
のコマンドが実行されます。
A.4.9.34. host-data-source-query
host-data-source-query data-source=<name_description_of_data-source> [<hostselectors>=<host selector value>...]
ホストで、指定したデータソースを表示します。
このコマンドの対象ホストを指定するには、「host オブジェクトセレクタ」で説明されている標準的
な方法を使用します。オプションの引数には、「host オブジェクトのパラメータ」から任意の数を指
定できます。ホストを選択するパラメータを指定しない場合、すべての host オブジェクトに対してそ
のコマンドが実行されます。
A.4.10. ログコマンド
ログ(log オブジェクト)を操作します。
A.4.10.1. log-set-output
log-set-output output=nil | stderr | file:<filename> | syslog:<sysloglocation> [key=<key>]
[level= debug | info | warning | error]
指定したロガーの出力を設定します。ログメッセージは、その送信元のサブシステムとメッセージの
ログレベルによってフィルタされます。たとえば、ストレージマネージャからのデバッグログメッセ
ージは、次のコマンドでファイルに送信できます。
xe log-set-output key=smlevel=debugoutput=<file:/tmp/sm.log>
オプションのパラメータ key で、特定のログサブシステムを指定します。このパラメータを指定しな
い場合は、デフォルトですべてのログサブシステムからのメッセージが送信されます。
オプションのパラメータ level で、ログレベルを指定します。以下のいずれかの値を指定できます。
• debug
• info
• warning
• error
A.4.11. メッセージコマンド
メッセージ(message オブジェクト)を操作します。message オブジェクトは、重要なイベントの
発生をユーザーに通知するために作成され、XenCenter にシステムアラートとして表示されます。
A.4.11.1. message オブジェクトのパラメータ
パラメータ名
説明
種類
uuid
メッセージの一意の識別子/オブジェク
ト参照
読み取り専用
name
メッセージの一意の名前
読み取り専用
priority
メッセージの優先度。数値が大きいほ
ど高い優先度を示します
読み取り専用
184
パラメータ名
説明
種類
class
メッセージのクラス(VM など)
読み取り専用
obj-uuid
影響を受けるオブジェクトの UUID
読み取り専用
timestamp
メッセージの生成時刻
読み取り専用
body
メッセージの内容
読み取り専用
A.4.11.2. message-create
message-create name=<message_name> body=<message_text> [[hostuuid=<uuid_of_host>] | [sr-uuid=<uuid_of_sr>] | [vm-uuid=<uuid_of_vm>] | [pooluuid=<uuid_of_pool>]]
新しいメッセージを作成します。
A.4.11.3. message-destroy
message-destroy {uuid=<message_uuid>}
既存のメッセージを破棄します。スクリプトを作成して、すべてのメッセージを破棄することもでき
ます。以下はその例です。
# Dismiss all alerts \
IFS=","; for m in $(xe message-list params=uuid --minimal); do \
xe message-destroy uuid=$m \
done
A.4.11.4. message-list
message-list
すべてのメッセージ、または指定した標準パラメータに一致するメッセージのリストを出力します。
A.4.12. ネットワークコマンド
ネットワーク(network オブジェクト)を操作します。
network オブジェクトのリストは、標準オブジェクトリストコマンド(xe network-list)を使用し
て出力でき、パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低
レベルパラメータコマンド」を参照してください。
A.4.12.1. network オブジェクトのパラメータ
network オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
ネットワークの一意の識別子/オブジェ
クト参照
読み取り専用
name-label
ネットワークの名前
読み取り/書き込み
name-description
ネットワークの説明文字列
読み取り/書き込み
185
パラメータ名
説明
種類
VIF-uuids
仮想マシンからこのネットワークに接
続されている VIF の一意の識別子のリ
スト
読み取り専用のセットパラメ
ータ
PIF-uuids
XenServer ホストからこのネットワー
クに接続されている PIF の一意の識別
子のリスト
読み取り専用のセットパラメ
ータ
bridge
ローカルホスト上のこのネットワーク
に対応するブリッジの名前
読み取り専用
default-lockingmode
ARP フィルタを設定するときに VIF オ
ブジェクトと一緒に使用するネットワ
ークオブジェクト。VIF のすべてのフ
ィルタ規則を解除する場合に
<unlocked>、VIF のすべてのトラフィ
ッ ク を ド ロ ッ プ す る 場 合 に
<disabled>。4.4.10.8. 「 スイッチポ
ートロックの使用」および「vm オブジ
ェクトのパラメータ」参照
読み取り/書き込み
other-config:staticroutes
<subnet>/<netmask>/<gateway>
読み取り/書き込み
形式で指定する、サブネットへの通信路
のコンマ区切りの一覧。たとえば、
other-config:static-routes
に
172.16.0.0/15/192.168.0.3,172.18.0.0/16/19
2.168.0.4 を指定すると、172.16.0.0/15 へ
のトラフィックが 192.168.0.3 にルーテ
ィングされ、172.18.0.0/16 へのトラフィ
ックが 192.168.0.4 にルーティングされ
ます
other-config:ethtoolautoneg
物理インターフェイスまたはブリッジ
の自動ネゴシエーションを無効にする
場合に no(デフォルトは yes)
読み取り/書き込み
other-config:ethtoolrx
チェックサムの受信を有効にする場合
に on、無効にする場合に off
読み取り/書き込み
other-config:ethtooltx
チェックサムの転送を有効にする場合
に on、無効にする場合に off
読み取り/書き込み
other-config:ethtoolsg
Scatter/Gather を 有 効 に す る 場 合 に
on、無効にする場合に off
読み取り/書き込み
other-config:ethtooltso
TCP セグメンテーションオフロードを
有効にする場合に on、 無効にする場合
に off
読み取り/書き込み
other-config:ethtoolufo
UDP フラグメンテーションオフロード
を有効にする場合に on、 無効にする場
合に off
読み取り/書き込み
other-config:ethtoolgso
汎用セグメンテーションオフロードを
有効にする場合に on、 無効にする場合
に off
読み取り/書き込み
186
パラメータ名
説明
種類
blobs
バイナリデータストア
読み取り専用
A.4.12.2. network-create
network-create name-label=<name_for_network> [name-description=<descriptive_text>]
新しいネットワークを作成します。
A.4.12.3. network-destroy
network-destroy uuid=<network_uuid>
既存のネットワークを破棄します。
A.4.13. パッチ(アップデート)コマンド
XenServer ホストをアップデートするパッチ(patch オブジェクト)を操作します。これらのコマン
ドは、標準的な非 OEM エディションの XenServer 用です。OEM エディションの XenServer をアッ
プデートするコマンドについては、A.4.21. 「アップデートコマンド」を参照してください。
patch オブジェクトのリストは、標準オブジェクトリストコマンド(xe patch-list)を使用して出力
でき、パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベル
パラメータコマンド」を参照してください。
A.4.13.1. patch オブジェクトのパラメータ
patch オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
パッチの一意の識別子/オブジェクト参
照
読み取り専用
host-uuid
照会する XenServer ホストの一意の識
別子
読み取り専用
name-label
パッチの名前
読み取り専用
name-description
パッチの説明文字列
読み取り専用
applied
このパッチが適用されているかどうか。 読み取り専用
true または false
size
このパッチが適用されているかどうか。 読み取り専用
true または false
A.4.13.2. patch-apply
patch-apply host-uuid=<host_uuid> uuid=<patch_file_uuid>
指定したパッチファイルを適用します。
A.4.13.3. patch-pool-clean
patch-pool-clean uuid=<patch_file_uuid>
187
指定したパッチ(Hotfix)ファイルをリソースプール内のすべての XenServer ホストから削除しま
す。XenCenter または CLI による Hotfix パッケージ適用後、または dom0 がディスク領域を容量を
使い果たしたときに使用できます。
A.4.13.4. patch-pool-apply
patch-pool-apply uuid=<patch_uuid>
指定したパッチをリソースプール内のすべての XenServer ホストに適用します。
A.4.13.5. patch-precheck
patch-precheck uuid=<patch_uuid> host-uuid=<host_uuid>
指定したパッチに含まれている事前チェックを指定した XenServer ホストに対して実行します。
A.4.13.6. patch-upload
patch-upload file-name=<patch_filename>
指定したパッチファイルを XenServer ホストにアップロードします。これでそのパッチを適用でき
る状態になります。アップロードに成功すると、パッチファイルの UUID が返されます。同じパッチ
が既にアップロードされている場合、PATCH_ALREADY_EXISTS エラーが返され、このパッチはアッ
プロードされません。
A.4.14. PBD(物理ブロックデバイス)コマンド
PBD(pbd オブジェクト)を操作します。pbd オブジェクトは、XenServer ホストがストレージリポ
ジトリへのアクセスに使用するソフトウェアオブジェクトです。
pbd オブジェクトのリストは、標準オブジェクトリストコマンド(xe pbd-list)を使用して出力で
き、パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベルパ
ラメータコマンド」を参照してください。
A.4.14.1. pbd オブジェクトのパラメータ
pbd オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
PBD の一意の識別子/オブジェクト参照
読み取り専用
sr-uuid
PBD の接続先ストレージリポジトリ
読み取り専用
device-config
ホストのストレージリポジトリバック
エンドドライバに提供される追加設定
情報
読み取り専用のマップパラメ
ータ
currently-attached
ストレージリポジトリが現在このホス
トに接続されている場合に true、それ以
外は false
読み取り専用
host-uuid
PBD が使用可能になっている物理マシ
ンの UUID
読み取り専用
host
このパラメータは廃止。代わりに
host_uuid を使用
読み取り専用
188
パラメータ名
説明
種類
other-config
追加設定情報
読み取り/書き込み可のマップ
パラメータ
A.4.14.2. pbd-create
pbd-create host-uuid=<uuid_of_host>
sr-uuid=<uuid_of_sr>
[device-config:key=<corresponding_value>...]
XenServer ホスト上に新しい PBD を作成します。読み取り専用の device-config パラメータは、作成
時にのみ設定できます。
パスに/tmp をマップするには、コマンドで device-config:path=/tmp を指定します。
ストレージリポジトリの各種類でサポートされる device-config パラメーターのキー/値ペアについ
ては、第 5 章 「ストレージ」を参照してください。
A.4.14.3. pbd-destroy
pbd-destroy uuid=<uuid_of_pbd>
指定した PBD を破棄します。
A.4.14.4. pbd-plug
pbd-plug uuid=<uuid_of_pbd>
PBD を XenServer ホストにプラグします。成功すると、参照されているストレージリポジトリ(お
よびそれに含まれている VDI)が XenServer ホストからアクセス可能になります。
A.4.14.5. pbd-unplug
pbd-unplug uuid=<uuid_of_pbd>
PBD を XenServer ホストからアンプラグします。
A.4.15. PIF(物理ネットワークインターフェイス)コマンド
PIF(pif オブジェクト)を操作します。
pif オブジェクトのリストは、標準オブジェクトリストコマンド(xe pif-list)を使用して出力でき、
パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベルパラメ
ータコマンド」を参照してください。
A.4.15.1. pif オブジェクトのパラメータ
pif オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
PIF の一意の識別子/オブジェクト参照
読み取り専用
device
PIF の機械読み取り可能な名前(eth0
など)
読み取り専用
MAC
PIF の MAC アドレス
読み取り専用
189
パラメータ名
説明
種類
other-config
追加の PIF 設定名:値のペア
読み取り/書き込み可のマップ
パラメータ
physical
PIF が実際の物理ネットワークインタ
ーフェイスをポイントしている場合に
true
読み取り専用
currently-attached
PIF が現在このホストに接続されてい
る場合に true
読み取り専用
MTU
PIF の MTU(Maximum Transmission
Unit)。バイト数
読み取り専用
VLAN
この PIF を通過するすべてのトラフィ
ックの VLAN タグ。-1 は VLAN タグが
割り当てられていないことを示す
読み取り専用
bond-master-of
この PIF がマスタになっているボンデ
ィングの UUID(該当する場合)
読み取り専用
bond-slave-of
この PIF がスレーブになっているボン
ディングの UUID(該当する場合)
読み取り専用
management
この PIF がコントロールドメインの管
理インターフェイスとして指定されて
いるかどうか
読み取り専用
network-uuid
この PIF が接続している仮想ネットワ
ークの一意の識別子/オブジェクト参照
読み取り専用
network-name-label
この PIF が接続している仮想ネットワ
ークの名前
読み取り専用
host-uuid
この PIF が接続している XenServer ホ
ストの一意の識別子/オブジェクト参照
読み取り専用
host-name-label
この PIF が接続している XenServer ホ
ストの名前
読み取り専用
IP-configurationmode
ネ ッ ト ワ ー ク ア ド レ ス 設 定 の 種 類 、 読み取り専用
DHCP または static
IP
PIF の IP アドレス、IP-configuration- 読み取り専用
mode が static の場合はここで定義し、
DHCP の場合は定義しない
netmask
PIF の ネ ッ ト マ ス ク ア ド レ ス 、 IPconfiguration-mode が static の 場 合 は こ
こで定義し、DHCP の場合は定義しない
読み取り専用
gateway
PIF の ゲ ー ト ウ ェ イ ア ド レ ス 、 IPconfiguration-mode が static の 場 合
はここで定義し、DHCP の場合は定義し
ない
読み取り専用
190
パラメータ名
説明
種類
DNS
PIF の DNS ア ド レ ス 、 IPconfiguration-mode が static の 場 合
はここで定義し、DHCP の場合は定義し
ない
読み取り専用
io_read_kbs
このデバイスの平均読み取り速度(kB/
秒)
読み取り専用
io_write_kbs
このデバイスの平均書き込み速度(kB/
秒)
読み取り専用
carrier
デバイスのリンク状態
読み取り専用
vendor-id
NIC ベンダに割り当てられた ID
読み取り専用
vendor-name
NIC ベンダの名前
読み取り専用
device-id
ベンダが NIC モデルに割り当てた ID
読み取り専用
device-name
ベンダが NIC モデルに割り当てた名前
読み取り専用
speed
NIC のデータ転送レート
読み取り専用
duplex
NIC の二重モード。full(全二重)また
は half(半二重)
読み取り専用
pci-bus-path
PCI バスパスのアドレス
読み取り専用
other-config:ethtoolspeed
接続速度(Mbps)の設定
読み取り/書き込み
other-config:ethtoolautoneg
物理インターフェイスまたはブリッジ
の自動ネゴシエーションを無効にする
場合に no(デフォルトは yes)
読み取り/書き込み
other-config:ethtool- PIF の二重機能 full(全二重)または half
duplex
(半二重)の設定
読み取り/書き込み
other-config:ethtoolrx
チェックサムの受信を有効にする場合
に on、無効にする場合に off
読み取り/書き込み
other-config:ethtooltx
チェックサムの転送を有効にする場合
に on、無効にする場合に off
読み取り/書き込み
other-config:ethtoolsg
Scatter/Gather を 有 効 に す る 場 合 に
on、無効にする場合に off
読み取り/書き込み
other-config:ethtooltso
TCP セグメンテーションオフロードを
有効にする場合に on、 無効にする場合
に off
読み取り/書き込み
other-config:ethtoolufo
UDP フラグメンテーションオフロード
を有効にする場合に on、 無効にする場
合に off
読み取り/書き込み
191
パラメータ名
説明
種類
other-config:ethtoolgso
汎用セグメンテーションオフロードを
有効にする場合に on、 無効にする場合
に off
読み取り/書き込み
other-config:domain
DNS 検索パスの設定(コンマ区切りの
一覧)
読み取り/書き込み
other-config:bondmiimon
リンクの状態チェック間隔(ミリ秒)
読み取り/書き込み
other-config:bonddowndelay
リンクの切断が検出されてから切断リ
ンクとして認識されるまでの待機時間
(ミリ秒)。一時的な切断を許容するた
めの設定
読み取り/書き込み
other-config:bondupdelay
リンクの回復が検出されてから接続リ
ンクとして認識されるまでの待機時間
(ミリ秒)。一時的な回復を無視するた
めの設定。指定された時間待機してか
らトラフィック転送が開始される(デフ
ォルト値は 31 秒)
読み取り/書き込み
この PIF がストレージ専用 NIC の場合
に true、それ以外は false
読み取り/書き込み
disallow-unplug
注:
PIF の other-config フィールドへの変更は、再起動後に有効になります。または、xe
pif-unplug コマンドと xe pif-plug コマンドを使用して、PIF 設定が再書き込み
されるようにすることもできます。
A.4.15.2. pif-forget
pif-forget uuid=<uuid_of_pif>
特定のホスト上の指定した PIF を破棄します。
A.4.15.3. pif-introduce
pif-introduce host-uuid=<UUID of XenServer host> mac=<mac_address_for_pif>
device=<machine-readable name of the interface (for example, eth0)>
指定した XenServer ホスト上の物理インターフェイスを表わす pif オブジェクトを新規に作成しま
す。
A.4.15.4. pif-plug
pif-plug uuid=<uuid_of_pif>
指定した物理インターフェイスを起動します。
A.4.15.5. pif-reconfigure-ip
pif-reconfigure-ip uuid=<uuid_of_pif> [ mode=<dhcp> | mode=<static> ]
gateway=<network_gateway_address> IP=<static_ip_for_this_pif>
netmask=<netmask_for_this_pif> [DNS=<dns_address>]
192
PIF の IP アドレスを変更します。静的アドレスを使用する場合は、mode パラメータに static を設定
し、gateway パラメータ、IP パラメータ、および netmask パラメータに適切な値を設定します。DHCP
を使用する場合は、mode パラメータを DHCP に設定します。ほかのパラメータを定義する必要はあ
りません。
注:
STP Fast Link が無効な(またはサポートされていない)スイッチ上のポートにス
パニングツリープロトコルで接続する物理ネットワークインターフェイスで静的
IP アドレスを使用すると、無トラフィック期間が発生します。
A.4.15.6. pif-scan
pif-scan host-uuid=<UUID of XenServer host>
指定した XenServer ホスト上の新規物理インターフェイスを検出します。
A.4.15.7. pif-unplug
pif-unplug uuid=<uuid_of_pif>
指定した物理インターフェイスを停止します。
A.4.16. プールコマンド
リソースプール(pool オブジェクト)を操作します。リソースプールは、1 つ以上の XenServer ホ
ストの集合です。リソースプールでは 1 つ以上の共有ストレージリポジトリを使用して、プール内の
ある XenServer ホスト上で実行されている仮想マシンを、同じプール内の別の XenServer ホストに、
それらをシャットダウンしたり再起動したりすることなく移行できます。各 XenServer ホストは、そ
れ自体がデフォルトでリソースプールを構成します。このプールにほかの XenServer ホストを追加
すると、追加したホストはメンバホストとして動作し、元のホストがプールマスタになります。
単一ホストで構成される pool オブジェクトのリストは、標準オブジェクトリストコマンド(xe poollist)を使用して出力でき、パラメータは標準パラメータコマンドを使用して操作できます。詳しく
は、A.3.2. 「低レベルパラメータコマンド」を参照してください。
A.4.16.1. pool オブジェクトのパラメータ
pool オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
プールの一意の識別子/オブ
ジェクト参照
読み取り専用
name-label
プールの名前
読み取り/書き込み
name-description
プールの説明文字列
読み取り/書き込み
master
プールマスタとして動作す
る XenServer ホストの一意
の識別子/オブジェクト参照
読み取り専用
default-SR
プールのデフォルトストレ
ージリポジトリの一意の識
別子/オブジェクト参照
読み取り/書き込み
193
パラメータ名
説明
種類
crash-dump-SR
メンバホストのクラッシュ
ダンプが格納されるストレ
ージリポジトリの一意の識
別子/オブジェクト参照
読み取り/書き込み
metadata-vdis
プールの既知のメタデータ
VDI
読み取り専用
suspend-image-SR
メンバホスト上で一時停止
状態の仮想マシンが格納さ
れるストレージリポジトリ
の一意の識別子/オブジェク
ト参照
読み取り/書き込み
other-config
このプールの追加設定パラ
メータを指定するキー/値ペ
アのリスト
読み取り/書き込み可のマッ
プパラメータ
supported-sr-types
このプールで使用可能なス
トレージリポジトリの種類
読み取り専用
ha-enabled
プールの高可用性が有効な
場 合 に true 、 そ れ 以 外 は
false
読み取り専用
ha-configuration
将来バージョン用に予約
読み取り専用
ha-statefiles
高可用性によりストレージ
の状態を検出するために使
用される VDI の UUID リス
ト
読み取り専用
ha-host-failures-to-tolerate
システムアラートを送信せ
ずに許容されるホスト障害
数(フェイルオーバートレラ
ンス数)
読み取り/書き込み
ha-plan-exists-for
高可用性アルゴリズムによ
り算出される、対応可能なホ
スト障害数
読み取り専用
ha-allow-overcommit
プールのオーバーコミット
が許可される場合に true。そ
れ以外は false
読み取り/書き込み
ha-overcommitted
プールが現在オーバーコミ
ットされている場合に true
読み取り専用
blobs
バイナリデータストア
読み取り専用
pool-designate-new-master
A.4.16.2. pool-designate-new-master
pool-designate-new-master host-uuid=<UUID of member XenServer host to become new
master>
194
指定した XenServer ホスト(メンバホスト)をプールマスタとして動作させます。これにより、プー
ルマスタの役割をそのプール内の別のホストに正しく移譲できます。このコマンドは、現在のマスタ
がオンライン状態のときにのみ有効であり、後述の緊急モードコマンドの代替として使用するもので
はありません。
A.4.16.3. pool-dump-database
pool-dump-database file-name=<filename_to_dump_database_into_(on_client)>
プールデータベース全体のコピーをダウンロードして、クライアント上のファイルにバックアップし
ます。
A.4.16.4. pool-eject
pool-eject host-uuid=<UUID of XenServer host to eject>
既存のリソースプールから指定した XenServer ホストを除外します。
A.4.16.5. pool-emergency-reset-master
pool-emergency-reset-master master-address=<address of the pool's master XenServer host>
メンバーホストが使用しているプールマスターのアドレスをリセットして、新しいアドレスのプール
マスターに接続します。プールマスタ上でこのコマンドを実行しないでください。
A.4.16.6. pool-emergency-transition-to-master
pool-emergency-transition-to-master
任意の XenServer ホスト(メンバホスト)をプールマスタとして動作させます。このコマンドは、緊
急モードに移行した XenServer ホストに対してのみ有効です。つまり、プールマスタへの接続が切断
され、再試行しても接続できないメンバホスト上で使用します。
リソースプールに追加した後にホストのパスワードを変更した場合、このコマンドによってホストの
パスワードがリセットされることがあります(A.4.22. 「ユーザーコマンド」を参照)。
A.4.16.7. pool-ha-enable
pool-ha-enable heartbeat-sr-uuids=<SR_UUID_of_the_Heartbeat_SR>
指定したストレージリポジトリを中央ストレージハートビートリポジトリとして使用して、リソース
プールの高可用性機能を有効にします。
A.4.16.8. pool-ha-disable
pool-ha-disable
リソースプールの高可用性機能を無効にします。
A.4.16.9. pool-join
pool-join master-address=<address> master-username=<username> masterpassword=<password>
XenServer ホストを既存のリソースプールに追加します。
A.4.16.10. pool-recover-slaves
pool-recover-slaves
195
プールマスタに対して、緊急モードで動作中のすべてのメンバホストのプールマスタアドレスをリセ
ットさせます。通常、pool-emergency-transition-to-master でメンバホストの 1 つを新しいプ
ールマスタとして設定した後に、このコマンドを使用します。
A.4.16.11. pool-restore-database
pool-restore-database file-name=<filename_to_restore_from_(on_client)> [dry-run=<true |
false>]
データベースバックアップ(pool-dump-database で作成)をリソースプールにアップロードしま
す。プールマスタがアップロードを受信すると、新しいデータベースを使用して再起動します。
dry run オプションも用意されており、実際の処理を実行しなくてもプールデータベースが復元可能
かどうかを確認できます。dry run のデフォルト値は false です。
A.4.16.12. pool-sync-database
pool-sync-database
プールデータベースを、リソースプールのすべてのホストと強制的に同期します。データベースは定
期的に複製されるため、通常は不要の操作ですが、CLI 操作で加えた多くの変更を確実に複製したい
場合に便利なコマンドです。
A.4.17. ストレージマネージャコマンド
ストレージマネージャプラグイン(sm オブジェクト)を制御します。
sm オブジェクトのリストは、標準オブジェクトリストコマンド(xe sm-list)を使用して出力でき、
パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベルパラメ
ータコマンド」を参照してください。
A.4.17.1. sm オブジェクトのパラメータ
sm オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
SM プラグインの一意の識別子/オブジ
ェクトリファレンス
読み取り専用
name-label
SM プラグインの名前
読み取り専用
name-description
SM プラグインの説明文字列
読み取り専用
type
このプラグインが接続するストレージ
リポジトリの種類
読み取り専用
vendor
このプラグインを作成したベンダの名
前
読み取り専用
copyright
SM プラグインの著作権声明
読み取り専用
required-api-version
XenServer ホ ス ト で 要 求 さ れ る 最 低
SM API バージョン
読み取り専用
configuration
デバイス設定キーの名前と説明
読み取り専用
capabilities
SM プラグインの機能
読み取り専用
196
パラメータ名
説明
種類
driver-filename
SR ドライバのファイル名
読み取り専用
A.4.18. ストレージリポジトリ(SR)コマンド
ストレージリポジトリ(sr オブジェクト)を制御するためのコマンド
sr オブジェクトのリストは、標準オブジェクトリストコマンド(xe sr-list)を使用して出力でき、
パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベルパラメ
ータコマンド」を参照してください。
A.4.18.1. sr オブジェクトのパラメータ
sr オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
SR の一意の識別子/オブジェクト参照
読み取り専用
name-label
SR の名前
読み取り/書き込み
name-description
SR の説明文字列
読み取り/書き込み
allowed-operations
現在の SR の状態で可能な操作のリス
ト
読み取り専用のセットパラメ
ータ
current-operations
この SR 上で現在処理中の操作のリス
ト
読み取り専用のセットパラメ
ータ
VDIs
この SR 内の仮想ディスクの一意の識
別子/オブジェクト参照
読み取り専用のセットパラメ
ータ
PBDs
この SR に接続されている PBD の一意
の識別子/オブジェクト参照
読み取り専用のセットパラメ
ータ
physical-utilisation
この SR 上で現在使用されている物理
スペース(バイト数)。シンプロビジョ
ニングの場合は、物理的な使用量が仮想
割り当てより小さくなることがある点
に注意してください
読み取り専用
physical-size
SR の総物理サイズ(バイト数)
読み取り専用
type
SR の種類。使用する SR バックエンド
ドライバを指定するために使用
読み取り専用
introduced-by
SR をイントロデュースした障害回復タ
スク(該当する場合)
読み取り専用
content-type
SR の内容の種類。ISO ライブラリをほ
かの SR から区別するために使用され
ています。ISO のライブラリを格納す
る SR の content-type は iso である必要
があります。そのほかの SR では、この
値を空白にするか user を指定すること
をお勧めします。
読み取り専用
197
パラメータ名
説明
種類
shared
この SR を複数の XenServer ホストで
共 有 で き る 場 合 に true 。 そ れ 以 外 は
false
読み取り/書き込み
other-config
SR の追加設定パラメータを指定するキ
ー/値ペアのリスト
読み取り/書き込み可のマップ
パラメータ
host
SR のホスト名
読み取り専用
virtual-allocation
この SR の全 VDI の virtual-size 値の
合計(バイト数)
読み取り専用
sm-config
SM に依存するデータ
読み取り専用のマップパラメ
ータ
blobs
バイナリデータストア
読み取り専用
A.4.18.2. sr-create
sr-create name-label=<name> physical-size=<size> type=<type>
content-type=<content_type> device-config:<config_name>=<value>
[host-uuid=<XenServer host UUID>] [shared=<true | false>]
ディスク上にストレージリポジトリを作成し、データベースにイントロデュースして、このストレー
ジリポジトリを XenServer ホストに接続するための PBD を作成します。shared を true に設定する
と、リソースプール内の各 XenServer ホストに対して PBD が作成されます。shared を指定しなかっ
たり false に設定したりすると、host-uuid で指定した XenServer ホストだけに対して PBD が作成され
ます。
device-config パラメータは、デバイスの type によって異なります。さまざまなストレージバックエン
ド用のパラメーターについて詳しくは、第 5 章 「ストレージ」を参照してください。
A.4.18.3. sr-destroy
sr-destroy uuid=<sr_uuid>
XenServer ホスト上の指定したストレージリポジトリを破棄します。
A.4.18.4. sr-enable-database-replication
sr-enable-database-replication uuid=<sr_uuid>
指定した(共有)ストレージリポジトリへの xapi データベースの複製を有効にします。以下はその例
です。
xe sr-enable-database-replication uuid=<sr-uuid>
A.4.18.5. sr-disable-database-replication
sr-disable-database-replication uuid=<sr_uuid>
指定したストレージリポジトリへの xapi データベースの複製を無効にします。以下はその例です。
xe sr-enable-database-replication uuid=<sr-uuid>
A.4.18.6. sr-forget
sr-forget uuid=<sr_uuid>
198
XenServer ホストで、指定したストレージリポジトリが xapi エージェントから削除されます。この
結果ストレージリポジトリが切断され、その上の VDI にアクセスできなくなります。ただし、そのス
トレージリポジトリはソースメディア上に残ります(データは失われません)。
A.4.18.7. sr-introduce
sr-introduce name-label=<name>
physical-size=<physical_size>
type=<type>
content-type=<content_type>
uuid=<sr_uuid>
ストレージリポジトリレコードをデータベースに配置(イントロデュース)します。device-config パ
ラメーターは、次のように device-config:<parameter_key>=<parameter_value>形式で指定します。
xe sr-introduce device-config:<device>=</dev/sdb1>
注:
このコマンドは、通常の操作では使用しません。作成後のストレージリポジトリを
共有用に再設定する必要のある場合や、さまざまな障害シナリオからの回復に使用
できる、高度な操作です。
A.4.18.8. sr-probe
sr-probe type=<type> [host-uuid=<uuid_of_host>] [deviceconfig:<config_name>=<value>]
指定した device-config キーに基づいて、特定のバックエンドのスキャンを行います。device-config で目
的のストレージリポジトリバックエンドの設定パラメータを指定すると、その値に一致するストレー
ジリポジトリのリストが返されます。device_config で一部のパラメータのみを指定して特定バックエ
ンドのスキャンを行うと、目的のストレージリポジトリを検出するために指定すべきほかの
device_config パラメータが返されます。スキャンの結果は、バックエンド固有の XML 形式で返され、
CLI により出力されます。
device-config パラメータは、デバイスの type によって異なります。さまざまなストレージバックエン
ド用のパラメーターについて詳しくは、第 5 章 「ストレージ」を参照してください。
A.4.18.9. sr-scan
sr-scan uuid=<sr_uuid>
ストレージリポジトリのスキャンを強制して、xapi データベースを、そのストレージサブストレート
に存在する VDI と同期します。
A.4.19. タスクコマンド
実行時間の長い非同期タスク(task オブジェクト)を操作します。非同期タスクとは、仮想マシンの
起動、停止、一時停止などのタスクを指します。通常、これらのタスクは、要求された操作をまとま
って実行するほかのアトミックサブタスクの集合からなります。
task オブジェクトのリストは、標準オブジェクトリストコマンド(xe task-list)を使用して出力で
き、パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベルパ
ラメータコマンド」を参照してください。
A.4.19.1. task オブジェクトのパラメータ
task オブジェクトには、以下のパラメータがあります。
199
パラメータ名
説明
種類
uuid
タスクの一意の識別子/オブジェクトリ
ファレンス
読み取り専用
name-label
タスクの名前
読み取り専用
name-description
タスクの説明文字列
読み取り専用
resident-on
タスクを実行しているホストの一意の
識別子/オブジェクトリファレンス
読み取り専用
status
タスクの現在の状態
読み取り専用
progress
タスクが保留中の場合はその処理の推
定完了率(0-1)。成功したかどうかに関
係なく、完了すると 1
読み取り専用
type
タスクが正常に完了した場合は、コード
化された結果の種類(result フィールド
で参照するクラス名など)。それ以外は
未定義
読み取り専用
タスクが正常に完了した場合は結果値
(Void またはオブジェクト参照)。それ
以外は未定義
読み取り専用
error_info
タスクが失敗した場合はそのタスクに
関するエラー文字列。それ以外は未定
義
読み取り専用
allowed_operations
この状態で可能な操作のリスト
読み取り専用
created
タスクの作成時刻
読み取り専用
finished
タスクが完了(成功または失敗)した時
刻。task-status が pending の場合、こ
のフィールドの値は意味を持ちません
読み取り専用
subtask_of
このサブタスクが参照するタスクの
UUID
読み取り専用
subtasks
このタスクのすべてのサブタスクの
UUID
読み取り専用
result
A.4.19.2. task-cancel
task-cancel [uuid=<task_uuid>]
指定したタスクを取り消して戻します。
A.4.20. テンプレートコマンド
仮想マシンテンプレート(template オブジェクト)を操作します。
基本的に、template オブジェクトは、is_a_template パラメーターが true に設定された vm オブジェク
トです。テンプレートは、特定の仮想マシンをインスタンス化するための構成設定をすべて含んだ「ゴ
ールドイメージ」です。XenServer にはテンプレートの基本セットが付属しており、これらを基に
「未加工」の汎用仮想マシンを作成して、オペレーティングシステムベンダのインストール CD から起
200
動できます(RHEL、CentOS、SLES、Windows など)。XenServer では、仮想マシンを作成し、そ
れを必要に応じて設定し、将来の展開用にそのコピーをテンプレートとして保存できます。
template オブジェクトのリストは、標準オブジェクトリストコマンド(xe template-list)を使用
して出力でき、パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2.
「低レベルパラメータコマンド」を参照してください。
A.4.20.1. template オブジェクトのパラメータ
template オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
テンプレートの一意の識別子/オ
ブジェクト参照
読み取り専用
name-label
テンプレートの名前
読み取り/書き込み
name-description
テンプレートの説明文字列
読み取り/書き込み
user-version
バージョン情報に含める、仮想マ
シンおよびテンプレートの作成者
用の文字列
読み取り/書き込み
is-a-template
テンプレートの場合に true。テ
ンプレートは起動できない仮想マ
シンで、複製して仮想マシンを作
成するためのものです
読み取り/書き込み
is-control-domain
コントロールドメイン(ドメイン
0 またはドライバードメイン)の
場合に true
読み取り専用
power-state
現在の電源の状態。テンプレート
の場合は常に halted
読み取り専用
memory-dynamic-max
動的最大メモリ量(バイト数)。現
在使用されていないパラメータで
すが、変更する場合は以下の制限
が あ り ま す 。 memory_static_max
>= memory_dynamic_max >=
memory_dynamic_min
>=
memory_static_min
読み取り/書き込み
memory-dynamic-min
動的最小メモリ量(バイト数)。現
在、使用されないパラメータです
が 、 変 更 す る 場 合 は memorydynamic-max と同じ制限が適用さ
れます
読み取り/書き込み
memory-static-max
静的設定(絶対)最大値(バイト
数)。仮想マシンに割り当てるメ
モリ量を指定するためのパラメー
タ
読み取り/書き込み
201
パラメータ名
説明
種類
memory-static-min
静的設定(絶対)最小値(バイト
数)。仮想マシンに割り当てる最
少メモリ量。memory-static-min に
は memory-static-max よ り も 小 さ
い値を指定します。現在、通常で
は使用されないパラメータです
が、前述の制限が適用されます
読み取り/書き込み
suspend-VDI-uuid
一時停止イメージを格納する
VDI(テンプレートの場合意味を
持ちません)
読み取り専用
202
パラメータ名
説明
種類
VCPUs-params
選択した VCPU ポリシーの設定
パラメータ
読み取り/書き込み可のマ
ップパラメータ
次のコマンドで、使用する VCPU
を指定できます。
xe template-param-set \
uuid=<template_uuid> \
VCPUs-params:mask=1,2,3
これにより、このテンプレートか
ら作成した仮想マシンは物理
CPU の 1、2、および 3 上でのみ
動作します。
ま た 、 次 の よ う に cap お よ び
weight パラメーターを使用して、
VCPU の 優 先 度 ( xen
scheduling)を指定できます。
xe template-param-set \
uuid=<template_uuid> \
VCPUs-params:weight=512
xe template-param-set \
uuid=<template_uuid> \
VCPUs-params:cap=100
これにより、このテンプレートか
ら作成した仮想マシン(weight は
512)は、その XenServer ホスト
上のほかのドメイン(weight は
256)の 2 倍の CPU リソースを使
用できます。weight に指定可能
な値は 1~65535 で、デフォルト
値は 256 です。
cap パラメータを指定すると、そ
のホストの CPU にアイドルサイ
クルがある場合でも、このテンプ
レートから作成した仮想マシンが
使用する CPU サイクルに上限を
設定できます。cap には 1 つの
物理 CPU のパーセンテージを指
定します。つまり、100 は 1 つの
物理 CPU、50 はその半分、400
は 4 つの物理 CPU を示します。
デフォルト値は 0 で、これは上限
を設定しないことを示します。
VCPUs-max
VCPU の最大数
読み取り/書き込み
VCPUs-at-startup
VCPU の起動番号
読み取り/書き込み
actions-after-crash
このテンプレートから作成した仮
想マシンがクラッシュした後で実
行する処理
読み取り/書き込み
203
パラメータ名
説明
種類
console-uuids
仮想コンソールデバイス
読み取り専用のセットパ
ラメータ
platform
プラットフォーム特有の設定
読み取り/書き込み可のマ
ップパラメータ
HVM ゲスト(Windows 仮想マシ
ンなど)のパラレルポートのエミ
ュレーションを無効にするには、
次のコマンドを使用します。
xe vm-param-set \
uuid=<vm_uuid> \
platform:parallel=none
HVM ゲストのシリアルポートの
エミュレーションを無効にするに
は、次のコマンドを使用します。
xe vm-param-set \
uuid=<vm_uuid> \
platform:hvm_serial=none
HVM ゲストの USB コントロー
ラおよび USB タブレットデバイ
スのエミュレーションを無効にす
るには、次のコマンドを使用しま
す。
xe vm-param-set \
uuid=<vm_uuid> \
platform:usb=false
xe vm-param-set \
uuid=<vm_uuid> \
platform:usb_tablet=false
allowed-operations
この状態で可能な操作のリスト
読み取り専用のセットパ
ラメータ
current-operations
このテンプレート上で現在処理中
の操作のリスト
読み取り専用のセットパ
ラメータ
allowed-VBD-devices
0~15 の整数で表した使用可能な
VBD 識別子のリスト。このリス
トは情報を提供するだけで、ほか
のデバイスも使用できます(ただ
し機能しない場合があります)
読み取り専用のセットパ
ラメータ
allowed-VIF-devices
0~15 の整数で表した使用可能な
VIF 識別子のリスト。このリスト
は情報を提供するだけで、ほかの
デバイスも使用できます(ただし
機能しない場合があります)
読み取り専用のセットパ
ラメータ
HVM-boot-policy
HVM ゲ ス ト の 起 動 ポ リ シ ー 。 読み取り/書き込み
BIOS Order または空文字
204
パラメータ名
説明
HVM-boot-params
order キーが HVM ゲストの起動 読み取り/書き込み可のマ
順序を制御します。起動順序は、 ップパラメータ
d が CD/DVD、c がルートディス
ク、n がネットワーク PXE ブート
を示す各文字で定義されます。デ
フォルト値は dc
PV-kernel
カーネルのパス
読み取り/書き込み
PV-ramdisk
initrd のパス
読み取り/書き込み
PV-args
カーネルコマンドライン引数の文
字列
読み取り/書き込み
PV-legacy-args
このテンプレートから作成したレ
ガシー仮想マシンを起動するため
の引数文字列
読み取り/書き込み
PV-bootloader
ブートローダーの名前またはパス
読み取り/書き込み
PV-bootloader-args
ブートローダーの各種引数の文字
列
読み取り/書き込み
last-boot-CPU-flags
このテンプレートから作成した仮
想マシンを最後に起動したときの
CPU フラグ。テンプレートに対
しては指定されません
読み取り専用
resident-on
このテンプレートから作成した仮
想 マ シ ン が 現 在 存 在 す る
XenServer ホスト。テンプレー
トに対しては<not in database>と
表示されます
読み取り専用
affinity
このテンプレートから作成した仮
想マシンを優先して実行する
XenServer ホ ス ト 。 xe vmstart コマンドで仮想マシンの実
行ホストを指定するときに使用
読み取り/書き込み
other-config
テンプレートの追加設定パラメー
タを指定するキー/値ペアのリス
ト
読み取り/書き込み可のマ
ップパラメータ
start-time
種類
このテンプレートから作成した仮 読み取り専用
想マシンのメトリクスが読み取ら
れ た 日 時 。 形 式 は
yyyymmddThh:mm:ssz 。 こ こ で z
は、1 文字の軍用タイムゾーンイ
ンジケーターで、たとえば Z は
UTC(GMT)。テンプレートの場
合は「19700101T00:00:00 Z」
(Unix/POSIX エポック)
205
パラメータ名
install-time
説明
種類
このテンプレートから作成した仮 読み取り専用
想マシンのメトリクスが読み取ら
れ た 日 時 。 形 式 は
yyyymmddThh:mm:ssz 。 こ こ で z
は、1 文字の軍用タイムゾーンイ
ンジケーターで、たとえば Z は
UTC(GMT)。テンプレートの場
合は「19700101T00:00:00 Z」
(Unix/POSIX エポック)
memory-actual
このテンプレートから作成した仮
想マシンが使用する実メモリ。テ
ンプレートの場合は 0
読み取り専用
VCPUs-number
このテンプレートから作成した仮
想マシンに割り当てられた仮想
CPU の数。テンプレートの場合
は0
読み取り専用
VCPUs-utilisation
仮想 CPU とその優先度(weight) 読み取り専用のマップパ
のリスト
ラメータ
os-version
このテンプレートから作成した仮
想マシンのオペレーティングシス
テムのバージョン。テンプレート
の場合は<not in database>
読み取り専用のマップパ
ラメータ
PV-drivers-version
このテンプレートから作成した仮
想マシンの準仮想化ドライバのバ
ージョン。テンプレートの場合は
<not in database>
読み取り専用のマップパ
ラメータ
PV-drivers-up-to-date
このテンプレートから作成した仮
想マシンの準仮想化ドライバの最
新バージョンのフラグ。テンプレ
ートの場合は<not in database>
読み取り専用
memory
このテンプレートから作成した仮
想マシン上のエージェントにより
レポートされるメモリメトリク
ス。テンプレートの場合は<not in
database>
読み取り専用のマップパ
ラメータ
disks
このテンプレートから作成した仮
想マシン上のエージェントにより
レポートされるディスクメトリク
ス。テンプレートの場合は<not in
database>
読み取り専用のマップパ
ラメータ
networks
このテンプレートから作成した仮
想マシン上のエージェントにより
レポートされるネットワークメト
リクス。テンプレートの場合は
<not in database>
読み取り専用のマップパ
ラメータ
206
パラメータ名
説明
種類
other
このテンプレートから作成した仮
想マシン上のエージェントにより
レポートされるそのほかのメトリ
クス。テンプレートの場合は<not
in database>
読み取り専用のマップパ
ラメータ
guest-metrics-last-updated
ゲスト内のエージェントによりこ
れらのフィールドへの最後の書き
込みが実行されたときの日時。形
式は yyyymmddThh:mm:ssz。ここ
で z は、1 文字の軍用タイムゾー
ンインジケーターで、たとえば Z
は UTC(GMT)
読み取り専用
actions-after-shutdown
仮想マシンがシャットダウンした
後で実行する処理
読み取り/書き込み
actions-after-reboot
仮想マシンが再起動した後で実行
する処理
読み取り/書き込み
possible-hosts
この仮想マシンを実行可能なホス
トのリスト
読み取り専用
HVM-shadow-multiplier
ゲストで使用できるシャドウメモ
リ量に適用される乗数
読み取り/書き込み
dom-id
ドメイン ID(使用可能な場合。そ
れ以外は-1)
読み取り専用
recommendations
この仮想マシンのプロパティに対
する推奨値と推奨範囲の XML 仕
様
読み取り専用
xenstore-data
仮想マシンの作成後、xenstore ツ
リー(/local/domain/<domid>/
vm-data)に挿入するデータ
読み取り/書き込み可のマ
ップパラメータ
is-a-snapshot
このテンプレートが仮想マシンス
ナップショットの場合に true
読み取り専用
snapshot_of
このテンプレートのスナップショ
ット元の仮想マシンの UUID
読み取り専用
snapshots
このテンプレートから作成された
すべてのスナップショットの
UUID
読み取り専用
snapshot_time
最新の仮想マシンスナップショッ
トの作成日時
読み取り専用
memory-target
このテンプレートに設定されてい
るターゲットメモリ量
読み取り専用
blocked-operations
このテンプレートで実行不能な操
作のリスト
読み取り/書き込み可のマ
ップパラメータ
207
パラメータ名
last-boot-record
説明
種類
このテンプレートで最後に使用さ
れたブートパラメータのレコード
(XML 形式)
読み取り専用
ha-always-run
このテンプレートのインスタンス
がそのホストの障害時に常にほか
のホストで再起動する場合に true
読み取り/書き込み
ha-restart-priority
1、2、3 または best effort。最高
の再起動優先度は 1
読み取り/書き込み
blobs
バイナリデータストア
読み取り専用
live
実行中の仮想マシンでのみ意味を
持ちます
読み取り専用
A.4.20.2. template-export
template-export template-uuid=<uuid_of_existing_template>
filename=<filename_for_new_template>
指定したテンプレートのコピーを新規のファイル名でエクスポートします。
A.4.21. アップデートコマンド
OEM エディションの XenServer のアップデート(update オブジェクト)を操作します。標準的な非
OEM エディションの XenServer をアップデートするコマンドについては、A.4.13. 「パッチ(アッ
プデート)コマンド」を参照してください。
A.4.21.1. update-upload
update-upload file-name=<name_of_upload_file>
OEM エディションの XenServer ホストに新しいソフトウェアイメージをアップロードします。この
アップデートを有効にするには、ホストを再起動する必要ああります。
A.4.22. ユーザーコマンド
A.4.22.1. user-password-change
user-password-change old=<old_password> new=<new_password>
ログインしているユーザーのパスワードを変更します。このコマンドを実行するにはスーバーバイザ
権限が必要なため、変更前のパスワードフィールドはチェックされません。
A.4.23. VBD(仮想ブロックデバイス)コマンド
VBD(vbd オブジェクト)を操作します。
vbd オブジェクトは、仮想マシンを VDI に接続するソフトウェアオブジェクトで、仮想ディスクの内
容を示します。vbd オブジェクトには VDI を仮想マシンに関連付ける属性(起動の可否、読み取り/
書き込みメトリクスなど)があり、VDI(vdi オブジェクト)には仮想ディスクの物理属性に関する情
報(ストレージリポジトリの種類、ディスクの共有の可否、メディアが読み取り/書き込み可能か読み
取り専用かなど)があります。
208
vbd オブジェクトのリストは、標準オブジェクトリストコマンド(xe vbd-list)を使用して出力で
き、パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベルパ
ラメータコマンド」を参照してください。
A.4.23.1. vbd オブジェクトのパラメータ
vbd オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
VBD の一意の識別子/オブジ
ェクト参照
読み取り専用
vm-uuid
この VBD が接続されている
仮想マシンの一意の識別子/
オブジェクト参照
読み取り専用
vm-name-label
この VBD が接続されている
仮想マシンの名前
読み取り専用
vdi-uuid
この VBD がマップされてい
る VDI の一意の識別子/オブ
ジェクト参照
読み取り専用
vdi-name-label
この VBD がマップされてい
る VDI の名前
読み取り専用
empty
空のドライブの場合に true
読み取り専用
device
ゲ ス ト か ら 見 た デ バ イ ス 。 読み取り専用
たとえば hda1
userdevice
ユーザーフレンドリなデバ
イス名
読み取り/書き込み
bootable
この VBD が起動可能な場合
に true
読み取り/書き込み
mode
VBD のマウントに使用すべ
きモード
読み取り/書き込み
type
仮想マシンから見た VBD。 読み取り/書き込み
たとえば Disk または CD
currently-attached
VBD が現在このホストに接
続されている場合に true。そ
れ以外は false
読み取り専用
storage-lock
ストレージレベルのロック
が取得された場合に true
読み取り専用
status-code
最後の接続操作に関連する
エラー/成功コード
読み取り専用
status-detail
最後の接続操作の状態に関
連するエラー/成功コード
読み取り専用
qos_algorithm_type
使用する QoS アルゴリズム
読み取り/書き込み
209
パラメータ名
説明
種類
qos_algorithm_params
選択した QoS アルゴリズム
のパラメータ
読み取り/書き込み可のマッ
プパラメータ
qos_supported_algorithms
この VBD でサポートされる
アルゴリズム
読み取り専用のセットパラ
メータ
io_read_kbs
この VBD の平均読み取り速
度(kB/秒)
読み取り専用
io_write_kbs
この VBD の平均書き込み速
度(kB/秒)
読み取り専用
allowed-operations
現在の状態で可能な操作の
リスト。このリストは参考
用で、クライアントがこのフ
ィールドを読み取る時点で
サーバーの状態が変更され
ている可能性もありあます
読み取り専用のセットパラ
メータ
current-operations
現在処理中の操作のリスト。 読み取り専用のセットパラ
このリストは参考用で、クラ メータ
イアントがこのフィールド
を読み取る時点でサーバー
の状態が変更されている可
能性もありあます
unpluggable
この VBD がホットアンプラ
グをサポートする場合に
true
読み取り/書き込み
attachable
デバイスが接続可能な場合
に true
読み取り専用
other-config
追加設定
読み取り/書き込み可のマッ
プパラメータ
A.4.23.2. vbd-create
vbd-create vm-uuid=<uuid_of_the_vm> device=<device_value>
vdi-uuid=<uuid_of_the_vdi_the_vbd_will_connect_to> [bootable=true] [type=<Disk |
CD>] [mode=<RW | RO>]
仮想マシン上に新しい VBD を作成します。
device フィールドに指定可能な値は、指定した仮想マシンのパラメータ allowed-VBD-devices にリスト
されます。VBD が存在しない仮想マシンでの allowed-VBD-devices は、0~15 の整数をリストしま
す。
type で Disk を指定する場合、vdi-uuid を指定する必要があります。Disk の mode パラメーターには
RO または RW を指定できます。
type パラメーターで CD を指定する場合、vdi-uuid はオプションです。VDI を指定しない場合は、空の
VBD が CD 用に作成されます。CD の mode パラメーターは RO である必要があります。
A.4.23.3. vbd-destroy
vbd-destroy uuid=<uuid_of_vbd>
210
指定した VBD を破棄します。
その VBD の other-config:owner パラメーターが true の場合、関連付けられている VDI も破棄されま
す。
A.4.23.4. vbd-eject
vbd-eject uuid=<uuid_of_vbd>
指定した VBD のドライブからメディアを取り除きます。このコマンドが機能するのは、メディアの種
類が取り外し可能(物理 CD または ISO)な場合のみです。それ以外の場合は、エラーメッセージ
VBD_NOT_REMOVABLE_MEDIA が返されます。
A.4.23.5. vbd-insert
vbd-insert uuid=<uuid_of_vbd> vdi-uuid=<uuid_of_vdi_containing_media>
指定した VBD のドライブに新しいメディアを挿入します。このコマンドが機能するのは、メディアの
種類が取り外し可能(物理 CD または ISO)な場合のみです。それ以外の場合は、エラーメッセージ
VBD_NOT_REMOVABLE_MEDIA が返されます。
A.4.23.6. vbd-plug
vbd-plug uuid=<uuid_of_vbd>
仮想マシンが実行状態のときに VBD の接続を試みます。
A.4.23.7. vbd-unplug
vbd-unplug uuid=<uuid_of_vbd>
仮想マシンが実行状態のときに VBD の接続解除を試みます。
A.4.24. VDI(仮想ディスクイメージ)コマンド
VDI(vdi オブジェクト)を操作します。
vdi オブジェクトは、仮想マシンから見た仮想ディスクの内容を表すソフトウェアオブジェクトです。
仮想マシンを VDI に関連付けるコネクタオブジェクトである VBD(vbd オブジェクト)とは異なり
ます。vdi オブジェクトには仮想ディスクの物理属性に関する情報(ストレージリポジトリの種類、
ディスクの共有の可否、メディアが読み取り/書き込み可能か読み取り専用かなど)があり、VBD(vbd
オブジェクト)には VDI を仮想マシンに関連付ける属性(起動の可否、読み取り/書き込みメトリク
スなど)があります。
vdi オブジェクトのリストは、標準オブジェクトリストコマンド(xe vdi-list)を使用して出力でき、
パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベルパラメ
ータコマンド」を参照してください。
A.4.24.1. vdi オブジェクトのパラメータ
vdi オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
VDI の一意の識別子/オブジェクト参照
読み取り専用
name-label
VDI の名前
読み取り/書き込み
name-description
VDI の説明文字列
読み取り/書き込み
211
パラメータ名
説明
種類
allowed-operations
この状態で可能な操作のリスト
読み取り専用のセットパラメ
ータ
current-operations
この VDI で現在処理中の操作のリスト
読み取り専用のセットパラメ
ータ
sr-uuid
VDI を格納するストレージリポジトリ
読み取り専用
vbd-uuids
この VDI を参照する VBD のリスト
読み取り専用のセットパラメ
ータ
crashdump-uuids
この VDI を参照するクラッシュ ダンプ
のリスト
読み取り専用のセットパラメ
ータ
virtual-size
仮想マシンで表示されるディスクのサ
イズ(バイト数)。ストレージバックエ
ンドの種類によっては、正確に表示され
ない場合があります
読み取り専用
physical-utilisation
ストレージリポジトリ上での VDI の物
理スペース(バイト数)
読み取り専用
type
VDI の種類。たとえば System または
User
読み取り専用
sharable
VDI が共有可能な場合に true
読み取り専用
read-only
VDI を読み取り専用のみでマウントす
る場合に true
読み取り専用
storage-lock
VDI がストレージレベルでロックされ
ている場合に true
読み取り専用
parent
VDI がチェーンの一部である場合は、親
VDI への参照
読み取り専用
missing
ストレージリポジトリのスキャン操作
によりこの VDI がディスク上に存在し
ないと認識された場合に true
読み取り専用
other-config
VDI の追加指定情報
読み取り/書き込み可のマップ
パラメータ
sr-name-label
ストレージリポジトリの名前
読み取り専用
location
場所情報
読み取り専用
managed
VDI が管理されている場合に true
読み取り専用
xenstore-data
VDI の接続後、xenstore ツリー(/local/ 読み取り専用のマップパラメ
domain/0/backend/vbd/<domid>/<deviceータ
id>/sm-data)に挿入するデータ。通常、
VDI 接続時(vdi-attach)にストレー
ジマネージャーバックエンドにより設
定されます
212
パラメータ名
説明
種類
sm-config
SM に依存するデータ
読み取り専用のマップパラメ
ータ
is-a-snapshot
この VDI が仮想マシンストレージスナ
ップショットの場合に true
読み取り専用
snapshot_of
この VDI のスナップショット元のスト
レージの UUID
読み取り専用
snapshots
この VDI のすべてのスナップショット
の UUID
読み取り専用
snapshot_time
この VDI を作成したスナップショット
操作の日時
読み取り専用
metadata-of-pool
この VDI を作成したプールの UUID
読み取り専用
metadata-latest
VDI がプールの最新のメタデータを含
んでいることを示すフラグ
読み取り専用
A.4.24.2. vdi-clone
vdi-clone uuid=<uuid_of_the_vdi> [driver-params:<key=value>]
直接使用できる、書き込み可能な VDI のコピーを新規に作成します。このコマンドがサポートされる
場合、vdi-copy よりも高速にイメージを複製できます。
オプションの driver-params マップパラメータを使用して、ベンダ特有の追加設定情報を、その VDI の
バックエンドストレージドライバに渡すことができます。詳しくは、ベンダの説明書を参照してくだ
さい。
A.4.24.3. vdi-copy
vdi-copy uuid=<uuid_of_the_vdi> sr-uuid=<uuid_of_the_destination_sr>
VDI を指定したストレージリポジトリにコピーします。
A.4.24.4. vdi-create
vdi-create sr-uuid=<uuid_of_the_sr_where_you_want_to_create_the_vdi>
name-label=<name_for_the_vdi>
type=<system | user | suspend | crashdump>
virtual-size=<size_of_virtual_disk>
sm-config-*=<storage_specific_configuration_data>
VDI を作成します。
virtual-size パラメータは、バイト単位または IEC 標準の KiB(210 バイト)、MiB(220 バイト)、GiB
(230 バイト)、および TiB(240 バイト)を使用して指定できます。
注:
ディスクのシンプロビジョニングをサポートする種類のストレージリポジトリ(ロ
ーカル VHD や NFS)では、ディスクの仮想割り当てが強制されません。このため、
ストレージリポジトリ上で仮想ディスクを過剰に割り当てる場合には注意が必要で
す。過剰に割り当てたストレージリポジトリに空き領域がなくなった場合、そのタ
ーゲットサブストレートを使うか、またはそのストレージリポジトリ上の不要な
VDI を削除して、ディスク領域を確保する必要があります。
213
注:
ストレージリポジトリの種類によっては、設定したブロックサイズで分割できるよ
うに virtual-size の値が切り上げられる可能性があります。
A.4.24.5. vdi-destroy
vdi-destroy uuid=<uuid_of_vdi>
指定した VDI を破棄します。
注:
ローカル VHD および NFS のストレージリポジトリでは、VDI の破棄により即時に
ディスク領域が解放されるのではなく、ストレージリポジトリのスキャン時に定期
的に解放されます。VDI の破棄後のディスク領域を強制的に解放するには、手動で
sr-scan を実行します。
A.4.24.6. vdi-forget
vdi-forget uuid=<uuid_of_vdi>
ストレージから VDI を削除せずに、データベースから VDI レコードだけを削除します。通常は、vdidestroy を使用します。
A.4.24.7. vdi-import
vdi-import uuid=<uuid_of_vdi> filename=<filename_of_raw_vdi>
未加工の VDI をインポートします。
A.4.24.8. vdi-introduce
vdi-introduce uuid=<uuid_of_vdi>
sr-uuid=<uuid_of_sr_to_import_into>
name-label=<name_of_the_new_vdi>
type=<system | user | suspend | crashdump>
location=<device_location_(varies_by_storage_type)>
[name-description=<description_of_vdi>]
[sharable=<yes | no>]
[read-only=<yes | no>]
[other-config=<map_to_store_misc_user_specific_data>]
[xenstore-data=<map_to_of_additional_xenstore_keys>]
[sm-config<storage_specific_configuration_data>]
ストレージを実際に変更したり作成したりせずに、既存のストレージデバイスの vdi オブジェクトを
作成します。このコマンドは、ホットプラグされたストレージデバイスを自動的にイントロデュース
するために、主に内部で使用されます。
A.4.24.9. vdi-pool-migrate
vdi-pool-migrate <uuid>=<VDI_uuid> <sr-uuid>=<destination-sr-uuid>
VDI を指定したストレージリポジトリに移行し、VDI を実行中のゲストに接続します。(ストレージ
XenMotion)
『XenServer 仮想マシンユーザーガイド』の「仮想マシンの移行」の章を参照してください。
214
A.4.24.10. vdi-resize
vdi-resize uuid=<vdi_uuid> disk-size=<new_size_for_disk>
UUID で指定した VDI のサイズを変更します。
A.4.24.11. vdi-snapshot
vdi-snapshot uuid=<uuid_of_the_vdi> [driver-params=<params>]
バックアップまたはテンプレートの作成時に参照できる、読み書き可能な VDI を作成します。バック
アップを行う場合、仮想マシン内でバックアップソフトウェアをインストールして実行する代わりに、
スナップショットを使ってバックアップを作成できます。仮想マシンの外部でバックアップソフトウ
ェアがスナップショットの内容をバックアップメディアに保存している間も、仮想マシンを停止する
必要はありません。同様に、スナップショットはテンプレートの基になる「ゴールドイメージ」とし
て使用することもできます。テンプレートは、いずれの VDI からも作成できます。
オプションの driver-params マップパラメータを使用して、ベンダ特有の追加設定情報を、その VDI の
バックエンドストレージドライバに渡すことができます。詳しくは、ベンダの説明書を参照してくだ
さい。
スナップショットの複製は、常に書き込み可能な VDI を作成します。
A.4.24.12. vdi-unlock
vdi-unlock uuid=<uuid_of_vdi_to_unlock> [force=true]
指定した VDI のロック解除を試みます。force=true を指定すると、強制的にロックを解除します。
A.4.25. VIF(仮想ネットワークインターフェイス)コマンド
VIF(vif オブジェクト)を操作します。
vif オブジェクトのリストは、標準オブジェクトリストコマンド(xe vif-list)を使用して出力でき、
パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベルパラメ
ータコマンド」を参照してください。
A.4.25.1. vif オブジェクトのパラメータ
vif オブジェクトには、以下のパラメータがあります。
パラメータ名
説明
種類
uuid
VIF の一意の識別子/オブジェクト
参照
読み取り専用
vm-uuid
この VIF が存在する仮想マシンの一
意の識別子/オブジェクト参照
読み取り専用
vm-name-label
VIF が存在する仮想マシンの名前
読み取り専用
allowed-operations
この状態で可能な操作のリスト
読み取り専用のセッ
トパラメータ
current-operations
この VIF で現在処理中の操作のリス
ト
読み取り専用のセッ
トパラメータ
device
VIF バックエンドの作成順を示す、 読み取り専用
VIF の整数ラベル
215
パラメータ名
説明
種類
MAC
仮 想 マ シ ン に 提 供 さ れ る 、 VIF の
MAC アドレス
読み取り専用
MTU
VIF
の
MTU ( Maximum 読み取り専用
Transmission Unit)バイト数。この
パラメータは読み取り専用ですが、
other-config マップパラメータの mtu
キーでこの MTU 設定よりも優先さ
れる値を指定できます。たとえば、
次のコマンドで、仮想 NIC の MTU
設定をジャンボフレーム用に変更で
きます。
xe vif-param-set \
uuid=<vif_uuid> \
other-config:mtu=9000
currently-attached
デバイスが現在接続されている場合
に true
読み取り専用
qos_algorithm_type
使用する QoS アルゴリズム
読み取り/書き込み
qos_algorithm_params
選択した QoS アルゴリズムのパラ
メータ
読み取り/書き込み
可のマップパラメー
タ
qos_supported_algorithms
この VIF でサポートされる QoS ア
ルゴリズム
読み取り専用のセッ
トパラメータ
MAC-autogenerated
VIF の MAC アドレスが自動生成の
場合に true
読み取り専用
other-config
追加の設定キー:値ペア
読み取り/書き込み
可のマップパラメー
タ
other-config:ethtool-rx
チェックサムの受信を有効にする場
合に on、無効にする場合に off
読み取り/書き込み
other-config:ethtool-tx
チェックサムの転送を有効にする場
合に on、無効にする場合に off
読み取り/書き込み
other-config:ethtool-sg
Scatter/Gather を 有 効 に す る 場 合
に on、無効にする場合に off
読み取り/書き込み
other-config:ethtool-tso
TCP セグメンテーションオフロード
を有効にする場合に on、 無効にする
場合に off
読み取り/書き込み
other-config:ethtool-ufo
UDP フラグメンテーションオフロ
ードを有効にする場合に on、 無効に
する場合に off
読み取り/書き込み
other-config:ethtool-gso
汎用セグメンテーションオフロード
を有効にする場合に on、 無効にする
場合に off
読み取り/書き込み
216
パラメータ名
説明
種類
other-config:promiscuous
VIF がブリッジ上で無作為検出(ブ
リッジ上のすべてのトラフィックを
検出)を行う場合に true。仮想マシン
で侵入検知システム(IDS:Intrusion
Detection System)を実行する場合
に使用
読み取り/書き込み
network-uuid
この VIF が接続されている仮想ネッ
トワークの一意の識別子/オブジェ
クト参照
読み取り専用
network-name-label
この VIF が接続されている仮想ネッ
トワークの名前
読み取り専用
io_read_kbs
この VIF の平均読み取り速度(kB/
秒)
読み取り専用
io_write_kbs
この VIF の平均書き込み速度(kB/
秒)
読み取り専用
locking_mode
VIF で送受信されるトラフィックを
MAC アドレスや IP アドレスでフィ
ルタするためのロックモード。追加
パラメータの指定が必要
読み取り/書き込み
locking_mode:network_default
ネットワークのロックモードが VIF 読み取り/書き込み
に適用されます。ネットワークの
default-locking-mode が <disabled>
の場合、そのネットワークが接続す
る VIF ですべての送受信トラフィッ
ク が ド ロ ッ プ さ れ ま す 。 defaultlocking-mode が<unlocked>の場合、
そのネットワークが接続する VIF で
すべての送受信トラフィックが許可
されます。A.4.12. 「ネットワーク
コマンド」を参照してください
locking_mode:locked
VIF で特定の MAC アドレスおよび
IP アドレスで送受信されるトラフィ
ックのみが許可されます。IP アドレ
スを指定しない場合、すべてのトラ
フィックがドロップされます。
読み取り/書き込み
locking_mode:unlocked
VIF ですべての送受信トラフィック
が許可されます
読み取り/書き込み
locking_mode:disabled
VIF ですべての送受信トラフィック
がドロップされます。
読み取り/書き込み
A.4.25.2. vif-create
vif-create vm-uuid=<uuid_of_the_vm> device=<see below>
network-uuid=<uuid_of_the_network_the_vif_will_connect_to> [mac=<mac_address>]
仮想マシンに新しい VIF を作成します。
217
device フィールドに指定可能な値は、指定した仮想マシンのパラメータ allowed-VIF-devices にリスト
されます。VIF が存在しない仮想マシンで指定可能な値は 0~15 の整数です。
mac パラメータは、aa:bb:cc:dd:ee:ff 形式の標準 MAC アドレスです。指定しない場合、ランダムな MAC
アドレスが作成されます。mac=random を指定することで、ランダムな MAC アドレス作成を明示的に
設定することもできます。
A.4.25.3. vif-destroy
vif-destroy uuid=<uuid_of_vif>
VIF を破棄します。
A.4.25.4. vif-plug
vif-plug uuid=<uuid_of_vif>
仮想マシンが実行状態のときに VIF の接続を試みます。
A.4.25.5. vif-unplug
vif-unplug uuid=<uuid_of_vif>
仮想マシンが実行状態のときに VIF の接続解除を試みます。
A.4.26. VLAN(仮想ネットワーク)コマンド
VLAN(vlan オブジェクト)を操作します。仮想インターフェイスの一覧を出力して編集するには、
PIF コマンドを使用します。このコマンドには、関連付けられた仮想ネットワークがあることを示す
VLAN パラメーターがあります(A.4.15. 「PIF(物理ネットワークインターフェイス)コマンド」を
参照)。たとえば、VLAN のリストを出力するには、xe pif-list を使用する必要があります。
A.4.26.1. vlan-create
vlan-create pif-uuid=<uuid_of_pif> vlan=<vlan_number> network-uuid=<uuid_of_network>
XenServer ホスト上に新しい VLAN を作成します。
A.4.26.2. pool-vlan-create
vlan-create pif-uuid=<uuid_of_pif> vlan=<vlan_number> network-uuid=<uuid_of_network>
リソースプール内のすべてのホストについて、指定されたネットワークが接続されているインターフ
ェイス(eth0 など)を識別し、新しい PIF オブジェクトを作成およびプラグして、新しい VLAN を作
成します。
A.4.26.3. vlan-destroy
vlan-destroy uuid=<uuid_of_pif_mapped_to_vlan>
VLAN を破棄します。VLAN にマップされた PIF の UUID を指定する必要があります。
A.4.27. 仮想マシンコマンド
仮想マシン(vm オブジェクト)とその属性を操作します。
A.4.27.1. vm オブジェクトセレクタ
ここで説明する多くのコマンドでは、1 つまたは複数の仮想マシンを操作対象として選択するための
共通のメカニズムがあります。UUID や名前で仮想マシンを指定するには、引数 vm=<name_or_uuid>
218
を使用します。また、すべての vm オブジェクトのリストを、フィールドの値に基づいてフィルタす
ることもできます(フィールドの一覧は、xe vm-list params=all コマンドで確認できます)。たと
えば、power-state=halted と指定すると、power-state パラメーターが halted の仮想マシンがすべて操作
対象として選択されます。複数の仮想マシンがフィルタ条件に一致し、そのすべてのオブジェクトに
対してコマンドを実行する場合は、オプション--multiple を指定する必要があります。指定できるすべ
てのパラメータの一覧は、次の表のとおりです。また、xe vm-list params=all コマンドを実行してこれ
らのパラメータを表示することもできます。
vm オブジェクトのリストは、標準オブジェクトリストコマンド(xe vm-list)を使用して出力でき、
パラメータは標準パラメータコマンドを使用して操作できます。詳しくは、A.3.2. 「低レベルパラメ
ータコマンド」を参照してください。
A.4.27.2. vm オブジェクトのパラメータ
vm オブジェクトには、以下のパラメータがあります。
注:
書き込み可能な vm パラメータの値は、対象の仮想マシンが実行中であっても変更
できます。ただし、その変更は動的には適用されず、仮想マシンを再起動するまで
反映されません。
パラメータ名
説明
種類
appliance
仮想マシンを含んでいる仮
想アプライアンス/vApp
読み取り/書き込み
uuid
仮想マシンの一意の識別子/
オブジェクト参照
読み取り専用
name-label
仮想マシンの名前
読み取り/書き込み
name-description
仮想マシンの説明文字列
読み取り/書き込み
order
vApp の起動/シャットダウ
ン時や高可用性での仮想マ
シンの起動順序
読み取り/書き込み
version
こ の 仮 想 マ シ ン の 回 復 数 。 読み取り専用
新しい仮想マシンを古いバ
ージョンで上書きするには
vm-recover を使用
user-version
バージョン情報に含める、仮
想マシンおよびテンプレー
トの作成者用の文字列
読み取り/書き込み
is-a-template
テンプレートでない場合に
false。テンプレートは起動
できない仮想マシンで、複製
して仮想マシンを作成する
ためのものです
読み取り/書き込み
is-control-domain
コントロールドメイン(ドメ
イン 0 またはドライバドメ
イン)の場合に true
読み取り専用
power-state
現在の電源の状態
読み取り専用
219
パラメータ名
説明
種類
start delay
仮想マシンの起動コールが
返るまでの待機時間
読み取り/書き込み
shutdown-delay
仮想マシンのシャットダウ
ンコールが返るまでの待機
時間
読み取り/書き込み
memory-dynamic-max
動的最大メモリ量(バイト
数)
読み取り/書き込み
memory-dynamic-min
動的最小メモリ量(バイト
数)
読み取り/書き込み
memory-static-max
静的設定(絶対)最大値(バ
イト数)
読み取り/書き込み
この値を変更するには、仮想
マシンがシャットダウン状
態である必要があります。
memory-static-min
静的設定(絶対)最小値(バ
イト数)。この値を変更する
には、仮想マシンがシャット
ダウン状態である必要があ
ります。
読み取り/書き込み
suspend-VDI-uuid
一時停止イメージを格納す
る VDI
読み取り専用
220
パラメータ名
説明
種類
VCPUs-params
選択した VCPU ポリシーの
設定パラメータ
読み取り/書き込み可のマッ
プパラメータ
次のコマンドで、使用する
VCPU を指定できます。
xe vm-param-set \
uuid=<vm_uuid> \
VCPUs-params:mask=1,2,3
これにより、この仮想マシン
は物理 CPU の 1、2、および
3 上でのみ動作します。
また、次のように cap および
weight パラメーターを使用
して、VCPU の優先度(xen
scheduling)を指定できま
す。
xe vm-param-set \
uuid=<vm_uuid> \
VCPUs-params:weight=512
xe vm-param-set \
uuid=<vm_uuid> \
VCPUs-params:cap=100
これにより、この仮想マシン
(weight は 512)は、その
XenServer ホスト上のほか
のドメイン(weight は 256)
の 2 倍の CPU リソースを使
用できます。weight に指定
可能な値は 1~65535 で、デ
フォルト値は 256 です。
cap パ ラ メ ー タ を 指 定 す る
と、そのホストの CPU にア
イドルサイクルがある場合
でも、この仮想マシンが使用
する CPU サイクルに上限を
設 定 で き ま す 。 cap に は 1
つの物理 CPU のパーセンテ
ージを指定します。つまり、
100 は 1 つの物理 CPU、50
はその半分、400 は 4 つの物
理 CPU を示します。デフォ
ルト値は 0 で、これは上限を
設定しないことを示します。
VCPUs-max
VCPU の最大数
読み取り/書き込み
VCPUs-at-startup
VCPU の起動数
読み取り/書き込み
221
パラメータ名
actions-after-crash
説明
種類
仮想マシンがクラッシュし 読み取り/書き込み
たときに実行する処理。PV
ゲ ス ト の 場 合 は preserve
( 解 析 の た め 保 持 )、
coredump_and_restart(コ
アダンプを記録して仮想マ
シ ン を 再 起 動 )、
coredump_and_destroy
(コアダンプを記録して仮想
マシンを停止させた状態に
しておく)、restart(コアダ
ンプを記録せずに仮想マシ
ン を 再 起 動 )、 お よ び
destroy(コアダンプを記録
せずに仮想マシンを停止さ
せた状態にしておく)
console-uuids
仮想コンソールデバイス
読み取り専用のセットパラ
メータ
platform
プラットフォーム特有の設
定
読み取り/書き込み可のマッ
プパラメータ
allowed-operations
この状態で可能な操作のリ
スト
読み取り専用のセットパラ
メータ
current-operations
仮想マシン上で現在処理中
の操作のリスト
読み取り専用のセットパラ
メータ
allowed-VBD-devices
0~15 の整数で表した使用可 読み取り専用のセットパラ
能な VBD 識別子のリスト。 メータ
このリストは情報を提供す
るだけで、ほかのデバイスも
使用できます(ただし機能し
ない場合があります)
allowed-VIF-devices
0~15 の整数で表した使用可 読み取り専用のセットパラ
能 な VIF 識 別 子 の リ ス ト 。 メータ
このリストは情報を提供す
るだけで、ほかのデバイスも
使用できます(ただし機能し
ない場合があります)
HVM-boot-policy
HVM ゲ ス ト の 起 動 ポ リ シ
ー。BIOS Order または空文
字
読み取り/書き込み
HVM-boot-params
order キーが HVM ゲストの
起動順序を制御します。起
動順序は、d が CD/DVD、c
がルートディスク、n がネッ
トワーク PXE ブートを示す
各文字で定義されます。デ
フォルト値は dc
読み取り/書き込み可のマッ
プパラメータ
222
パラメータ名
説明
種類
HVM-shadow-multiplier
仮想マシンに許可するシャ
ドウメモリオーバーヘッド
の量を制御する浮動小数点
値。デフォルトは 1.0(最小
値)で、この設定は上級ユー
ザーのみが変更するように
してください
読み取り/書き込み
PV-kernel
カーネルのパス
読み取り/書き込み
PV-ramdisk
initrd のパス
読み取り/書き込み
PV-args
カーネルコマンドライン引
数の文字列
読み取り/書き込み
PV-legacy-args
レガシー仮想マシンを起動
するための引数文字列
読み取り/書き込み
PV-bootloader
ブートローダーの名前また
はパス
読み取り/書き込み
PV-bootloader-args
ブートローダーの各種引数
の文字列
読み取り/書き込み
last-boot-CPU-flags
仮想マシンが最後に起動し
た CPU フラグの説明
読み取り専用
resident-on
仮想マシンが現在存在する
XenServer ホスト
読み取り専用
affinity
この仮想マシンを優先して
実 行 す る XenServer ホ ス
ト。xe vm-start コマンド
で仮想マシンの実行ホスト
を指定するときに使用
読み取り/書き込み
other-config
この仮想マシンの追加設定
パラメータを指定するキー/
値ペアのリスト
読み取り/書き込み可のマッ
プパラメータ
other-config パ ラ メ ー タ ー
が auto_poweron: true を
含む場合、その仮想マシンは
ホストの起動時に自動的に
開始されます。
start-time
仮想マシンのメトリクスが
読み取られた日時。形式は
yyyymmddThh:mm:ssz 。 こ こ
で z は、1 文字の軍用タイム
ゾーンインジケーターで、た
とえば Z は UTC(GMT)
223
読み取り専用
パラメータ名
説明
種類
install-time
仮想マシンのメトリクスが
読み取られた日時。形式は
yyyymmddThh:mm:ssz 。 こ こ
で z は、1 文字の軍用タイム
ゾーンインジケーターで、た
とえば Z は UTC(GMT)
読み取り専用
memory-actual
仮想マシンが使用する実メ
モリ
読み取り専用
VCPUs-number
仮想マシンに割り当てられ
ている仮想 CPU の数
読み取り専用
準仮想化 Linux 仮想マシン
の 場 合 、 こ の 値 が VCPUSmax と異なっていても構い
ま せ ん 。 ま た 、 vm-vcpuhotplug コマンドを使用す
ると、仮想マシンを再起動せ
ずに値を変更できます。A.
4.27.34.
「 vm-vcpuhotplug」を参照してくださ
い。Windows 仮想マシンの
場合、常に VCPUs-max に設
定された数の仮想 CPU を使
用します。この値を変更し
た場合、仮想マシンの再起動
が必要です。
XenServer ホスト上の物理
CPU の 数 よ り 大 き い 値 を
VCPUs-number に 設 定 す る
と、パフォーマンスが著しく
低下するため注意してくだ
さい。
VCPUs-utilisation
仮 想 CPU と そ の 優 先 度
(weight)のリスト
読み取り専用のマップパラ
メータ
os-version
仮想マシンのオペレーティ
ングシステムのバージョン
読み取り専用のマップパラ
メータ
PV-drivers-version
仮想マシンの準仮想化ドラ
イバのバージョン
読み取り専用のマップパラ
メータ
PV-drivers-up-to-date
仮想マシンの準仮想化ドラ
イバの最新バージョンのフ
ラグ
読み取り専用
memory
仮想マシン上のエージェン
トによりレポートされるメ
モリメトリクス
読み取り専用のマップパラ
メータ
disks
仮想マシン上のエージェン
トによりレポートされるデ
ィスクメトリクス
読み取り専用のマップパラ
メータ
224
パラメータ名
説明
種類
networks
仮想マシン上のエージェン
トによりレポートされるネ
ットワークメトリクス
読み取り専用のマップパラ
メータ
other
仮想マシン上のエージェン
トによりレポートされるそ
のほかのメトリクス
読み取り専用のマップパラ
メータ
guest-metrics-last-updated
ゲスト内のエージェントに
よりこれらのフィールドへ
の最後の書き込みが実行さ
れたときの日時。形式は
yyyymmddThh:mm:ssz 。 こ こ
で z は、1 文字の軍用タイム
ゾーンインジケーターで、た
とえば Z は UTC(GMT)
読み取り専用
actions-after-shutdown
仮想マシンがシャットダウ
ンした後で実行する処理
読み取り/書き込み
actions-after-reboot
仮想マシンが再起動した後
で実行する処理
読み取り/書き込み
possible-hosts
この仮想マシンを実行可能
なホスト
読み取り専用
dom-id
ドメイン ID(使用可能な場
合。それ以外は-1)
読み取り専用
recommendations
この仮想マシンのプロパテ
ィに対する推奨値と推奨範
囲の XML 仕様
読み取り専用
xenstore-data
仮 想 マ シ ン の 作 成 後 、 読み取り/書き込み可のマッ
xenstore ツ リ ー ( /local/ プパラメータ
domain/<domid>/vm-data ) に
挿入するデータ
is-a-snapshot
この仮想マシンがスナップ
ショットの場合に true
読み取り専用
snapshot_of
スナップショット元の仮想
マシンの UUID
読み取り専用
snapshots
この仮想マシンのすべての
スナップショットの UUID
読み取り専用
snapshot_time
この仮想マシンスナップシ
ョットの作成日時
読み取り専用
memory-target
この仮想マシンに設定され
ているターゲットメモリ量
読み取り専用
blocked-operations
この仮想マシンで実行不能
な操作のリスト
読み取り/書き込み可のマッ
プパラメータ
225
パラメータ名
説明
種類
last-boot-record
このテンプレートで最後に
使用されたブートパラメー
タのレコード(XML 形式)
読み取り専用
ha-always-run
この仮想マシンがそのホス
トの障害時に常にほかのホ
ストで再起動する場合に true
読み取り/書き込み
ha-restart-priority
1、2、3 または best effort。 読み取り/書き込み
最高の再起動優先度は 1
blobs
バイナリデータストア
読み取り専用
live
仮想マシンが実行中の場合
に true。高可用性機能により
仮想マシンが実行されてい
ないと認識される場合に
false
読み取り専用
A.4.27.3. vm-assert-can-be-recovered
vm-assert-can-be-recovered <uuid> [<database>] <vdi-uuid>
特定の仮想マシンを回復するためにストレージを使用できるかどうかをテストします。
A.4.27.4. vm-cd-add
vm-cd-add cd-name=<name_of_new_cd> device=<integer_value_of_an_available_vbd>
[<vm-selector>=<vm_selector_value>...]
指定した仮想マシンに新しい仮想 CD を追加します。device パラメータは、仮想マシンの allowedVBD-devices パラメータの値から選択する必要があります。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.5. vm-cd-eject
vm-cd-eject [<vm-selector>=<vm_selector_value>...]
仮想 CD ドライブから CD をイジェクトします。このコマンドは、仮想マシンに設定されている CD
が 1 つのみの場合に機能します。複数の CD がある場合は、xe vbd-eject コマンドを使用し、VBD
の UUID を指定します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.6. vm-cd-insert
vm-cd-insert cd-name=<name_of_cd> [<vm-selector>=<vm_selector_value>...]
仮想 CD ドライブに CD を挿入します。このコマンドは、仮想マシンに設定されている CD が 1 つの
みで、そのデバイスが空である場合に機能します。空の CD デバイスが複数ある場合は、xe vbdinsert コマンドを使用し、VBD と挿入する VDI の UUID を指定します。
226
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.7. vm-cd-list
vm-cd-list [vbd-params] [vdi-params] [<vm-selector>=<vm_selector_value>...]
指定した仮想マシンに接続されている CD のリストを出力します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
対象の VBD パラメータと VDI パラメータも指定できます。
A.4.27.8. vm-cd-remove
vm-cd-remove cd-name=<name_of_cd> [<vm-selector>=<vm_selector_value>...]
指定した仮想マシンから仮想 CD を削除します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.9. vm-clone
vm-clone new-name-label=<name_for_clone>
[new-name-description=<description_for_clone>] [<vmselector>=<vm_selector_value>...]
ストレージレベルの高速ディスククローン処理により、既存の仮想マシンを複製します(サポートさ
れる場合)。new-name-label 引数と new-name-description 引数を使用して、複製後の仮想マシンの名前
と説明(オプション)を指定します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.10. vm-compute-maximum-memory
vm-compute-maximum-memory total=<amount_of_available_physical_ram_in_bytes>
[approximate=<add overhead memory for additional vCPUS? true | false>]
[<vm_selector>=<vm_selector_value>...]
物理 RAM の合計量を上限値として、既存の仮想マシンに割り当てることが可能な静的メモリの最大
量を計算します。オプションのパラメータ approximate を使用すると、仮想マシンに仮想 CPU を後か
ら追加する場合を考慮して、十分な量の余分なメモリを予約できます。
以下はその例です。
xe vm-compute-maximum-memory vm=testvm total=`xe host-list params=memory-free --minimal`
このコマンドでは、xe host-list が返した memory-free パラメータの値を使用して、仮想マシン testvm
の最大メモリ量を設定します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
227
A.4.27.11. vm-copy
vm-copy new-name-label=<name_for_copy> [new-namedescription=<description_for_copy>]
[sr-uuid=<uuid_of_sr>] [<vm-selector>=<vm_selector_value>...]
通常の方法で既存の仮想マシンを複製します(ストレージレベルの高速ディスククローン処理がサポ
ートされる場合でもそれを使用しません)。複製された仮想マシンのディスクイメージは常に「フルイ
メージ」 であり、コピーオンライト(CoW)の一部ではありません。
new-name-label 引数と new-name-description 引数を使用して、複製後の仮想マシンの名前と説明(オプ
ション)を指定します。
sr-uuid では、複製後の仮想マシンを格納するストレージリポジトリを指定します。このパラメータを
指定しない場合、元の仮想マシンと同じストレージリポジトリに格納されます。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.12. vm-crashdump-list
vm-crashdump-list [<vm-selector>=<vm selector value>...]
指定した仮想マシンに関するクラッシュダンプのリストを出力します。
オプションの引数 params を使用して特定のパラメータ値を持つオブジェクトだけを出力する(つまり
リストをフィルタする)場合は、そのオブジェクトのパラメータのリストを含む文字列を値として指
定します。または、キーワード all を指定してすべてのパラメータのリストを出力することもできま
す。params を使用しない場合、使用可能なすべてのパラメータのうち、デフォルトのサブセットが出
力されます。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.13. vm-data-source-list
vm-data-source-list [<vm-selector>=<vm selector value>...]
仮想マシンで、記録可能なデータソースのリストを出力します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。仮想マシンを選択するパラメータを指定しない場合、すべての vm オブジェクトに対し
てそのコマンドが実行されます。
データソースには、パラメーターとして standard および enabled があり、host-data-source-list コマ
ンドの出力で確認できます。データソースの enabled パラメーターが true の場合、そのデータソース
のメトリクス情報がパフォーマンスデータベースに記録中であることを示します。standard パラメー
ターが true のデータソースでは、デフォルトでメトリクス情報がパフォーマンスデータベースに記録
されます(enabled パラメーターに true が設定されます)。standard パラメーターが false のデータソー
スでは、メトリクス情報はパフォーマンスデータベースに記録されません(enabled パラメーターに
false が設定されます)。
データソースメトリクスのパフォーマンスデータベースへの記録を開始するには、vm-datasource-record コマンドを実行します。これにより、enabled に true が設定されます。記録を停止す
るには、vm-data-source-forget を実行します。これにより、enabled に false が設定されます。
228
A.4.27.14. vm-data-source-record
vm-data-source-record data-source=<name_description_of_data-source> [<vmselector>=<vm selector value>...]
仮想マシンで、指定したデータソースを記録します。
これにより、仮想マシンの永続的なパフォーマンスメトリクスデータベースにデータソースからの情
報が書き込まれます。このデータベースは、パフォーマンス上の理由から、通常のエージェントデー
タベースとは区別されます。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。仮想マシンを選択するパラメータを指定しない場合、すべての vm オブジェクトに対し
てそのコマンドが実行されます。
A.4.27.15. vm-data-source-forget
vm-data-source-forget data-source=<name_description_of_data-source> [<vmselector>=<vm selector value>...]
仮想マシンのデータソースを指定して記録を停止して、記録済みのすべてのデータを消去します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。仮想マシンを選択するパラメータを指定しない場合、すべての vm オブジェクトに対し
てそのコマンドが実行されます。
A.4.27.16. vm-data-source-query
vm-data-source-query data-source=<name_description_of_data-source> [<vmselector>=<vm selector value>...]
仮想マシンで、指定したデータソースを表示します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。仮想マシンを選択するパラメータを指定しない場合、すべての vm オブジェクトに対し
てそのコマンドが実行されます。
A.4.27.17. vm-destroy
vm-destroy uuid=<uuid_of_vm>
指定した仮想マシンを破棄します。その仮想マシンに関連付けられたストレージはそのまま残りま
す。ストレージも削除するには、xe vm-uninstall を使用します。
A.4.27.18. vm-disk-add
vm-disk-add disk-size=<size_of_disk_to_add> device=<uuid_of_device>
[<vm-selector>=<vm_selector_value>...]
指定した仮想マシンに新しいディスクを追加します。device パラメータは、仮想マシンの allowedVBD-devices パラメータの値から選択します。
disk-size パラメータは、バイト単位または IEC 標準の KiB(210 バイト)、MiB(220 バイト)、GiB
(230 バイト)、および TiB(240 バイト)を使用して指定できます。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
229
A.4.27.19. vm-disk-list
vm-disk-list [vbd-params] [vdi-params] [<vm-selector>=<vm_selector_value>...]
指定した仮想マシンに接続されているディスクのリストを出力します。vbd-params パラメータと vdiparams パラメータが、出力する各オブジェクトのフィールドを制御します。これらのパラメータは、
コンマ区切りリストとして指定するか、完全なリストを出力するキーワード all を使用します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.20. vm-disk-remove
vm-disk-remove device=<integer_label_of_disk> [<vm-selector>=<vm_selector_value>...]
指定した仮想マシンからディスクを削除して、そのディスクを破棄します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.21. vm-export
vm-export filename=<export_filename>
[metadata=<true | false>]
[<vm-selector>=<vm_selector_value>...]
指定した仮想マシンをローカルコンピュータ上のファイルに(ディスクイメージを含めて)エクスポ
ートします。仮想マシンのエクスポート先のファイル名を、filename パラメータで指定します。ファ
イル名の拡張子として、.xva を指定する必要があります。
metadata パラメーターが true の場合、ディスクはエクスポートされず、仮想マシンメタデータのみが
出力先ファイルに書き込まれます。これにより、仮想マシンのストレージをほかの方法で移動して、
仮想マシン情報を再作成できるようになります(A.4.27.22. 「vm-import」を参照)。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.22. vm-import
vm-import filename=<export_filename>
[metadata=<true | false>]
[preserve=<true | false>]
[sr-uuid=<destination_sr_uuid>]
エクスポート済みファイルから仮想マシンをインポートします。preserve を true に設定すると、元の
仮想マシンの MAC アドレスが保持されます。sr-uuid では、仮想マシンのインポート先ストレージリ
ポジトリを指定します。このパラメータを指定しない場合は、デフォルトのストレージリポジトリに
インポートされます。
filename パラメータで、XVA 形式の仮想マシンを指定することもできます。これは、XenServer 3.2
からのレガシーなエクスポート形式で、一部のサードパーティベンダが仮想アプリケーション用に使
用しています。この形式では仮想マシンデータの格納にディレクトリが使用されるため、filename に
ファイル自体ではなく、XVA エクスポートのルートディレクトリを設定します。インポートしたレガ
シーゲストを後でエクスポートするときは、自動的に新しいファイル名ベースの形式にアップグレー
ドされます。新しいエクスポート形式では、より多くの仮想マシン設定データが格納されます。
注:
230
古いディレクトリベースの XVA 形式では、仮想マシンのすべての属性が完全にエク
スポートされるわけではありません。特に、インポートされた仮想マシンにはデフ
ォルトで仮想ネットワークインターフェイスが接続されていません。ネットワーク
が必要な場合は、vif-create と vif-plug を使用して作成します。
metadata を true に設定すると、エクスポート済みのメタデータを、それに関連付けられているディス
クブロックを除外してインポートできます。このメタデータのみのインポートは、VDI が見つからな
い場合(ストレージリポジトリと VDI.location により指定)に失敗します。この場合、--force オプショ
ンを指定して強制的にインポートできます。ディスクのミラーまたは移動が可能な場合、メタデータ
のインポート/エクスポートは、障害回復時など、異なるリソースプール間で仮想マシンをすばやく移
動するための手段になります。
注:
複数の仮想マシンをインポートする場合は、同時に実行するよりも順番に実行した
方が早く完了します。
A.4.27.23. vm-install
vm-install new-name-label=<name>
[ template-uuid=<uuid_of_desired_template> |
[template=<uuid_or_name_of_desired_template>]]
[ sr-uuid=<sr_uuid> | sr-name-label=<name_of_sr> ]
[ copy-bios-strings-from=<uuid of host> ]
指定したテンプレートから仮想マシンをインストールまたは複製します。template-uuid 引数または
template 引数のいずれかを使用して、テンプレートを指定します。sr-uuid 引数または sr-name-label 引
数のいずれかを使用して、ストレージリポジトリを指定 します。BIOS で特定ホスト用にロックされ
たメディアからインストールする場合は、copy-bios-strings-from 引数を指定します。
注:
既存のディスクを持つテンプレートからインストールする場合は、デフォルトでそ
のディスクと同じストレージリポジトリ上に新しいディスクが作成されます。スト
レージリポジトリがサポートする場合は、これにより高速複製が実行されます。ほ
かのストレージリポジトリをコマンドで指定した場合は、新しいディスクがそのス
トレージリポジトリ上に作成されます。この場合、高速複製は不可能であり、完全
コピーが実行されます。
既存のディスクを持たないテンプレートからのインストールでは、指定したストレ
ージリポジトリ、またはプールのデフォルトストレージリポジトリ(ストレージリ
ポジトリを指定しない場合)上に新しいディスクが作成されます。
A.4.27.24. vm-memory-shadow-multiplier-set
vm-memory-shadow-multiplier-set [<vm-selector>=<vm_selector_value>...]
[multiplier=<float_memory_multiplier>]
指定した仮想マシンのシャドウメモリ乗数を設定します。
これは、ハードウェア支援型仮想マシンに割り当てられるシャドウメモリの量を変更するための高度
なオプションです。Citrix XenApp などの特化したアプリケーションの処理負荷で最高のパフォーマ
ンスを得るには、追加のシャドウメモリが必要です。
このメモリは、オーバーヘッドとして考えることができます。シャドウメモリは、仮想マシン用の通
常のメモリとは別に計算されます。このコマンドを実行すると、その乗数に応じて XenServer ホスト
上の空きメモリ量が減り、HVM_shadow_multiplier フィールドが仮想マシンに割り当てられた実際の値
で更新されます。XenServer ホストの空きメモリ量が足りない場合は、エラーが返されます。
231
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。
A.4.27.25. vm-migrate
vm-migrate [host-uuid=<destination_host_UUID> ] [host=<name or UUID of destination
host> ] [<vm-selector>=<vm_selector_value>...] [<live>=<true|false>] [<remotemaster>=<destination_pool_master_uuid>] [<remoteusername>=<destination_pool_username>] [<remotepassword>=<destination_pool_password>] [<remotenetwork>=<destination_pool_network_uuid>] [<destination-sruuid>=<destination_sr_uuid>] [<force>=<to_be_added>] [<vif:>=<vif_uuid>]
[<vdi>=<vdi_uuid>]
指定した仮想マシンを物理ホスト間で移行します。host パラメータには、XenServer ホストの名前か
UUID を指定できます。
たとえば、xe vm-migrate uuid=<vm_uuid> host-uuid=<host_uuid>を指定すると、仮想マシンがプール内
の別のホストに移行されます(両方のホストが共有しているストレージに置かれている仮想マシンの
ディスク。XenMotion と呼ばれます)。
ストレージを共有していない(ストレージ XenMotion)、同一プール内のホスト間で仮想マシンを移
動するには、次のコマンドを実行します。
xe vm-migrate uuid=<vm_uuid> host-uuid=<host_uuid> destination-sr-uuid=<destination_sr_uuid>
各 VDI が格納されているストレージリポジトリは、次のようにして選択できます。
xe vm-migrate uuid=<vm_uuid> host-uuid=<destination_host_uuid> \
vdi1:<vdi_1_uuid>=<destination_sr_uuid> \
vdi2:<vdi_2_uuid>=<destination_sr2_uuid> \
vdi3:<vdi_3_uuid>=<destination_sr3_uuid>
また、移行後に仮想マシンに接続するネットワークは、次のようにして選択できます。
xe vm-migrate uuid=<vm_uuid> \
vdi1:<vdi_1_uuid>=<destination_sr_uuid> \
vdi2:<vdi_2_uuid>=<destination_sr2_uuid> \
vdi3:<vdi_3_uuid>=<destination_sr3_uuid> \
vif:=<vif_uuid>=<network_uuid>
プール間の移行の場合は、移行先プールのログイン情報を次のようにして指定する必要があります。
xe vm-migrate uuid=<vm_uuid> remote-master=12.34.56.78
remote-username=<username> remote-password=<password> \
host-uuid=<desination_host_uuid> \
destination-sr-uuid=<destination_sr_uuid>
ストレージ XenMotion、XenMotion、およびライブ VDI マイグレーションについて詳しくは、
『仮想
マシンユーザーガイド』を参照してください。
デフォルトでは、仮想マシンが一時停止し、移行後に別のホスト上で再開します。live パラメーター
に true を指定すると XenMotion 機能が有効になり、仮想マシンを実行したまま移行できます。この
ときの仮想マシンのダウンタイムは 1 秒未満です。仮想マシンでメモリ負荷の高い処理を実行中な
ど、状況によっては XenMotion 機能が自動的に無効になります。この場合、仮想マシンを一時停止し
てからメモリ転送が行われます。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
232
A.4.27.26. vm-reboot
vm-reboot [<vm-selector>=<vm_selector_value>...] [force=<true>]
指定した仮想マシンを再起動します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
仮想マシンを強制的にシャットダウンするには、force 引数を使用します。これは、物理サーバーの電
源ケーブルをコンセントから抜くことに相当する操作です。
A.4.27.27. vm-recover
vm-recover <vm-uuid> [<database>] [<vdi-uuid>] [<force>]
指定した VDI のデータベースから仮想マシンを回復します。
A.4.27.28. vm-reset-powerstate
vm-reset-powerstate [<vm-selector>=<vm_selector_value>...] {force=true}
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
これは、プール内のメンバホストがダウンしたときのみに使用する、高度なコマンドです。このコマ
ンドを使用して、仮想マシンの電源状態を強制的に halted としてプールマスタに認識させます。基本
的に、これにより仮想マシンとそのディスクが強制的にロックされるため、その仮想マシンをプール
内の別のホスト上で起動できます。このコマンドでは force 引数の指定が必須で、これを指定しない
と失敗します。
A.4.27.29. vm-resume
vm-resume [<vm-selector>=<vm_selector_value>...] [force=<true | false>]
[on=<XenServer host UUID>]
指定した仮想マシンを再開します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
仮想マシンがリソースプールの共有ストレージリポジトリ上にある場合は、起動するホストを on 引数
で指定します。デフォルトでは、システムにより適切な任意のホストが決定されます。
A.4.27.30. vm-shutdown
vm-shutdown [<vm-selector>=<vm_selector_value>...] [force=<true | false>]
指定した仮想マシンをシャットダウンします。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
仮想マシンを強制的にシャットダウンするには、force 引数を使用します。これは、物理サーバーの電
源ケーブルをコンセントから抜くことに相当する操作です。
233
A.4.27.31. vm-start
vm-start [<vm-selector>=<vm_selector_value>...] [force=<true | false>] [on=<XenServer
host UUID>] [--multiple]
指定した仮想マシンを起動します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
仮想マシンがリソースプールの共有ストレージリポジトリ上にある場合は、起動するホストを on 引数
で指定します。デフォルトでは、システムにより適切な任意のホストが決定されます。
A.4.27.32. vm-suspend
vm-suspend [<vm-selector>=<vm_selector_value>...]
指定した仮想マシンを一時停止します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.33. vm-uninstall
vm-uninstall [<vm-selector>=<vm_selector_value>...] [force=<true | false>]
仮想マシンをアンインストールし、そのディスク(RW のマークが付けられ、この仮想マシンのみに
接続されている VDI)とメタデータレコードを破棄します。仮想マシンメタデータのみを破棄するに
は、xe vm-destroy を使用します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の数を指
定できます。
A.4.27.34. vm-vcpu-hotplug
vm-vcpu-hotplug new-vcpus=<new_vcpu_count> [<vm-selector>=<vm_selector_value>...]
実行中の準仮想化 Linux 仮想マシンで使用可能な VCPU の数を、VCPUs-max パラメータで設定された
範囲内で動的に変更します。Windows 仮想マシンの場合、常に VCPUs-max に設定された数の VCPU
が使用されます。この値を変更した場合、仮想マシンの再起動が必要になります。
このコマンドの対象 Linux 仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されてい
る標準的な方法を使用します。オプションの引数には、
「vm オブジェクトのパラメータ」から任意の
数を指定できます。
A.4.27.35. vm-vif-list
vm-vif-list [<vm-selector>=<vm_selector_value>...]
指定した仮想マシンの VIF のリストを出力します。
このコマンドの対象仮想マシンを指定するには、
「vm オブジェクトセレクタ」で説明されている標準
的な方法を使用します。VIF ではなく仮想マシンがフィルタの対象になることに注意してください。
オプションの引数には、「vm オブジェクトのパラメータ」から任意の数を指定できます。
234