Parallels Cloud Server 6.0 ユーザガイド 2015 年 3 月 4 日 Copyright © 1999-2015 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200 Schaffhausen Switzerland Tel:+ 41 52 632 0411 FAX:+ 41 52 672 2010 www.parallels.com/jp Copyright © 1999-2014 Parallels IP Holdings GmbH and its affiliates. All rights reserved. 本製品は、米国およびその他の国の著作権法で保護されています。この製品のテクノロジー、特許、および商標について詳細は、 http://www.parallels.com/jp/about/legal/ を参照してください。 Microsoft、Windows、Windows Server、Windows NT、Windows Vista、および MS-DOS は、Microsoft Corporation の登 録商標です。 Apple、Mac、Mac ロゴ、Mac OS、iPad、iPhone、iPod touch、FaceTime HD カメラ、および iSight は、米国およびその他の国 における Apple Inc. の登録商標です。 Linux は Linus Torvalds 氏の登録商標です。 その他のマークおよび名称は、それぞれの権利保有者の商標です。 目次 目次 第1章 概要....................................................................................................................... 13 本書について ..........................................................................................................................13 当ガイドの構成 ....................................................................................................................................14 ヘルプを利用する ...................................................................................................................15 フィードバック.......................................................................................................................16 第2章 Parallels Cloud Server 6.0 の基本を学習する .................................................... 17 Parallels Cloud Server 6.0 の概要......................................................................................17 OS 仮想化レイヤ ...................................................................................................................19 OS 仮想化の基本 ................................................................................................................................19 Parallels コンテナ ..............................................................................................................................20 メモリと IOPS の重複除去 ................................................................................................................22 テンプレート .......................................................................................................................................23 ハードウェア仮想化レイヤ ....................................................................................................24 ハードウェア仮想化の基本 ..................................................................................................................24 Parallels 仮想マシン ...........................................................................................................................25 仮想マシンハードウェア .....................................................................................................................26 仮想マシンファイル.............................................................................................................................27 仮想メディアとリアルメディアのサポート .........................................................................................27 目次 Parallels Cloud Server 構成 ................................................................................................29 リソース管理 ..........................................................................................................................30 ライセンスについて理解を深める .........................................................................................30 物理サーバの可用性に関する考慮事項 ..................................................................................31 第3章 仮想マシンおよびコンテナを管理する .................................................................. 32 仮想マシンおよびコンテナを作成する ..................................................................................33 サポートされるゲスト OS ..................................................................................................................34 OS EZ テンプレートを選択する .........................................................................................................36 初期構成を実行する ...............................................................................................................37 ネットワーク設定を構成する ..............................................................................................................37 仮想マシンおよびコンテナにパスワードを設定する...........................................................................38 スタートアップパラメータを設定する ................................................................................................39 仮想マシンおよびコンテナの起動、停止、再起動、およびステータス照会 ........................39 仮想マシンおよびコンテナを一覧表示する ...........................................................................40 仮想マシンおよびコンテナに関する詳細情報を保存する .....................................................41 サーバ内で仮想マシンおよびコンテナをコピーする ............................................................42 仮想マシンおよびコンテナを一時停止する ...........................................................................43 仮想マシンおよびコンテナでコマンドを実行する ................................................................44 仮想マシンおよびコンテナを削除する ..................................................................................45 仮想マシンおよびコンテナの詳細情報を参照する ................................................................45 仮想マシンおよびコンテナバックアップを管理する ............................................................46 バックアップの概要.............................................................................................................................47 prlctl バックアップと prlctl 復元を使用する ....................................................................................49 pbackup と prestore を使用する .....................................................................................................52 目次 仮想マシンおよびコンテナにバックアップをアタッチする ................................................................56 仮想マシンおよびコンテナからバックアップをデタッチする ............................................................59 テンプレートを管理する ........................................................................................................59 テンプレートを作成する .....................................................................................................................60 テンプレートのリストを表示する .......................................................................................................60 テンプレートをデプロイする ..............................................................................................................60 スナップショットを管理する .................................................................................................61 スナップショットを作成する ..............................................................................................................61 スナップショットを一覧表示する .......................................................................................................63 スナップショットに復元する ..............................................................................................................64 スナップショットを削除する ..............................................................................................................65 仮想マシンおよびコンテナを移行する ..................................................................................65 移行に関する一般的な要件 ..................................................................................................................66 Parallels サーバ間で仮想マシンおよびコンテナを移行する ..............................................................67 コンテナを仮想マシンに移行する .......................................................................................................72 物理コンピュータを仮想マシンおよびコンテナに移行する ................................................................74 仮想マシンをコンテナに移行する .......................................................................................................79 Xen 仮想マシンを移行する.................................................................................................................79 コンテナ固有のオペレーションを実行する ...........................................................................81 コンテナを再インストールする ...........................................................................................................82 コンテナに対して VPN を有効化する ................................................................................................84 コンテナでの NFSv4 サポートを有効にする .....................................................................................85 コンテナで NFS サーバをセットアップする .....................................................................................85 コンテナ起動時に NFS シェアをマウントする ..................................................................................86 複数の仮想ディスクをコンテナに追加する .........................................................................................86 目次 仮想マシン固有のオペレーションを実行する .......................................................................87 仮想マシンを一時停止する ..................................................................................................................87 仮想マシンのデバイスを管理する .......................................................................................................87 スクリーンショットをとる ..................................................................................................................95 仮想マシンに USB デバイスを割り当てる .........................................................................................96 ホストオンリーネットワークの IP アドレス範囲を構成する ............................................................98 サードパーティ仮想マシンとディスクを変換する ..............................................................................98 第4章 リソースを管理する............................................................................................. 101 リソース管理パラメータとは ...............................................................................................102 CPU リソースを管理する ....................................................................................................102 CPU ユニット数を構成する ..............................................................................................................102 仮想マシンおよびコンテナの CPU アフィニティを構成する ..........................................................103 仮想マシンおよびコンテナの CPU 制限を構成する.........................................................................103 CPU を NUMA ノードに紐付ける ...................................................................................................106 仮想マシンの CPU ホットプラグを有効化する ................................................................................107 ディスククォータを管理する ...............................................................................................108 ディスククォータとは .......................................................................................................................109 ディスククォータパラメータ ............................................................................................................109 コンテナ毎のディスククォータを管理する .......................................................................................110 ユーザ毎およびグループ毎のクォータを管理する ............................................................................111 仮想ディスクを管理する ......................................................................................................113 仮想マシンのディスクのタイプを変更する .......................................................................................113 ディスク容量を増加する ...................................................................................................................114 ディスク容量を減少する ...................................................................................................................114 ディスクをコンパクト化する ............................................................................................................115 目次 仮想マシンディスクインターフェースを管理する ............................................................................115 ネットワーク帯域幅を管理する ...........................................................................................117 ネットワークトラフィックのパラメータ ..........................................................................................117 ネットワーククラスを構成する .........................................................................................................117 ネットワークトラフィック統計を表示する .......................................................................................119 ネットワーク帯域幅管理をオン/オフにする .....................................................................................121 ネットワーク帯域幅管理を構成する..................................................................................................122 ディスク I/O パラメータを管理する..................................................................................124 仮想マシンおよびコンテナの優先度を構成する ................................................................................124 ディスク I/O パラメータを構成する ...............................................................................................125 IOPS を構成する ..............................................................................................................................126 ディスク I/O 統計を表示する ..........................................................................................................126 コンテナのバックアップおよび移行時のディスク I/O 制限を設定する ..........................................127 コンテナのディスク I/O のボトルネックを特定する ......................................................................128 バックアップおよび移行用にグローバルメモリ制限を設定する ........................................129 コンテナ用のメモリパラメータを管理する .........................................................................130 メイン VSwap パラメータを構成する .............................................................................................130 メモリ割当制限を構成する ................................................................................................................131 OOM Killer の挙動を構成する ..........................................................................................................132 VSwap をチューニングする .............................................................................................................134 レガシーコンテナを構成する ............................................................................................................134 仮想マシン用のメモリパラメータを管理する .....................................................................135 メインメモリパラメータを構成する..................................................................................................136 追加メモリパラメータを構成する .....................................................................................................136 仮想マシンのメモリホットプラグを有効化する ................................................................................140 目次 コンテナリソース構成を管理する .......................................................................................141 サーバを均等に分割する ...................................................................................................................142 コンテナ構成をスケーリングする .....................................................................................................143 新しい構成サンプルをコンテナに適用する .......................................................................................143 仮想マシン構成サンプルを管理する ....................................................................................144 リソースをモニタリングする ...............................................................................................146 第5章 サービスおよびプロセスを管理する .................................................................... 148 サービスおよびプロセスとは ...............................................................................................149 サービスおよびプロセスに対する主な操作 .........................................................................150 プロセスおよびサービスを管理する ....................................................................................151 アクティブなプロセスおよびサービスを表示する ............................................................................151 プロセスをリアルタイムでモニタリングする ...................................................................................153 プロセス ID からコンテナ ID を識別する ......................................................................................154 第6章 Parallels Cloud Server ネットワークを管理する .............................................. 156 Parallels サーバでネットワークアダプタを管理する ........................................................157 アダプタを一覧表示する ...................................................................................................................157 VLAN アダプタを作成する ...............................................................................................................158 Parallels Cloud Server のネットワークモード .................................................................159 コンテナのネットワークモード .........................................................................................................159 仮想マシンのネットワークモード .....................................................................................................163 ホストルートモードとブリッジモードの違い ...................................................................................166 ホストルートモードで仮想マシンおよびコンテナを構成する............................................167 ブリッジモードで仮想マシンおよびコンテナを構成する ...................................................169 仮想ネットワークを管理する ............................................................................................................169 コンテナでアダプタを管理する .........................................................................................................174 目次 仮想マシンでアダプタを管理する .....................................................................................................178 専用ネットワークを管理する ...............................................................................................181 プライベートネットワークについて..................................................................................................181 プライベートネットワークをセットアップする ................................................................................185 オフライン管理を構成する ..................................................................................................191 オフライン管理について理解する .....................................................................................................191 オフライン管理を有効または無効にする ..........................................................................................195 オフラインサービスを有効または無効にする ...................................................................................196 オフライン管理の構成ファイル .........................................................................................................196 Open vSwitch ブリッジを使用する ...................................................................................197 第7章 ライセンスを管理する ......................................................................................... 200 ライセンスをインストールする ...........................................................................................200 現在のライセンスを更新する ...............................................................................................202 別のサーバにライセンスを移管する ....................................................................................203 現在のライセンスを表示する ...............................................................................................204 ライセンスを表示する .......................................................................................................................204 ライセンスのステータス ...................................................................................................................206 第8章 システムを最新状態に保つ .................................................................................. 207 Parallels Cloud Server を更新する ...................................................................................207 リブートレスアップグレード ............................................................................................................208 すべてのコンポーネントを更新する..................................................................................................208 カーネルを更新する...........................................................................................................................209 EZ テンプレートを更新する .............................................................................................................209 更新を確認する ..................................................................................................................................210 その他のアクションを実行する .........................................................................................................210 目次 Parallels Cloud Storage クラスタ内のハードウェアノードを更新する ..........................210 仮想マシン内のソフトウェアを更新する ............................................................................211 コンテナを更新する .............................................................................................................211 コンテナ内の EZ テンプレートパッケージを更新する ....................................................................212 OS EZ テンプレートキャッシュを更新する .....................................................................................213 第9章 高可用性クラスタを管理する .............................................................................. 214 前提条件を確認する .............................................................................................................215 高可用性を使用できるようノードを準備する .....................................................................215 ノードに対して高可用性を有効または無効にする ..............................................................216 リソース再配置モードを構成する .....................................................................................................217 特定の仮想マシンおよびコンテナに対して高可用性を有効または無効にする ..................218 仮想マシンおよびコンテナの HA 優先度を構成する .........................................................218 CPU プールを管理する ........................................................................................................219 クラスタステータスを監視する ...........................................................................................221 スクリプトでクラスタリソースを管理する .........................................................................223 第10章 拡張タスク ....................................................................................................... 225 ケーパビリティを構成する ..................................................................................................226 コンテナで使用可能なケーパビリティ ..............................................................................................226 カスタマイズ済みのコンテナを作成する ............................................................................228 アプリケーションテンプレートが事前インストールされた OS テンプレートキャッシュを使用する229 カスタマイズ済み OS EZ テンプレートを使用する ........................................................................230 EZ OS テンプレートセットを使用する ............................................................................................232 カスタマイズされたアプリケーションテンプレートを使用する .......................................................235 目次 コンテナからシステム時間を変更する ................................................................................236 コンテナ内部からサーバ ID を取得する ............................................................................237 コンテナを再起動する ..........................................................................................................238 仮想マシンおよびコンテナへの VNC アクセスを有効にする ...........................................238 仮想マシンへの VNC アクセスを有効にする ...................................................................................238 コンテナへの VNC アクセスを有効にする ......................................................................................239 VNC クライアントで接続する ..........................................................................................................239 コンテナのファイルとディレクトリに Immutable(変更不可)フラグおよび Append(追加) フラグを設定する .................................................................................................................240 iptables モジュールを管理する ..........................................................................................240 Parallels Cloud Server で iptables モジュールを使用する ...........................................................240 コンテナで iptables モジュールを使用する ....................................................................................242 新しい Linux ディストリビューション用の構成ファイルを作成する...............................243 仮想マシンでディスクとパーティションのアライメントを調整する .................................244 仮想マシンで Parallels Cloud Server 6.0 を実行する.....................................................251 オプションの Parallels Cloud Server パッケージをインストールする ...........................252 Linux 仮想マシンで共有フォルダを使用する .....................................................................252 仮想マシンユーザをオーナーとして共有する ...................................................................................253 特定のユーザとしてマウントする .....................................................................................................254 サーバユーザを所有者として共有する ..............................................................................................255 目次 第11章 レガシー機能 .................................................................................................... 256 Virtuozzo ファイルシステムを使用する ............................................................................256 VZFS ベースのコンテナを作成する....................................................................................257 VZFS コンテナを新しいレイアウトに変換する .................................................................258 新しいレイアウトでコンテナを作成する ............................................................................258 レガシーコンテナのバックアップを一覧に表示する ..........................................................260 サイズが 2 TB を超えるレガシー仮想ディスクを有効にする ...........................................260 第12章 トラブルシューティング .................................................................................. 261 一般的な問題 ........................................................................................................................261 カーネルのトラブルシューティング ....................................................................................263 ALT+SYSRQ キーボートシーケンスを使用する ..............................................................................263 カーネル障害(OOPS)を保存する ..................................................................................................264 D プロセス状態の原因となったカーネル関数を探す ........................................................................265 コンテナ管理に関する問題 ..................................................................................................266 コンテナを起動できない ...................................................................................................................266 ネットワークからコンテナにアクセスできない ................................................................................267 コンテナにログインできない ............................................................................................................268 テクニカルサポートを利用する ...........................................................................................268 技術サポートへの質問の準備および送信 ..........................................................................................268 テクニカルサポートに問題レポートを送信する ................................................................................269 Parallels サポートへのセキュアチャネルを確立する .......................................................................270 第13章 用語集 .............................................................................................................. 272 索引 ................................................................................................................................... 275 第 1 章 概要 Parallels Cloud Server 6.0 とは、単一の物理サーバ上で複数の仮想マシンおよびコンテナを実行 するための仮想化ソリューションです。 この章では、Parallels Cloud Server および本書について概要をご紹介します。 • 本書の目的と対象者(p. 13) • 本書の構成(p. 14) • Parallels Cloud Server についての情報を提供するその他の参考資料(p. 15) • Parallels マニュアルチームへのフィードバック方法(p. 16) この章の構成 本書について......................................................................................... 13 ヘルプを利用する ................................................................................... 15 フィードバック ...................................................................................... 16 本書について 『Parallels Cloud Server 6.0 ユーザガイド』は、ベアメタルサーバ用のハイエンドな仮想化ソフト ウェアである Parallels Cloud Server 6.0 についての包括的な情報をご提供します。Parallels Cloud Server の概念と、Parallels Cloud Server の使用に関する実用的な情報を説明します。 概要 注:Parallels Cloud Server 6.0 システムのインストール方法と構成方法は本書の対象外となります。これらの 操作について詳しくは、『Parallels Cloud Server 6.0 インストールガイド』を参照してください。 本書の主な対象読者は、Parallels Cloud Server 6.0 を実行するシステムの管理を担当する管理者 です。Linux OS についての十分な知識(コマンドライン、システム管理など)を持っていることが 前提条件となります。 当ガイドの構成 当ガイドは以下の構成になっています。 第 1 章 概要(p. 13):Parallels Cloud Server 製品と本書について簡単に説明します。 第 2 章 Parallels Cloud Server 6.0 の基本を学習する(p. 17):Parallels Cloud Server の操 作の基本原則を説明します。 第 3 章 仮想マシンおよびコンテナ を管理する(p. 32):仮想マシンおよびコンテナ で実行でき る操作について説明します。仮想マシンおよびコンテナの作成/削除、起動/停止、およびバックア ップ/復元などをカバーします。また、Parallels サーバ間での仮想マシンおよびコンテナの移行、 物理サーバから 仮想マシンおよびコンテナ への移行、コンテナから仮想マシンへの移行など、さ まざまな移行方法についても学習します。 第 4 章 リソースを管理する(p. 101):仮想マシンおよびコンテナのリソース制御パラメータの 構成および監視について説明します。これらのパラメータには、ディスククォータ、ネットワーク 集計および制限、CPU およびシステムリソースなどがあります。 第 5 章 サービスとプロセスを管理する(p. 148):Parallels Cloud Server のプロセスとサービ スで実行できる操作について説明します。 第 6 章 Parallels Cloud Server ネットワークを管理する(p. 156):Parallels Cloud Server の ネットワーク構造と、Parallels Cloud Server システムでネットワークを管理する方法について説 明します。 第 7 章 ライセンスを管理する(p. 200):Parallels Cloud Server でのライセンス管理について 詳しく説明します。 14 概要 第 8 章 システムを最新状態に保つ(p. 207):Parallels サーバのすべてのソフトウェアコンポ ーネントを最新状態に保つ方法について説明します。 第 9 章 拡張タスク(p. 225):Parallels Cloud Server の機能についてさらに詳しい知識を獲得 したい上級システム管理者用のタスクを説明します。 第 10 章 トラブルシューティング(p. 261):Parallels Cloud Server での作業中に発生する可 能性がある不具合を解決する方法をご紹介します。 ヘルプを利用する Parallels Cloud Server の効率的な使用を促進するために、様々なリソースをご用意しています。 例えば、以下のようなリソースをご利用いただけます(一部のマニュアルは英語のみのご提供で す)。 • Parallels Cloud Server 6.0 インストールガイド:サーバに Parallels Cloud Server をインス トールする方法について、前提条件や手順を詳しく説明します。 • PXE 経由のインストール:PXE(Preboot Execution Environment)サーバを使用してネット ワーク経由で Parallels Cloud Server 6.0 をインストールする方法を説明します。 • Parallels Cloud Server 6.0 クイックスタートガイド:サーバに Parallels Cloud Server をイ ンストールし、コンテナを新規作成し、主要な機能を実行する方法の概要を説明します。 『Parallels Cloud Server 6.0 インストールガイド』と違い、Parallels Cloud Server のインス トールおよび設定に必要な操作についての詳細な説明は含まれません(テキストモードでの Parallels Cloud Server のインストールなど)。 • Parallels Cloud Storage 管理者ガイド:自社ネットワーク内に Parallels Cloud Storage をデ プロイしたいシステム管理者向けのガイドです。 • Parallels Cloud Server 6.0 テンプレート管理ガイド:Parallels テンプレートの詳細を説明し ます。このテンプレートは Parallels 独自のテクノロジーであり、標準 Linux アプリケーショ ンをコンテナ内に効率的に導入し、ハードウェアリソース(物理メモリ、ディスクスペースなど) を大幅に節約することができます。 • Parallels Cloud Server 6.0 コマンドラインリファレンスガイド:すべての Parallels Cloud Server 構成ファイルとコマンドラインユーティリティについてのリファレンスです。 15 概要 フィードバック 当ガイドの表記ミスを見つけた場合や、当ガイドをより良いものにするアイデアがある方は、 Parallels のウェブサイト(http://www.parallels.com/jp/support/usersdoc/)からお知らせいた だければ幸いです。 16 第 2 章 Parallels Cloud Server 6.0 の基本を学習す る この章では、Parallels Cloud Server 6.0、Parallels 仮想マシンおよびコンテナ、その仕様および 基盤となるテクノロジーについてご説明します。 この章の構成 Parallels Cloud Server 6.0 の概要 ............................................................ 17 OS 仮想化レイヤ ................................................................................... 19 ハードウェア仮想化レイヤ........................................................................ 24 Parallels Cloud Server 構成 .................................................................... 29 リソース管理......................................................................................... 30 ライセンスについて理解を深める ............................................................... 30 物理サーバの可用性に関する考慮事項 ......................................................... 31 Parallels Cloud Server 6.0 の概要 Parallels Cloud Server 6.0 により、単一の物理サーバ上で複数の Parallels 仮想マシンおよびコ ンテナを同時に実行することが可能になります。複数の仮想マシンおよびコンテナでサーバのハー ドウェアリソースを共有し、リソースを効率的に使用することができます。 Parallels Cloud Server ソフトウェアをインストールしたサーバは、次のような構成になります。 Parallels Cloud Server 6.0 の基本を学習する 土台にはサーバハードウェアがあります。その上には Parallels Cloud Server ソフトウェアがあり、 サーバハードウェアに直接インストールされ、OS なしで機能します。Parallels Cloud Server に は、次の 2 種類の仮想化レイヤがあります。 • ハードウェア仮想化レイヤ:このレイヤは、Parallels 仮想マシンの作成と管理に必要な環境を 提供します。 • OS 仮想化レイヤ:このレイヤは、Parallels コンテナの作成と管理に必要な環境を提供しま す。 これら 2 つのレイヤについて詳しくは、「OS 仮想化レイヤ(p. 19)」および「ハードウェア仮想 化レイヤ(p. 24)」を参照してください。 Parallels Cloud Server は、両方の仮想化テクノロジーを効率的に統合することによって、コスト 意識の高い組織に次のような効果をもたらします。 • 18 サーバハードウェアプラットフォームの標準化 Parallels Cloud Server 6.0 の基本を学習する • サーバリソースの効果的な統合 • レガシー OS とアプリケーションの統合とサポート • サーバとアプリケーションのデプロイメント、メンテナンス、管理の合理化 • ソフトウェアのテストと開発のシンプル化 • サーバとアプリケーションの可用性の最大化 仮想マシンおよびコンテナ の管理には、以下のツールを使用できます。 • コマンドラインインターフェース(CLI):Parallels コマンドラインユーティリティのセットで あり、仮想マシンおよびコンテナをローカルまたはリモート管理するために使用できます。 • Parallels Virtual Automation:任意のプラットフォーム上で標準ウェブブラウザを使用して物 理サーバ、コンテナ、仮想マシンを管理することができます。 OS 仮想化レイヤ この章では、Parallels Cloud Server の 2 つの構成要素の 1 つであり、Parallels コンテナをサポ ートする「OS 仮想化レイヤ」について説明します。 OS 仮想化の基本 OS 仮想化は、OS(カーネル)レイヤで物理サーバを仮想化します。以下の図に、OS 仮想化の基本 アーキテクチャを示します。 19 Parallels Cloud Server 6.0 の基本を学習する OS 仮想化レイヤによって、異なるコンテナ間でリソースを隔離し、セキュリティを維持すること ができます。仮想化レイヤでは、各コンテナがそれぞれスタンドアロンサーバのように見えます。 最後に、アプリケーションとワークロードはコンテナ自体に格納されます。OS 仮想化は、パフォ ーマンス、管理性、効率性を最大化するために合理化されており、主に次のようなメリットがあり ます。 • コンテナはネイティブサーバに沿ったレベルで実行されます。コンテナは仮想化されたハードウ ェアを持たず、ネイティブなハードウェアドライバとソフトウェアドライバを使用するため、パ フォーマンスが良好です。 • 物理サーバ全体のリソースを上限として、各コンテナをシームレスにスケールアップできます。 • OS 仮想化テクノロジーは、仮想化ソリューションで最も高い集積度を実現します。標準の本番 物理サーバ上に 100 個までコンテナを構築し、実行することができます。 • コンテナは単一の OS を使用するため、コンテナ間でのメンテナンスや更新が非常に簡単です。 アプリケーションを単一インスタンスとしてデプロイすることもできます。 Parallels コンテナ アプリケーションとコンテナユーザからは、各コンテナが独立したシステムのように見えます。こ のような独立性は、Parallels Cloud Server OS 仮想化レイヤによって実現します。仮想化に使用さ れるのは、CPU リソースのごく一部(1~2% 程度)です。Parallels Cloud Server に実装されて いる仮想化レイヤには、主に以下のような特徴があります。 • コンテナは通常の Linux システムのように見えます。標準の起動スクリプトを持ち、ベンダー 製のソフトウェアを変更・調整せずにコンテナ内で実行できます。 • ユーザは構成ファイルを変更したり、コンテナ内にソフトウェアを追加インストールしたりでき ます。 • 各コンテナは互いから完全に独立しており(ファイルシステム、プロセス、sysctl 変数)、 Parallels 仮想マシンからも完全に独立している。 • コンテナ間で動的ライブラリが共有されるため、メモリを大幅に節約できる。 • 1 つのコンテナに属するプロセスは、利用可能なすべての CPU で実行されるようにスケジュー ルされる。コンテナはただ 1 つの CPU に紐付けられるのではないため、利用可能な CPU パ ワーをすべて利用できる。 20 Parallels Cloud Server 6.0 の基本を学習する コンテナは、コンテンツと構成という 2 つの主要部分から構成されています。デフォルトで、 Parallels サーバの /vz/private/<CT_ID> ディレクトリ(またはプライベートエリア)に、すべての コンテナファイルが保存されます。 主要なコンテナディレクトリおよびファイル: ファイル名 説明 /vz/private/<CT_ID> コンテナのプライベートエリア /vz/private/<CT_ID>/root.hdd/root.hdd コンテナコンテンツの含まれる仮想ハードディスク。仮想ハードディスク の最大サイズは 16 TB です。 /vz/root/<CT_ID> コンテナのマウントポイント ve.conf コンテナ構成ファイルは... • /etc/vz/conf/<CT_ID>.conf に対してシンボリックリ ンクされる。 • コンテナのパラメータを定義する(割当済みリソース制限、 IP アドレス、およびホスト名など)。 • グローバル構成ファイル内の該当パラメータより優先され る。 仮想マシンのハードディスクと同じく、コンテナファイルはすべて 1 つのイメージ (/vz/private/<CT_ID>/root.hdd/root.hdd)に保存されます。このような独立性には、次のような メリットがあります。 • コンテナイメージへのシーケンシャル I/O アクセスは、個々のコンテナファイルにアクセスす る場合より高速であり、移行とバックアップが容易になる。 • コンテナの作成後、OS およびアプリケーションテンプレートの必要がない。 • ジャーナルされたネイティブ Linux ディスククォータを使用でき、サーバクラッシュなどが発 生した後でクォータを再計算する必要がない。 注:1 つのイメージファイルに全ファイルが保存されたコンテナ(「Container-in-an-image-file」レイアウト のコンテナ)の使用は、ext4 フォーマットの /vz パーティションでのみサポートされます。 21 Parallels Cloud Server 6.0 の基本を学習する メモリと IOPS の重複除去 Parallels Cloud Server には、メモリと IOPS の重複除去機能があり、ハードウェアノード上のメ モリと IOPS を節約し、ハードウェアノードで実行されるコンテナの最大数を増加することができ ます。 重複除去は、pfcached デーモンとハードウェアノードのディレクトリにマウントされる ploop イ メージを含む「Parallels ファイルキャッシュ」によって実現します。PFCache ploop には、コンテ ナ内にある対象ファイルのコピーが含まれます。コンテナ内のファイルがキャッシュ対象となるた めには、構成可能な要件を満たしている必要があります(特定数のコンテナに読み取られている、特 定のサイズである、コンテナ内の特定ディレクトリに格納されている、など)。 カーネルはコンテナ ploop 内にあるファイルを読み取るリクエストを受けると、拡張ファイル属性 として格納された SHA1 ハッシュにより PFCache ploop でこのファイルのコピーを検索します。 これが成功すると、コンテナ ploop 内のオリジナルファイルの代わりに PFCache ploop 内のコピ ーが読み取られます。失敗した場合、コンテナ ploop 内のオリジナルファイルが読み取られます。 PFCache ploop にリクエストが多いファイルを用意するために、pfcached は定期的にカーネルか らコンテナファイルの読み取り統計を取得し、解析して、PFCache ploop の対象として適したファ イルをコピーします。PFCache ploop の空き容量が不足すると、最も長い間使われていないファイ ルが削除されます。 Parallels ファイルキャッシュには、次のようなメリットがあります。 • メモリの重複除去。PFCache ploop からメモリにファイルを 1 つだけロードすればよく、複数 のコンテナから複数の同一ファイルをロードする必要がない。 • IOPS の重複除去。PFCache ploop からファイルを 1 つだけ読み取ればよく、複数のコンテナ から複数の同一ファイルを読み取る必要がない。 ハードウェアノードに、パフォーマンスが違う複数のストレージドライブがある場合(SATA と SSD など)、PFCache ploop は最速のストレージドライブ(SSD など)に配置するとパフォーマ ンスが向上します。いずれの場合も: • ハードウェアノードのメモリをオーバーコミットしていない場合、Parallels ファイルキャッシ ュは主にコンテナの起動を高速化します(起動時にほとんどのファイルが読み込まれる)。この 場合、メモリに常駐するキャッシュは頻繁にはクリーンアップされないため、コンテナの起動時 22 Parallels Cloud Server 6.0 の基本を学習する に読み取られる PFCache ploop 内のコピーをコンテナのオペレーション中に頻繁に読み取り直 す必要はありません。 • ハードウェアノードのメモリをオーバーコミットしている場合、Parallels ファイルキャッシュ はコンテナの起動とオペレーションの両方を高速化します。この場合、メモリに常駐するキャッ シュは頻繁にクリーンアップされる可能性があるため、PFCache ploop 内のファイルも頻繁に 読み取り直す必要があります。 Parallels ファイルキャッシュは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイ ド』(※英語)で説明する pfcache ユーティリティで管理できます。 テンプレート Parallels Cloud Server のテンプレート(またはパッケージセット)とは、オリジナルのアプリケー ションファイルのセットを Parallels Cloud Server で使用できるようにリパッケージしたものです。 一般には、Red Hat 系システム用の RPM パッケージセットです。Parallels Cloud Server は、テ ンプレートの作成、インストール、アップグレード、コンテナへの追加/削除用のツールを提供して います。 テンプレートによって、以下が実現します。 • 異なるコンテナで実行している類似アプリケーション間で RAM を共有することによって、数 百メガバイトものメモリを節約する。 • アプリケーションを多数のコンテナに同時にデプロイする。 • 別々のコンテナで、バージョンの異なるアプリケーションを使用する(例:特定のコンテナのみ でアップグレードを実行)。 テンプレートには、OS とアプリケーションという 2 つのタイプがあります。 • OS テンプレートとは、OS と、インストール後すぐに必要になる標準アプリケーションのセッ トです。Parallels Cloud Server は OS テンプレートを使用して、OS がインストールされた 新規コンテナを作成します。 • 一方アプリケーションテンプレートとは、リパッケージされたソフトウェアパッケージセットで あり、構成スクリプトがオプションで付属します。アプリケーションテンプレートは、既存のコ ンテナにソフトウェアを追加するために使用します。 23 Parallels Cloud Server 6.0 の基本を学習する 例えば、redhat OS テンプレートをベースにコンテナを作成し、mysql テンプレートを利用して MySQL アプリケーションを追加することができます。 注:Parallels テンプレートについて詳しくは、『Parallels Cloud Server 6.0 テンプレート管理ガイド』(※英 語)を参照してください。 ハードウェア仮想化レイヤ この章では、Parallels Cloud Server の 2 番目の構成要素であるハードウェア仮想化レイヤについ て説明します。このレイヤは、Parallels 仮想マシンの作成と管理に必要な環境を提供します。 ハードウェア仮想化の基本 Parallels Cloud Server は、「ハードウェア仮想化」の概念に基づいています。ハードウェア仮想化 には「ハイパーバイザ」と呼ばれる基礎レイヤがあります。このレイヤは、ベアサーバ上で直接動作 し、サーバハードウェアと仮想マシンを仲介します。ハードウェアとリソースを仮想マシンに割り 当てるために、Parallels Cloud Server はサーバ上のすべてのハードウェアを仮想化します。仮想 化されたハードウェアとリソースは、仮想マシンに簡単に割り当てることができます。仮想ハード ウェアを土台として、仮想マシンは専用の OS とアプリケーションを実行します。 以下の図は、ハードウェア仮想化の基本アーキテクチャを示しています。 24 Parallels Cloud Server 6.0 の基本を学習する OS 仮想化と同じく、ハードウェア仮想化には多くのメリットがありますが、特に重要なメリット は以下のとおりです。 • 異なる OS の複数の仮想マシンを 1 台の物理コンピュータ上に作成できる。 • 1 台の物理コンピュータ上で複数の OS とアプリケーションを同時に実行でき、再起動の必要 がない。 • コンピューティング環境の統合・仮想化、ハードウェアコストの削減、運用費の削減、生産性の 向上が実現する。 • オープン API と SDK によって管理範囲を拡大し、社内アプリケーションやサードパーティア プリケーションと統合する。 Parallels 仮想マシン アプリケーションと仮想マシンユーザの観点から見ると、それぞれの仮想マシンは独立した仮想ハ ードウェアセットを持つ独立したシステムです。このような独立性は、Parallels Cloud Server ハ ードウェア仮想化レイヤによって実現します。仮想化レイヤには、主に次のような特徴がありま す。 • 仮想マシンは通常のコンピュータと似ています。独自の仮想ハードウェアを持つため、ソフトウ ェアアプリケーションを変更または調整することなくそのまま仮想マシン内で実行できます。 • ユーザは仮想マシンの構成を簡単に変更できます(例: 新しい仮想ディスクの追加、メモリの増 加)。 • 仮想マシンは、他の仮想マシン(ファイルシステム、プロセス、sysctl 変数)および Parallels Cloud Server から完全に隔離されます。 • すべてのサポート対象 OS を仮想マシン内にインストールできます。ゲスト OS とアプリケー ションは仮想マシン内で隔離され、他の仮想マシンと物理ハードウェアリソースを共有します。 Intel および AMD の仮想化テクノロジーのサポート Parallels Cloud Server は、プロセッサを拡張し仮想化ソリューションを改良する、Intel および AMD の仮想化テクノロジーをサポートします。これらのテクノロジーにより、Parallels Cloud Server は一部のワークロードをシステムハードウェアにオフロードできるため、ゲスト OS で「ネ イティブ並み」のパフォーマンスが実現します。 25 Parallels Cloud Server 6.0 の基本を学習する 仮想マシンハードウェア Parallels 仮想マシンは、次のようなハードウェアを搭載したスタンドアロンのコンピュータのよう に機能します。 CPU 最大 32 個の Intel/AMD CPU マザーボード Intel i965 ベースのマザーボード RAM 最大 128 GB の RAM ビデオアダプタ VGA/SVGA ビデオアダプタ(VBE 3.0 準拠) ビデオ RAM 最大 256 MB のビデオメモリ フロッピーディスクドライブ 1.44 MB のフロッピーディスクドライブ(イメージファイルまたは物理フロッピーディスクドラ イブにマッピング) SATA デバイス 最大 6 個の SATA デバイス • ハードディスク ハードディスクドライブ(イメージファイルにマッピング)(それぞれ最大 16 TB) • CD/DVD-ROM ド CD/DVD-ROM ドライブ(イメージファイルまたは物理ドライブにマッピング) ライブ SCSI デバイス • ハードディスク 最大 15 個の SCSI デバイス ハードディスクドライブ(イメージファイルにマッピング)(それぞれ最大 2 TB) 注:32 ビット Buslogic コントローラの制約により、現在、16 TB SCSI ディス クはサポートされていません。 • 一般的な SCSI デ 一般的な SCSI デバイス バイス ネットワークインターフェース 最大 16 個の Intel e1000 仮想ネットワークアダプタ シリアル(COM)ポート 最大 4 個のシリアル(COM)ポート(ソケット、リアルポート、または出力ファイルにマッピン グ) パラレル(LPT)ポート 最大 3 個のパラレル(LPT)ポート(プリンタ、リアルポート、または出力ファイルにマッピング) サウンドカード AC'97 対応サウンドカード、録音サポート キーボード ジェネリック USB、PS/2 キーボード マウス ジェネリック USB、PS/2 ホイールマウス 26 Parallels Cloud Server 6.0 の基本を学習する 仮想マシンファイル 仮想マシンには、構成ファイル(PVS ファイル)とハードディスクイメージファイル(HDD ファイ ル)という少なくとも 2 つのファイルがあります。また、追加の仮想ハードディスク用のファイル や仮想ポート用の出力ファイルなど、追加ファイルを持つこともできます。デフォルトで、仮想マ シンファイルは Parallels サーバの /var/parallels ディレクトリに保存されます。 仮想マシンに関連するファイルのリストは、以下の表を参照してください。 ファイル名 説明 .pvm 仮想マシンファイルが含まれるバンドル .pvs 仮想マシンの構成ファイル。仮想マシンのハードウェアとリソースの構成を定義します。仮想マシンの作成時に自動 生成されます。 .sav 仮想マシンを一時停止すると作成されるダンプファイル。一時停止を行った時点での仮想マシンとそのアプリケーシ ョンの状態を含みます。 .mem 一時停止された仮想マシンのメモリダンプが含まれるファイル。実行中の仮想マシンの場合、一時仮想メモリファイ ルです。 .hdd 仮想ハードディスクを表すファイル。仮想マシンを作成する際は、新しい仮想ハードディスクで作成することも、既 存の仮想ハードディスクを使用することもできます。1 つの仮想マシンに複数のハードディスクを持たせることが可 能です。 .iso CD または DVD ディスクのイメージファイル。仮想マシンは ISO イメージを実際の CD/DVD ディスクとして処 理します。 .txt シリアルポートとパラレルポートの出力ファイル。.txt 出力ファイルは、出力ファイルに紐付けられたシリアルポ ートまたはパラレルポートが仮想マシン構成に追加されると生成されます。 仮想メディアとリアルメディアのサポート この章では、Parallels 仮想マシンで使用できるディスクのタイプと、これらのディスクに対して実 行できる基本操作について説明します。 サポートされるハードディスクのタイプ Parallels 仮想マシンは、ハードディスクとして仮想ハードディスクイメージファイルのみを使用で きます。 27 Parallels Cloud Server 6.0 の基本を学習する 仮想ハードディスク 仮想ハードディスクの容量は、100 MB~16 TB の間で設定できます。 仮想ハードディスクのフォーマットは、プレーンまたは拡張可能のいずれかです。Express Windows または Typical モード([新しい仮想マシン]ウィザード)で仮想マシンを作成すると、 ディスクは拡張可能フォーマットで作成されます。 タイプ 説明 プレーン プレーン仮想ハードディスクイメージファイルでは、サイズが固定されています。サイズはディスク作成時に決定さ 拡張可能 拡張可能タイプの仮想ハードディスクイメージファイルは、最初はサイズが小さく、ゲスト OS の仮想ハードディ れます。プレーンディスクは[新しい仮想マシン]wizard によって作成されます(カスタムモード)。 スクにアプリケーションやデータを追加していくと徐々にサイズが拡大します。 分割ディスク いずれのフォーマットの仮想ディスクでも、単一のディスクまたは分割ディスクにすることができ ます。分割ディスクは、2 GB 単位で分割されており、単一の .hdd ファイルのソースとして格納さ れます。 CD/DVD ディスクとそのイメージ Parallels Cloud Server はリアル CD/DVD ディスクおよび CD/DVD ディスクのイメージにアク セスすることができます。 Parallels Cloud Server にはマルチセッション CD/DVD ディスクの使用に関する制限はありませ ん。仮想マシンはコピー防止機能付きディスクの制限に関わらず、オーディオ CD を再生すること ができます。 サーバに書き込み可能な光ディスクが搭載されている場合、この機能を仮想マシンで使用して CD または DVD ディスクに書き込むことができます。 Parallels Cloud Server でサポートされる CD/DVD ディスクイメージは、ISO、CUE、CCD フォ ーマットです。 28 Parallels Cloud Server 6.0 の基本を学習する フロッピーディスクとフロッピーディスクイメージ Parallels Cloud Server では、次の 2 種類のフロッピーディスクを使用できます。 • 実フロッピーディスク:仮想マシンに接続された物理的なフロッピーディスクドライブに挿入 • フロッピーディスクのイメージファイル:拡張子 .fdd、仮想マシンに接続 Parallels Cloud Server は、フロッピーディスクイメージを実フロッピーディスクと同じように処 理します。Parallels Cloud Server がサポートするフロッピーディスクイメージファイルは、拡張 子が .fdd で、ルサイズが 1.44 MB 以内のファイルです。 また、Parallels Cloud Server では、[Virtual Machine Configuration]ダイアログの[フロッピ ーディスク]ペインで、空のフロッピーディスクイメージを作成することもできます。 注:Parallels Cloud Server で実フロッピーディスクのイメージを作成することはできません。 Parallels Cloud Server 構成 Parallels Cloud Server によって、物理サーバの一般的な設定や個々のコンテナの設定を構成する ことができます。これらの設定には、ディスクユーザクォータ、ネットワークパラメータ、デフォ ルトファイルロケーション、サンプル構成ファイルなどがあります。Parallels Cloud Server は、 OS 仮想化に関連するすべての構成情報をグローバルな構成ファイル /etc/vz/vz.conf に保存しま す。このファイルには、デフォルト OS テンプレート、ディスククォータ、ロギングなどのコンテ ナパラメータが定義されています。グローバル構成ファイルに含まれるパラメータのリストは、 『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してくださ い。 Parallels Cloud Server 6.0r ソフトウェアやコンテナを起動したすると、構成ファイルが読み取ら れます。ただし、多くの設定は Parallels Cloud Server の標準ユーティリティである prlctl など を使用してオンザフライで変更でき、将来的に備えて構成ファイルの変更を保存することもできま す。 29 Parallels Cloud Server 6.0 の基本を学習する リソース管理 Parallels Cloud Server リソース管理は、仮想マシンおよびコンテナで使用できるリソース容量を 制御します。制御対象のリソースには、CPU パワー、ディスクスペース、およびメモリに関連する 各種パラメータなどのパラメータがあります。リソース管理によって、以下が可能になります。 • 仮想マシンおよびコンテナ間で物理サーバのリソースを効率的に共有する • SLA(サービスレベル契約)に準拠したサービス品質を保証する • パフォーマンスおよびリソースの独立性を維持し、DoS 攻撃から保護する • 多数の仮想マシンおよびコンテナに対してリソースを同時に割り当てて制御する • システムヘルスのモニタリング用に使用量の情報を収集する Parallels Cloud Server システムは標準的なシステムより多くのサーバリソースを利用するため、 スタンドアロンサーバ以上にリソース管理が重要になります。 ライセンスについて理解を深める Parallels Cloud Server ソフトウェアの使用を開始するには、専用の Parallels Cloud Server ライ センスが必要です。サーバへの Parallels Cloud Server のインストール時またはインストール後に、 このライセンスをサーバにインストールする必要があります。仮想マシンおよびコンテナをホスト するすべての物理サーバに、固有のライセンスをインストールしなければなりません。ライセンス は Parallels が発行し、物理サーバに関する多数のパラメータがライセンスに定義されています。 ライセンスの主なパラメータは以下の通りです。 • 物理サーバにインストール可能な CPU 数。それおれのデュアルコアプロセッサやハイパースレ ッディングプロセッサは、1 つの CPU と見なされます。 • ライセンスの有効期限。ライセンスには、期限付きのものと無期限のものがあります。 Parallels Cloud Server ライセンスには開始日があり、もし期限付きであれば、有効期限も指定 されています。システム時間を正しく設定してください。正しくないと、ライセンスの確認が失 敗する可能性があります。 • 30 物理サーバで同時実行できる仮想マシンおよびコンテナの合計数。 Parallels Cloud Server 6.0 の基本を学習する • Parallels Cloud Server ソフトウェアが対応するプラットフォームおよびアーキテクチャ。 物理サーバの可用性に関する考慮事項 Parallels Cloud Server を実行する物理サーバの可用性は、通常の PC サーバと比べて遙かに重要 です。物理サーバでは、多数の重要なサービスを提供する複数の仮想マシンおよびコンテナが実行 されるため、障害が発生すると甚大な影響があります。重要なサービスを実行している多数のサー バに同時に障害が発生する場合と同じく、事態は極めて深刻です。 そのため、以下の推奨事項に従って、ハードウェアノードの可用性を向上することをお勧めしま す。 • 重要な仮想マシンおよびコンテナには RAID ストレージを使用する。望ましいのはハードウェ ア RAID ですが、最終手段としてソフトウェアミラーリング RAID も考えられます。 • サーバ上でソフトウェアを直接実行しない。必要なサービス(BIND、FTPD、HTTPD、その他) をホスティングできる特別な仮想マシンおよびコンテナを作成します。サーバ上で実行する必要 があるのは SSH デーモンだけです。可能であれば、事前定義した IP アドレスからの接続のみ を受け付けるようにします。 • サーバ上でユーザを直接作成しない。仮想マシンおよびコンテナでユーザを必要な数だけ作成で きます。サーバが危害を受けると、すべての仮想マシンおよびコンテナが危害を受けます。 31 第 3 章 仮想マシンおよびコンテナを管理する この章では、仮想マシンおよびコンテナで日常業務を実行する方法を説明します。 注:前提として、Parallels Cloud Server システムのインストール、構成、デプロイが完了している必要があり ます。完了していない場合、これらの操作について『Parallels Cloud Server 6.0 インストールガイド』を参照 してください。 この章の構成 仮想マシンおよびコンテナを作成する ......................................................... 33 初期構成を実行する ................................................................................ 37 仮想マシンおよびコンテナの起動、停止、再起動、およびステータス照会 ............ 39 仮想マシンおよびコンテナを一覧表示する .................................................... 40 仮想マシンおよびコンテナに関する詳細情報を保存する ................................... 41 サーバ内で仮想マシンおよびコンテナをコピーする ........................................ 42 仮想マシンおよびコンテナを一時停止する .................................................... 43 仮想マシンおよびコンテナでコマンドを実行する ........................................... 44 仮想マシンおよびコンテナを削除する ......................................................... 45 仮想マシンおよびコンテナの詳細情報を参照する ........................................... 45 仮想マシンおよびコンテナバックアップを管理する ........................................ 46 テンプレートを管理する .......................................................................... 59 スナップショットを管理する ..................................................................... 61 仮想マシンおよびコンテナを移行する ......................................................... 65 コンテナ固有のオペレーションを実行する .................................................... 81 仮想マシン固有のオペレーションを実行する ................................................. 87 仮想マシンおよびコンテナを管理する 仮想マシンおよびコンテナを作成する このセクションでは、新しい Parallels 仮想マシンおよびコンテナを作成する方法をご説明します。 このコマンドに指定すべきオプションは、仮想マシンとコンテナのどちらを作成するのかによって 異なります。 コンテナを作成する コンテナを作成するには、次のように prlctl create コマンドを使用してください。 # prlctl create 101 --vmtype ct Parallels Cloud Server は、グローバル構成ファイル /etc/vz/vz.conf 内のデフォルトパラメータ を使用して、101 という名前でコンテナを新規作成します。すべてのコンテナコンテンツはコンテ ナのプライベートエリアに保存されます。プライベートエリアの場所を確認するには、次のように prlctl list コマンドを実行します。 # prlctl list 101 -i | grep "Home" Home:/vz/private/101 注: 1.コンテナに OS を初めてインストールすると、キャッシュが作成されます。キャッシュ作成のためには、イン ターネット接続がアクティブであり、該当 OS のパッケージが含まれるリポジトリにアクセスできる必要があり ます。ローカルパッケージリポジトリをセットアップし、このリポジトリを OS パッケージの提供に使用するこ ともできます。ローカルパッケージリポジトリは、一部の商用ディストリビューション(Red Hat Enterprise Linux など)でも必要です。パッケージリポジトリのセットアップおよび管理について詳しくは、『Parallels Cloud Server 6.0 テンプレート管理ガイド』(※英語)で「Setting Up Repositories and Proxy Servers for EZ Templates」を参照してください。 2. コンテナの作成時に prlctl create に指定できるオプションについて詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してください。 3. アプリケーションがインストールされているコンテナの作成について詳しくは、「アプリケーションが事前イ ンストールされた OS テンプレートキャッシュを使用する(p. 229)」を参照してください。 仮想マシンを作成する 新規仮想マシンは、以下の手順で作成します。 33 仮想マシンおよびコンテナを管理する 1 仮想マシンの構成を作成します。 2 仮想マシンに OS をインストールします。 3 仮想マシンに Parallels Tools をインストールします。これは、仮想マシンでの作業を円滑化す る特別なユーティリティです。 注:Parallels Tools は、Parallels Cloud Server 6.0 がサポートするすべてのゲスト OS にインストールでき ます。詳しくは、「サポートされるゲスト OS(p. 34)」を参照してください。 以下の例は、prlctl create コマンドを使用して新規仮想マシンの構成を作成する方法を示します。 # prlctl create MyVM --distribution win-2008 --vmtype vm これを実行すると、「MyVM」という名前の仮想マシンが作成され、OS に Windows Server 2008 を 使用するよう構成が変更され、仮想マシンに関連するすべてのファイルが /var/parallels ディレ クトリに保存されるようになります。 仮想マシンの構成が完了したら、仮想マシン内に Windows Server 2008 と Parallels Tools をイ ンストールできます。これを行うには、以下の方法があります。 • Parallels Virtual Automation を使用する。このアプリケーションの使用方法について詳しくは、 『Parallels Virtual Automation 管理者ガイド』(※英語)を参照してください。 • 仮想マシンの構成で VNC サポートを有効化し、任意の VNC クライアントを使用して OS と Parallels Tools をインストールする。仮想マシンでの VNC サポートの構成について詳しくは、 「仮想マシンとコンテナに対する VNC アクセスを有効化する(p. 238)」を参照してください。 注:仮想マシンの作成時に prlctl create に指定できるオプションについて詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してください。 サポートされるゲスト OS 以下の OS は、仮想マシンとコンテナ上でテスト済みであり、Parallels Cloud Server 6.0 で正式 サポートされています。 仮想マシン Windows • 34 Windows Server 2012 R2 仮想マシンおよびコンテナを管理する • Windows Server 2008 R2 Service Pack 1(x64) • Windows Server 2003 R2 Service Pack 2(x86、x64) Linux • Red Hat Enterprise Linux 6.x(x86、x64) • Red Hat Enterprise Linux 5.x(x86、x64) • Fedora 20(x86、x64) • Fedora 19(x86、x64) • Fedora 18(x86、x64) • Fedora 17(x86、x64) • Fedora 16(x86、x64) • CentOS 6.x(x86、x64) • CentOS 5.x(x86、x64) • SUSE Linux Enterprise Server 11 Service Pack 2(x86、x64) • SUSE Linux Enterprise Server 10(x86、x64) • openSUSE 12.x(x86、x64) • Debian GNU/Linux 7.0(x86、x64) • Debian GNU/Linux 6.0(x86、x64) • Ubuntu 14.04(x86、x64) • Ubuntu 13.10(x86、x64) • Ubuntu 13.04(x86、x64) • Ubuntu 12.10(x86、x64) • Ubuntu 12.04(x86、x64) • Ubuntu 11.10(x86、x64) • Ubuntu 10.04(x86、x64) FreeBSD • FreeBSD 10(x86、x64) 35 仮想マシンおよびコンテナを管理する • FreeBSD 9(x86、x64) コンテナ • Red Hat Enterprise Linux 6.x(x86、x64) • Red Hat Enterprise Linux 5.x(x86、x64) • Fedora 20(x86、x64) • Fedora 19(x86、x64) • Fedora 18(x86、x64) • Fedora 17(x86、x64) • Fedora 16(x86、x64) • CentOS 6.x(x86、x64) • CentOS 5.x(x86、x64) • SUSE Linux Enterprise Server 11 Service Pack 2(x86、x64) • openSUSE 12.x(x86、x64) • Debian GNU/Linux 7.0(x86、x64) • Debian GNU/Linux 6.0(x86、x64) • Ubuntu 14.04(x86、x64) • Ubuntu 13.10(x86、x64) • Ubuntu 13.04(x86、x64) • Ubuntu 12.10(x86、x64) • Ubuntu 12.04(x86、x64) • Ubuntu 11.10(x86、x64) • Ubuntu 10.04(x86、x64) OS EZ テンプレートを選択する コンテナの作成を始める前に、コンテナのベースとなる OS EZ テンプレートを決定する必要があ ります。コンテナを作成するための OS EZ テンプレートがサーバに複数インストールされている 36 仮想マシンおよびコンテナを管理する 場合があります。vzpkg list コマンドを次のように使用して、システムにインストールされた OS EZ テンプレートを確認することができます。 # vzpkg list -O centos-6-x86 centos-6-x86_64 2012-05-10 13:16:43 vzpkg list コマンドに -O オプションを指定すると、サーバにインストールされた OS EZ テンプ レートのみが一覧表示されます。OS EZ テンプレートの横に表示される時刻は、テンプレートがキ ャッシュされた時刻です。 --with-summary オプションを次のように使用して、インストールされた OS EZ テンプレートの概 要を表示することができます。 # vzpkg list -O --with-summary centos-6-x86 centos-6-x86_64 :CentOS 6 EZ OS template :CentOS 6 (for AMD64/Intel EM64T) EZ OS Template vzpkg list コマンドについて詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレン スガイド』(※英語)を参照してください。 初期構成を実行する 新規作成した仮想マシンおよびコンテナを起動する前に、まずこれを構成する必要があります。こ のセクションでは、仮想マシンおよびコンテナの主な構成手順について説明します。 ネットワーク設定を構成する 仮想マシンおよびコンテナにネットワーク経由でアクセスできるようにするには、有効な IP アド レスを割り当てて、DNS サーバを構成する必要があります。以下のセッションは、MyVM 仮想マシン およびコンテナ 101 に対し、これらのパラメータを設定する方法を示します。 • # # # # IPv4 アドレスと IPv6 アドレスを割り当てる: prlctl prlctl prlctl prlctl set set set set MyVM --device-set net0 --ipadd 10.0.186.100/24 MyVM --device-set net0 --ipadd 1fe80::20c:29ff:fe01:fb07 101 --ipadd 10.0.186.101/24 101 --ipadd fe80::20c:29ff:fe01:fb08 上記のコマンドの net0 は、IP アドレスを割り当てる仮想マシンのネットワークカードです。 prlctl list VM_name -i コマンドを使用すると、仮想マシンのすべてのネットワークカードが 表示されます。 • DNS サーバのアドレスを設定する: 37 仮想マシンおよびコンテナを管理する # prlctl set MyVM --nameserver 192.168.1.165 # prlctl set 101 --nameserver 192.168.1.165 注: 1.ネットワーク設定は、Parallels Tools がインストールされた仮想マシンに対してのみ構成可能です。 2. venet0 ネットワーキングモードで実行中のコンテナにネットワークマスクを割り当てるには、構成ファイル /etc/vz/vz.conf の USE_VENET_MASK パラメータを「yes」に設定する必要があります。 仮想マシンおよびコンテナにパスワードを設定する Parallels Cloud Server では、prlctl set コマンドの --userpasswd オプションを使用して、 Parallels サーバから仮想マシンおよびコンテナの新規アカウントを直接作成することができます。 こうして作成したアカウントを、仮想マシンおよびコンテナへのログインに使用できます。最も簡 単な方法は、次のコマンドを実行することです。 # prlctl set MyVM --userpasswd user1:2wsx123qwe このコマンドによって、MyVM 仮想マシンに user1 アカウントが作成され、パスワードが 2wsx123qwe に設定されます。MyVM 仮想マシンに user1 としてログインし、スタンドアロンサーバ と同じように管理することができます(追加ソフトウェアのインストール、ユーザの追加、サービス のセットアップなど)。 また、prlctl set コマンドを使用して、仮想マシンおよびコンテナの既存アカウントのパスワード を変更することができます。例えば、MyVM 仮想マシンで user1 のパスワードを 0pi65jh9 に変 更するには、次のコマンドを実行します。 # prlctl set MyVM --userpasswd user1:0pi65jh9 仮想マシンおよびコンテナのパスワードを設定する時は、以下に注意が必要です。 • ユーザアカウントの管理ができるのは、Parallels Tools がインストールされている仮想マシン のみです。 • パスワードは、最低限の長さより長く、使用する OS で要求される難易度を満たしている必要 があります。例えば Windows Server 2008 では、長さ 6 文字以上にして、大文字、小文字、 数字、およびアルファベット以外の文字を 3 種類以上を組み合わせる必要があります。 • Linux OS を実行する仮想マシンおよびコンテナでは、パスワードが空欄のままアカウントを作 成しないでください。 38 仮想マシンおよびコンテナを管理する スタートアップパラメータを設定する prlctl set コマンドを実行すると、仮想マシンおよびコンテナの onboot スタートアップパラメー タを定義することができます。このパラメータを「yes」に設定すると、物理サーバの起動時に仮想 マシンおよびコンテナが自動的に起動するようになります。例えば、サーバ起動時にコンテナ 101 と仮想マシン MyVM を自動的に起動させるには、以下のコマンドを実行します。 • コンテナ 101 の場合: # prlctl set 101 --onboot yes • 仮想マシン MyVM の場合: # prlctl set MyVM --onboot yes onboot パラメータは、次回にサーバを起動する時にのみ有効になります。 仮想マシンおよびコンテナの起動、停止、再起動、 およびステータス照会 仮想マシンおよびコンテナを作成した後は、通常のコンピュータと同様に管理することができま す。 仮想マシンおよびコンテナを起動する 仮想マシンおよびコンテナは、prlctl start コマンドで起動できます。例えば: • コンテナ 101 を起動するには: # prlctl start 101 • 仮想マシン MyVM を起動するには: # prlctl start MyVM 仮想マシンおよびコンテナを停止する 仮想マシンおよびコンテナは、prlctl stop コマンドで停止できます。例えば: • コンテナ 101 を停止するには: # prlctl stop 101 • 仮想マシン MyVM を停止するには: 39 仮想マシンおよびコンテナを管理する # prlctl stop MyVM 仮想マシンおよびコンテナを再起動する 仮想マシンおよびコンテナは、prlctl restart コマンドで再起動できます。例えば: • コンテナ 101 を再起動するには: # prlctl restart 101 • 仮想マシン MyVM を再起動するには: # prlctl restart MyVM 注:仮想マシンを再起動するためには、ゲスト OS と Parallels Tools がインストールされている必要があり ます。 仮想マシンおよびコンテナのステータスをチェックする コンテナまたは仮想マシンのステータスは、prlctl status コマンドで確認できます。例えば: • コンテナ 101 のステータスを確認するには: # prlctl status 101 VEID 101 exists mounted running • 仮想マシン MyVM のステータスを確認するには: # prlctl status MyVM Vm MyVM exists stopped 仮想マシンおよびコンテナを一覧表示する 物理サーバ上の仮想マシンおよびコンテナの概要を確認し、追加情報(IP アドレス、ホスト名、現 在のリソース消費量など)を収集するには、prlctl list コマンドを使用します。一般的なケースで は、以下のコマンドを実行してすべての仮想マシンおよびコンテナリストを取得できます。 # prlctl list -a UUID STATUS {600adc12-0e39-41b3-bf05-c59b7d26dd73} running {b2de86d9-6539-4ccc-9120-928b33ed31b9} stopped IP_ADDR 10.10.1.101 10.10.100.1 T NAME CT 101 VM MyVM -a オプションを prlctl list コマンドに指定すると、実行中と停止中の両方の仮想マシンおよびコ ンテナが出力されます。デフォルトでは、実行中の仮想マシンおよびコンテナのみが表示され、デ フォルトの列に、コンテナ ID と仮想マシン名、仮想マシンおよびコンテナのステータス、タイプ、 IP アドレス、一意の ID が表示されます。この出力内容は、必要に応じて prlctl list コマンド ラインオプションを使用してカスタマイズできます。例えば: # prlctl list -a -o name,ctid NAME 101 40 ID 101 仮想マシンおよびコンテナを管理する MyVm {b8cb6d99-1af1-453d-a302-2fddd8f86769} このコマンドを実行すると、既存の仮想マシンおよびコンテナの名前と、それに割り当てられた IP アドレスのみが表示されます。仮想マシンおよびコンテナに対して指定できる prlctl list コマン ドラインのオプションは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※ 英語)を参照してください。 仮想マシンおよびコンテナに関する詳細情報を保存 する 特定の仮想マシンおよびコンテナについての情報をなかなか思い出せない場合があります。特に、 仮想マシンおよびコンテナが増え、作成したから長い時間が過ぎると、ますます難しくなります。 Parallels Cloud Server では、物理サーバ上のすべての仮想マシンおよびコンテナに説明を設定し、 後で必要なときに表示することができます。説明には、仮想マシンおよびコンテナに関連する情報 を含むあらゆるテキストを使用できます。例えば、次のような情報を仮想マシンおよびコンテナの 説明に含めます。 • 仮想マシンおよびコンテナの所有者 • 仮想マシンおよびコンテナの目的 • 仮想マシンおよびコンテナの概要 例えば、ジョンソン氏のために、MySQL サーバのホスティングに使用する仮想マシンの作成を依頼 されたとします。仮想マシン MyVM を作成してから、物理サーバで以下のコマンドを実行します。 # prlctl set MyVM --description "MyVM > owner - Mr. Johnson > purpose - hosting the MySQL server" The VM has been successfully configured. このコマンドを実行すると、仮想マシンに関連する情報(名前、所有者、作成目的)が保存されます。 これらの情報は、以下のコマンドを実行していつでも確認できます。 # prlctl list -o description MyVM MyVM owner - Mr. Johnson purpose - hosting the MySQL server 仮想マシンおよびコンテナの説明を編集するときは、以下の点に注意が必要です。 • 仮想マシンおよびコンテナの説明には、すべての記号(改行、ダッシュ、アンダースコア、スペ ースなど)を使用できます。 41 仮想マシンおよびコンテナを管理する • 仮想マシンおよびコンテナの説明に、スペースや改行が 1 つ以上含まれている場合は(上記の 例を参照))、単一引用符または二重引用符で囲む必要があります。 • 仮想マシンおよびコンテナの名前と違い、コンテナの説明は参照のみを目的としているため、仮 想マシンおよびコンテナ関連の操作(仮想マシンおよびコンテナの起動や停止など)の実行時に 指定することはできません。 サーバ内で仮想マシンおよびコンテナをコピーする 特定の仮想マシンおよびコンテナの完全なコピー(仮想マシンおよびコンテナのデータおよびリソー スパラメータ)、つまり「複製」を作成することができます。仮想マシンおよびコンテナの構成パラ メータなど、セットアップについて検討する必要がないため、作業時間が短縮されます。さらに、 一度にたくさんの複製を作成可能です。 Parallels Cloud Server では、prlctl clone コマンドを使用して、特定の物理サーバ内の仮想マシ ンおよびコンテナをコピーします。コンテナまたは仮想マシンは、複製する前に停止する必要があ ります。例えば、以下のコマンドを実行して、コンテナ 101 と仮想マシン MyVM の複製を作成でき ます。 # prlctl clone 101 --name 111 # prlctl clone MyVM --name ClonedVM --name オプションには、新しい複製に割り当てる ID または名前を指定します。 複製した仮想マシンおよびコンテナを確認する 仮想マシンおよびコンテナが正常に移動したことを確認するには、以下のコマンドを実行します。 # prlctl list -a UUID STATUS {62951c2a-...} stopped {49b66605-...} stopped {7f4904ad-...} stopped {2afb2aa2-...} stopped IP_ADDR 10.0.10.101 10.0.10.101 10.0.10.115 10.30.128.134 T CT CT VM VM NAME 101 111 MyVM ClonedVM 上記の例では、コンテナ 101 の複製(コンテナ 111)と仮想マシン MyVM の複製(ClonedVM)が 正常に作成されています。ただし、これらの複製の使用を開始する前に、異なる IP アドレスを割 り当てる必要があります。現時点では、コンテナ 101 および仮想マシン MyVM と同じ IP アドレス になっています。この手順は、「初期構成を実行する(p. 37)」を参照してください。 42 仮想マシンおよびコンテナを管理する デフォルトディレクトリを構成する 仮想マシンおよびコンテナの複製時には、以下のデフォルトディレクトリを上書きすることもでき ます。 • /var/parallels/dest_VM_Name.pvm:複製した仮想マシンのファイルが保存されます(ここで dest_VM_Name は、複製される仮想マシンの名前を示します)。例えば仮想マシン ClonedVM の場 合、このディレクトリは /var/parallels/ClonedVM.pvm です。仮想マシン ClonedVM のファイ ルをカスタムディレクトリに保存するには、以下のコマンドを実行します。 # prlctl clone MyVM --name ClonedVM --dst /customVMs この場合、すべての仮想マシンファイルが /customVMs ディレクトリに保存されます。指定され たディレクトリはサーバ上にある必要があります。サーバ上にない場合、このコマンドは失敗し ます。 • /vz/private/<dest_CTID> :コンテナのプライベートエリアを定義します(ここで <dest_CTID> は、コンテナの ID です)。コンテナ 111 の場合、このパスは /vz/private/111 です。コン テナ 111 のカスタムプライベートエリアパスを定義するには、以下のコマンドを実行します。 # prlctl clone 101 --name 111 --dst /vz/private/customCTs 注:デフォルトの /var/parallels および /vz/private は、Parallels Cloud Storage クラスタに参加し ていないサーバで有効です。サーバがクラスタに参加している場合、仮想マシンおよびコンテナの保存用デフォ ルトディレクトリについて、『Parallels Cloud Storage 管理者ガイド』を参照してください。 仮想マシンおよびコンテナを一時停止する Parallels Cloud Server では、物理サーバで実行中の仮想マシンおよびコンテナを、現在の状態を 特別なファイルに保存して一時停止することができます。後で、仮想マシンおよびコンテナを再開 し、一時停止した時と同じ状態に戻すことができます。仮想マシンおよびコンテナの一時停止は、 物理サーバを再起動する必要があるときに、以下のような状況で便利です。 • 現在仮想マシンおよびコンテナで実行しているアプリケーションを終了したくない • ゲスト OS をシャットダウンして再起動する作業に時間をかけたくない prlctl suspend コマンドを使用して、仮想マシンおよびコンテナの現在の状態を保存できます。例 えば、以下のコマンドを実行すると、仮想マシン MyVM が一時停止します。 # prlctl suspend MyVM 43 仮想マシンおよびコンテナを管理する 以下のコマンドを実行して、いつでも仮想マシン MyVM を再開できます。 # prlctl resume MyVM 復元プロセスが完了すると、仮想マシン MyVM の一時停止時に MyVM で実行されていたすべての アプリケーションが再び起動し、その情報コンテンツは仮想マシンの一時停止時とまったく同じに なります。 仮想マシンおよびコンテナでコマンドを実行する Parallels Cloud Server では、物理サーバ上でコマンドを実行することにより、該当する仮想マシ ンおよびコンテナにログインする必要なく仮想マシンおよびコンテナ内でコマンドを実行すること ができます。これは、次のような状況で役に立ちます。 • 仮想マシンおよびコンテナのログイン情報が不明だが、診断コマンドを実行して、それが機能し ていることを確認したい。 • 仮想マシンおよびコンテナにネットワークアクセスできない。 いずれの状況でも、prlctl exec コマンドを使用すれば、該当する仮想マシンおよびコンテナ内でコ マンドを実行することができます。以下のセッションは、My_Linux という名前の Linux 仮想マシ ン内で停止している SSH デーモンを実行させるような状況を示します。 # prlctl exec My_Linux /etc/init.d/sshd status sshd is stopped # prlctl exec My_Linux /etc/init.d/sshd start Starting sshd:[OK] # prlctl exec My_Linux /etc/init.d/sshd status sshd (pid 26187) is running... 注: 1.prlctl exec コマンドは、Parallels Tools がインストールされた仮想マシン内でのみ使用できます。 2. prlctl exec コマンドは、/root ではなく / ディレクトリから、仮想マシンおよびコンテナ内で実行され ます。 44 仮想マシンおよびコンテナを管理する 仮想マシンおよびコンテナを削除する prlctl delete コマンドを使用して、不要になった仮想マシンおよびコンテナを削除できます。ただ し、実行中またはマウントされた状態の仮想マシンおよびコンテナは削除できません。以下の例で は、実行中のコンテナ 101 を削除します。 # prlctl delete 101 Deleting Container private area:/vz/private/101 Container is currently running (stop first) # prlctl stop 101 Stopping Container... Container was stopped Container is unmounted # prlctl delete 101 Deleting Container private area:/vz/private/101 Container private area was deleted 仮想マシンおよびコンテナの詳細情報を参照する 仮想マシンまたはコンテナの詳細情報を参照するには、prlctl list -i コマンドを使用することが できます。例えば、以下のコマンドを実行すると、仮想マシン MyVM に関する情報がすべてリスト に表示されます。 # prlctl list -i MyVM ID:{5c1fb1bb-4364-4b42-86b2-c584bdd2223b} EnvID:2075205468 Name:MyVM Description: State: running OS: win-7 Uptime:21:49:55 (since 2011-05-19 12:25:19) Home:/var/parallels/MyVM.pvm/ Owner: root@. Effective owner: owner GuestTools: state=installed Autostart: off Autostop: shutdown Boot order: hdd0 cdrom0 fdd0 Remote display: mode=off port=6500 address=0.0.0.0 Remote display state: stopped Hardware: cpu 1 VT-x accl=high mode=32 ioprio=4 iolimit=0 memory 1024Mb video 32Mb memory_quota auto fdd0 (+) real='/dev/fd0' state=disconnected hdd0 (+) sata:0 image='/var/parallels/MyVM.pvm/MyVM-0.hdd' 65536Mb cdrom0 (+) sata:1 real='D:' state=disconnected parallel0 (+) real='/dev/lp0' usb (+) net0 (+) dev='vme7bb11f5c.0' network='Bridged' mac=001C427B68E3 card=e1000 Host Shared Folders:(+) SmartMount:(-) VirtualUsbMouse: state=disabled Encrypted: no 45 仮想マシンおよびコンテナを管理する Offline management:(-) 以下の表では、prlctl list -i によって表示される主なオプションについて説明します。 オプション 説明 ID 仮想マシンの識別子。通常、仮想マシンで操作を行うときは、この ID を仮想マシン名とともに使用します。 EnvID カーネル仮想マシンの識別子。この ID は、物理サーバのカーネルが仮想マシンについての情報を表示するとき に仮想マシンの参照のために使用します。 Name 仮想マシン名 Description 仮想マシンの説明 State 仮想マシンの状態 OS 仮想マシンにインストールされたゲスト OS Uptime カウンターをリセットしてから現在までの仮想マシンの稼働時間 注:アップタイムカウンターと開始日および時間は、prlctl reset-uptime コマンドでリセ ットできます。 Home 仮想マシンファイルを保存するディレクトリ Guest Tools 仮想マシンに Parallels Tools がインストールされているか Autostart 物理サーバの起動時に仮想マシンを自動的に起動するか Boot order OS に対して仮想マシンデバイスをチェックする順序 Hardware 仮想マシンで使用できるデバイス Offline management 仮想マシンに対し、オフライン管理機能が有効か。「yes」であれば、使用可能なオフラインサービスがリストさ れます。 注:コンテナに対して prlctl list で表示されるオプションは、仮想マシンの場合と同様です。 仮想マシンおよびコンテナバックアップを管理する システムの信頼性の観点から、既存の仮想マシンおよびコンテナを定期的にバックアップすること は極めて重要です。Parallels Cloud Server では、以下のユーティリティを使用して仮想マシンお よびコンテナのバックアップと復元ができます。 • prlctl • pbackup • prestore 46 仮想マシンおよびコンテナを管理する これらのユーティリティの詳細は、以下のサブセクションで説明します。 バックアップの概要 Parallels Cloud Server バックアップユーティリティでは、次の 3 種類のサーバが処理されます。 • ソースサーバ:バックアップ中に仮想マシンおよびコンテナをホストするサーバ • バックアップサーバ:仮想マシンおよびコンテナ バックアップが保存されるサーバ。バックア ップサーバは、Parallels Cloud Server ソフトウェアを実行する任意のサーバであり、仮想マシ ンおよびコンテナのバックアップを保存できる十分な空き容量が必要です。 • 宛先サーバ:仮想マシンおよびコンテナバックアップが復元されるサーバ このようなサーバは、機能によってのみ区別されます。実際は、1 つの物理サーバが 2 つあるいは 3 つの機能を担う場合もあります。バックアップした仮想マシンおよびコンテナは元のサーバに復 元することが多いため、ソースサーバと宛先サーバは同じサーバになるのが一般的です。ただし、 バックアップサーバについては、専用のサーバをセットアップすることをお勧めします。 仮想マシンの一貫性バックアップを作成する Parallels Cloud Server では、実行中の仮想マシンでも停止した仮想マシンでもバックアップ可能 です。ただし、実行中の仮想マシンの一貫性バックアップには、この仮想マシンが次の要件を満た している必要があります。 • Parallels Tools がインストールされている • 以下のいずれかの OS を実行する Windows 47 仮想マシンおよびコンテナを管理する • Windows Server 2012 R2 • Windows Server 2008 R2 Service Pack 1(x64) • Windows Server 2003 R2 Service Pack 2(x86、x64) Linux • Red Hat Enterprise Linux 6.x(x86、x64) • Red Hat Enterprise Linux 5.x(x86、x64) • Fedora 20(x86、x64) • Fedora 19(x86、x64) • Fedora 18(x86、x64) • Fedora 17(x86、x64) • Fedora 16(x86、x64) • CentOS 6.x(x86、x64) • CentOS 5.x(x86、x64) • SUSE Linux Enterprise Server 11 Service Pack 2(x86、x64) • SUSE Linux Enterprise Server 10(x86、x64) • openSUSE 12.x(x86、x64) • Debian GNU/Linux 7.0(x86、x64) • Debian GNU/Linux 6.0(x86、x64) • Ubuntu 14.04(x86、x64) • Ubuntu 13.10(x86、x64) • Ubuntu 13.04(x86、x64) • Ubuntu 12.10(x86、x64) • Ubuntu 12.04(x86、x64) • Ubuntu 11.10(x86、x64) • Ubuntu 10.04(x86、x64) FreeBSD 48 仮想マシンおよびコンテナを管理する • FreeBSD 10(x86、x64) • FreeBSD 9(x86、x64) prlctl バックアップと prlctl 復元を使用する このセクションでは、prlctl ユーティリティを使用してバックアップに関連する基本的な操作の実 行方法をご説明します。 仮想マシンおよびコンテナ バックアップを作成する prlctl backup コマンドを使用して仮想マシンおよびコンテナをバックアップすることができます。 ソースサーバでこのコマンドを実行すると、仮想マシンおよびコンテナのバックアップが作成され、 ソースサーバとバックアップサーバの両方に保存することができます。ソースサーバでバックアッ プを作成する場合、バックアップ対象の仮想マシンおよびコンテナの名前を指定するだけです。例 えば、以下のコマンドを実行すると、仮想マシン MyVM がバックアップされ、ソースサーバにバッ クアップアーカイブが保存されます。 # prlctl backup MyVM Backing up the VM MyVM ... The virtual machine has been successfully backed up with backup ID {746dba2a-3b10-4ced-9dd6-76a2blcl4a69} コマンドの出力結果から、仮想マシンのバックアップが正常に作成され、ID 746dba2a-3b10-4ced-9dd6-76a2blcl4a69 が割り当てられたことがわかります。この ID を使用し て、バックアップアーカイブを管理することができます(バックアップの削除など)。 また、以下のコマンドを実行すると、仮想マシン MyVM がバックアップされ、IP アドレスが 129.129.10.10 のバックアップサーバにバックアップアーカイブが保存されます。 # prlctl backup MyVM -s root:[email protected] 宛先サーバの IP アドレスの手前の「root:1qaz2wsx 」は、このサーバへのログインに使用される root クレデンシャルを示します。これらのクレデンシャルを指定しない場合、コマンドの実行時に 入力するよう求められます。 デフォルトで、新規作成されたバックアップは /var/parallels/backups ディレクトリに保存され ます。異なるデフォルトバックアップディレクトリを設定するには、prlsrvctl set コマンドを使用 します。 49 仮想マシンおよびコンテナを管理する 注: 1. バックアップサーバは、Parallels Cloud Server を実行する任意のサーバであり、仮想マシンおよびコンテ ナのバックアップを保存できる十分な空き容量が必要です。 2. 仮想マシンに物理 HDD がアタッチされていたり、ISO またはフロッピーディスクイメージがマウントされ ている場合には、バックアップができません。 3. prlctl backup に指定できるオプションについて詳しくは、『Parallels Cloud Server 6.0 コマンドライン リファレンスガイド』(※英語)を参照してください。 バックアップを一覧表示する prlctl backup-list コマンドを使用して、物理サーバ上に存在するバックアップを一覧表示するこ とができます。例えば: # prlctl backup-list ID Backup_ID Node Date Type Size {c1dee22f...}{209d54a0...} test.com 2011-05-30 10:19:32 f 411566405 [読みやすくするために、ID とバックアップ ID は短縮しています。] このコマンドにより、ソースサーバ上の既存のバックアップが一覧表示されます。バックアップサ ーバ上のバックアップを一覧表示するには、このサーバの IP アドレスを指定する必要がありま す。 このコマンドの出力結果によると、現在ソースサーバにはバックアップが 1 つだけ存在します。こ のバックアップに割り当てられた ID は c1dee22f-8667-4870-9e11-278f1398eab0 です(上記のコ マンド出力結果では、ID を短縮表示しています)。バックアップの情報は以下の表のとおりです。 列 説明 ID 仮想マシンおよびコンテナを識別する一意の ID Backup バックアップアーカイブに割り当てられた ID。バックアップ関連の基本操作を実行する際は、この ID を指定する必要 ID があります。 Node バックアップアーカイブを保存する物理サーバのホスト名 Date バックアップアーカイブが作成された日時 Type バックアップの種類。現在、次の 2 種類のバックアップを作成できます。 • f:フルバックアップ • i:増分バックアップ。前回のバックアップ(フルまたは増分)後に変更されたファイルのみが含まれ ます。これがデフォルトのバックアップタイプとなります。 50 仮想マシンおよびコンテナを管理する Size バックアップアーカイブのサイズ(バイト単位) バックアップから仮想マシンおよびコンテナを復元する 仮想マシンおよびコンテナからバックアップを復元するには、prlctl restore コマンドを使用する ことができます。このコマンドでは、ソースサーバへのバックアップの復元のみが可能です。例え ば、IP アドレスが 10.10.100.1 のバックアップサーバに保存されている仮想マシン MyVM のバッ クアップを復元するには、ソースサーバで以下のコマンドを実行します。 # prlctl restore MyVM -s root:[email protected] MyVM 仮想マシンのバックアップが 2 つ以上ある場合、最新のものが復元されます。仮想マシンお よびコンテナの特定のバックアップを復元するには、このバックアップの ID を指定する必要があ ります。prlctl backup-list コマンドを使用して、既存のバックアップとその ID を一覧表示する ことができます。 # prlctl backup-list -s root:[email protected] ID Backup_ID Node Date Type Size {c1dee22f...}{209d54a0...} test.com 2011-05-30 10:19:32 i 11566405 {c1dee22f...}{24a3011c...} test.com 2011-05-21 11:12:35 f 356798701 [読みやすくするために、ID とバックアップ ID は短縮しています。] -t オプションの後に ID を指定すると、prlctl backup コマンドにこのバックアップを復元させる ことができます。例えば、5 月 21 日に作成された ID が c1dee22f-8667-4870-9e11-278f1398eab0 の仮想マシンのバックアップを復元するには、次のコマ ンドを実行します。 # prlctl restore -t {24a3011c-8667-4870-9e11-278f1398eab0} -s root:[email protected] 注:Parallels Cloud Server 6.0 を実行しているサーバ上に作成された仮想マシンを Parallels Server 4 Bare Metal を実行するサーバで復元することはできません。 仮想マシンおよびコンテナのバックアップを削除する 不要になったバックアップは、いつでも prlctl backup-delete コマンドで削除できます。これに は、削除するバックアップの ID と、該当する仮想マシンおよびコンテナの ID を指定する必要が あります。これらの ID がわからない場合、prlctl backup-list を実行して、ID および Backup ID 列を確認します。例えば: # prlctl backup-list ID Backup_ID Node Date Type Size {c1dee22f...}{209d54a0...} test.com 2011-05-30 10:19:32 f 411566405 [読みやすくするために、ID とバックアップ ID は短縮しています。] # prlctl backup-delete c1dee22f-8667-4870-9e11-278f1398eab0 -t 209d54a0-e3b8-4a03-9ca8-d4cc7a2a27ca Delete the VM backup The VM backup has been successfully removed. 51 仮想マシンおよびコンテナを管理する また、ID の代わりに仮想マシンおよびコンテナの名前を指定することもできます。 # prlctl backup-delete MyVM -t 209d54a0-e3b8-4a03-9ca8-d4cc7a2a27ca 特定の仮想マシンおよびコンテナに複数のバックアップがあり、これらすべてを一括削除する場合 は、仮想マシンおよびコンテナの名前または ID のみを指定します。 # prlctl backup-delete MyVM このコマンドは、ローカルのバックアップサーバから仮想マシン MyVM のすべてのバックアップを 削除します。リモート保存されたバックアップを削除するには、リモートサーバの IP アドレスも 指定する必要があります。 # prlctl backup-delete MyVM -s root:[email protected] pbackup と prestore を使用する prlctl 以外にも、以下のユーティリティを使用して仮想マシンおよびコンテナのバックアップを作 成・管理することができます。 • pbackup:このユーティリティを使用して、個別の仮想マシンおよびコンテナまたは Parallels サーバ全体をバックアップします。 • prestore:このユーティリティを使用して、仮想マシンおよびコンテナの既存のバックアップ を管理します。 仮想マシンおよびコンテナをバックアップする pbackup ユーティリティは、SSH 経由で Parallels サーバに接続されたバックアップサーバで実行 します。このサーバ上の 1 つ以上の仮想マシンおよびコンテナがバックアップされます。デフォル トで、コンテナおよび仮想マシンの新規バックアップは、/var/parallels/backups ディレクトリに 保存されます。prlsrvctl set コマンドで、デフォルトのバックアップディレクトリを変更できま す。 ここで、ホスト名が test.com である Parallels サーバ全体(つまり、このサーバ上のすべての仮想 マシンおよびコンテナ)をバックアップするとします。この場合、バックアップサーバで以下のコマ ンドを実行します。 # pbackup test.com コマンドの実行時に、test.com のクレデンシャルの入力が要求されます。入力すると、コマンドに よって test.com 上の仮想マシンおよびコンテナがすべてバックアップされ、 52 仮想マシンおよびコンテナを管理する • バックアップされたコンテナは、すべてバックアップサーバに保存されます。 • バックアップされた仮想マシンは、すべてソースサーバに保存されます。 バックアップされた仮想マシンもバックアップサーバに保存するには、-n オプションを追加で指定 する必要があります。このオプションは、バックアップサーバの IP アドレスまたはホスト名およ びクレデンシャルを指定するために使用します。 # pbackup -n root:[email protected] test.com 指定したサーバのすべてのコンテナではなく、選択したコンテナだけをバックアップするには、–e または –x スイッチを使用します(前者を指定すると指定した仮想マシンおよびコンテナが含められ、 後者を指定すると除外されます)。例えば: # pbackup -n root:[email protected] test.com -e 101 MyVM このセッションを実行すると、ホスト名が test.com のソースサーバ上のコンテナ 101 および仮 想マシン MyVM のみがバックアップに含められ、バックアップサーバに保存されます。 注: 1. バックアップサーバは、Parallels Cloud Server を実行する任意のサーバであり、仮想マシンおよびコンテ ナのバックアップを保存できる十分な空き容量が必要です。 2. 仮想マシンに物理 HDD がアタッチされていたり、ISO またはフロッピーディスクイメージがマウントされ ている場合には、バックアップができません。 3.pbackup の構成パラメータとコマンドラインオプションをすべて確認するには、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してください。 バックアップを復元する 個別の仮想マシンおよびコンテナを復元するか、Parallels サーバ全体を復元する際は、まずこれら に関する情報を確認します。これには、prestore -l コマンドを使用します。 # prestore -l -n test.com test.com [email protected]'s password: ... Backups for node test.com: ID Backup_ID Node Date Type Size 101 2011-05-... test.com 2012-05-30 09:42:19 f 18721280 {cd91b90b...}{4ef87485...} test.com 2012-05-16 17:15:47 f 92617398 [読みやすくするために、ID とバックアップ ID は短縮しています。] 53 仮想マシンおよびコンテナを管理する コマンドの出力結果によると、バックアップサーバには、test.com サーバのバックアップが 2 つ だけあります。-n test.com オプションを省略すると、コマンドの出力結果には以下が表示されま す。 • バックアップサーバに保存されている、test.com サーバ内のすべてのコンテナバックアップ • test.com サーバに保存されている、test.com サーバのすべての仮想マシンバックアップ バックアップの情報は以下の表のとおりです。 列 説明 ID 仮想マシンおよびコンテナを識別する一意の ID Backup ID バックアップアーカイブに割り当てられた ID。バックアップ関連の基本操作を実行する際は、この ID を指定 する必要があります。 Node ソースサーバのホスト名 Date バックアップアーカイブが作成された日時 Type バックアップの種類。現在、次の 2 種類のバックアップを作成できます。 • f:フルバックアップ • i:増分バックアップ。前回のバックアップ(フルまたは増分)後に変更されたファイルのみが 含まれます。これがデフォルトのバックアップタイプとなります。 Size バックアップアーカイブのサイズ(バイト単位) コンテナ 101 と仮想マシン {cd91b90b-469d-42c6-acf4-fefee09cfa61} を復元するには、以下の コマンドを実行します。 # prestore -n test.com -e 101 {cd91b90b-469d-42c6-acf4-fefee09cfa61} このコマンドによって、該当するコンテナと仮想マシンがソースサーバに復元されます。 また、-d オプションを使用して、コンテナ 101 をソースノード以外の Parallels サーバに復元す ることができます。例えば、次のコマンド # prestore -d 192.168.10.199 test.com -e 101 を実行すると、IP アドレス 192.168.10.199 の宛先サーバにコンテナ 101 が復元されます。 Parallels サーバ test.com 上のコンテナバックアップをすべて復元したい場合は、-e オプション はスキップしてください。 注: 54 仮想マシンおよびコンテナを管理する 1. 現在の Parallels Cloud Server バージョンでは、仮想マシンはソースサーバにのみ復元できます。 2. prestore ユーティリティでも、prlctl backup コマンドで作成されたバックアップを管理することがで きますが(リスト、復元など)、特定のバックアップのライフサイクル全体を通じて、同じユーティリティ (prlctl または prestore)のみを使用することをお勧めします。 3. prestore のコマンドラインオプションをすべて確認するには、『Parallels Cloud Server 6.0 コマンドライ ンリファレンスガイド』を参照してください。 ソースノードへのパスワードレスアクセスを構成する pbackup コマンドおよび prestore コマンドの実行時には、毎回必ずソースノードのクレデンシャ ルを指定する必要があります。ただし、root パスワードを入力せずにこれらのユーティリティでソ ースノードにログインすることもできます。これには、それぞれのソースノードに対し、SSH RSA 公開キーを提供する必要があります。 1 バックアップサーバに root としてログインし、SSH キーペア(公開キーと秘密キー)を生成 します。 # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: c6:19:a8:2c:67:31:15:e6:30:23:2b:8a:b0:63:77:8f [email protected] 上の手順では、パスフレーズを空のままにする必要があります。デフォルトで、秘密キーは /root/.ssh/id_rsa に、公開キーは /root/.ssh/id_rsa.pub に保存されます。 2 公開キーを各ソースノードの /root/.ssh ディレクトリに転送します(ソースノード上の同名フ ァイルが上書きされないように、中間名を使用してください)。 # scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/temp_name The authenticity of host 'dhcp-129.parallels.com (192.168.1.129)' can't be established. RSA key fingerprint is 01:fc:b6:e9:26:40:1f:1a:41:5f:7a:fb:cf:14:51. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'dhcp-129.parallels.com,192.168.1.129' (RSA) to the list of known hosts. [email protected]'s password: id_rsa.pub 100% |*****************************| 235 00:00 3 転送されたファイルの内容を、ソースノード上のこのディレクトリにある authorized_keys フ ァイルに追加します。これには、ソースノードにログインし、/root/.ssh ディレクトリに移動 して、以下のコマンドを実行します。 # cat temp_name >> authorized_keys 55 仮想マシンおよびコンテナを管理する これで、pbackup/prestore ユーティリティが root パスワードを入力せずに root としてソースノ ードにログインできるようになります。 仮想マシンおよびコンテナにバックアップをアタッチする 仮想マシンまたはコンテナバックアップの内容を読み取るために、仮想マシンまたはコンテナに仮 想ハードディスクとしてアタッチすることができます。 注: 1. ローカルのバックアップのみをアタッチすることができます。 2. アタッチされたバックアップは書き込み可能なので、ファイルシステムはマウントされたジャーナルを処理 することができます。ただし、バックアップをデタッチすると、すべての変更が失われます。アタッチされたバ ックアップに書き込めるデータ量は 256MB までです。 3. アタッチされたバックアップは、複製、バックアップ、スナップショットなどの処理で保持されません。 Linux 仮想マシンにバックアップをアタッチする 1 アタッチしたいバックアップに対し、prlctl backup-list -f コマンドでバックアップ ID とフ ァイル名を取得します。例えば: # prlctl backup-list vm2 -f ... Backup_ID: {0fcd6696-c9dc-4827-9fbd-6ee3abe017fa} ... Name: harddisk.hdd.tib 2 このバックアップ ID とファイル名を使用して、バックアップにアクセスする Linux 仮想マシ ンに、必要なバックアップを HDD としてアタッチします。これには、prlctl set --backup-add コマンドを使用します。例えば: # prlctl set vm1 --backup-add {0fcd6696-c9dc-4827-9fbd-6ee3abe017fa} --disk harddisk.hdd.tib Creating hdd1 (+) sata:2 real='backup:///{0fcd6696-c9dc-4827-9fbd-6ee3abe017fa}/harddisk.hdd.tib' backup='{0fcd6696-c9dc-4827-9fbd-6ee3abe017fa}' disk='harddisk.hdd.tib' 注:バックアップに複数のディスクが含まれる場合、--disk パラメータを省略すると、すべてのディスクを 一度に接続することができます。 3 prl_backup list コマンドを使用して、現在無効になっている新規アタッチされたデバイスの名 前を取得します。例えば: # prlctl exec vm1 prl_backup list ... 56 仮想マシンおよびコンテナを管理する List of disabled attached backups: [1] /dev/sdc 注:prl_backup コマンドを使用するには、Parallels Tools が必要です。 4 prl_backup enable コマンドで、バックアップを有効化します。例えば: # prlctl exec vm1 prl_backup enable /dev/sdc 5 オプションで、prl_backup list -e コマンドを使用して、バックアップが有効になっているこ とを確認することができます。例えば: # prlctl exec vm1 prl_backup list -e List of enabled attached backups: [1] /dev/sdc (/dev/mapper/backup1) NAME TYPE SIZE FSTYPE UUID MOUNTPOINT backup1 (dm-3) dm 64G |-backup1p1 (dm-4) part 500M ext4 1ac82165-113d-40ee-8ae2-8a72f62d95bf `-backup1p2 (dm-5) part 63.5G LVM2_mem Zw9QiY-BiU5-o8dn-ScTK-vOZx-KujW-wbgmS3 必要なバックアップ部分をファイルシステムとしてマウントすることができます。 ext4 部分のマウントには、追加ステップは不要です。例えば: # prlctl exec vm1 mount /dev/mapper/backup1p1 /mnt/backup1p1 /mnt/backup1p1 で、バックアップ部分の内容にアクセスすることができます。 LVM2_member 部分のマウントには、以下の準備が必要です。 1 新規ボリュームグループに新しい名前を割り当てて、他のボリュームグループと共存できるよう にします。これには、vgimportclone コマンドを使用します。例えば: # prlctl exec vm1 vgimportclone -n backup1p2 /dev/mapper/backup1p2 ... Volume group "VolGroup" successfully renamed to "backup1p2" ... Found volume group "backup1p2" using metadata type lvm2 ... 2 lvs コマンドで、マウント可能な論理ボリュームのリストを取得します。例えば: # prlctl exec vm1 lvs | grep backup1p2 lv_home backup1p2 -wi------- 11.54g lv_root backup1p2 -wi------- 50.00g lv_swap backup1p2 -wi------- 1.97g 3 lvchange -ay コマンドで、必要な論理ボリュームをアクティブ化します。例えば: # prlctl exec vm1 lvchange -ay /dev/backup1p2/lv_root 4 論理ボリュームをファイルシステムとしてマウントします。例えば: # prlctl exec vm1 mount /dev/backup1p2/lv_root /mnt/backup1p2 /mnt/backup1p2 で、バックアップ部分の内容にアクセスすることができます。 57 仮想マシンおよびコンテナを管理する Windows 仮想マシンにバックアップをアタッチする 1 バックアップ ID とファイル名を取得します。例えば: # prlctl backup-list vm2 -f ... Backup_ID: {cff742a9-f942-41c5-9ac2-ace3b4eba783} ... Name: harddisk.hdd.tib 2 バックアップにアクセスする Windows 仮想マシンに、昼用なバックアップを HDD としてア タッチします。例えば: # prlctl set vm1 --backup-add {cff742a9-f942-41c5-9ac2-ace3b4eba783} --disk harddisk.hdd.tib Creating hdd1 (+) sata:2 real='backup:///{cff742a9-f942-41c5-9ac2-ace3b4eba783}/harddisk.hdd.tib' backup='{cff742a9-f942-41c5-9ac2-ace3b4eba783}' disk='harddisk.hdd.tib' アタッチされたバックアップは、Windows 仮想マシンに使用可能なディスクとして表示されま す。 Linux コンテナにバックアップをアタッチする 1 prlctl backup-list -f コマンドで、バックアップ ID とファイル名を取得します。例えば: # prlctl backup-list 102 -f ... Backup_ID: {d70441dd-f077-44a0-8191-27704d4d8fdb} ... Name: private.tib ... 2 このバックアップ ID とファイル名を使用して、バックアップにアクセスする Linux コンテナ に、必要なバックアップを HDD としてアタッチします。これには、prlctl set --backup-add コマンドを使用します。例えば: # prlctl set 101 --backup-add {d70441dd-f077-44a0-8191-27704d4d8fdb} --disk private.tib Creating hdd1 (+) sata:0 real='backup:///{d70441dd-f077-44a0-8191-27704d4d8fdb}/private.tib' backup='{d70441dd-f077-44a0-8191-27704d4d8fdb}' disk='private.tib' 3 バックアップ ID を使用して、バックアップに紐付けられた ploop デバイスを特定します。例 えば: # ploop list | grep {d70441dd-f077-44a0-8191-27704d4d8fdb} ploop28261 /buse/{8417a267-0919-4c8f-a31d-68671358d6a8}_{d70441dd-f077-44a0-8191-27704d4d8fdb}_pri vate.tib/content 4 論理ボリュームをファイルシステムとしてマウントします。例えば: # prlctl exec 101 mount /dev/ploop28261p1 /mnt/backup1 /mnt/backup1 で、バックアップの内容にアクセスすることができます。 58 仮想マシンおよびコンテナを管理する 仮想マシンおよびコンテナからバックアップをデタッチする 注:実行中の Linux 仮想マシンからバックアップをデタッチする前に、ゲスト OS で prl_backup disable コマンドを実行してバックアップデバイスを無効化してください。 • 仮想マシンまたはコンテナにアタッチされたすべてのバックアップからすべての仮想ディスクを デタッチするには、prlctl set --backup-del all コマンドを使用します。例えば: # prlctl set vm1 --backup-del all • 仮想マシンまたはコンテナにアタッチされた特定のバックアップからすべての仮想ディスクをデ タッチするには、prlctl set --backup-del <backup_ID> コマンドを使用します。例えば: # prlctl set vm1 --backup-del {e13561bb-5676-49bd-a935-ae0145eb0229} • 仮想マシンにアタッチされた任意のバックアップから特定の仮想ディスクをデタッチするには、 まず仮想ディスクを接続解除してから、prlctl set --device-del hdd<N> コマンドを使用しま す。例えば: # prlctl set vm1 --device-set hdd1 --disconnect # prlctl set vm1 --device-del hdd1 • コンテナにアタッチされた任意のバックアップから特定の仮想ディスクをデタッチするには、 prlctl set --device-del hdd<N> コマンドを使用します。例えば: # prlctl set 101 --device-del hdd1 テンプレートを管理する Parallels Cloud Server のテンプレートは、構成済みの仮想マシンまたはコンテナであり、完全に 機能する仮想マシンまたはコンテナとして簡単にデプロイできます。通常の仮想マシンまたはコン テナと同様に、テンプレートにはハードウェア(仮想ディスク、周辺機器)と OS が含まれていま す。また、ソフトウェアを追加インストールすることもできます。仮想マシンまたはコンテナとの 違いは、テンプレートは起動できないという点だけです。 Parallels Cloud Server では、テンプレートで以下の作業を実行できます。 • 新規テンプレートを作成する • 既存テンプレートを一覧表示する • テンプレートから仮想マシンまたはコンテナを作成する これらの作業について、以下のサブセクションで詳しく説明していきます。 59 仮想マシンおよびコンテナを管理する テンプレートを作成する Parallels Cloud Server では、prlctl clone ユーティリティを使用してテンプレートを作成できま す。テンプレートの作成は、同じ構成で複数の仮想マシンまたはコンテナを作成する必要がある場 合に便利です。次の手順で実行します。 1 必要な構成で仮想マシンまたはコンテナを作成します。 2 作成した仮想マシンまたはコンテナをベースにテンプレートを作成します。 3 このテンプレートを使用して、必要な数の仮想マシンまたはコンテナを作成できます。 ここでは、仮想マシン MyVM のテンプレートを作成します。これには、以下のコマンドを実行しま す。 # prlctl clone MyVM --name template1 --template このコマンドで、仮想マシン MyVM が複製され、テンプレート template1 として保存されます。テ ンプレートの作成が完了すると、これを使用して新規の仮想マシンを作成することができます。 テンプレートのリストを表示する Parallels サーバにあるテンプレートの概要を取得したいとします。例えば、特定のテンプレートか ら仮想マシンまたはコンテナを作成したいけれども、テンプレート名がわからない場合などです。 この場合、prlctl list コマンドを使用して Parallels サーバ上のすべてのテンプレートをリスト表 示して、テンプレートを探すことができます。 # prlctl list -t {4ad11c28-9f0e-4086-84ea-9c0487644026} {64bd8fea-6047-45bb-a144-7d4bba49c849} {6d3c9d6f-921a-484d-9772-bc7096f68df1} win-2008 rhel win-2008 template1 template3 template2 この例では、このサーバに 3 つのテンプレートがあります。テンプレートの情報は、コマンドの下 に表形式で表示され、左から順にテンプレート ID、テンプレートに含まれる OS、そしてテンプレ ート名です。 テンプレートをデプロイする テンプレートを仮想マシンまたはコンテナに変換するには、prlctl create コマンドに --ostemplate オプションを指定します。例えば、テンプレート template1 を「Converted_VM」と いう名前の仮想マシンに変換するには、以下のコマンドを実行します。 60 仮想マシンおよびコンテナを管理する # prlctl create ConvertedVM --ostemplate template1 仮想マシン ConvertedVM が正常に作成されたことを確認するには、prlctl list -a コマンドを使 用します。 # prlctl list -a STATUS IP_ADDR running 10.12.12.101 stopped 10.12.12.34 running 10.30.17.149 NAME 111 Converted_VM Windows7 テンプレート自体は変更されず、他の仮想マシンの作成に引き続き使用できます。 # prlctl list -t {4ad11c28-9f0e-4086-84ea-9c0487644026} {64bd8fea-6047-45bb-a144-7d4bba49c849} win-2008 rhel template1 template2 スナップショットを管理する Parallels Cloud Server では、スナップショットを作成することによって仮想マシンまたはコンテ ナの現在の状態を保存しておくことができます。その後、仮想マシンまたはコンテナを引き続き使 用して、いつでも保存したときの状態に戻すことができます。スナップショットは、次のような場 合に便利です。 • 多数の設定が必要なアプリケーションを構成する。アプリケーションに適用する前に、設定がど のように機能するのか確認したい場合があります。検証を始める前に、スナップショットを作成 しておきます。 • 大規模デプロイメントプロジェクトに参加する。開発マイルストーン毎にスナップショットを作 成しておきます。これにより、問題が発生したときも、前のマイルストーンに簡単に戻して開発 を再開することができます。 Parallels Cloud Server では、スナップショットの作成、一覧表示、復元、削除が可能です。これ らの作業の詳細は、以下のサブセクションを参照してください。 スナップショットを作成する 仮想マシンまたはコンテナのスナップショットを作成するには、prlctl snapshot コマンドを使用し ます。 仮想マシンのスナップショットを作成する 仮想マシン MyVM のスナップショットを作成するには、以下のコマンドを実行します。 61 仮想マシンおよびコンテナを管理する # prlctl snapshot MyVM ... The snapshot with ID {12w32198-3e30-936e-a0bbc104bd20} has been successfully created. 新規作成されたスナップショットは /vz/VM_Name.pvm/Snapshots/Snapshot_ID.pvs ファイルに保 存されます。ここで、VM_Name は仮想マシン名、Snapshot_ID は一意のスナップショット ID です。 上の例では、ID が {12w32198-3e30-936e-a0bbc104bd20} のスナップショットが /vz/MyVM/Snapshots/{12w32198-3e30-936e-a0bbc104bd20}.pvs ファイルに保存されます。 # ls /vz/MyVM.pvm/Snapshots/ {063615fa-f2a0-4c14-92d4-4c935df15840}.pvc スナップショット ID は、スナップショットを切り替えたり削除するときに必要です。 スナップショット作成時に、名前と説明を設定することもできます。 # prlctl snapshot MyVM -n Clean_System -d "This snapshot was created right after installing Windows XP." ... The snapshot with ID {0i8798uy-1eo0-786d-nn9ic106b9ik} has been successfully created. 設定した名前と説明は、/vz/MyVM/Snapshots.xml ファイルで確認できます。 コンテナのスナップショットを作成する コンテナ 101 のスナップショットを作成するには、以下のコマンドを実行します。 # prlctl snapshot 101 ... The snapshot with ID {08ddd014-7d57-4b19-9a82-15940f38e7f0} has been successfully created. 新規作成されたスナップショットは /vz/private/<CT_ID>/dump/<snapshot_ID> ファイルに保存さ れます。ここで、<CT_ID> はコンテナ ID、<snapshot_ID> はスナップショット ID です。上の例 では、ID が {08ddd014-7d57-4b19-9a82-15940f38e7f0} のスナップショットが /vz/private/101/dump/{08ddd014-7d57-4b19-9a82-15940f38e7f0} ファイルに保存されます。 # ls /vz/private/101/dump {08ddd014-7d57-4b19-9a82-15940f38e7f0} スナップショット ID は、スナップショットを切り替えたり削除するときに必要です。 スナップショット作成時に、名前と説明を設定することもできます。 # prlctl snapshot 101 --n Clean_System --d "This snapshot was created right after installing Windows XP." ... The snapshot with ID {e78bb2b8-7a99-4c8b-ab9a-491a47648c44} has been successfully created. 設定された名前と説明は、/vz/private/<CT_ID>/Snapshots.xml ファイルに保存されます。 62 仮想マシンおよびコンテナを管理する スナップショットの分岐 スナップショットの分岐は、類似の構成を複数作成して作業したい場合や、これらをテストまたは 比較したい場合に便利です。スナップショットの分岐は、以下の手順で作成されます。 1 複数のスナップショットを作成します。 2 いずれかのスナップショットに復元します。 3 仮想マシンまたはコンテナに変更を加えます。 4 スナップショットを作成します。 この場合、新規作成されたスナップショットは、ステップ 2 のスナップショットをベースに分岐を 開始します。 制限事項と推奨事項 • 仮想マシンとスナップショットの名前、およびスナップショットの説明にスペースが含まれる場 合、prlctl コマンドにこれらの指定する際は、引用符(「Windows XP」など)で囲む必要があ ります。 • スナップショットを作成する前に、インストール、ダウンロード、および外部デバイスへの書き 込みなどの作業をすべて終了することを推奨します。また、仮想マシン経由で外部データベース に対して実行しているすべてのトランザクションを完了またはキャンセルする必要があります。 スナップショットを一覧表示する 特定の仮想マシンまたはコンテナのスナップショットをすべて一覧表示するには、prlctl snapshot-list コマンドを使用します。例えば、仮想マシン MyVM の最新のスナップショットをす べて確認するには、以下のコマンドを実行します。 # prlctl snapshot-list MyVM PARENT_SNAPSHOT_ID SNAPSHOT_ID {989f3415-3e30-4494-936e-a0bbc104bd20} {989f3415-3e30-4494-936e-a0bbc104bd20} *{063615fa-f2a0-4c14-92d4-4c935df15840} このコマンドの結果から、仮想マシン MyVM にスナップショットが 2 つあることがわかります。ID が {063615fa-f2a0-4c14-92d4-4c935df15840} のスナップショットは、ID が {989f3415-3e30-4494-936e-a0bbc104bd20} のスナップショットをベースにしています。つまり、 このスナップショットの子です。アスタリスク記号が付いているのが最新のスナップショットで す。 63 仮想マシンおよびコンテナを管理する 複数のスナップショットの関係を確認するには、-t オプションを指定します。 # prlctl snapshot-list MyVM -t _{989f3415-3e30-4494-936e-a0bbc104bd20}_{063615fa-f2a0-4c14-92d4-4c935df15840}*{712305b 0-3742-4ecc-9ef1-9f1e345d0ab8} コマンドの結果から、仮想マシン MyVM に現在 2 つの分岐があることがわかります。これらの分岐 は、ID が {989f3415-3e30-4494-936e-a0bbc104bd20} のスナップショットをベースに作成されて います。 特定のスナップショットの詳細を確認するには、-i オプションを指定します。 # prlctl snapshot-list MyVM -i {063615fa-f2a0-4c14-92d4-4c935df15840} ID:{063615fa-f2a0-4c14-92d4-4c935df15840} Name:Clean_System Date:2012-07-22 22:39:06 Current: yes State: poweroff Description: prlctl snapshot-list コマンドに -i オプションを指定すると、スナップショットに関する以下の 情報が表示されます。 フィールド 説明 ID スナップショットに割り当てられた ID Name スナップショットに割り当てられた名前 Date スナップショットが作成された日時 Current 仮想マシンの最新のスナップショットであることを示します。 State スナップショット作成時の仮想マシンの状態 Description スナップショットに設定された説明 スナップショットに復元する あるスナップショットに復元するには、prlctl snapshot-switch コマンドを実行します。あるスナ ップショットに復元すると、仮想マシンまたはコンテナの現在の状態は破棄され、前回のスナップ ショット以降にシステムに加えた変更はすべて失われます。そのため、復元を開始する前に、新し いスナップショットを作成して、現在の状態を保存しておくこともできます(「スナップショットを 作成する(p. 61)」を参照)。 prlctl snapshot-switch コマンドでは、次の例のように、仮想マシンまたはコンテナの ID とスナ ップショットの ID を引数として指定する必要があります。 64 仮想マシンおよびコンテナを管理する # prlctl snapshot-switch MyVM --id {cedbc4eb-dee7-42e2-9674-89d1d7331a2d} この例では、仮想マシン MyVM をスナップショット {cedbc4eb-dee7-42e2-9674-89d1d7331a2d} に 復元します。 スナップショットを削除する 仮想マシンまたはコンテナの不要なスナップショットを削除するには、prlctl snapshot-delete コ マンドを実行します。例えば: # prlctl snapshot-delete MyVM --id {903c12ea-f6e6-437a-a2f0-a1d02eed4f7e} 親スナップショットを削除しても子スナップショットは削除されず、親スナップショットの情報は 子スナップショットにマージされます。 仮想マシンおよびコンテナを移行する Parallels 物理サーバは、通常のシステムよりも可用性の要件が高くなります。同一の物理サーバ上 の異なる仮想マシンおよびコンテナで会社のメールサーバ、ファイルサーバ、ウェブサーバを実行 している場合、ハードウェアアップグレードのために物理サーバをシャットダウンすると、これら のサービスすべてが一度に利用不能になります。複数の Parallels サーバでのハードウェアアップ グレードと負荷分散を実現するために、Parallels Cloud Server ソフトウェアには、物理サーバ間 で仮想マシンおよびコンテナを移行する機能があります。 Parallels Cloud Server に付属する特別なユーティリティ pmigrate を使用すると、様々な移行を 実行できます。このユーティリティで、次のような移行が可能です。 • 物理サーバ間でのコンテナの移行 • 物理サーバ間での Parallels 仮想マシンの移行 • コンテナから Parallels 仮想マシンへの移行 • Parallels 仮想マシンからコンテナへの移行 • 物理サーバから仮想マシンおよびコンテナへの移行 • Xen 仮想マシンから Parallels 仮想マシンへの移行 これらの作業の詳細は、以下のサブセクションを参照してください。 65 仮想マシンおよびコンテナを管理する 移行に関する一般的な要件 どのような移行にするか決定する前に、移行元のコンピュータ(つまり、移行するコンピュータ、ま たは移行前の仮想マシンおよびコンテナを保存するコンピュータ)と移行先のコンピュータ(つまり、 Parallels Cloud Server を実行しており、移行後に仮想マシンおよびコンテナをホストするコンピ ュータ)が、以下の要件を満たしていることを確認してください。 移行元コンピュータの要件 移行元コンピュータとは、物理コンピュータ、仮想マシン、またはコンテナです。移行元コンピュ ータのソフトウェア要件は以下の表のとおりです。 OS 物理コンピュータ 仮想マシン コンテナ Windows Server 2012 R2(x64) + + - Windows Server 2008 R2 Service Pack 1 + + - + + - Red Hat Enterprise Linux 6.x(x86、x64) + + + Red Hat Enterprise Linux 5.x(x86、x64) + + + Fedora 20(x86、x64) + + + Fedora 19(x86、x64) + + + Fedora 18(x86、x64) + + + Fedora 17(x86、x64) + + + Fedora 16(x86、x64) + + + CentOS 6.x(x86、x64) + + + CentOS 5.x(x86、x64) + + + SUSE Linux Enterprise Server 11 Service + - + + + - Windows (x86、x64) Windows Server 2003 R2 Service Pack 2 (x86、x64) Linux Pack 2(x86、x64) SUSE Linux Enterprise Server 10(x86、 66 仮想マシンおよびコンテナを管理する x64) openSUSE 12.x(x86、x64) + + + Debian GNU/Linux 7(x86、x64) + - + Debian GNU/Linux 6(x86、x64) + + + Ubuntu 14.04(x86、x64) + + + Ubuntu 13.10(x86、x64) + + + Ubuntu 13.04(x86、x64) + + + Ubuntu 12.10(x86、x64) + + + Ubuntu 12.04(x86、x64) + + + Ubuntu 11.10(x86、x64) + + + Ubuntu 10.04(x86、x64) + + + FreeBSD 10(x86、x64) + + - FreeBSD 9(x86、x64) + + - FreeBSD 移行先サーバの要件 移行先サーバは、以下の要件を満たす必要があります。 • 移行後の仮想マシンおよびコンテナを保存できる十分な空き容量がある。 • 移行後の仮想マシンおよびコンテナを実行できる十分なメモリおよび CPU 容量がある。 • 移行元サーバとの間に安定したネットワーク接続がある。 Parallels サーバ間で仮想マシンおよびコンテナを移行する Parallels Cloud Server では、以下のいずれかの方法を選択して仮想マシンおよびコンテナを移行 できます。 • 標準的な移行テクノロジーを使用して仮想マシンおよびコンテナを移行する。 • セロダウンタイム移行テクノロジーを使用して仮想マシンおよびコンテナを移行する。 67 仮想マシンおよびコンテナを管理する これら両方の仮想マシンおよびコンテナの移行方法については、以下のサブセクションで詳しく説 明します。 標準の移行 標準の移行テクノロジーを使用すると、以下の移行が可能です。 • 停止中、実行中、一時停止中のコンテナの移行 • 停止中、一時停止中の仮想マシンの移行 標準の移行では、Parallels サーバ間で仮想マシンまたはコンテナの全ファイルをコピーします。ネ ットワーク経由で多数のファイルをサーバ間でコピーする作業と変わりません。実行中のコンテナ については、移行手順がやや複雑です。 1 移行を開始すると、コンテナの全データが移行先サーバにコピーされます。作業中、移行元サー バではこのコンテナが引き続き実行されます。 2 移行元サーバでコンテナが一時停止されます。 3 移行先サーバにコピーされたコンテナのデータを、移行元サーバのデータと比較し、最初の移行 ステップ中に変更されたファイルがあれば、このファイルが移行先サーバに再度コピーされ、古 いバージョンが上書きされます。 4 移行先サーバでコンテナが起動します。 移行元サーバでコンテナを停止してから、変更されたデータを移行先データにコピーして移行先サ ーバでコンテナを起動するまで、短時間のダウンタイムが発生します。 コンテナを移行する 以下のセッションでは、コンテナ 101 を移行元サーバから移行先サーバ ts7.test.com に移動し ます。 # pmigrate c 101 c root:[email protected]/101 上のコマンドの c オプションは、pmigrate に対し、コンテナからコンテナへの移行を指示してい ます。宛先サーバのクレデンシャルを指定しなかった場合、移行時に入力が要求されます。 重要:コマンドを正常に実行するためには、SSH への直接接続(ポート 22 を使用)が移行元サーバと移行先サ ーバ間で許可されていなければなりません。 68 仮想マシンおよびコンテナを管理する デフォルトでは、移行処理が完了すると、移行元サーバでコンテナのプライベートエリアと構成フ ァイルに .migrated というサフィックスが追加されます。ただし、コンテナが正常に移行された後 で移行元サーバのコンテナプライベートエリアを削除したい場合は、Parallels Cloud Server グロ ーバル構成ファイル(/etc/vz/vz.conf)で REMOVEMIGRATED 変数の値を「yes」に変更するか、 pmigrate コマンドで –r yes スイッチを使用して、pmigrate のデフォルト動作を変更できます。 仮想マシンを移行する 一方、移行元サーバから ts7.test.com へ仮想マシンを移行するには、c の代わりに v を使用して、 コンテナ ID 101 の代わりに仮想マシンの名前を指定します。 # pmigrate v MyVM v root:[email protected]/MyVM このコマンドによって、仮想マシン MyVM がローカルサーバから移行先サーバ ts7.test.com に移 行されます。移行が完了すると、元の仮想マシンはソースサーバから削除されます。ただし、 --keep-src オプションを使用すると、元の仮想マシンが削除されずに残されます。 仮想マシンの場合、pmigrate はリモートの Parallels サーバからローカルサーバへの移行もサポー トします。 # pmigrate v ts7.test.com/MyVM v localhost このコマンドによって、仮想マシン MyVM がサーバ ts7.test.com からローカルサーバに移行され ます。 注:pmigrate に指定できるオプションについて詳しくは、『Parallels Cloud Server 6.0 コマンドラインリフ ァレンス』(※英語)を参照してください。 ゼロダウンタイム移行 ゼロダウンタイム移行テクノロジーにより、一時停止中または実行中の仮想マシンおよび実行中の コンテナを、ある Parallels サーバから別のサーバへ、ダウンタイムなしで移行することができま す。ゼロダウンタイム移行テクノロジーには、標準テクノロジーと比べて次のような利点がありま す。 • 移行時間が大幅に短縮する。コンテナのエンドユーザ向けサービスが停止または中断されること がなくなります。 • 仮想マシンまたはコンテナを別の Parallels サーバへ移行するプロセスは、ユーザやコンテナア プリケーション、ネットワーク接続に対して透過的に行われます。つまり、移行元サーバと移行 69 仮想マシンおよびコンテナを管理する 先サーバで、コンテナ内で実行されるシステムの特性やオペレーション手順に変更はありませ ん。 • 仮想マシンまたはコンテナは、移行前と同じ状態で移行先サーバに復元されます。 • 移行中に再起動させたくないアプリケーションを実行したまま、仮想マシンおよびコンテナを移 行することができます。 注:ゼロダウンタイム移行は、prlctl enter コマンドで確立されたオープンなセッションがある仮想マシンお よびコンテナや、IPSec 接続されたコンテナに対してはサポートされません。 移行の要件と制約事項 ゼロダウンタイム移行を実行するときは、次の要件と制約事項を考慮してください。 • ゼロダウンタイム移行を実行する前に、NTP(http://www.ntp.org)などを使用してソースサ ーバと宛先サーバのシステム時間を同期させることを推奨します。この推奨の理由は、仮想マシ ンおよびコンテナで実行する処理の一部がシステム時間に依存する場合があるため、移行先のサ ーバのシステムクロックパラメータが異なると時間が前後してしまい、予期しない挙動をする可 能性があるためです。 • ネットワークのデータ転送率は 1 Gbps 以上でなければなりません。 • 移行元サーバと移行先サーバは同じサブネットワークに属している必要があります。 • 移行元サーバと移行先サーバの CPU が同じベンダー製で、なおかつ移行先サーバの CPU 容量 が移行先サーバ以上でなければなりません。 • 仮想マシンおよびコンテナのディスクとしては、ローカルディスク、共有 NFS および GFS2 ストレージ、ISCSI raw デバイスが可能です。 移行プロセスの概要 ゼロダウンタイム移行テクノロジーを使用して仮想マシンおよびコンテナを移行するプロセスは、 大まかに以下のような手順になります。 1 移行が開始すると、Parallels Cloud Server は、移行先サーバが移行の要件をすべて満たしてお り、仮想マシンまたはコンテナがこのサーバに移行可能であることを確認します。 2 仮想マシンまたはコンテナのすべての仮想メモリおよびディスクが移行先サーバに移行されま す。 70 仮想マシンおよびコンテナを管理する 3 移行元サーバで仮想マシンまたはコンテナが一時停止されます。 4 変更されたメモリページや仮想ディスクブロックがあれば、移行先サーバへ移行されます。 5 仮想マシンまたはコンテナが移行先サーバで再起動されます。 仮想マシンまたはコンテナは、ステップ 1 と 2 の間は機能しますが、ステップ 3~5 ではエンド ユーザが使用できなくなります。ただし、ステップ 2 で変更されるメモリページと仮想ディスクブ ロックはわずかなので、エンドユーザに認識されるサービス停止時間はごくわずかです。 仮想マシンとコンテナを移行する 仮想マシンとコンテナのどちらを移行するかに応じて、pmigrate に指定するコマンドラインオプシ ョンはわずかに異なります。例えば、コンテナ 101 をローカルサーバから移行先サーバ destserver.com に移行させるには、ローカルサーバで以下のコマンドを実行します。 # pmigrate c 101 c --online destserver.com Enter password: Connection to destination server (192.168.1.57) is successfully established ... Successfully completed 一方、仮想マシン MyVM を同じ移行先サーバ destserver.com に移行させるには、ローカルサーバ で以下のコマンドを実行します。 # pmigrate v MyVM v destserver.com Migrate the VM MyVM to test.com ... The VM has been successfully migrated. このように、仮想マシンを移行する場合は、--online オプションをスキップし、仮想マシンを移行 することを示す v オプションを使用します。 注: 1. pmigrate ユーティリティで使用できるオプションについて詳しくは、『Parallels Cloud Server 6.0 コマン ドラインリファレンスガイド』(※英語)を参照してください。 2. 移行後の数分間は、移行した仮想マシンにネットワーク経由でアクセスできない場合があります。これは、 ネットワーク機器の再構成に必要な待機時間が原因です(例えば、スイッチで動的 VLAN メンバーシップテーブ ルを更新する必要がある場合)。 71 仮想マシンおよびコンテナを管理する コンテナを仮想マシンに移行する pmigrate ユーティリティによって、コンテナを仮想マシンに移行できます。ソースサーバ(移行元 のコンテナがあるサーバ)には、次のいずれかがあります。 • Parallels Cloud Server を実行するローカルサーバ • Parallels Cloud Server を実行するリモートサーバ • Parallels Virtuozzo Containers を実行するリモートサーバ 現段階では、宛先サーバ(新規仮想マシンが作成されるサーバ)には、Parallels Cloud Server を実 行するローカルサーバのみを使用できます。 コンテナを仮想マシンに移行する手順は、移行するコンテナが Parallels Cloud Server と Parallels Virtuozzo Containers のどちらにあるかによって異なります。 コンテナを移行する ローカルサーバとリモートサーバの両方が Parallels Cloud Server を実行している場合、コンテナ の移行には pmigrate ユーティリティを使用します。ローカルサーバからコンテナを移行する時に 指定する必要があるのは、コンテナ ID と作成する仮想マシン名だけです。例えば、以下のコマン ドを実行すると、コンテナ 101 が同じ Parallels サーバ上の仮想マシン VM_101 に移行されます。 # pmigrate c 101 v VM_101 仮想マシンは、移行先サーバの /var/parallels ディレクトリに作成されます。 リモート Parallels サーバからコンテナを移行する場合、移行元サーバの IP アドレスおよびこの サーバの root ユーザのクレデンシャルも、追加で指定する必要があります。 # pmigrate c root:[email protected]/101 v VM_101 このコマンドは、IP アドレスが 192.168.12.12 の Parallels サーバにあるコンテナ 101 を、ロー カルサーバ上の仮想マシン VM_101 に移行します。移行元サーバの root クレデンシャルを指定し ないと、コマンド実行時に入力するよう要求されます。 Parallels Virtuozzo Containers を実行するサーバからコンテナを移行する 次のバージョンの Parallels Containers ソフトウェアを実行するリモートサーバからコンテナを移 行するには、pmigrate ユーティリティを使用します。 72 仮想マシンおよびコンテナを管理する • Parallels Virtuozzo Containers 4.0 for Linux、TU-4.0.0-464 またはそれ以降 • Parallels Virtuozzo Containers 4.6 for Linux • Parallels Virtuozzo Containers 4.7 for Linux • Parallels Virtuozzo Containers 4.6 for Windows リモートの Parallels Containers サーバのコンテナを、Parallels Cloud Server を実行するローカ ルサーバ上の仮想マシンに移行するには: 1 Parallels Containers を実行するサーバに Parallels Agent をインストールします。 2 移行先サーバで pmigrate ユーティリティを実行し、コンテナを移行します。 Parallels Agent をインストールする まず、移行元の Parallels Containers サーバに Parallels Agent をインストールする必要がありま す。移行時に、このエージェントによって移行対象コンテナの重要情報が収集され、移行先サーバ の pmigrate ユーティリティに転送されます。Parallels Agent をインストールするには: 1 移行元 Parallels Containers サーバに、管理者権限を持つユーザとしてログインします。 2 Parallels Agent のインストールファイルを移行元サーバにコピーします。インストールファイ ルは、Parallels Cloud Server を実行するサーバの /usr/share/pmigrate/tools ディレクトリ にあります。 • parallels-transporter-for-containers-XXXX.run:Parallels Virtuozzo Containers for Linux の 4.0、4.6、4.7 に Parallels Agent をインストールする場合、このファイルを使 用します。 • ParallelsTransporterForContainers-parallels-XXXX.exe:Parallels Virtuozzo Containers for Windows の 4.6 に Parallels Agent をインストールする場合、このファ イルを使用します。 3 移行元サーバでインストールファイルを実行します。 4 ウィザードの指示に従って Parallels Agent をインストールします。 コンテナを移行する Parallels Agent をインストールすると、pmigrate ユーティリティを使用してコンテナを仮想マシ ンに移行できるようになります。例えば、移行先サーバで以下のコマンドを実行して、IP アドレス 73 仮想マシンおよびコンテナを管理する が 192.168.12.12 であるリモートサーバのコンテナを仮想マシン VM_101 に移行することができま す。 # pmigrate c root:[email protected]/101 v VM_101 Connecting to local agent... Querying configuration... Migrating... Operation progress 100% Registering VM... PVC to VM /var/parallels/VM_101.pvm/config.pvs migration succeeded. 仮想マシンは、移行先サーバの /var/parallels ディレクトリに作成されます。移行元サーバの管 理者クレデンシャル(Linux サーバでは root、Windows サーバでは Administrator)を指定しな いと、コマンド実行時に入力するよう要求されます。 物理コンピュータを仮想マシンおよびコンテナに移行する pmigrate ユーティリティによって、スタンドアロンの物理コンピュータを仮想マシンまたはコンテ ナに移行することができます。この手順では、物理コンピュータのコンテンツ全体(すべてのファイ ル、ディレクトリ、クォータリミット、設定などを含む)が Parallels サーバ上の仮想マシンまたは コンテナにコピーされます。コンピュータの移行によって、OS、紐付けられた IP アドレス、ディ スク領域、メモリ容量などを含め、完全なコピーが仮想マシンまたはコンテナとしてコピーされま す。 物理コンピュータから仮想マシンまたはコンテナへの移行は、以下の手順で行われます。 1 移行元の物理コンピュータに Parallels Agent をインストールする(仮想マシンへの移行時にの み必要)。 2 宛先サーバで pmigrate ユーティリティが実行される。 Parallels Agent をインストールする Parallels Agent は、移行元の物理コンピュータから重要なシステムデータを収集し、移行先の Parallels サーバの pmigrate ユーティリティに提供します。エージェントをインストールするには、 以下に従います。 1 移行元の物理コンピュータが、エージェントのインストール要件を満たすことを確認します。詳 しくは「仮想マシンへの移行の要件(p. 78)」を参照してください。 2 74 移行元の物理コンピュータに、管理者としてログインします。 仮想マシンおよびコンテナを管理する 3 正しいエージェントインストールファイルを、移行先 Parallels サーバの /usr/share/pmigrate/tools ディレクトリから移行元の物理コンピュータにコピーします。 • Linux OS の場合、parallels-transporter-agent-XXXX.run を選択します。 • Windows OS の場合、ParallelsTransporterAgent-parallels-XXXX.exe を選択します。 4 移行元の物理コンピュータでインストールファイルを実行し、ウィザードの指示に従います。 5 移行元の物理コンピュータを再起動し、インストールを完了します。 注:再起動後、Parallels Agent が自動的に起動します。手動で起動する必要はありません。 移行元の物理コンピュータを移行する 移行元の物理コンピュータを起動すると、これを移行先 Parallels サーバ上の仮想マシンまたはコ ンテナに移行することができます。例えば、物理コンピュータを仮想マシンに移行するには、移行 先サーバで次のコマンドを実行します。 # pmigrate h root:[email protected] v MyVM ここで • h は、移行元が物理コンピュータであることを示します。 • root:[email protected] には、移行元の物理コンピュータのクレデンシャルと IP アド レスを指定します。 クレデンシャルを指定しないと、コマンド実行時に入力するよう要求されます。 • v は、移行先が仮想マシンであることを示します。 • MyVM は、移行先 Parallels サーバに作成される仮想マシンの名前です。 手順が完了すると、移行先 Parallels サーバの /var/parallels ディレクトリに仮想マシンが作成 されます。 同じ物理コンピュータをコンテナに移行する場合は、v を c に、MyVM をコンテナ ID(101 など) に置き換えてください。例えば: # pmigrate h root:[email protected] c 101 注: 1.Windows OS を実行する物理コンピュータをコンテナに移行することはサポートされていません。 75 仮想マシンおよびコンテナを管理する 2. ReiserFS システムボリュームのある物理コンピュータの移行はできません。 コンテナへの移行の要件 物理サーバをコンテナに移行する際の遅延と問題を回避するには、以下の要件を満たしていること を確認してください。 • 移行元の物理サーバに、Parallels Cloud Server がサポートしている Linux ディストリビュー ションがインストールされている。これを確認するには、移行先 Parallels サーバの /etc/vz/conf/dists ディレクトリに、該当する Linux_Distribution_Name-version.conf 構成 ファイル(例:redhat-5.conf)があることを確認します。もしファイルがなければ、以下のい ずれかを実行できます。 • 新しいディストリビューション構成ファイルを作成し、移行先 Parallels サーバの /etc/vz/conf/dists ディレクトリに保存します。詳しくは、「新しい Linux ディストリビ ューション用の構成ファイルを作成する(p. 243)」を参照してください。 • 構成ファイルなしで移行を開始します。この場合、コンテナの構成には、 /etc/vz/conf/dists ディレクトリの unknown.conf が使用されます。ただし、Parallels Cloud Server 標準ユーティリティ(例えば prlctl)を使用して、新規作成されたコンテナ に対する主な操作(IP アドレスの設定や DNS パラメータの構成など)を実行することはで きなくなります。 • ssh が移行元の物理コンピュータと移行先 Parallels サーバの両方にインストールされており、 暗号化された認証付きの安全な通信がこれらサーバ間で可能である。ssh パッケージがインスト ール済みかどうかを確認するには、ssh -V コマンドを実行します。 • 移行元のコンテンツをコンテナにコピーするための rsync が移行元の物理コンピュータにイン ストールされている。移行元の物理コンピュータおよび移行先 Parallels サーバの rsync に互 換性がない場合、移行先 Parallels サーバのもの(/usr/local/share/vzlinmigrate ディレクト リ)を使用してください。 コンテナの移行に関する制約事項 物理コンピュータをコンテナに移行する際に考慮すべき制約事項は、以下のとおりです。 • 移行元の物理コンピュータに複数の IP アドレスが紐付けられている場合、これらすべてが移行 先 Parallels サーバの同じ venet0 デバイスに割り当て直されます。この仮想ネットワークアダ 76 仮想マシンおよびコンテナを管理する プタは、Parallels サーバ上のすべてのコンテナをサーバ自体と相互接続するために使用されま す。移行後、コンテナ内に追加の仮想ネットワークアダプタを作成し、必要な IP アドレスを適 切なネットワークアダプタに割り当てます。詳しくは、「コンテナのアダプタを管理する(p. 174)」を参照してください。 • 移行時に、移行元の物理コンピュータでパーティションを 1 つだけ指定すると、パーティショ ンはそのすべてのクォータとともにコンテナに移行されます。他のすべてのパーティションは、 クォータリミットなしでコピーされます。さらに、選択したパーティションのクォータリミット は、移行後のコンテナ全体に適用されます。 • Security-Enhanced(SE)Linux カーネルを使用する Linux OS を実行している物理サーバを 移行する場合、現時点で Parallels Cloud Server が SE Linux カーネルに対応していないこと にご注意ください。つまり、作成されるコンテナでは、SE 機能が使用できません。 • 移行元の物理コンピュータの任意のファイルやディレクトリに拡張属性がある場合、これらの属 性は移行後に失われます。 • 移行元の物理コンピュータ上の Raw デバイスは、移行先 Parallels サーバに作成されるコンテ ナに移行できません。 • 移行元の物理コンピュータの MAC アドレスに紐付けられたアプリケーションは、移行後のコ ンテナ内では実行できません。この場合、以下のいずれかが可能です。 • ライセンスが必要なアプリケーションの場合、新しいライセンスを入手し、コンテナ内にア プリケーションを新規インストールする。 • ライセンスを必要としないアプリケーションの場合、MAC アドレスに紐付けずに機能する ように再構成する。 • rsync による移行元の物理コンピュータからコンテナへのファイルとディレクトリの転送を実行 中に移行が失敗すると、コピー済みのファイルとディレクトリは、移行先 Parallels サーバの /vz/private/<CT_ID> ディレクトリに残され、これが大量のディスク領域を専有する場合があ ります。このディレクトリは、残しておいて次回の移行を高速化することも、rm ユーティリテ ィを使用して手動で削除することもできます。 • ReiserFS でフォーマットされたシステムボリュームのある物理コンピュータの移行はサポート されません。 • GUID パーティションテーブル(GPT)ディスクの移行はサポートされません。 77 仮想マシンおよびコンテナを管理する 仮想マシンへの移行の要件 仮想マシンに移行するすべての物理コンピュータに Parallels Agent がインストールされており、 次の要件を満たしている必要があります。 ハードウェア要件 • 700 MHz 以上の x86 または x64 プロセッサ(Intel または AMD) • 256 MB 以上の RAM • 50 MB 以上の空きハードディスク(Parallels Agent 用) • Ethernet または Wi-Fi ネットワークアダプタ ソフトウェア要件 「移行に関する一般的な要件(p. 66)」を参照してください。 Parallels Cloud Server を実行する移行サーバの追加要件 Parallels Cloud Server ソフトウェアを実行するサーバを移行するには、まず snapapi26 モジュー ルと snumbd26 モジュールがサーバにロードされていないことを確認してください。これをチェッ クするには、以下のコマンドを使用します。 # lsmod | grep snapapi26 # lsmod | grep snumbd26 必要に応じて、rmmod コマンドを実行してモジュールをアンロードします。以下で説明するように、 まず Parallels Cloud Server サービスの停止が必要になる場合があります。 1 サービスを停止する: # /etc/init.d/vz stop 2 モジュールをアンロードする: # rmmod snapapi26 # rmmod snumbd26 3 サービスを再開する: # /etc/init.d/vz start モジュールをアンロードしたら、移行に進みます。 78 仮想マシンおよびコンテナを管理する 仮想マシンの移行に関する制限事項 物理コンピュータを仮想マシンに移行する際に考慮すべき制限事項は次のとおりです。 • Windows ダイナミックボリュームの移行はできません。 • Windows ソフトウェア RAID 構成の移行はできません。 • GUID パーティションテーブル(GPT)ディスクの移行はできません。 • ReiserFS システムボリュームのある物理コンピュータの移行はできません。 仮想マシンをコンテナに移行する Parallels サーバで仮想マシンをコンテナに移行する手順は、物理コンピュータをコンテナに移行す る場合と同じです。例えば、以下のコマンドを実行すると、Parallels サーバ上で、IP アドレスが 192.168.1.130 の仮想マシンがコンテナ 101 に移行されます。 # pmigrate h root:[email protected] c 101 上のコマンドで、仮想マシンのクレデンシャルを省略可能です。この場合、コマンド実行時に入力 が要求されます。 注: 1.物理コンピュータのコンテナへの移行について詳しくは、「物理コンピュータを仮想マシンおよびコンテナに 移行する(p. 74)」を参照してください。 2.仮想マシンが満たすべき要件は、物理コンピュータの移行と同じです。「コンテナへの移行の要件(p. 76)」 を参照してください。 Xen 仮想マシンを移行する pmigrate ユーティリティを使用して、Xen 仮想マシンを Parallels サーバ上の仮想マシンに移行す ることができます。Xen 仮想マシンを Parallels 仮想マシンに移行するには: 1 Xen 仮想マシンをホスティングする物理サーバに Parallels Agent をインストールします。 2 このサーバで pmigrate ユーティリティを実行して、Xen 仮想マシンを移行します。 それぞれのステップについて、以下で詳しく説明します。 79 仮想マシンおよびコンテナを管理する Parallels Agent をインストールする Xen 仮想マシンの移行を開始する前に、仮想マシンを実行する Xen サーバに Parallels Agent を インストールする必要があります。Parallels Agent をインストールするには: 1 管理権限を持つユーザとして Xen サーバにログインします。 2 Parallels Agent インストールファイルを Xen サーバにコピーします。インストールファイル は、Parallels サーバの /usr/share/pmigrate/tools ディレクトリにあり、ファイル名は parallels-transporter-agent-parallels-en_US-XXXX.run です。 3 コピーしたファイルを実行し、指示に従って Parallels Agent をインストールします。 4 Parallels Agent を起動します。 # parallels-transporter-agent -c Xen 仮想マシンを移行する Xen サーバで Parallels Agent を実行すると、Xen 仮想マシンを移行できます。ここでは、以下の ように仮定します。 • Xen サーバから仮想マシン XenVM を Parallels サーバの仮想マシン MigratedVM に移行した い。 • 仮想マシン MigratedVM のある Xen サーバの IP アドレスとクレデンシャルは root:[email protected] である。 仮想マシン XenVM を移行するには、以下のコマンドを実行します。 # pmigrate x root:[email protected]/XenVM v MigratedVM このコマンドで、x は Xen 仮想マシンを移行することを意味し、v は Xen 仮想マシンを Parallels 仮想マシンに移行することを意味します。上のコマンドでクレデンシャルを指定しないと、 コマンド実行時に入力が要求されます。移行が完了すると、Parallels サーバの /var/parallels デ ィレクトリに仮想マシンが作成されます。 注:移行した仮想マシンの設定(メモリおよびネットワーク設定など)を確認し、必要に応じて構成を変更する ことをお勧めします。 80 仮想マシンおよびコンテナを管理する 準仮想化 Xen 仮想マシンの移行に関するトラブルシューティング 準仮想化 Xen 仮想マシンを移行する場合、pmigrate はまず、仮想マシン全体を Parallels サーバ にコピーしてから、コピーしたマシンの準仮想化カーネルを該当 Linux ディストリビューションの 標準カーネルに置き換えます。カーネルを置き換えられなかった場合、pmigrate はエラーを表示し ますが、Parallels サーバから仮想マシンは削除されません。この場合、以下が可能です。 • コピーした仮想マシンを Parallels サーバから削除し、仮想マシンの移行をもう一度やり直す。 • コピーした仮想マシンの構成を Parallels サーバで手動で変更する。 2 番目の方法を選択する場合、次の手順に従います。 1 仮想マシンにインストールされた OS に対応する Linux OS の ISO イメージを使用して、レ スキューモードで仮想マシンを起動します。 2 ディスクのどこに root パーティションがあるか確認して、マウントします。 3 ディスク上の他のすべてのパーティション(/boot、/usr など)を確認して、root パーティシ ョンの該当ディレクトリにマウントします。また、/proc ファイルシステムをマウントします。 4 Linux 標準カーネルをインストールします(例えば、仮想マシンの起動に使用した ISO イメー ジから)。標準カーネルは、準仮想化 Xen カーネルと同じアーキテクチャでなければなりませ ん。 5 標準カーネルの initrd イメージを作成します(カーネルのインストール時に行っていない場 合)。 6 標準カーネルをロードするようにブートローダを構成します(カーネルのインストール時に行っ ていない場合)。 7 getty および tty1~tty6 が起動するように /etc/inittab ファイルを構成します。 8 パーティションをアンマウントします。 9 仮想マシンを再起動し、標準カーネルを起動します。 コンテナ固有のオペレーションを実行する ここでは、コンテナ固有のオペレーションについて説明します。 81 仮想マシンおよびコンテナを管理する コンテナを再インストールする コンテナの再インストールは、必要なコンテナファイルを誤って変更、置換、または削除してしま い、コンテナが正しく機能しなくなった場合に便利です。コンテナを再インストールするには、 prlctl reinstall コマンドを使用します。これにより、構成ファイル、関連 OS、およびアプリケ ーションテンプレートに従って新しいコンテナプライベートエリアが一から作成されます。例え ば: # prlctl reinstall 101 注: 1.コンテナアプリケーションテンプレートを通常の方法でコンテナに追加できないと、再インストールは失敗し ます。これは、vzpkgadd または vzpkg install コマンドの --force オプションを使用してアプリケーシ ョンテンプレートがコンテナに追加された場合などに発生する可能性があります(これらのコマンドについて詳 しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してください)。 2. 現段階では、reinstall コマンドが prlctl ユーティリティでサポートされていない可能性があります。 この場合、vzctl を使用してください。 旧コンテナの個人データを保持するために、このコマンドは旧プライベートエリアのコンテンツを 新しいプライベートエリアの /vz/root/<CT_ID>/old ディレクトリにコピーします(--skipbackup オプションを指定した場合を除く)。このディレクトリは、必要に応じて個人データをコピーした後 で削除できます。 --resetpwdb オプションを指定しない限り、prlctl reinstall コマンドはユーザクレデンシャルベ ースを維持します。 コンテナ再インストールをカスタマイズする prlctl reinstall コマンドによるデフォルトの再インストールでは、破損したコンテナの新しいプ ライベートエリアが、prlctl create コマンドでコンテナを新規作成するときと同様に作成され、破 損したコンテナの古いプライベートエリアが新しいプライベートエリアの /old ディレクトリにコ ピーされるため、ファイルが消失しません。また、--skipbackup オプションを指定することにより、 古いプライベートエリアを新規プライベートエリアにコピーまたはマウントせずに一括削除するこ ともできます。破損したコンテナをこの方法で再インストールするのが適していない場合もありま す。これは、prlctl create コマンドを使用するだけではない別の方法で新規コンテナを作成するこ とに慣れている場合が該当します。例えば、新規コンテナに追加ソフトウェアライセンスなどをイ 82 仮想マシンおよびコンテナを管理する ンストールするような場合です。この場合、当然ながら、prlctl create コマンドのデフォルトの動 作ではなく、ユーザが決定したオリジナルの状態に復元される再インストール方法が望ましいでし ょう。 再インストールをカスタマイズするには、独自のスクリプトを作成し、コンテナの再インストール 時にどのような処理を行うのか、および再インストール後のコンテナをどのように構成すべきかを 指定します。それぞれのスクリプトに「vps.reinstall」および「vps.configure」という名前を付 け、サーバの /etc/vz/conf ディレクトリに保存する必要があります。カスタマイズしたスクリプ トの作成に役立つように、Containers ソフトウェアにはサンプルスクリプトが付属しており、これ をベースに独自のスクリプトを作成できます。 prlctl reinstall <CT_ID> コマンドを実行すると、vps.reinstall および vps.configure スクリ プトが順に検索されて起動します。vps.reinstall スクリプトが起動すると、以下のパラメータが 渡されます。 オプション 説明 --veid コンテナ ID --ve_private_tmp コンテナの一時プライベートエリアへのパス。このパスは、コンテナの新規プライベートエリアが一時的 にどこに作成されるかを表します。スクリプトが正常に実行されると、スクリプトが終了した後にこのプ ライベートエリアは元のプライベートエリアへのパスにマウントされます。 --ve_private コンテナの元のプライベートエリアへのパス。 これらのパラメータは vps.reinstall スクリプトで使用できます。 vps.reinstall スクリプトが正常に終了すると、コンテナが起動して、vps.configure スクリプト が呼び出されます。この時点で、古いプライベートエリアは、--skipbackup オプションにかかわり なく、新しいプライベートエリア内の /old ディレクトリにマウントされます。これにより、稼働 中のコンテナで実行されるスクリプトで、旧プライベートエリアにある必要なファイルを使用でき るようになります。例えば、一部のファイルをこのディレクトリから通常のコンテナディレクトリ にコピーすることができます。 vps.configure スクリプトが終了すると、古いプライベートエリアは、--skipbackup オプションの 有無に応じて、マウント解除後に削除されるか、マウントされたまま維持されます。 これらの再インストールスクリプトを実行する必要がなく、prlctl reinstall のデフォルトの動作 を使用したい場合は、以下のいずれかを実行します。 83 仮想マシンおよびコンテナを管理する 1 vps.reinstall および vps.configure スクリプトを /etc/vz/conf ディレクトリから削除する か、最低でも名前を変更します。 2 vps.reinstall スクリプトの最終行を、以下の値から exit 0 以下の値に変更します。 exit 128 終了コード 128 は、スクリプトを実行せずにデフォルトの動作でコンテナを再インストールするよ うにユーティリティに指示します。 コンテナに対して VPN を有効化する VPN(仮想専用ネットワーク)は、セキュアではない公衆ネットワーク経由でもセキュアなネットワ ーク接続を確立できるテクノロジーです。個々のコンテナに VPN をセットアップするには、 TUN/TAP デバイスを使用します。特定のコンテナがこのデバイスを使用できるようにするには、 以下のステップが必要です。 • Parallels Cloud Server を起動する前に、tun.o モジュールがロード済みであることを確認して ください。 # lsmod • コンテナによる TUN/TAP デバイスの使用を許可します。 # prlctl set 101 --devices c:10:200:rw 注:現在、prlctl ユーティリティで --devices オプションがサポートされていない可能性があります。こ の場合、vzctl を使用してください。 • コンテナに該当のデバイスを作成して、適切な権限を設定します。 # prlctl exec 101 mkdir -p /dev/net # prlctl exec 101 mknod /dev/net/tun c 10 200 # prlctl exec 101 chmod 600 /dev/net/tun VPN の正しい構成は、Linux の共通管理タスクであるため、本書の範囲外となります。TUN/TAP ドライバ経由で VPN をセットアップするための一般的な Linux ソフトウェアには、Virtual TUNnel <http://vtun.sourceforge.net/> や OpenVPN <http://openvpn.sourceforge.net/> などがあります。 84 仮想マシンおよびコンテナを管理する コンテナでの NFSv4 サポートを有効にする コンテナで NFSv4 マウントのサポートを有効にするには、ハードウェアノードで以下のコマンド を実行します。 # sysctl –w fs.nfs.nfs4_ct_enable=1 ノードの再起動後も NFSv4 のサポートが有効になるようにするには、/etc/sysctl.conf に以下の 行を追加します。 fs.nfs.nfs4_ct_enable=1 次回にリソースをマウントすると、Parallels Cloud Server は、サーバとクライアントの両方でサ ポートされる最新の NFS バージョンを自動的に選択します。 現在どのバージョンの NFS のサポートが有効であるかを確認するには、/proc/fs/nfsd/versions をチェックしてください。例えば: # cat /proc/fs/nfsd/versions +2 +3 +4 -4.1 注:これが機能するためには、以前にハードウェアノードで nfs サービスを少なくとも一度は起動している必 要があります。 この例では、NFS バージョン 2、3、4 のサポートが有効で、NFS バージョン 4.1 は無効です。 これを有効にするには、以下の作業を行います。 1 以下のコマンドを実行します。 # echo "+4.1" > /proc/fs/nfsd/versions 2 ハードウェアノードを再起動します。 コンテナで NFS サーバをセットアップする コンテナで NFS サーバをセットアップするには、以下を実行します。 1 コンテナに rpcbind、nfsd、nfslock サービスがインストールされていることを確認します。 2 ハードウェアノードで vzctl set --features nfsd:on コマンドを実行することにより、コンテ ナで NFS サービス機能を有効にします。例えば: # vzctl set 101 --feature nfsd:on --save 注:コンテナが実行中の場合、変更を適用するためには再起動が必要です。 3 コンテナで rpcbind サービスを起動します。 85 仮想マシンおよびコンテナを管理する # service rpcbind start Starting rpcbind: 4 [ OK ] コンテナで nfs および nfslock サービスを起動します。 # service nfs start Starting NFS services: Starting NFS quotas: Starting NFS mountd: Starting NFS daemon: # service nfslock start Starting NFS statd: [ [ [ [ OK OK OK OK ] ] ] ] [ OK ] 構成したコンテナで NFS シェアをセットアップできます。 注:NFSv4 のサポートはデフォルトで無効になっている可能性があります。これを有効にする方法は、「コンテ ナでの NFSv4 サポートを有効にする(p. 85)」を参照してください。 コンテナ起動時に NFS シェアをマウントする CentOS または RHEL ベースのコンテナの /etc/fstab ファイルで NFS シェアの構成が完了し、 コンテナ起動時にこの NFS をマウントする必要がある場合、chkconfig netfs on コマンドを使用 して netfs サービスの自動起動を有効にします。 複数の仮想ディスクをコンテナに追加する 仮想ハードディスク 1 つだけで新規コンテナを作成した場合も、コンテナにディスクを追加して、 それが直接アタッチされた HDD、SSD、または Parallels Cloud Storage であっても、対応する ploop イメージを選択した場所に保持することができます。この機能によって、より柔軟なコンテ ナを作成することができます。例えば、OS を高速な SSD に格納し、ユーザコンテンツを容量が大 きい HDD または Parallels Cloud Storage に格納します。 停止中または実行中のコンテナに仮想ハードディスクを追加するには、prlctl set --device-add hdd コマンドを使用します。例えば: # prlctl set 101 --device-add hdd --image /hdd/101 --size 100G --mnt /userdisk このコマンドにより、コンテナ 101 の構成に、以下のパラメータの仮想ハードディスクが追加され ます。 • 名前:hdd<N>。ここで <N> は、次に使用可能なディスクインデックス。 • イメージの場所:/hdd/101 • サイズ:102400 MB 86 仮想マシンおよびコンテナを管理する • コンテナ 101 内のマウントポイント:/userdisk。また、対応するエントリがコンテナの /etc/fstab ファイルにも追加されます。 コマンドのパラメータについて詳しくは、「Parallels Cloud Server コマンドラインリファレンスガ イド」を参照してください。 仮想マシン固有のオペレーションを実行する このセクションでは、仮想マシン固有のオペレーションについて説明します。 仮想マシンを一時停止する 実行中の仮想マシンを一時停止すると、この仮想マシンで使用されている RAM や CPU などのリ ソースが開放されます。開放されたリソースは Parallels サーバやその他の実行中の仮想マシンお よびコンテナで使用できます。 仮想マシンを一時停止するには、prlctl pause コマンドを使用します。例えば、次のコマンドを実 行すると、My_VM 仮想マシンが一時停止します。 # prlctl pause My_VM Pause the VM... The VM has been successfully paused. 仮想マシンが正常に停止されたことは、prlctl list -a コマンドを使用して確認できます。 # prlctl STATUS running paused list -a IP_ADDR NAME 10.10.10.101 101 10.10.10.201 My_VM このコマンドの出力結果から、現在仮想マシン My_VM が停止していることがわかります。この仮想 マシンの実行を続けるには、次のコマンドを実行します。 # prlctl start My_VM Starting the VM... The VM has been successfully started. 仮想マシンのデバイスを管理する Parallels Cloud Server では、仮想マシンの以下のデバイスを管理できます。 • ハードディスクドライブ • CD/DVD-ROM ドライブ 87 仮想マシンおよびコンテナを管理する • フロッピーディスクドライブ • ネットワークアダプタ • シリアルまたはパラレルポート • サウンドカード • USB コントローラ これらのデバイスにタイして実行できる主なオペレーション: • 仮想マシンに新規デバイスを追加する • デバイスのプロパティを構成する • 仮想マシンからデバイスを削除する 新規デバイスを追加する このセクションでは、仮想マシンに新規デバイスを追加する方法を説明します。仮想マシンに新規 デバイスを追加するには、prlctl set コマンドを使用します。特定のデバイスの追加に関連するオ プションは次の表のとおりです。 オプション 説明 hdd 仮想マシンに新規ハードディスクドライブを追加する。仮想マシンに既存のイメージを接続するか、新規作成するこ とが可能。 注:SATA ディスクは実行中の仮想マシンにも停止している仮想マシンにも追加できますが、IDE および SCSI ディスクは停止している仮想マシンにしか追加できません。Windows Server 2003 をインストールした仮想マシンで SATA ディスクを使用するためには、SATA ドライブが必要で す。 cdrom 仮想マシンに新規 CD/DVD-ROM ドライブを追加する。 net 仮想マシンに新規ネットワークアダプタを追加する。 fdd 仮想マシンに新規フロッピーディスクドライブを追加する。 serial 仮想マシンに新規シリアルポートを追加する。 parallel 仮想マシンに新規パラレルポートを追加する。 sound 仮想マシンに新規サウンドデバイスを追加する。 usb 仮想マシンに新規 USB コントローラを追加する。 88 仮想マシンおよびコンテナを管理する 例えば、以下のコマンドを実行すると、仮想マシン MyVM に新規仮想ディスクを追加することがで きます。 # prlctl set MyVM --device-add hdd Creating hdd1 (+) sata:0 image='/var/parallels/MyVM.pvm/harddisk1.hdd Create the expanding disk, 65536... The VM has been successfully configured. このコマンドによって、次のようなデフォルトパラメータで新規仮想ディスクが作成されます。 • 名前:hdd1 • ディスクタイプ:SATA • イメージファイルの名前と場所:/var/parallels/MyVM.pvm/harddisk1.hdd • ディスクフォーマット:可変 • ディスク容量:65536 MB コマンド実行時にオプションを指定して、これらのパラメータの一部を再定義することができます。 例えば、容量が 84 GB の IDE 仮想ディスクを作成するには、以下のコマンドを使用します。 # prlctl set MyVM --device-add hdd --size 84000 --iface ide Creating hdd1 (+) ide:1 image='/var/parallels/MyVM.pvm/harddisk1.hdd Create the expanding disk, 84000Mb... The VM has been successfully configured. 仮想ディスクが仮想マシンに追加されました。使用を開始する前に、ディスクを初期化する必要が あります。手順は、次のサブセクションを参照してください。 デバイスを移行するときの注意事項は以下のとおりです。 • 新しい仮想マシンデバイスの作成時に prlctl set に指定できるオプションについて詳しくは、 『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してくだ さい。 • 1 つの仮想マシンに接続できるデバイス数の上限は、IDE デバイス x 4、SATA デバイス x 6、 SCSI デバイス(仮想ディスクまたは CD/DVD-ROM ドライブ)x 15 です。 • 既存のイメージファイルを仮想 CD/DVD-ROM ドライブとして使用する場合、Parallels Cloud Server がサポートするイメージファイルの種類は .iso、.cue、.ccd、.dmg(非圧縮および非暗 号化)です。 • 1 つの仮想マシンに対し、フロッピーディスクドライブは 1 つだけ接続できます。 • 1 つの仮想マシンに対し、仮想ネットワークアダプタは 16 個まで接続できます。 • 1 つの仮想マシンに対し、シリアルポートは最大 4 個接続できます。 89 仮想マシンおよびコンテナを管理する • 1 つの仮想マシンに対し、パラレルポートは最大 3 個接続できます。 • 1 つの仮想マシンに対し、サウンドカードは 1 つだけ接続できます。 • 1 つの仮想マシンに対し、USB コントローラは 1 つだけ接続できます。 新規追加したディスクを初期化する 仮想マシンの構成に空白の仮想ハードディスクを新規追加すると、このハードディスクは、初期化 しなければ仮想マシンにインストールされた OS に表示されません。 Windows で新規仮想ハードディスクを初期化する Windows ゲスト OS で新規仮想ハードディスクを初期化するためには、ディスク管理ユーティリ ティが必要です。例えば、Windows 7 と Windows XP では、次のパスで、このユーティリティに アクセスします。 • Windows 7:[スタート]>[コントロール パネル]>[システムとセキュリティ]>[管理ツ ール]>[コンピューターの管理]>[記憶域]>[ディスクの管理] • Windows XP:[スタート]>[コントロール パネル]>[管理ツール]>[コンピュータの管 理]>[記憶域]>[ディスクの管理] ディスク管理ユーティリティを開くと、構成に追加された新しいハードディスクが自動的に検出さ れ、ディスクの初期化と変換ウィザードが起動します。 1 最初の画面で[次へ]をクリックします。 2 [初期化するディスクの選択]ウィンドウで、新規追加されたディスクを選択し、[次へ]をク リックします。 3 [変換するディスクの選択]ウィンドウで、新規追加されたディスクを選択し、[完了]をクリ ックします。 追加されたディスクは、ディスク管理ユーティリティに新しいディスクとして表示されますが、メ モリ領域は未割り当てとなります。ディスクメモリを割り当てるには、ディスク管理ユーティリテ ィでディスク名を右クリックし、[新しいシンプル ボリューム](Windows Vista)または [新し いボリューム](Windows XP)を選択します。新しいシンプル ボリューム ウィザード/新しいボ リューム ウィザードのウィンドウが表示されます。ウィザードの指示に従い、新規追加されたディ スクに新しいボリュームを作成します。 90 仮想マシンおよびコンテナを管理する その後、ディスクがコンピューター/マイ コンピューターに表示され、仮想マシン内でデータディ スクとして使用できるようになります。 Linux で新規仮想ハードディスクを初期化する Linux ゲスト OS で新規仮想ハードディスクを初期化するには、(1) 仮想ハードディスクスペース を割り当てる、(2) このディスクをゲスト OS にマウントする、という 2 段階の手順を踏みます。 スペースを割り当てるには、fdisk ユーティリティを使用してこの仮想ハードディスクに新しいパ ーティションを作成する必要があります。 注:fdisk ユーティリティを使用するには、root 権限が必要です。 1 ターミナルウィンドウを起動します。 2 仮想マシン構成内の IDE ディスクデバイスを一覧表示するには、以下のコマンドを実行しま す。 fdisk /dev/hd* 注:SCSI ディスクを仮想マシン構成に追加した場合、代わりに fdisk /dev/sd* コマンドを使用してくださ い。 3 デフォルトで、2 番目の仮想ハードディスクは Linux 仮想マシンに /dev/hdc と表示されます。 このデバイスを操作するには、以下のコマンドを実行します。 fdisk /dev/hdc 注:これが SCSI ディスクであれば、代わりに fdisk /dev/sdc コマンドを使用してください。 4 このディスクの詳細情報を確認するには、以下を入力します。 p 5 新規パーティションを作成するには、以下を入力します。 n 6 プライマリパーティションを作成するには、以下を入力します。 p 7 パーティション番号を指定します。デフォルトでは「1」です。 8 最初のシリンダを指定します。このハードディスクにパーティションを 1 つだけ作成した場合 はデフォルト値を使用します。 9 最後のシリンダを指定します。このハードディスクにパーティションを 1 つだけ作成した場合 はデフォルト値を使用します。 91 仮想マシンおよびコンテナを管理する 10 指定した設定でパーティションを作成するには、以下を入力します。 w 新規追加された仮想ハードディスクにスペースを追加した場合、ターミナルで以下のコマンドを実 行してフォーマットする必要があります。 mkfs -t <FileSystem> /dev/hdc1 注:<FileSystem> は、このディスクで使用するファイルシステムです。ext3 または ext2 を使用すること をお勧めします。 追加した仮想ハードディスクをフォーマットしたら、ゲスト OS にマウントできます。 1 新規仮想ハードディスク用のマウントポイントを作成するには、以下を入力します。 mkdir /mnt/hdc1 注:異なるマウントポイントを指定できます。 2 新しい仮想ハードディスクを指定のマウントポイントにマウントするには、以下を入力します。 mount /dev/hdc1 /mnt/hdc1 仮想ハードディスクをマウントしたら、そのスペースを仮想マシンで使用できます。 仮想デバイスを構成する Parallels Cloud Server では、prlctl set コマンドの --device-set オプションを使用して、既存 の仮想デバイスのパラメータを構成することができます。原則的に、デバイスのプロパティの構成 には次の 2 つのステップがあります。 1 構成したいデバイスの名前を確認する。 2 prlctl set コマンドを実行して、必要なデバイスパラメータを構成する。 デバイス名を確認する 仮想デバイスを構成するには、prlctl set コマンドの実行時にデバイス名を指定する必要がありま す。デバイス名がわからない場合、prlctl list コマンドを使用して確認できます。例えば、仮想マ シン MyVM 内の仮想デバイスのリストを取得するには、以下のコマンドを実行します。 # prlctl list --info MyVM ... Hardware: cpu 2 VT-x accl=high mode=32 memory 256Mb video 46Mb fdd0 (+) real='/dev/fd0' state=disconnected hdd0 (+) sata:0 image='/var/parallels/MyVM.pvm/harddisk.hdd' 27000Mb hdd1 (+) scsi:0 image='/var/parallels/MyVM.pvm/harddisk1.hdd' 32768Mb cdrom0 (+) ide:1 real='Default CD/DVD-ROM' 92 仮想マシンおよびコンテナを管理する parallel0 (+) real='/dev/lp0' usb (+) net0 (+) type=bridged iface='eth1' mac=001C4201CED0 ... 現在仮想マシンで使用できるすべての仮想デバイスが「Hardware」の下に表示されます。この例では、 仮想マシン MyVM で使用できるデバイスは CPU x 2、メインメモリ、ビデオメモリ、フロッピーデ ィスクドライブ、ハードディスクドライブ x 2、CD/DVD-ROM ドライブ、パラレルポート、USB コントローラ、ネットワークカードです。 仮想デバイスを構成する 仮想デバイス名の確認後、プロパティを構成できます。例えば、以下のコマンドを実行して、仮想 マシン MyVM 内の仮想ハードディスク hdd1 の現在の種類を SATA から SCSI に変更できます。 # prlctl set MyVM --device-set hdd1 --iface scsi The VM has been successfully configured. 仮想ハードディスクのタイプが変更されたことを確認するには、prlctl list --info コマンドを使 用します。 # prlctl list --info MyVM ... hdd0 (+) scsi:1 image='/var/parallels/MyVM.pvm/harddisk.hdd' 85000Mb ... 仮想マシンを接続または解除する Parallels Cloud Server では、仮想マシンの実行中に特定のデバイスを接続または解除することが できます。例えば、次のようなデバイスがあります。 • SATA ハードドライブ • CD/DVD-ROM ドライブ • フロッピーディスクドライブ • ネットワークアダプタ • プリンタポート • シリアルポート • サウンドデバイス • USB デバイス • 共有フォルダ 93 仮想マシンおよびコンテナを管理する 通常は、仮想マシンを作成するとすべての仮想デバイスが自動的に接続されます。仮想マシンから デバイスを解除するには、prlctl set コマンドを使用します。例えば、以下のコマンドを実行する と、CD/DVD-ROM デバイス cdrom0 が仮想マシン MyVM から解除されます。 # prlctl set MyVM --device-disconnect cdrom0 Disconnect device: cdrom0 The VM has been successfully configured. この CD/DVD-ROM ドライブを再び接続するには、以下のコマンドを実行します。 # prlctl set MyVM --device-connect cdrom0 Connect device: cdrom0 The VM has been successfully configured. デバイスを削除する 仮想マシンで不要になった仮想デバイスを削除するには、prlctl set コマンドの prlctl set オプ ションを使用します。特定のデバイスの削除に関連するオプションは以下のとおりです。 オプション 説明 hdd 指定したハードディスクドライブを仮想マシンから削除する。 注:SATA ディスクは実行中の仮想マシンからも停止している仮想マシンからも削除できますが、 IDE および SCSI ディスクは停止している仮想マシンからしか削除できません。 cdrom 指定した CD/DVD-ROM ドライブを仮想マシンから削除する。 net 指定したネットワークアダプタを仮想マシンから削除する。 fdd フロッピーディスクドライブを仮想マシンから削除する。 serial 指定したシリアルポートを仮想マシンから削除する。 parallel 指定したパラレルポートを仮想マシンから削除する。 sound サウンドデバイスを仮想マシンから削除する。 usb USB コントローラを仮想マシンから削除する。 原則的に、仮想デバイスの削除には次の 2 つのステップがあります。 1 削除したいデバイスの名前を確認する。 2 デバイスを仮想マシンから削除する。 94 仮想マシンおよびコンテナを管理する デバイス名を確認する 仮想デバイスを削除するには、prlctl set コマンドの実行時にデバイス名を指定する必要がありま す。デバイス名がわからない場合、prlctl list コマンドを使用して確認できます。例えば、仮想マ シン MyVM 内の仮想デバイスのリストを取得するには、以下のコマンドを実行します。 # prlctl list --info MyVM ... Hardware: cpu 2 VT-x accl=high mode=32 memory 256Mb video 46Mb fdd0 (+) real='/dev/fd0' state=disconnected hdd0 (+) ide:0 image='/var/parallels/MyVM.pvm/harddisk.hdd' 27Mb hdd1 (+) scsi:0 image='/var/parallels/MyVM.pvm/harddisk1.hdd' 32768Mb cdrom0 (+) ide:1 real='Default CD/DVD-ROM' parallel0 (+) real='/dev/lp0' usb (+) net0 (+) type=bridged iface='eth1' mac=001C4201CED0 ... 現在仮想マシンで使用できるすべての仮想デバイスが「Hardware」の下に表示されます。この例では、 仮想マシン MyVM で使用できるデバイスは CPU x 2、メインメモリ、ビデオメモリ、フロッピーデ ィスクドライブ、ハードディスクドライブ x 2、CD/DVD-ROM ドライブ、パラレルポート、USB コントローラ、ネットワークカードです。 仮想デバイスを削除する 仮想デバイス名の確認後、仮想マシンからデバイスを削除できます。例えば、以下のコマンドを実 行すると、仮想マシン MyVM から仮想ディスク hdd1 を削除できます。 # prlctl set MyVM --device-del hdd1 Remove the hdd1 device. The VM has been successfully configured. 仮想マシンデバイスを削除するときの注意事項は以下のとおりです。 • 仮想デバイスを恒久的には削除したくない場合、--disable オプションを使用して、仮想マシン から一時的に解除することができます。 • デバイスの削除時に prlctl に指定できるオプションについて詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してください。 スクリーンショットをとる Parallels Cloud Server では、prlctl capture コマンドを使用して仮想マシンの画面イメージ(ス クリーンショット)を撮影することができます。スクリーンショットの撮影が可能なのは、実行中の 95 仮想マシンおよびコンテナを管理する 仮想マシンのみです。以下のセッションは、仮想マシン MyVM のスクリーンショットを撮影して /usr/screenshots/image1.png ファイルに保存します。 1 仮想マシンが実行中であることを確認します。 # prlctl STATUS running running 2 list IP_ADDR NAME 10.10.10.101 101 10.10.10.201 MyVM 仮想マシンのスクリーンショットを撮影します。 # prlctl capture MyVM --file /usr/screenshots/image1.png 3 image1.png ファイルが作成されたことを確認します。 # ls /usr/screenshots/ image1.png 仮想マシンに USB デバイスを割り当てる Parallels Cloud Server では、仮想マシンに USB デバイスを割り当てることによって、USB デバ イスを Parallels サーバに接続した時や仮想マシンの起動時にこのデバイスを仮想マシンに自動的 に接続させることができます。仮想マシンに USB デバイスを割り当てるには、次の 2 つのパラメ ータを指定する必要があります。 • USB デバイスの ID:この情報を入手するには、次のように prlsrvctl info コマンドを使用し ます。 # prlsrvctl info ... Hardware info: hdd '/dev/sda' hdd-part NTFS '/dev/sda2' hdd-part Linux '/dev/sda3' hdd-part Linux '/dev/sda5' hdd-part Linux swap '/dev/sda6' cdrom Optiarc DVD RW AD-7260S '/dev/scd0' net eth0 'eth0' usb Broadcom - USB Device 3503 '2-1.4.3|0a5c|3503|full|KM|Empty' usb Broadcom - USB Device 3502 '2-1.4.2|0a5c|3502|full|KM|Empty' usb LITEON Technology - USB Multimedia Keyboard '1-1.6|046d|c312|low|KM|Empty' serial /dev/ttyS0 '/dev/ttyS0' serial /dev/ttyS1 '/dev/ttyS1' Parallels サーバで使用できるすべての USB デバイスが Hardware info セクションに表示さ れ、先頭には usb と付いています。 • 仮想マシンの ID:この情報を入手するには、次のように prlctl list --info コマンドを使用 します。 # prlctl list --info ID: {d8d516c9-dba3-dc4b-9941-d6fad3767035} Name: Windows 7 ... 96 仮想マシンおよびコンテナを管理する コマンドの 1 行目は仮想マシンの ID です。この例では、 {d8d516c9-dba3-dc4b-9941-d6fad3767035} となっています。 USB デバイスと仮想マシンの ID を確認したら、prlsrvctl usb set コマンドを使用して仮想マシ ンに USB デバイスを割り当てることができます。例えば: # prlsrvctl usb set '1-1.6|046d|c312|low|KM|Empty' {d8d516c9-dba3-dc4b-9941-d6fad3767035} The server has been successfully configured. このコマンドは、ID が '1-1.6|046d|c312|low|KM|Empty' の USB デバイス LITEON Technology USB Multimedia Keyboard を、ID {d8d516c9-dba3-dc4b-9941-d6fad3767035} の仮想マシンに割り 当てます。コマンドを実行するときは、USB デバイスには単一引用符を、仮想マシン ID には波括 弧を忘れずに付けてください。 USB デバイスが仮想マシンに正常に割り当てられたことを確認するには、次のように prlsrvctl usb list コマンドを使用します。 # prlsrvctl usb list Broadcom - USB Device 3503 '2-1.4.3|0a5c|3503|full|KM|Empty' Broadcom - USB Device 3502 '2-1.4.2|0a5c|3502|full|KM|Empty' LITEON Technology - USB Multimedia Keyboard '1-1.6|046d|c312|low|KM|Empty' {d8d516c9-dba3-dc4b-9941-d6fad3767035} このコマンドの出力結果は、ID '1-1.6|046d|c312|low|KM|Empty' の USB デバイスが ID {d8d516c9-dba3-dc4b-9941-d6fad3767035} の仮想マシンに割り当てられたことを示しています。 つまり、この仮想マシンを起動したり、このデバイスを Parallels サーバに接続するたびに、この デバイスは仮想マシンに自動的に接続されます。 ID '1-1.6|046d|c312|low|KM|Empty' の USB デバイスの割当を削除するには、prlsrvctl usb del コマンドを使用します。 # prlsrvctl usb del '1-1.6|046d|c312|low|KM|Empty' The server has been successfully configured. USB デバイス仮想マシンに割り当てる際は、以下の点に注意してください。 • 1 つ以上の USB が割り当てられている実行中の仮想マシンを移行することはできません。 • 停止中の仮想マシンを移行すると、この仮想マシンへの割当はすべて失われます。 • 仮想マシンを元の場所に復元するとすべての USB 割当が維持されますが、そうでなければ失わ れます。 • USB デバイス割当と仮想マシンは、現在システムにログインしているユーザに対して作成され ます。 97 仮想マシンおよびコンテナを管理する ホストオンリーネットワークの IP アドレス範囲を構成する ホストオンリータイプのネットワークに接続されたすべての仮想マシンは、IP アドレスを DHCP サーバから受け取ります。この DHCP サーバは Parallels Cloud Server のインストール中にセッ トアップされ、デフォルトで IP アドレス 10.37.130.1~10.37.130.254 が含まれます。ホスト オンリーネットワーク用にデフォルト IP アドレスを再定義し、仮想マシンが別の IP アドレス範 囲から IP アドレスを受け取るようにできます。例えば、以下のコマンドを実行すると、Host-Only ネットワーク(Parallels Cloud Server インストール中に自動的に作成されるネットワーク)の開始 IP アドレスが 10.10.11.1 に、終了 IP アドレスが 10.10.11.254 に設定されます。 # prlsrvctl net set Host-Only --ip-scope-start 10.10.11.1 --ip-scope-end 10.10.11.254 また、ホストオンリータイプのネットワークを新たに作成するときにカスタム IP アドレス範囲を 直接指定することもできます。名前が「Host-Only2」のネットワークを作成し、このネットワークに 対して IP アドレス範囲を 10.10.10.1~10.10.10.254 に設定したい場合、次のコマンドを実行 します。 # prlsrvctl net add Host-Only2 -t host-only --ip-scope-start 10.10.10.1 --ip-scope-end 10.10.10.254 IP アドレス範囲に対して作業を行うときは、以下に注意してください。 • IP アドレス範囲の開始 IP アドレスと終了 IP アドレスは、同じサブネットワークに属してい る必要があります。 • IP アドレス範囲は、それぞれのホストオンリーネットワークに対して個別に定義できます。例 えば、IP アドレス範囲 10.10.11.1~10.10.11.254 を Host-Only ネットワークに設定し、 10.10.10.1~10.10.10.254 を Host-Only2 ネットワークに設定できます。 サードパーティ仮想マシンとディスクを変換する Parallels Cloud Server では、サードパーティ仮想マシンとそのディスクを Parallels 仮想マシン とディスクに変換できます。現在、以下のサードパーティ仮想マシンとディスクを変換可能です。 • Microsoft Hyper-V • Microsoft Virtual PC • Virtual Box • VMware 98 仮想マシンおよびコンテナを管理する 仮想マシンを変換する OS が CentOS 5 で、名前が「centos5」の VMware 仮想マシンを変換したいとします。prlctl convert コマンドは、ローカルで使用できる仮想マシンとディスクのみに対して実行できるため、 まず、この仮想マシンを Parallels サーバにコピーします。仮想マシンをローカルサーバにコピー したら、変換を開始します。仮想マシンを Parallels サーバの /var/parallels ディレクトリにコ ピーしたと仮定し、その構成ファイルのフルパスが /var/parallels/centos5/config.xml であれ ば、以下のコマンドで変換を実行できます。 # prlctl convert /var/parallels/centos5/config.xml 変換が完了した後は、この仮想マシンを起動して、ネイティブの Parallels 仮想マシンと同様に管 理することができます。 ディスクを変換する prl_convert ユーティリティを使用して、サードパーティ仮想ディスクを Parallels 仮想マシンとデ ィスクに変換することもできます。このユーティリティを実行すると、ディスクがチェックされ、 そのタイプに応じて以下のいずれかを行います。 • ディスクがシステムディスクの場合、つまり、OS がインストールされている場合、 prl_convert によって Parallels 仮想マシンに変換されます。ユーティリティがこのディスク用 に仮想マシンを作成できなかった場合(例えばディスクの OS を検出できなかった場合)、ディ スクは Parallels 仮想ディスクに変換されます。--allow-no-os オプションを指定して変換を強 制的に実行することもできますが、作成される仮想マシンの起動と使用で問題が発生する場合が あります。 • ディスクがデータディスクの場合、prl_convert によって Parallels 仮想ディスクに変換されま す。 サードパーティ仮想ディスクを変換するときは、オリジナルのディスクファイルへのフルパスを指 定する必要があります。例えば、centos5 仮想マシンのシステムディスク(つまり、CentOS 5 がイ ンストールされており、フルパスが /var/parallels/centos5/centos5.vhd のディスク)を変換す るには、次のコマンドを実行します。 # prl_convert /var/parallels/centos5/centos5.vhd このコマンドによって、使用準備のできた Parallels 仮想マシンが「centos5」という名前で作成さ れます。この仮想マシンを起動し、ネイティブの Parallels 仮想マシンと同様に管理することがで 99 仮想マシンおよびコンテナを管理する きます。同時に、サードパーティ仮想データディスクを変換する場合は、prlctl set コマンドを実 行して、変換されたディスクを既存の Parallels 仮想マシンに追加する必要があります。 注: 1.変換後の仮想ディスクを既存の Parallels 仮想マシンに追加したり、これをベースに新しい仮想マシンを作成 するときは、ディスクのインターフェースタイプがソースの仮想マシンと同じであるか確認してください。例え ば、オリジナルのディスクでインターフェースタイプが SCSI であれば、変換後のディスクのインターフェース も SCSI に設定する必要があります。ディスクのインターフェースタイプを構成しないと、SATA に設定されま す(Parallels 仮想マシンのデフォルトのインターフェースタイプ)。これにより、仮想マシンが誤作動する可能 性があります。 2.最新バージョンの Parallels Cloud Server では、Hyper-V 仮想マシンの変換に使用できるのは prl_convert ユーティリティのみです。つまり、まずすべての Hyper-V 仮想ディスクを変換してから、既存 の仮想マシンにこれらを追加します。 100 第 4 章 リソースを管理する Parallels Cloud Server におけるリソース管理の主な目的は、仮想マシンおよびコンテナのサービ スレベル管理(Service Level Management)またはサービス品質(Quality of Service)を維持す ることです。リソース管理設定が正しく構成されていると、別の仮想マシンおよびコンテナで任意 の仮想マシンおよびコンテナが(偶然あるいは故意に)リソースを過剰に利用しても、重大な影響が 発生しません。また、リソース管理にリソース管理パラメータを使用することで、必要に応じて 仮 想マシンおよびコンテナ間でリソース使用量を均等にしたり、優先仮想マシンおよびコンテナのサ ービス品質を向上することができます。 この章の構成 リソース管理パラメータとは ..................................................................... 102 CPU リソースを管理する ......................................................................... 102 ディスククォータを管理する ..................................................................... 108 仮想ディスクを管理する .......................................................................... 113 ネットワーク帯域幅を管理する .................................................................. 117 ディスク I/O パラメータを管理する........................................................... 124 バックアップおよび移行用にグローバルメモリ制限を設定する .......................... 129 コンテナ用のメモリパラメータを管理する .................................................... 130 仮想マシン用のメモリパラメータを管理する ................................................. 135 コンテナリソース構成を管理する ............................................................... 141 仮想マシン構成サンプルを管理する ............................................................ 144 リソースをモニタリングする ..................................................................... 146 リソースを管理する リソース管理パラメータとは システム管理者は、リソース管理パラメータセットを用いて、仮想マシンおよびコンテナで使用可 能なリソースを制御します。これらすべてのパラメータは、Parallels コマンドラインユーティリテ ィを使用して設定・構成できます。 CPU リソースを管理する 現バージョンの Parallels Cloud Server では、仮想マシンおよびコンテナの以下の CPU リソース パラメータが構成および監視できます。 • 仮想マシンおよびコンテナの CPU リソース(p. 102) • 仮想マシンおよびコンテナの CPU アフィニティ(p. 103) • 仮想マシンおよびコンテナの CPU 制限(p. 103) • コンテナの NUMA ノード(p. 106) • 仮想マシンの CPU ホットプラグ(p. 107) これらのパラメータの詳細は、この後のセクションで説明します。 CPU ユニット数を構成する CPU ユニット数は、あるサーバのすべての CPU をフルに使用する場合に、そのサーバ上のある仮 想マシンまたはコンテナに他の仮想マシンおよびコンテナと比較してどれくらい CPU 時間を割り 当てるのかを定義します。例えば、コンテナ 101 と仮想マシン MyVM にそれぞれ 1000 CPU ユニ ットずつ割り当て、コンテナ 102 に 2000 CPU ユニットを割り当てるように構成した場合、この ノードのすべての CPU を完全にロードすると、コンテナ 102 に割り当てられる CPU 時間はコン テナ 101 または仮想マシン MyVM の 2 倍になります。 デフォルトで、ノード上の各仮想マシンおよびコンテナには 1000 CPU ユニットが割り当てられま す。デフォルト設定は prlctl set コマンドで構成できます。例えば、以下のコマンドを実行すると、 コンテナ 101 と仮想マシン MyVM に 2000 CPU ユニットずつ割り当てられます。 # prlctl set 101 --cpuunits 2000 102 リソースを管理する # prlctl set MyVM --cpuunits 2000 仮想マシンおよびコンテナの CPU アフィニティを構成する 物理サーバに複数の CPU が設置されている場合、仮想マシンまたはコンテナを特定の CPU に紐 付けることができます。それにより、これらの仮想マシンまたはコンテナで実行されるプロセスの 処理には、これらの CPU のみが使用されるようになります。特定のプロセスを特定の CPU に紐 付ける機能を「CPU アフィニティ」と呼びます。仮想マシンおよびコンテナと物理プロセッサの間 に CPU アフィニティを確立すると、システムパフォーマンスが最大 20% も向上します。 デフォルトで、新規作成されたすべての仮想マシンおよびコンテナは、同じ物理サーバに設置され たすべてのプロセッサの CPU 時間を消費できます。仮想マシンまたはコンテナを特定の CPU に 紐付けるには、prlctl set コマンドの --cpumask オプションを使用します。物理サーバに CPU が 8 個設置されている場合、以下のコマンドを実行すると、仮想マシン MyVM およびコンテナ 101 の プロセスは CPU 0、1、3、4、5、6 で実行されるようになります。 # prlctl set MyVM --cpumask 0,1,3,4-6 # prlctl set 101 --cpumask 0,1,3,4-6 CPU アフィニティマスク、つまり仮想マシンおよびコンテナに紐付けるプロセッサは、個別の CPU インデックス番号(0、1、3)または範囲(4-6)として指定できます。実行中の仮想マシンま たはコンテナに CPU アフィニティマスクを設定すると、変更はオンザフライでのみ適用されま す。 仮想マシン MyVM とコンテナ 101 への変更を元に戻し、プロセスがサーバ上のすべての CPU で実 行されるように設定するには、以下のコマンドを実行します。 # prlctl set MyVM --cpumask all # prlctl set 101 --cpumask all 仮想マシンおよびコンテナの CPU 制限を構成する CPU 制限 は、仮想マシンまたはコンテナが実行中のプロセスに対して確保できる最大 CPU パワ ーを示します。たとえサーバに十分な空き CPU パワーがあっても、指定した制限を超えることは できません。デフォルトで、CPU 制限パラメータは、新規作成されたすべての仮想マシンおよびコ ンテナに対して無効になっています。つまり、すべての仮想マシンまたはコンテナのすべてのアプ リケーションで、サーバの空き CPU パワーをすべて利用することができます。 仮想マシンまたはコンテナに CPU 制限を設定するには、以下のいずれかのオプションを使用しま す。 103 リソースを管理する • --cpulimit • --cpus それぞれのオプションについて、以下で詳しく説明します。 --cpulimit を使用して CPU 制限を設定する 原則的に、仮想マシンまたはコンテナに CPU 制限を設定するには、prlctl set コマンドに --cpulimit オプションを指定します。次の例では、サーバの CPU がフルにロードされていないと しても、コンテナ 101 はサーバの CPU 時間を 25% 以上獲得できないように設定されます。 # prlctl set 101 --cpulimit 25 このコマンドによって、コンテナ 101 の CPU 制限は、サーバの全 CPU パワーの 25% に設定さ れます。サーバの合計 CPU パワー(%)を算出するには、サーバに設置された CPU コア数に 100% を掛けます。したがって、あるサーバに CPU コアが 2 個あり、それぞれ 2 GHz とすると、 合計 CPU パワーは 200% になり、コンテナ 101 の制限は 500 MHz に設定されます。 いま、コンテナ 101 を、3 GHz の CPU コアが 2 個ある別のサーバに移行するとしましょう。こ のサーバでコンテナ 101 は、6 GHz の 25%、つまり 750 MHz を獲得できます。合計 CPU パ ワーを問わず、どのサーバでもコンテナ 101 に同じ CPU 制限を割り当てたい場合は、CPU 制限 をメガヘルツ(MHz)単位で設定できます。例えば、コンテナ 101 がどのサーバでも 500 MHz ま でしか消費しないように設定するには、次のコマンドを実行します。 # prlctl set 101 --cpulimit 500m 注:仮想マシンおよびコンテナへの CPU 制限について詳しくは、「CPU 制限の詳細(p. 105)」も参照してく ださい。 --cpus を使用して CPU 制限を設定する 仮想マシンまたはコンテナに CPU 制限を設定するもう 1 つの方法は、prlctl set コマンドで --cpus オプションを使用します。サーバに複数の CPU コアがある場合に、このコマンドを使用す るとよいでしょう。この場合、必要な数の CPU コアを --cpus の後に指定します。CPU 制限は、 指定したコアの CPU パワーの合計に設定されます。例えば、サーバに 3 GHz の CPU コアが 4 基ある場合、コンテナ 101 が CPU パワーを 6 GHz までしか消費しないように設定するには、次 のコマンドを実行します。 # prlctl set 101 --cpus 2 CPU 制限が正常に設定されたかどうかを確認するには、以下のコマンドを使用します。 # vzlist -o cpulimitM 101 104 リソースを管理する CPUL_M 6000 コンテナ 101 の CPU 制限は 6000 MHz(または 6 GHz)に設定されました。 注:仮想マシンに設定された CPU 制限を確認するには、prlctl list -i VM_Name コマンドを実行して、コ マンド出力で cpulimit パラメータの値をチェックします。 サーバ上の仮想マシンまたはコンテナの CPU 制限を設定するほかに、--cpus オプションは、使用 可能な CPU 数がユーザにどのように表示されるのかも定義します。上の例では、コンテナ 101 に ログインして cat /proc/cpuinfo コマンドを実行すると、コンテナに CPU が 2 基だけインスト ールされていることがわかります。 # prlctl exec 101 cat /proc/cpuinfo processor :0 vendor_id :GenuineIntel cpu family :15 model :4 model name :Intel(R) Xeon(TM) CPU 3.00GHz stepping :1 cpu MHz :2993.581 cache size :1024 KB ... processor vendor_id cpu family model model name stepping cpu MHz cache size ... :1 :GenuineIntel :15 :4 :Intel(R) Xeon(TM) CPU 3.00GHz :1 :2993.581 :1024 KB --cpulimit と --cpus を同時に使用する 両パラメータ(--cpulimit および --cpus)を使用して仮想マシンまたはコンテナの CPU 制限を設 定している場合、小さい方の制限が適用されます。例えば、2 GHz CPU が 4 基のサーバで次のコ マンドを実行すると、コンテナ 101 の制限は 2 GB に設定されます。 # prlctl set 101 --cpus 2 # prlctl set 101 --cpulimit 2000m CPU 制限の詳細 内部的に、Parallels Cloud Server は仮想マシンおよびコンテナの CPU 制限をパーセントで設定 します。マルチコアシステムにおいて、各物理 CPU コアは 100% の CPU パワーを持つと見なさ れます。そのため、サーバに CPU コアが 4 個ある場合、サーバの合計 CPU パワーは 400% と なります。 105 リソースを管理する CPU 制限はメガヘルツ(MHz)単位で設定することもできます。MHz 単位で指定すると、Parallels Cloud Server は次の式に従ってサーバの CPU パワーを MHz からパーセントに変換します。 CPULIMIT_% = 100% * CPULIMIT_MHz / CPUFREQ ここで、 • CPULIMIT_%:サーバの合計 CPU パワー(%)。 • CPULIMIT_MHz:サーバの合計 CPU パワー(MHz)。 • CPUFREQ:サーバ上の 1 つのコアの CPU 周波数。 CPU 制限を設定するときは、以下に注意してください。 • 仮想マシンまたはコンテナに設定する CPU 制限はサーバの CPU パワー以内にする。つまり、 サーバに 1000 MHz の CPU が 4 個ある場合、CPU 制限は 4000 MHz 以内に設定してくだ さい。 • 仮想マシンまたはコンテナ内で実行されるプロセスは、すべてのサーバ CPU を同じ割合で消費 するようにスケジュールされる。例えば、サーバに 1000 MHz の CPU が 4 個あり、仮想マ シンまたはコンテナの CPU 制限を 2000 MHz に設定した場合、仮想マシンまたはコンテナは 各 CPU から 500 MHz ずつ消費します。 • ノードで実行されるすべての仮想マシンおよびコンテナが、そのノードで物理的に使用可能な容 量以上の CPU パワーを同時に消費することはできない。つまり、サーバの合計 CPU パワーが 4000 MHz であれば、このサーバ上で実行される仮想マシンおよびコンテナは、設定された CPU 制限を問わず 4000 MHz までしか消費できません。ただし、すべての仮想マシンおよび コンテナの CPU 制限の合計がノードの合計 CPU パワーを超えていても問題はありません。こ れは、ほとんどの時間、仮想マシンおよびコンテナは割り当てられた CPU パワーを一部しか消 費しないためです。 CPU を NUMA ノードに紐付ける NUMA(Non-Uniform Memory Access)アーキテクチャのシステムでは、特定の NUMA ノードの CPU のみを使用するようにコンテナを構成することができます。ここでは、次のように仮定しま す。 • 物理サーバに CPU が 8 個搭載されている。 106 リソースを管理する • これらの CPU は 2 つの NUMA ノード(NUMA ノード 0 と NUMA ノード 1)に分類され ている。それぞれの NUMA ノードには 4 基の CPU が含まれる。 • コンテナ 101 のプロセスを、NUMA ノード 1 のプロセッサ上で実行したい。 コンテナ 101 が NUMA ノード 1 のプロセッサを使用するように設定するには、以下のコマンド を実行します。 # prlctl set 101 --nodemask 1 コンテナ 101 が NUMA ノード 1 に紐付けられていることを確認するには、以下のコマンドを実 行します。 # vzlist 101 -o nodemask NODEMASK 1 コンテナ 101 を NUMA ノード 1 から解除するには、以下のコマンドを実行します。 # prlctl set 101 --nodemask all これで、コンテナ 101 がサーバ上のすべての CPU を使用できるようになります。 注:NUMA について詳しくは、http://lse.sourceforge.net/numa を参照してください。 仮想マシンの CPU ホットプラグを有効化する ゲスト OS が CPU ホットプラグ機能をサポートする場合、仮想マシンに対してこの機能を有効化 できます。CPU ホットプラグ機能を有効化すると、たとえ実行中であっても、仮想マシンで使用で きる CPU の数を増やすことができます。 注:現バージョンの Parallels Cloud Server では、実行中の仮想マシンで使用できる CPU の数を減らすこと はできません。 現在、以下のシステムで CPU ホットプラグがサポートされています。 Linux(x86 および x64 バージョン) • RHEL 5 以上のカーネルがベースの Linux OS(Red Hat Linux Enterprise 5、CentOS 5 など) Windows • Windows Server 2008 の x64 版(Standard Edition) • Windows Server 2008 の x64 版(Enterprise Edition) 107 リソースを管理する • Windows Server 2008 の x64 版(Datacenter Edition) • Windows Server 2008 R2 の x64 版(Datacenter Edition) デフォルトで、CPU ホットプラグサポートは、新規作成されたすべての仮想マシンに対して無効に なっています。この機能を有効化するには、prlctl set コマンドの --cpu-hotplug オプションを 使用します。例えば、サポート対象の OS を実行する仮想マシン MyVM で CPU ホットプラグサポ ートを有効にするには、仮想マシン MyVM を停止して以下のコマンドを実行します。 # prlctl set MyVM --cpu-hotplug on set cpu hotplug: 1 The VM has been successfully configured. 機能が有効になると、実行中の仮想マシン MyVM でも CPU 数を増やすことができます。物理サー バに CPU が 4 基設置されており、仮想マシン MyVM のプロセスが 2 つの CPU で実行されるよ うに設定されている場合、以下のコマンドを実行して 3 つの CPU を仮想マシンに割り当てること ができます。 # prlctl set MyVM --cpus 3 set cpus(4):3 The VM has been successfully configured. 仮想マシン MyVM で CPU ホットプラグのサポートを無効にするには、以下のコマンドを実行しま す。 # prlctl set MyVM --cpu-hotplug off set cpu hotplug: 0 The VM has been successfully configured. 仮想マシンの次回起動時に、この変更が反映されます。 ディスククォータを管理する このセクションでは、ディスククォータの基本情報、ディスククォータのパラメータ、および次の オペレーションについて説明します。 • コンテナ毎のクォータを有効または無効にする(p. 110) • コンテナ毎のクォータを設定する(p. 111) • コンテナでユーザ毎のクォータとグループ毎のクォータを有効または無効にする(p. 111) • コンテナ内でユーザ毎のクォータとグループ毎のクォータを設定する(p. 112) 108 リソースを管理する ディスククォータとは 現バージョンの Parallels Cloud Server では、システム管理者がコンテナで使用できるディスクス ペースの容量を制限することができます。このようなクォータを、コンテナ毎のクォータ、または ファーストレベルクォータと呼びます。さらに、管理者はユーザ毎、およびグループ毎にクォータ を有効化/無効化することができ、これをセカンドレベルクォータと呼びます。これによって、コン テナ内の個々のユーザやグループが使用できるディスクスペースを制限することが可能です。 デフォルトで、サーバのファーストレベルクォータは有効化されていますが(構成ファイル /etc/vz/vz.conf)、セカンドレベルクォータは各コンテナに対して(該当するコンテナ構成ファイ ルで)個別に有効化する必要があります。あるコンテナのファーストレベルクォータが無効である場 合、そのコンテナのセカンドレベルクォータを有効化することはできません。 ディスククォータパラメータ 以下の表は、制御可能なディスククォータパラメータをまとめたものです。「ファイル」列は、パラ メータがコンテナの構成ファイルに定義されているか(V)、あるいはグローバル構成ファイルに定 義されていてコンテナの構成ファイルで上書き可能であるか(GV)を示します。 パラメータ 説明 フ ァ イ ル DISK_QUOTA すべてのコンテナまたは特定のコンテナに対して、コンテナ毎のクォータを有効化/無効化する。 GV DISKSPACE 1 つのコンテナで消費できる合計ディスクスペース(キロバイト単位)。 V QUOTAUGIDLIMIT ユーザ毎のクォータとグループ毎のクォータを構成する: • V 「イメージファイル内のコンテナ」レイアウトのコンテナの場合、値を 0 以外に設定す ると有効に、値を 0 に設定すると無効になります。 • VZFS コンテナの場合、ディスククォータを計算するユーザ ID およびグループ ID の 最大合計数を設定します。値を 0 に設定すると、UID および GID クォータは無効に なります。 注:本書では、「イメージファイル内のコンテナ」レイアウトのコンテナに対してユー ザ毎、グループ毎のクォータを管理する方法について説明します。VZFS コンテナに対 してこれらのクォータを管理する方法は、Parallels Server Bare Metal 5.0 のマニュ 109 リソースを管理する アルを参照してください。 コンテナ毎のディスククォータを管理する このセクションでは、コンテナ毎のディスククォータを管理する方法を説明します。 コンテナ毎のクォータを有効または無効にする VZFS ベースのコンテナで、コンテナ毎のディスククォータを有効化/無効化するには、グローバル 構成ファイル(/etc/vz/vz.conf)の DISK_QUOTA パラメータを使用します。コンテナ構成ファイル (/etc/vz/conf/<CT_ID>.conf)のパラメータを設定すると、グローバル構成ファイルの同じパラメ ータより優先されます。クォータサポートを一部のコンテナに対して有効化し、他のコンテナに対 しては無効化するには、グローバル構成ファイルで DISK_QUOTA を yes に設定し、該当するコンテ ナの構成ファイルでは yes に設定することをお勧めします。 ploop ベースのコンテナの場合、コンテナサイズが ploop イメージサイズによって既に制限されて いるため、コンテナ毎のクォータは機能しません。このようなコンテナの場合、下のコマンドを実 行すると、ploop イメージで使用可能なディスクスペースが表示されます。 注:DISK_QUOTA パラメータを no に設定すると、VZFS ベースおよび ploop ベースのすべてのコンテナでセ カンドレベルクォータが無効になります。 下の例では、コンテナ毎のクォータがグローバルに有効化されていますが、コンテナ 101 では無効 化されています。 1 クォータが有効化されていることを確認します。 # grep DISK_QUOTA /etc/vz/vz.conf DISK_QUOTA=yes 2 /vz パーティションで使用可能な容量を確認します。 # df /vz Filesystem /dev/sda2 3 1k-blocks 8957295 Used Available Use% Mounted on 1421982 7023242 17% /vz コンテナ 101 の構成ファイルで DISK_QUOTA を no に設定します。 # vi /etc/vz/conf/101.conf 4 コンテナ 101 でクォータが無効化されていることを確認します。 # grep DISK_QUOTA /etc/vz/conf/101.conf DISK_QUOTA=no # prlctl start 101 # prlctl exec 101 df 110 リソースを管理する Filesystem /dev/ploop1p1 1k-blocks 8282373 Used Available Use% Mounted on 747060 7023242 10% / 上の例で示すように、クォータが無効化された VZFS ベースのコンテナには、ディスクスペースの 制限(コンテナのプライベートエリアがあるパーティションの使用可能スペース)が 1 つだけしか ありません。 クォータパラメータを設定する コンテナにディスククォータを設定するには、prlctl set コマンドを使用します。下の例では、コ ンテナ 101 で使用可能なディスクスペースは 20 GB に設定されています。 # prlctl set 101 --diskspace 20971520 結果は次のように確認できます。 # prlctl exec 101 df Filesystem 1K-blocks /dev/ploop1p1 20642152 none 131072 Used Available Use% Mounted on 737692 18855888 4% / 4 131068 1% /dev 実行中のコンテナに対してコンテナ毎のディスククォータパラメータを変更できます。変更は即時 に反映されます。 ユーザ毎およびグループ毎のクォータを管理する このセクションでは、コンテナのユーザ毎およびグループ毎のディスククォータを管理する方法を 説明します。 ユーザ毎およびグループ毎のクォータを有効または無効にする コンテナのユーザ毎およびグループ毎のディスククォータを有効化/無効化するには、prlctl set --quotaugidlimit コマンドを使用し、次にコンテナを再起動します。また、グローバル構成ファイ ル(/etc/vz/vz.conf)で DISK_QUOTA パラメータを no に設定することにより、すべてのコンテナ のクォータを無効にできます。 クォータを有効化するには、以下のコマンドを実行します。 # prlctl set 100 --quotaugidlimit 1 クォータを無効化するには、以下のコマンドを実行します。 # prlctl set 100 --quotaugidlimit 0 注:このコマンドによって、コンテナ構成ファイル(/etc/vz/conf/<CT_ID>.conf)の QUOTAUGIDLIMIT パ ラメータが変更されます。 111 リソースを管理する クォータパラメータを管理する Parallels Cloud Server は、コンテナ内での作業用に標準の Linux quota パッケージを提供してい ます。 # prlctl exec 101 rpm -q quota quota-3.17-16.el6.x86_64 このコマンドは、コンテナにインストールされた quota パッケージが、Parallels がビルドして出 荷したものであることを示しています。特定のコンテナに対してセカンドレベルクォータを設定す るには、(Linux マニュアルの説明に従って)このパッケージのユーティリティを使用します。例え ば: # prlctl enter 101 CT-101-bash-4.1# edquota root Disk quotas for user root (uid 0): Filesystem blocks soft hard inodes soft hard /dev/ploop1p1 38216 50000 60000 45454 70000 70000 CT-101-bash-4.1# repquota -a *** Report for user quotas on device /dev/ploop1p1 Block grace time: 00:00; Inode grace time: 00:00 Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------root -38218 50000 60000 45453 70000 70000 [the rest of repquota output is skipped] CT-101-bash-4.1# dd if=/dev/zero of=test dd: writing to `test': Disk quota exceeded 23473+0 records in 23472+0 records out CT-101-bash-4.1# repquota -a *** Report for user quotas on device /dev/ploop1p1 Block grace time: 00:00; Inode grace time: 00:00 Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------root +50001 50000 60000 none 45454 70000 70000 [the rest of repquota output is skipped] 上記の例は、root ユーザのディスクスペースクォータのハードリミットが 60,000 1KB ブロック に、ソフトリミットが 50,000 1KB ブロックに設定されており、i ノードの数のハードリミットと ソフトリミットがいずれも 70,000 に設定されているセッションを示しています。 /usr/sbin/setquota コマンドを使用して、ブロックのリミットと i ノードのリミットの猶予期間 を別々に設定することもできます。quota パッケージのユーティリティを使用する方法については、 Linux ディストリビューションに付属するシステム管理ガイド、またはパッケージに含まれるオン ラインマニュアルページを参照してください。 112 リソースを管理する 仮想ディスクを管理する Parallels Cloud Server では、仮想ディスクを次のように管理できます。 • 仮想ディスクの容量を増やす • 仮想ディスクの容量を減らす • 仮想ディスクをコンパクト化する(物理ハードドライブ上で占有するサイズを縮小する) • 仮想ディスクのタイプを変更する(現在は仮想マシンのみ) これらの作業について、以下のサブセクションで詳しく説明していきます。 仮想マシンのディスクのタイプを変更する 仮想ディスクには、次のいずれかのタイプがあります。 • プレーン:プレーン仮想ハードディスクは、作成時点からサイズが固定されています。 • 拡張可能:「拡張可能」仮想ハードディスクは、最初は容量が小さく、アプリケーションやデータ の追加とともにサイズが増えます。 新しい仮想マシンは、拡張可能ハードディスクで作成されます。ただし、prlctl ユーティリティま たは prl_disk_tool ユーティリティで仮想ディスクのタイプを変更できます。ここで、仮想マシン MyVM 内の仮想ディスク hdd0 が「拡張可能」タイプであり、「プレーン」に変更したいとします。 以下のいずれかのコマンドを実行して変更します。 # prlctl set MyVM --device-set hdd0 --type plain または # prl_disk_tool convert --hdd /var/parallels/MyVM/harddisk.hdd --plain これら 2 つのコマンドの主な違いは、prlctl を実行するためには prlctl list --info コマンド で表示されるディスク名(hdd0)が必要なのに対し、prl_disk_tool を実行するためには仮想ディス クドライブのフルパス(/var/parallels/MyVM/harddisk.hdd)が必要であるという点です。 ディスクタイプを「拡張可能」に戻すには、以下のいずれかのコマンドを実行します。 # prlctl set MyVM --device-set hdd0 --type expand または 113 リソースを管理する # prl_disk_tool convert --hdd /var/parallels/MyVM/harddisk.hdd --expanding ディスク容量を増加する 仮想マシンまたはコンテナの仮想ハードディスクの容量が不十分になった場合、prlctl set --device-set コマンドを使用して容量を増加することができます。例えば: # prlctl set MyVM --device-set hdd0 --size 80G 注:仮想マシンの場合、追加のディスクスペースが未割当として追加されます。標準的な方法(Windows ベー スの仮想マシンの場合はディスク管理ツールなど)を使用して、パーティションを新規作成したり、既存パーテ ィションを拡張することによって、追加スペースを割り当てることができます。 ディスク容量を増やす際は、以下の点に注意が必要です。 • ディスクを使用している仮想マシンまたはコンテナが実行中である場合は、仮想ディスクの容量 を増加することができません。 • 構成したい仮想ディスクを使用している仮想マシンまたはコンテナにスナップショットがあって はいけません。もしある場合、既存のすべてのスナップショットを削除してからコマンドを再実 行する必要があります。仮想マシンまたはコンテナのスナップショットを削除する方法は、「ス ナップショットを削除する(p. 65)」を参照してください。 • 仮想マシンまたはコンテナ内に表示される拡張可能仮想ディスクの容量は、サーバの物理ディス ク上で仮想ディスクが占有しているサイズと一致しない場合があります。 ディスク容量を減少する Parallels Cloud Server では、仮想ディスクを拡大できなくなる上限を設定することによって、拡 張可能仮想ディスクのサイズを減少することができます。これには、prlctl set --device-set コ マンドを使用します。例えば: # prlctl set MyVM --device-set hdd0 --size 30G ディスク容量を減少するには、以下に注意が必要です。 • ディスクを使用している仮想マシンまたはコンテナが実行中である場合は、仮想ディスクの容量 を減少することができません。 • 構成したい仮想ディスクを使用している仮想マシンまたはコンテナにスナップショットがあって はいけません。もしある場合、既存のすべてのスナップショットを削除してからコマンドを再実 114 リソースを管理する 行する必要があります。仮想マシンまたはコンテナのスナップショットを削除する方法は、「ス ナップショットを削除する(p. 65)」を参照してください。 • 仮想マシンまたはコンテナ内に表示される拡張可能仮想ディスクの容量は、サーバの物理ディス ク上で仮想ディスクが占有しているサイズと一致しない場合があります。 ディスク容量の下限を確認する ディスク容量を減少する前に、どこまで減少できるか下限を知りたい場合、prl_disk_tool resize --info コマンドを使用します。例えば、仮想マシン MyVM のディスク hdd0 がイメージ /var/parallels/MyVM.pvm/harddisk.hdd でエミュレートされている場合、以下のコマンドを実行 します。 # prl_disk_tool resize --info --hdd /var/parallels/MyVM.pvm/harddisk.hdd Disk information: ... Minimum: 2338M ... ディスクをコンパクト化する Parallels Cloud Server では、仮想ディスクをコンパクト化することによって、Parallels サーバの ディスクドライブで仮想マシンおよびコンテナが占有するスペースを減少することができます。仮 想ディスクのコンパクト化によって、サーバのディスクスペースを節約し、サーバでより多くの仮 想マシンおよびコンテナをホストできるようになります。 注:プレーンディスクをコンパクト化することはできません。 仮想ディスクをコンパクト化するには、prl_disk_tool compact コマンドを使用します。例えば、 ディスク /var/parallels/MyVM/harddisk.hdd をコンパクト化するには、次のコマンドを実行しま す。 # prl_disk_tool compact --hdd /var/parallels/MyVM.pvm/harddisk.hdd/ 仮想ディスクのコンパクト化によって解放される容量を確認するには、標準の Linux ユーティリテ ィ(df ユーティリティなど)を使用します。 仮想マシンディスクインターフェースを管理する デフォルトで、すべての仮想マシンは SATA(Serial Advanced Technology Attachment)仮想ハ ードディスク付きで作成されます。必要に応じてディスクのインターフェース方式を SATA から 115 リソースを管理する SCSI(Small Computer System Interface)または IDE(Integrated Drive Electronics)に変更 できます。例えば、仮想マシン MyVM 内のデフォルトディスク(hdd0)のインターフェース方式を SATA から SCSI に変更するには、以下のコマンドを実行します。 # prlctl set MyVM --device-set hdd0 --iface scsi The VM has been successfully configured インターフェース方式が正常に変更されたかどうかを確認するには、以下のコマンドを使用しま す。 # prlctl list -i MyVM | grep hdd0 Boot order: hdd0 cdrom0 fdd0 net0 hdd0 (+) scsi:0 image='/var/parallels/VM_SCSI.pvm/harddisk.hdd' 65536Mb コマンドの出力で、ディスク hdd0 のインターフェース方式が SCSI になったことがわかります。 仮想マシン MyVM に対して追加のディスクを作成できます。例えば、SCSI 方式の新しいディスクを 仮想マシンに追加するには、以下のコマンドを実行します。 # prlctl set MyVM --device-add hdd --iface scsi Creating hdd1 (+) scsi:1 image='/var/parallels/MyVM.pvm/harddisk1.hdd' 65536Mb Create the expanding image file, 65536Mb... The VM has been successfully configured. IDE ディスクも作成できます。これには、上のコマンドで --iface scsi の代わりに --iface ide を指定します。--iface オプションを省略すると、デフォルトで SATA ディスクが作成されます。 1 つの仮想マシンに追加できるデバイス(仮想ハードディスクと CD/DVD-ROM ドライブの両方) の最大数は、以下のとおりです。 • IDE デバイス x 4 • SATA デバイス x 6 • SCSI デバイス x 15 いつでも 仮想マシン MyVM からディスク hdd1 を削除できます。 # prlctl set MyVM --device-del hdd1 Remove the hdd1 device. The VM has been successfully configured. 注: 1.仮想 SATA ディスクは、実行中の仮想マシンからも停止中の仮想マシンからも追加または削除できますが、 IDE および SCSI ディスクの場合、停止中の仮想マシンからしかできません。Windows Server 2003 をイン ストールした仮想マシンで SATA ディスクを使用するためには、SATA ドライブが必要です。 2.新規追加したディスクは、使用開始前に初期化する必要があります。ディスクを初期化するには、ゲスト OS の標準的な方法を使用してください。 116 リソースを管理する 3.prlctl ユーティリティおよびそのオプションについて詳しくは、『Parallels Cloud Server 6.0 コマンドラ インリファレンスガイド』(※英語)を参照してください。 ネットワーク帯域幅を管理する このセクションでは、Parallels Cloud Server で以下のタスクを実行する方法を説明します。 • ネットワーククラスを構成する • ネットワークトラフィック統計を表示する • ネットワーク帯域幅管理をオン/オフにする • 帯域幅上限を構成する ネットワークトラフィックのパラメータ 以下の表は、Parallels Cloud Server で制御できるネットワークトラフィックのパラメータをまと めたものです。 パラメータ 説明 traffic_shaping 「yes」に設定すると、仮想マシンおよびコンテナに送信トラフィックのトラフィック制限が設定されま す。デフォルトは「no」です。 bandwidth サーバにインストールされたすべてのネットワークアダプタとその帯域幅を一覧表示します。 totalrate それぞれのネットワーククラスに割り当てられる帯域幅を定義します。トラフィックシェーピングをオン にするとアクティブになります。 rate トラフィック制限がオンの場合に、仮想マシンおよびコンテナに対する帯域幅保証値を指定します。 ratebound このパラメータに「yes」を設定すると、帯域幅保証値(グローバルレートパラメータ)が仮想マシンまた はコンテナの制限にもなり、仮想マシンまたはコンテナは帯域幅プール totalrate から帯域幅を借り ることができなくなります。 ネットワーククラスを構成する Parallels Cloud Server では、仮想マシンおよびコンテナの送信トラフィックのシェーピング(制 限)や、送受信ネットワークトラフィックのトラッキングができます。国内トラフィックと国際トラ 117 リソースを管理する フィックの区別を可能にするために、ネットワーククラスという概念が導入されています。ネット ワーククラス ID は、一部のネットワークトラフィックパラメータの値で使用されているため、こ の概念を完全に理解していただくことが重要になります。ネットワーククラスとは Parallels Cloud Server がトラフィックをカウントしてシェーピングを行う IP アドレスの範囲です。 クラスは /etc/vz/conf/networks_classes ファイルに指定されています。このファイルは ASCII フォーマットであり、空の行と「#」記号で始まる行はすべて無視されます。他の行は次のような書 式になっています。 <class_id> <IP_address>/<prefix_length> ここで <class_id> はネットワーククラス ID、<IP_address>/<prefix_length> のペアはこのクラ スの IP アドレス範囲を定義しています。各クラスに、複数の行がある場合があります。 クラス 0 と 1 には特別な意味があります。 • クラス 0 は、アカウンティングが実行されない IP アドレス範囲を定義します。通常、これは サーバサブネットに相当します(サーバ自体とその仮想マシンおよびコンテナ)。クラス 0 のセ ットアップは必須ではありませんが、正しくセットアップすることでパフォーマンスが向上しま す。 • クラス 1 は、Parallels Cloud Server により、すべての IP アドレスと一致するように定義さ れています。常にネットワーククラス定義ファイルに定義されている必要があります。そのため、 networks_classes ファイルのデフォルト行を変更しないことをお勧めします。 1 0.0.0.0/0 仮想マシンおよびコンテナで IPv6 アドレスを使用している場合、このファイルに以下の行を追 加することもできます。 1 ::/0 他のクラスは、クラス 1 の後に定義します。これらは、汎用的なルールであるクラス 1 からの逸 脱を定義するものです。以下の例は、IPv4 アドレスと IPv6 アドレスの両方のルールを含むネット ワーククラス定義ファイルの構成例です。 # サーバ networks 0 192.168.0.0/16 0 fe80::/64 # any IP address (all traffic) 1 0.0.0.0/0 1 ::/0 # class 2 – addresses for the "foreign" traffic 2 10.0.0.0/8 2 2001:db88::/64 118 リソースを管理する # # 1 1 inside "foreign" network there is a hole belonging to "local" traffic 10.10.16.0/24 2001:db88:3333::/64 この例では、192.168.0.0~192.168.255.255 の範囲内の IPv4 アドレスと fe80::~ fe80::ffff:ffff:ffff:ffff の範囲内の IPv6 アドレスがクラス 0 アドレスとして処理され、こ れらのアドレスを持つ仮想マシンおよびコンテナからのトラフィックに対してアカウンティングは 行われません。 クラス 2 は、以下の IP アドレスに対応します。 • 10.0.0.0~10.255.255.255 の範囲内の IPv4 アドレス。ただし、サブレンジ 10.10.16.0~ 10.10.16.255 はクラス 1 として処理されます。 • 2001:db88::~2001:db88::ffff:ffff:ffff:ffff の範囲内の IPv6 アドレス。ただし、サブレ ンジ 2001:db88:3333::~2001:db88:3333::ffff:ffff:ffff:ffff はクラス 1 として処理され ます。 他のすべての IP アドレス(IPv4 と IPv6 の両方)はクラス 1 に属します。 注:/etc/vz/conf/networks_classes ファイルの編集後、/etc/init.d/vz accrestart または service vz accrestart のいずれかのコマンドを実行し、ファイルの変更を有効にします。 ネットワークトラフィック統計を表示する Parallels Cloud Server では、pnetstat ユーティリティを使用して現在のネットワークトラフィッ ク統計を表示することができます。例えば: # pnetstat UUID 47406484... 47406484... 49b66605... 49b66605... 101 101 102 102 Net.Class 0 1 0 1 0 1 0 1 Input(bytes) Input(pkts) Output(bytes) Output(pkts) 0 0 0 0 5867489 37155 58033 1010 0 0 0 0 7357952 41424 1023555 1023 0 0 0 0 58140960 66635 1025931 19408 0 0 0 0 0 0 0 0 デフォルトで、pnetstat は仮想マシンおよびコンテナの両方のネットワーク統計を表示します。上 の例では、ID が 101 と 102 である 2 つのコンテナと、UUID が 47406484... と 49b66605... である 2 つの仮想マシンについて、この統計が表示されます(UUID は簡略化のために短縮してい ます)。pnetstat ユーティリティで表示できるのは、1 回以上起動したことのある仮想マシンおよ びコンテナの統計だけであるということに注意してください。 119 リソースを管理する pnetstat ユーティリティは以下の情報を表示します。 列 説明 UUID 仮想マシンまたはコンテナに割り当てられた UUID Net.Class ネットワーク統計が計算されたネットワーククラスの ID。 Input(bytes) 受信トラフィック量(バイト単位) Input(pkts) 受信トラフィック量(パケット単位) Output(bytes) 送信トラフィック量(バイト単位) Output(pkts) 送信トラフィック量(パケット単位) 例えば、上のコマンドの出力を見ると、コンテナ 101 に 58 MB のデータがアップロードされたこ と、(2) 同じコンテナから約 10 MB がダウンロードされたこと、そしてすべてのトラフィックは クラス 1 ネットワークからのサーバとの間で行われたことがわかります。 必要に応じて -t オプションを pnetstat に指定することによって、仮想マシンとコンテナのネッ トワークトラフィック統計を別々に表示することができます。 • コンテナのみの場合: # pnetstat -t ct UUID Net.Class 101 0 101 1 102 0 102 1 • Input(bytes) 0 58140960 0 0 Input(pkts) 0 66635 0 0 Output(bytes) 0 1025931 0 0 Output(pkts) 0 19408 0 0 Input(bytes) Input(pkts) 0 0 5867489 37155 0 0 7357952 41424 Output(bytes) 0 58033 0 1023555 Output(pkts) 0 1010 0 1023 仮想マシンのみ: # pnetstat -t vm UUID Net.Class 47406484... 0 47406484... 1 49b66605... 0 49b66605... 1 また、次のように -v オプションの後に ID を指定することによって、特定の仮想マシンまたはコ ンテナのネットワーク統計を表示することもできます。 # pnetstat -v 101 UUID Net.Class Input(bytes) Input(pkts) 101 0 0 0 101 1 58140960 66635 Output(bytes) Output(pkts) 0 0 1025931 19408 このコマンドは、コンテナ 101 の統計情報のみを表示します。 120 リソースを管理する ネットワーク帯域幅管理をオン/オフにする ネットワーク帯域幅管理(「トラフィックシェーピング」)によって、仮想マシンまたはコンテナの 送信トラフィックのネットワーク帯域幅を制御できます。Parallels Cloud Server で、トラフィック シェーピングはデフォルトでオフになっていますが、/etc/vz/vz.conf グローバル構成ファイルの TRAFFIC_SHAPING パラメータを使用して制御することができます。 注:Parallels Cloud Server では、仮想マシンおよびコンテナの受信トラフィックを制御できません。 トラフィックシェーピングをオンに切り替えるには、以下の手順を実行する必要があります。 1 グローバル構成ファイルで TRAFFIC_SHAPING の値を yes に設定します。 2 BANDWIDTH と TOTALRATE パラメータに、正しい値を設定します。 3 /etc/init.d/vz shaperon コマンドを実行し、トラフィックシェーピングを開始します。 BANDWIDTH 変数は、使用可能なネットワークアダプタのネットワーク速度(1 秒当たりのキロビット 単位)を指定するために使用します。デフォルトでは「eth0:100000」に設定されており、これは 100Mb/s の Fast Ethernet カードに相当します。サーバにさらなるネットワークアダプタがイン ストールされている場合、シェーピングに関与するすべてのアダプタを一覧表示することにより、 このパラメータを更新します。例えば、Fast Ethernet カードが 2 つある場合、パラメータを 「eth0:100000 eth1:100000」と設定します。 TOTALRATE 変数には、シェーピングされる各ネットワーククラスに対する帯域幅プールのサイズを 指定します。仮想マシンおよびコンテナで、対応するネットワーククラスのホストと円滑に通信す るために帯域幅を増強する必要する必要がある場合、帯域幅プールから帯域幅を「借りる」ことがで きます。これは、仮想マシンおよびコンテナが消費できる送信トラフィックの合計を制限するため に使用されます。この変数は、「<NIC>:<network_class>:<bandwidth_in_Kbits_per_second>」とい うフォーマットで指定し、特定のネットワークアダプタのネットワーククラス毎のプールサイズを 定義します。別々のネットワーククラスとアダプタのエントリは、スペースで区切って入力します。 TOTALRATE のデフォルト値は「eth0:1:4000」であり、最初の Ethernet アダプタのネットワークク ラス 1 のプールサイズ 4Mb/s に相当します。 /etc/vz/vz.conf 構成ファイルに、RATE 変数も定義することができます。この値は、すべての仮想 マシンおよびコンテナに対して保証される、ある Ethernet デバイスのあるネットワーククラスで の送信トラフィックに使用できる 1 秒当たりのキロビット数を示します。このパラメータのデフォ 121 リソースを管理する ルト値は「eth0:1:8」です。つまり、すべての仮想マシンおよびコンテナは、最初の Ethernet デ バイス上のクラス 1 ホストにデータを送信するために、8 Kbps 以上の帯域幅が保証されています。 (仮想マシンまたはコンテナに対して RATEBOUND パラメータが有効になっていない限り)この帯域 幅は仮想マシンおよびコンテナに対する制限ではありません。仮想マシンまたはコンテナは、他の 仮想マシンおよびコンテナが使用していなければ、TOTALRATE 帯域幅プールから必要な帯域幅を得 ることができます。 上記のパラメータをセットアップしてから、以下のように帯域幅管理を開始します。 # /etc/init.d/vz shaperon Starting shaping:Ok Set shaping on running Container : vz WARNING:Can't get tc class for Container(101). vz WARNING:Can't access file /var/run/vz_tc_classes.\ Creating new one. vz WARNING:Can't get tc class for Container(1). これでネットワーク帯域幅制限がアクティブになりました。一時的にトラフィックシェーピングを オフにするには、/etc/init.d/vz shaperoff コマンドを使用します。帯域幅管理を永久的に無効化 するには、/etc/vz/vz.conf 構成ファイルで TRAFFIC_SHAPING 変数を no に設定します。 ネットワーク帯域幅管理を構成する 仮想マシンおよびコンテナに割り当てられる送信トラフィックのネットワーク帯域幅は、RATE およ び RATEBOUND という 2 つのパラメータで制御することができます。 注:現バージョンの Parallels Cloud Server では、受信トラフィックは制御できません。 RATE パラメータには、仮想マシンまたはコンテナに対して保証される送信トラフィックを指定しま す。この速度は、個別のネットワーククラスに対して別々に指定できます。帯域幅の値は、キロビ ット毎秒(Kbps)単位で指定します。最低値を 8 Kbps とし、8 Kbps 刻みで増加することが推奨 されます。以下、ネットワークアダプタ eth0 でネットワーククラス 1 に対して仮想マシン MyVM とコンテナ 101 の RATE パラメータを 16 Kbps に設定する方法を示します。 # prlctl set MyVM --rate 1:16 # prlctl set 101 --rate eth0:1:16 注:コンテナの場合、異なるネットワークアダプタ毎に RATE パラメータを構成できます。仮想マシンの場合、 このパラメータはデフォルトネットワークアダプタ(通常は eth0)に対してのみ設定できます。他のすべての ネットワークアダプタのレートは、/etc/vz/vz.conf グローバル構成ファイルで構成できます。 RATEBOUND パラメータには、コンテナが送信トラフィックに使用できるネットワーク帯域幅が、 RATE 変数に指定した帯域幅によって制限されるかどうかを指定します。デフォルトで、このパラメ 122 リソースを管理する ータは新規作成されたすべての仮想マシンおよびコンテナに対してオフになています。つまり、仮 想マシンおよびコンテナは TOTALRATE プールから空き帯域幅を獲得することができます。例えば、 prlctl set コマンドの --ratebound オプションを使用して、RATEBOUND パラメータをオンにでき ます。 # prlctl set MyVM --ratebound on # prlctl set 101 --ratebound on 仮想マシンおよびコンテナが実際に獲得できるネットワーク帯域幅は、仮想マシンおよびコンテナ の数および RATE 値の合計によって決まり、通常は各コンテナの RATE パラメータに指定された帯 域幅と同じにはなりません。RATEBOUND パラメータをオンにすると、仮想マシンまたはコンテナの 帯域幅が RATE パラメータの値によって制限されます。 RATE および RATEBOUND パラメータが個別の仮想マシンおよびコンテナに対して設定されていない 場合、/etc/vz/vz.conf 構成ファイルの値が取得されます。デフォルトで、Parallels Cloud Server は RATEBOUND を設定しないため、「no」になり、RATE は「eth0:1:8」に設定されています。 Parallels Cloud Server のネットワーク帯域幅管理は、次のように機能します。特定のネットワー ククラスの帯域幅プール(グローバル構成ファイルの TOTALRATE 変数で構成可能)は、データを送 信する各仮想マシンおよびコンテナに対し、その RATE に設定された値に比例して配分されます。 データを送信しているすべての仮想マシンおよびコンテナの RATE 変数の合計値が TOTALRATE 値以 内に収まっている場合、各仮想マシンおよびコンテナはその RATE 値以上の帯域幅を獲得します(た だし、この仮想マシンおよびコンテナに対して RATEBOUND 変数が有効化されていない限り)。一方、 データを送信しているすべての仮想マシンおよびコンテナの RATE 変数の合計値が TOTALRATE 値を 超えると、各仮想マシンおよびコンテナが獲得する帯域幅が RATE 値より低くなる可能性がありま す。 下の例では、コンテナ 101 と 102 の RATEBOUND が no に設定され、仮想マシン MyVM の RATEBOUND が yes に設定されています。デフォルトの TOTALRATE が 4096 Kbps、RATE が 8 Kbps のとき、帯域幅プールは以下の表に従って分配されます。 コンテナ 101 コンテナ 102 MyVM 消費する帯域幅 送信 停止 停止 コンテナ 101:4096 Kbps 停止 停止 送信 MyVM:8 Kbps 送信 送信 停止 コンテナ 101:2048 Kbps コンテナ 102:2048 Kbps 送信 停止 送信 コンテナ 101:4032 Kbps MyVM:8 Kbps 123 リソースを管理する 送信 送信 送信 コンテナ 101:2016 Kbps コンテナ 102:2016 Kbps MyVM:8 Kbps 帯域幅設定を構成してから、以下のコマンドを実行して変更を適用します。 # /etc/init.d/vz shaperrestart Stopping shaping:Ok Starting shaping:Ok Set shaping on running Container:Ok このコマンドは、既存のシェーピング設定をすべてクリアして、実行中の仮想マシンおよびコンテ ナの構成ファイルを使用して設定し直します。 ディスク I/O パラメータを管理する このセクションでは、Parallels Cloud Server システムでディスク入出力(I/O)パラメータを管理 する方法を説明します。 仮想マシンおよびコンテナの優先度を構成する Parallels Cloud Server では、仮想マシンおよびコンテナのディスク I/O(入出力)優先度を構成す ることができます。I/O の優先度が高ければ高いほど、サーバ上の他の仮想マシンおよびコンテナ より多くの時間をディスク I/O アクティビティ用に獲得できます。デフォルトで、サーバ上の仮想 マシンおよびコンテナの I/O 優先度は 4 に設定されていますが、prlctl set コマンドの --ioprio オプションを使用して、現在の I/O 優先度を 0~7 の範囲内で変更できます。例えば、 以下のコマンドを実行すると、コンテナ 101 と仮想マシン MyVM の I/O 優先度が 6 に設定され ます。 # prlctl set 101 --ioprio 6 # prlctl set MyVM --ioprio 6 現在コンテナ 101 と仮想マシン MyVM に適用されている I/O 優先度をチェックするには、以下の コマンドを実行します。 • コンテナ 101 の場合: # grep IOPRIO /etc/vz/conf/101.conf IOPRIO="6" • 仮想マシン MyVM の場合: # prlctl list --info | grep ioprio cpu 2 VT-x accl=high mode=32 cpuunits=1000 ioprio=6 iolimit=0 124 リソースを管理する ディスク I/O パラメータを構成する Parallels Cloud Server では、仮想マシンおよびコンテナがディスク入出力(I/O)操作に使用する ことが許可される帯域幅を構成できます。ディスク I/O 帯域幅を制限することによって、1 つの仮 想マシンまたはコンテナでディスクアクティビティが増加したとき(例えば、大量のデータを送受信 した場合など)に、Parallels サーバの他の仮想マシンまたはコンテナのパフォーマンスが低下する ことを防止できます。 デフォルトで、仮想マシンまたはコンテナを新規作成すると、I/O 帯域幅制限が 0 に設定されます。 つまり、いずれの仮想マシンまたはコンテナにも制限が課されません。仮想マシンまたはコンテナ のディスク I/O 帯域幅を制限するには、prlctl set コマンドの --iolimit オプションを使用しま す。例えば、以下のコマンドを実行すると、仮想マシン MyVM の I/O 帯域幅制限が 10 MBps に制 限されます。 # prlctl set MyVM --iolimit 10 Set up iolimit:10485760 The VM has been successfully configured. コンテナに制限を設定するには、次のように、仮想マシン名の代わりにコンテナの ID を指定 し、。 # prlctl set 101 --iolimit 10 Set up iolimit:10485760 Saved parameters for Container 101 デフォルトで、制限はメガバイト毎秒(MBps)単位で設定されます。ただし、以下のサフィックス を使用することによって、別の単位を使用できます。 • G:ギガバイト毎秒で設定(1G)。 • K:キロバイト毎秒で設定(10K)。 • B:バイト毎秒で設定(10B)。 注:現在のバージョンの Parallels Cloud Server では、1 つの仮想マシンおよびコンテナに設定できる最大 I/O 帯域幅制限は 2 ギガバイト毎秒です。 I/O 帯域幅制限が仮想マシン MyVM とコンテナ 101 に適切に適用されたことを確認するには、 prlctl list コマンドを実行します。 # prlctl list MyVM -o iolimit 110485760 # prlctl list 101 -o iolimit IOLIMIT 10485760 125 リソースを管理する 以下のコマンドを実行することによって、仮想マシン MyVM とコンテナ 101 に設定された I/O 帯 域幅制限をいつでも削除できます。 # prlctl set MyVM --iolimit 0 Set up iolimit:0 The VM has been successfully configured. # prlctl set 101 --iolimit 0 Set up iolimit:0 Saved parameters for Container 101 IOPS を構成する Parallels Cloud Server では、仮想マシンおよびコンテナが 1 秒間に実行できるディスク入出力回 数の上限(IOPS 制限)を制限できます。ディスク操作の多い仮想マシンおよびコンテナに IOPS 制 限を設定して、これらがノード上の他の仮想マシンおよびコンテナのパフォーマンスに悪影響を与 えないようにできます。 デフォルトで、新規作成されたすべての仮想マシンまたはコンテナには IOPS 制限が設定されてい ないため、必要に応じて大量のディスク I/O 操作を実行できます。IOPS 制限を設定するには、 prlctl set コマンドの --iopslimit オプションを使用します。例えば、コンテナ 101 と仮想マシ ン MyVM を 100 IOPS 以下に制限するには、以下のコマンドを実行します。 # prlctl set 101 --iopslimit 100 # prlctl set MyVM --iopslimit 100 IOPS 制限がコンテナ 101 と仮想マシン MyVM に適用されたことを確認するには、pstat -A コマ ンドを実行します。 # pstat -A ST IOUSED IOWAIT IO IOPS NAME OK 0.00 0.00 0.0/---KB/s 0.0/100/s MyVM OK 0.00 0.00 0.0/---KB/s 0.0/100/s 101 IOPS カラムは、現在コンテナ 101 と仮想マシン MyVM に適用されている IOPS 制限を示しま す。 以下のコマンドを実行することによって、設定された IOPS 制限をいつでも削除できます。 # prlctl set 101 --iopslimit 0 # prlctl set MyVM --iopslimit 0 ディスク I/O 統計を表示する Parallels Cloud Server 6.0 では、仮想マシンおよびコンテナのディスク入出力(I/O)統計を表示 できます。物理サーバで実行中のすべての仮想マシンおよびコンテナ について I/O 統計を表示す るには、pstat ユーティリティに -a オプションを指定して実行します。例えば: 126 リソースを管理する # pstat -a 7:18pm, up 1 day, 1:29, 2 users, load average:0.00、0.01、0.00 CTNum 1, procs 127:R 2, S 125, D 0, Z 0, T 0, X 0 CPU [ OK ]:CTs 0%, CT0 1%, user 0%, sys 2%, idle 98%, lat(ms) 12/0 Mem [ OK ]: total 1560MB, free 627MB/402MB (low/high), lat(ms) 0/0 ZONE0 (DMA): size 16MB, act 0MB, inact 0MB, free 11MB (0/0/0) ZONE1 (Normal): size 880MB, act 76MB, inact 104MB, free 616MB (3/4/5) ZONE2 (HighMem): size 684MB, act 116MB, inact 153MB, free 402MB (0/1/1) Mem lat (ms):A0 0, K0 0, U0 0, K1 0, U1 0 Slab pages:65MB/65MB (ino 43MB, de 9MB, bh 2MB, pb 0MB) Swap [ OK ]: tot 2502MB, free 2502MB, in 0.000MB/s, out 0.000MB/s Net [ OK ]: tot: in 0.005MB/s 45pkt/s, out 0.000MB/s 1pkt/s lo: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s eth0: in 0.005MB/s 45pkt/s, out 0.000MB/s 1pkt/s br0: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s br1: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s Disks [ OK ]: in 0.000MB/s, out 0.000MB/s ST OK OK IOUSED 0.00 0.00 IOWAIT IO 0.00 0.0/---KB/s 0.00 0.0/---KB/s IOPS NAME 0.0/--/s 101 0.0/--/s MyVM 仮想マシンおよびコンテナ ディスク I/O 統計に関連する情報は、コマンド出力の最後に表示され ます。以下の表は、表示される I/O パラメータについての説明です。 パラメータ 説明 IOUSED% 仮想マシンまたはコンテナによってディスクが使用される時間(%) IOWAIT% 仮想マシンまたはコンテナの 1 つ以上の I/O トランザクションが処理を待機している時間(%) IO I/O 速度と制限(バイト、キロバイト、メガバイト、またはギガバイト毎秒) IOPS I/O 操作の速度と制限(1 秒あたりの操作数) pstat -a コマンドは、現在物理サーバ上で実行中のすべての仮想マシンおよびコンテナのディスク I/O 統計を出力します。上記の出力例では、コンテナ 101 と仮想マシン MyVM に対してこの統計が 表示されています。 注:pstat およびそのオプションについて詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレン スガイド』(※英語)を参照してください。 コンテナのバックアップおよび移行時のディスク I/O 制限を設定する コンテナのバックアップ、復元、移行を行うと、サーバのディスク I/O が高負荷になり、他のコン テナやサーバ自体のパフォーマンスが低下します。これらの操作にディスク I/O 制限を設定するこ とによって、このような状況を回避できます。 ディスク I/O 制限を設定するには、以下の手順に従います。 1 以下のように、Parallels Cloud Server のグローバル構成ファイルを編集用に開きます。 127 リソースを管理する # vi /etc/vz/vz.conf 2 ファイルで以下のセクションを探します。 # VZ Tools IO limit # To enable - uncomment next line, check the value - there should not be CT with the same ID # VZ_TOOLS_BCID=2 # Uncomment next line to specify required disk IO bandwidth in Bps (10485760 - 10MBps) # VZ_TOOLS_IOLIMIT=10485760 3 このセクションを次のように編集します。 a VZ_TOOLS_BCID パラメータのコメントを外し、バックアップ、復元、移行操作のディスク I/O 制限を有効化します。パラメータを定義するときは、指定した ID のコンテナがサーバ にないことを確認してください。 b VZ_TOOLS_IOLIMIT パラメータのコメントを外し、バックアップ、復元、移行操作のディス ク I/O 制限を設定します。値はバイト毎秒(bps)で設定します。 4 ファイルを保存します。 ディスク I/O の上限を設定するときは、以下に注意してください。 • VZ_TOOLS_BCID および VZ_TOOLS_IOLIMIT はグローバルパラメータです。つまり、これらのパ ラメータを設定すると、サーバ上のすべてのサーバに対して有効になります。 • VZ_TOOLS_BCID および VZ_TOOLS_IOLIMIT パラメータで制御できるのは、バックアップ、復元、 移行操作のディスク I/O の負荷のみです。 コンテナのディスク I/O のボトルネックを特定する 状況によっては、ディスク I/O サブシステムが Parallels Cloud Server サーバのボトルネックと なり、コンテナまたはサーバ自体のパフォーマンスが低下する場合があります。このような I/O ボ トルネックは、多くの場合、ディスクを多用するプロセスをコンテナで実行することによって発生 します(例えば、コンテナからまたはコンテナへの大量のデータ転送)。 ディスク I/O 負荷が最も高いコンテナを特定するには、以下の手順に従います。 1 問題のあるサーバで pstat ユーティリティを実行し、実行中のすべてのコンテナの I/O 統計を 表示します。ユーティリティでは、id、cpu_iowait、cpu_iowait_acc、io、iops、swapin とい う I/O オプションを使用できます。例えば: # pstat -o id,cpu_iowait,cpu_iowait_acc,io,iops,swapin ... CTID CPU IOWAIT ACC IOWAIT IO IOPS SWAPIN 1 0.00% 0.00% 0.0/---KB/s 0.0/--/s 0.0/s 101 0.00% 0.00% 0.0/---KB/s 0.0/--/s 0.0/s 111 25.0% 28.0% 23/---MB/s 419/--/s 0.0/s 128 リソースを管理する 2 コマンド出力で、値が最も高いコンテナを探します。サーバで I/O 負荷が最も高いコンテナは このコンテナであると考えられます。上の例ではコンテナ 111 です。 3 問題のあるコンテナを特定したら、vziotop -o -E <CT_ID> コマンドを実行して、このコンテナ 内で実行中であり I/O 負荷を発生させているすべてのスレッドを表示します。出力順を I/O 負 荷で並べ替えるには、左矢印と右矢印を使用して IO カラムを選択します。例えば: # vziotop -o -E 111 Total DISK READ : 4.77 M/s Actual DISK READ: 4.77 M/s CTID TID PRIO USER DISK 111 1026959 be/4 root 932.72 111 1026960 be/4 root 202.20 | Total DISK WRITE : | Actual DISK WRITE: READ DISK WRITE SWAPIN K/s 250.00 K/s 0.00% K/s 20.00 K/s 0.00% 270.00 K/s 354.63 K/s IO> COMMAND 42.84% {output skipped]; 11.53% {output skipped]; コマンド出力から、スレッド 1026959 からの I/O 負荷が最も高く、サーバのパフォーマンス を低下させている可能性があることがわかります。 vziotop ユーティリティおよびそのオプションについて詳しくは、『Parallels Cloud Server 6.0 コ マンドラインリファレンスガイド』(※英語)を参照してください。 バックアップおよび移行用にグローバルメモリ制限 を設定する 一部のバックアップ、復元、移行操作にノードのメモリが占有され、メモリ不足の状況が発生する ことがないように、このような操作に対してグローバルメモリ消費制限を設定することができます。 これには、Parallels Cloud Server のグローバル構成ファイル /etc/vz/vz.conf を次のように編集 します。 1 VZ_TOOLS_BCID パラメータのコメントを外し、バックアップ、復元、移行操作のリソース制限 を有効化します。指定した ID がハードウェアノード上のどのコンテナでも使用されていないこ とを確認します。 2 VZ_TOOLS_MEMLIMIT パラメータのコメントを外し、グローバルメモリ消費制限をバイト単位で 設定します。 129 リソースを管理する コンテナ用のメモリパラメータを管理する このセクションは、Parallels Cloud Server 6.0 に導入された VSwap メモリ管理システムについ て説明します。以下の方法について学習します。 • コンテナのメイン VSwap パラメータを構成する(p. 130) • コンテナにメモリ割当制限を設定する(p. 131) • OOM Killer の挙動を構成する(p. 132) • VSwap の機能を拡張する(p. 134) Parallels Cloud Server 6.0 にアップグレードした場合、アップグレード前にコンテナに適用され ていたメモリパラメータから新しい VSwap 値がどのように計算されるのか(p. 134)についても 説明します。 メイン VSwap パラメータを構成する Parallels Cloud Server 6.0 に、コンテナのメモリ関連パラメータを管理するための新しい方法、 VSwap が導入されました。スタンドアロン Linux コンピュータで使用されているその他多くのメモ リ管理方法と同じく、この方法は RAM と swap という 2 つの主なパラメータをベースにしてい ます。 • RAM:このパラメータは、コンテナのプロセスで使用できる RAM の合計サイズを規定しま す。 • swap:このパラメータは、RAM のサイズの上限を超えたときにメモリをスワップアウトする ためにコンテナで使用できるスワップの合計サイズを規定します。 注: 1.Parallels Cloud Server 6.0 で、新しいメモリ管理方法「VSwap」が SLM に代わって導入されました。 2.複数の UBC(User Beancounter)パラメータ(numproc、numtcpsock、vmguarpages など)を設定する ことで、コンテナにメモリ制限や保証値を設定することもできます。これらのパラメータによって、コンテナに 関するメモリリソースを総合的にカスタマイズすることができます。ただし、このようなシステムリソース管理 方法は複雑であり、システムに適合させるためにより多くの作業が必要になります。UBC パラメータについて 130 リソースを管理する 詳しくは、http://sp.parallels.com/jp/products/pvc/ で『Administrator's Guide to Managing UBC Resources』を参照してください。 新しいメモリ管理方法は、次のように機能します。 1 コンテナに対し、このコンテナ内で実行されるプロセスで使用可能なできる特定量の RAM お よびスワップスペースを設定します。 2 コンテナに設定された RAM の上限を超えると、スワッピングプロセスが開始されます。 コンテナでのスワッピングプロセスは、スタンドアロンコンピュータでのスワッピングプロセス と少し異なります。コンテナのスワップファイルは仮想的であり、可能であればノードの RAM に常駐します。つまり、コンテナのスワップアウトが始まり、スワップファイルを格納できる十 分な空き容量がノードにあれば、スワップファイルはハードドライブではなくノードの RAM に 格納されます。 3 コンテナがスワップの上限を超えると、システムがコンテナに対して OOM Killer を起動しま す。 4 OOM Killer は、当該コンテナで実行中の 1 つまたは複数のプロセスを選んで強制終了します。 デフォルトで、新規作成されたすべてのコンテナは、この新しいメモリ管理方法で起動されます。 コンテナに設定された RAM およびスワップスペースの容量を確認するには、コンテナの構成ファ イルで PHYSPAGES および SWAPPAGES パラメータの値をチェックします。 # grep PHYSPAGES /etc/vz/conf/101.conf PHYSPAGES="65536:65536" # grep SWAPPAGES /etc/vz/conf/101.conf SWAPPAGES="65536" この例では、コンテナ 101 に設定された PHYSPAGES パラメータの値は 65536 です。PHYSPAGES パラメータは RAM を 4 KB のページ単位で表示するため、コンテナ 101 に設定された RAM は 256 MB となります。SWAPPAGES パラメータの値も 256 MB に設定されています。 コンテナ 101 の RAM およびスワップスペースの容量を構成するには、prlctl set コマンドの --memsize オプションと --swappages オプションを使用します。例えば、コンテナ 101 の RAM とスワップの容量をそれぞれ 1 GB と 512 MB に設定するには、次のコマンドを実行します。 # prlctl set 101 --memsize 1G --swappages 512M メモリ割当制限を構成する コンテナ内でアプリケーションが起動すると、必要に応じて特定量のメモリが割り当てられます。 通常は、実行に必要な容量を遙かに超えたメモリ容量が割り当てられます。このため、コンテナの 131 リソースを管理する 空き容量が十分であっても、コンテナ内でアプリケーションを実行できない状況が発生する場合が あります。このような状況に対処するために、VSwap メモリ管理方法では、新しい vm_overcommit オプションが導入されています。これを使用することによって、コンテナ内のアプ リケーションで割り当てることができるメモリの容量を、コンテナに割り当てられた RAM および スワップスペースの容量を問わずに構成することができます。 コンテナのアプリケーションで割当可能なメモリ容量は、このコンテナに設定された RAM とスワ ップスペースの合計にメモリオーバーコミット係数を掛けた値となります。デフォルト(基本)コン テナ構成ファイルでは、この係数は 1.5 に設定されています。例えば、コンテナがデフォルト構 成ファイルをベースにしており、RAM が 1 GB、スワップが 512 MB 割り当てられている場合、 このコンテナのメモリ割当制限は 2304 MB になります。以下のコマンドを実行すると、この制限 を 3 GB に設定できます。 # prlctl set 101 --vm_overcommit 2 このコマンドは係数として 2 を使用するため、メモリ割当制限が 3 GB になります。 (1 GB の RAM + 512 MB のスワップ) * 2 = 3 GB これで、コンテナ 101 内のアプリケーションは、必要に応じてメモリを 3 GB まで割り当てるこ とが可能になります。 注: 1.コンテナの構成ファイルについて詳しくは、「コンテナリソース構成を管理する(p. 141)」を参照してくだ さい。 2.現在、--vm_overcommit オプションが prlctl ユーティリティではサポートされていない可能性がありま す。この場合、vzctl を使用してください。 OOM Killer の挙動を構成する OOM killer は、/proc/<pid>/oom_score に示される badness(粗悪度)に基づいてコンテナプロ セスを 1 つ以上選び、強制終了します。badness は、プロセスメモリ、合計メモリ、調整値に基 づいて計算され、値は 0~1000 の範囲内となります。各 badness ポイントは、コンテナメモリ の 1000 分の 1 となります。badness が最も高いプロセスが強制終了されます。 132 リソースを管理する コンテナプロセスの OOM killer は、/etc/vz/oom-groups.conf ファイルを使用して構成できます。 このファイルにはパターンのリストが含まれ、実行中の各プロセスの badness 調整値はそれに基 づいて選択されます。パターンは、次の列を含めて 1 行ずつ記述します。 • <command> -- タスクコマンド名のマスク • <parent> -- 親タスク名のマスク • <oom_uid> -- タスクユーザ ID(UID)フィルタ: • <oom_uid>が -1 の場合、このパターンはあらゆる UID のタスクに適用されます。 • <oom_uid> が 0 以上の場合、このパターンは UID が <oom_uid> の値と等しいタスクに適 用されます。 • <oom_uid> が -1 より小さい場合、このパターンは UID が -<oom_uid>(<oom_uid> の値に マイナスを付けた値)より小さいタスクに適用されます。 • <oom_score_adj> -- badness 調整値。badness と同じく、調整値の各ポイントは、コンテナメ モリ全体の 1000 分の 1 となります。調整値をマイナスにすると、プロセスの badness が低 くなります。メモリ不足に陥っても、この調整値によって、コンテナ内に badness がより高い プロセスが他にある限り、このプロセスは少なくともコンテナメモリの 1000 分の <oom_score_adj> を占有することが許可されます。 注:<command> および <parent> マスクでは、ワイルドカードサフィックスを使用できます。アスタリスク (*)は任意のサフィックスを示します。例えば、「foo」と一致するのは「foo」のみですが、「foo*」と指定す ると「foo」でも「foobar」でも一致します。 例えば、次のパターンを見てみましょう。 sshd init -500 -100 この場合、メモリ不足になると、init の子である sshd の UID が -(-500) より小さいか 500 ち ょうどであれば(例えば 499)、少なくともコンテナメモリ全体の 1000 分の 100(つまり 10%) がこのプロセスに対して保証されます。RHEL の慣例では、UID 1~499 はシステム用に予約され ています。そのため、このような制限の設定は、システムプロセスを優先させ、節約するために役 に立ちます。 プロセスの badness の計算時に、OOM killer は /proc/vz/oom_score_adj でマスクおよびタスク UID フィルタに基づいて適切なパターンを検索します。検索は 1 行目から始まり、該当するパタ ーンが見つかると終了します。続いて、該当する調整値を使用してプロセスの badness が計算さ れます。 133 リソースを管理する /etc/vz/oom-groups.conf のデータがリセットされ、起動時にカーネルにコミットされます。構成 ファイルのリセットとコミットを手動で行うには、以下のコマンドを使用します。 # cat /etc/vz/oom-groups.conf > /proc/vz/oom_score_adj VSwap をチューニングする 新しい管理方法を UBC パラメータを使用して拡張することができます。例えば、numproc パラメ ータを設定して 1 つのコンテナで作成可能なプロセスおよびスレッドの最大数を構成したり、 numfile パラメータを設定してコンテナ内の全プロセスがオープンできるファイル数を指定するこ とができます。UBC パラメータの使用について詳しくは、『Administrator's Guide to Managing UBC Resources』を参照してください。 レガシーコンテナを構成する 旧バージョンの Parallels Cloud Server 6.0 からアップグレードすると、新しいメモリ管理方法が すべてのコンテナで使用されるようになります。コンテナを起動するたびに、システムはアップグ レード前にコンテナに適用されていたメモリパラメータから RAM、スワップ、および割当制限の値 を自動的に計算し、これをコンテナの実行中に使用します。計算ルールは以下の通りです。 SLM コンテナが SLM パラメータのみを使用する場合: • RAM の量は、SLMMEMORYLIMIT パラメータの値に設定されます。 • スワップの量は 0 に設定されます。 • メモリ割当制限は、SLMMEMORYLIMIT パラメータの値に VM_OVERCOMMIT パラメータの値を掛け た値に設定されます。デフォルトで、VM_OVERCOMMIT パラメータは無制限です。つまり、メモリ 割当制限も無制限になります。コンテナの制限を構成するには、コンテナの構成ファイルで VM_OVERCOMMIT パラメータを設定する必要があります。 例えば、コンテナ 101 の SLMMEMORYLIMIT パラメータと VM_OVERCOMMIT パラメータがそれぞれ 1 GB と 1.5 に設定されている場合、アップグレード後にこのコンテナは次のように設定されます。 RAM = 1 GB、スワップ = 0、メモリ割当制限 = 1.5 GB 134 リソースを管理する UBC コンテナが UBC パラメータのみを使用する場合: • RAM の量は、PRIVVMPAGES パラメータのソフトリミットに設定されます。 • スワップの量は 0 に設定されます。 メモリ割当制限は、PRIVVMPAGES パラメータのハードリミットに設定されます。例えば、コンテナ 101 の PRIVVMPAGES のソフトリミットが 65536 ページ、ハードリミットが 131072 ページに設 定されている場合、このコンテナは次のパラメータに設定されます。RAM = 256 MB、スワップ = 0、メモリ割当制限 = 2 SLM および UBC コンテナが SLM パラメータと UBC パラメータの両方を使用する場合: • RAM の量は、SLMMEMORYLIMIT パラメータの値に設定されます。 • スワップの量は 0 に設定されます。 • メモリ割当制限は、SLMMEMORYLIMIT パラメータの値に VM_OVERCOMMIT パラメータの値を掛け た値に設定されます。デフォルトで、VM_OVERCOMMIT パラメータは無制限です。つまり、メモリ 割当制限も無制限になります。コンテナの制限を構成するには、コンテナの構成ファイルで VM_OVERCOMMIT パラメータを設定する必要があります。 例えば、コンテナ 101 の SLMMEMORYLIMIT パラメータと VM_OVERCOMMIT パラメータがそれぞれ 1 GB と 1.5 に設定されている場合、アップグレード後にこのコンテナは次のように設定されます。 RAM = 1 GB、スワップ = 0、メモリ割当制限 = 1.5 GB 仮想マシン用のメモリパラメータを管理する このセクションでは、仮想マシン用のメモリパラメータの管理プロセスについて説明します。以下 について学習します。 • 仮想マシンのメインメモリおよびビデオメモリを構成する(p. 136)。 • 仮想マシンのメモリ制限およびクォータを構成する(p. 136)。 135 リソースを管理する • 仮想マシンでメモリホットプラグ機能を有効化する(p. 140)。 メインメモリパラメータを構成する 仮想マシンのメインメモリリソースには、次のようなものがあります。 • メインメモリ • ビデオメモリ 以下、これらのリソースの管理プロセスについて説明します。 メインメモリを構成する 仮想マシンで使用可能なメモリ容量を構成するには、prlctl set コマンドの --memsize オプション を使用します。以下のセッションは、仮想マシン MyVM のメモリ容量を 512 MB から 756 MB に 変更し、新しい値が正常に設定されたことを確認する方法を示します。 # prlctl list -i MyVM | grep memory memory 512Mb # prlctl set MyVM --memsize 756 Set the memsize parameter to 756Mb The VM has been successfully configured. # prlctl list -i MyVM | grep memory memory 756Mb 実行中の仮想マシンと停止中の仮想マシンの両方のメモリサイズを構成できます。 ビデオメモリを構成する 仮想マシンのビデオカードで使用可能にするメモリ容量を構成するには、prlctl set コマンドの --videosize オプションを使用します。仮想マシン MyVM の現在のビデオメモリサイズが 32 MB に設定されていると仮定すると、以下のコマンドを実行して 64 MB に増加できます。 # prlctl set MyVM --videosize 64 新しい値が正常に設定されたかどうかを確認するには、以下のコマンドを使用します。 # prlctl list -i MyVM | grep video video 64Mb 追加メモリパラメータを構成する Parallels Cloud Server 6.0 では、メモリ管理方法が改良されています。この方法は、次の 2 つの パラメータで制御されています。 136 リソースを管理する • 予約済みメモリ制限:予約済みメモリ制限によって、Parallels サーバのメモリのうち、このサ ーバ上でホストされるすべての仮想マシンによって使用できるメモリ容量が定義されます。 • メモリクォータ:メモリクォータは、特定の仮想マシンによるメモリ消費を制御します。このパ ラメータは、保証、制限、優先度、バルーニングなどの設定から構成されています。 以下のセクションでは、両パラメータを構成する方法について説明します。 予約済みメモリ制限を構成する 予約済みメモリ制限によって、Parallels サーバ上のすべての仮想マシンで消費できるメモリ容量が 定義されます。サーバ上の残りのメモリは、サーバ自体で実行されるアプリケーション用に予約さ れます。 デフォルトで、予約済みメモリ制限は、Parallels サーバにインストールされたメモリ容量に基づい て自動的に計算されます。 • サーバに搭載されたメモリが 3 GB 未満の場合、「サーバの合計 RAM 容量」x 0.7 という式が 使用されます。したがって、サーバのメモリ容量が 2 GB であれば、予約済み制限は 1.4 GB に設定されます。 • サーバに搭載されたメモリが 3 GB 以上の場合、「サーバの合計 RAM 容量」 - 1 GB という 式が使用されます。したがって、サーバのメモリ容量が 16 GB であれば、予約済み制限は 15 GB に設定されます。 デフォルトの予約済みメモリ制限を構成するには、prlsrvctl set コマンドの --mem-limit オプシ ョンを使用します。例えば、次のコマンドによって、14 GB のメモリが仮想マシンによる使用のた めに予約されます。 # prlsrvctl set --mem-limit 14336 デフォルト設定に戻すには、次のコマンドを使用します。 # prlsrvctl set --mem-limit auto Set memory limit: auto The Server has been successfully configured. メモリクォータを構成する メモリクォータによって、特定の仮想マシンによるメモリ消費を制御できます。クォータの制御パ ラメータには、次のようなものがあります。 137 リソースを管理する • 保証値:仮想マシンがオンデマンドで取得することが保証されるメモリ容量。仮想マシンが保証 値以上のメモリを必要としている場合、メモリ割当が失敗する可能性があります(例えば、現時 点で Parallels サーバに空き容量がない場合)。さらに、このサーバで実行中の全仮想マシンに 対して保証されるメモリ容量とそのオーバーヘッドが予約済み制限を超えると、追加の仮想マシ ンを起動することはできなくなります。デフォルトでメモリの保証値は、ある仮想マシンに割り 当てられた RAM およびビデオメモリを基に計算され、メモリ全体の半分程度になります。 注:仮想マシンのオーバーヘッドは、構成に応じて異なります。例えば、ある仮想マシンに 1024 MB の RAM、2 つの CPU、256 MB のビデオメモリ、ネットワークアダプタ、サウンドカード、USB コントローラ が搭載されており、最新ハードウェア上で実行している場合、この仮想マシンのオーバーヘッドは通常であれ ば 35~40 MB を超えることはありません。実行中の仮想マシンのオーバーヘッドをチェックするには、 /proc/parallels/vm/VM_ID/meminfo ファイルを開いて Unreclaimable パラメータの値を確認しま す。ただし、この値は時間の経過とともに変化する可能性があります。 • 制限:仮想マシンが消費することが許可される最大メモリ容量。たとえ Parallels サーバの空き メモリに余裕があり、仮想マシンがこのメモリを必要としていても、この制限値を超えることは できません。デフォルトで、新規作成された仮想マシンには制限が設定されず、仮想マシンはサ ーバ上の空きメモリをすべて消費できます。 • 優先度:どの仮想マシンがメモリを最初に取得できるかを定義する優先度(1~100)。優先度の 高い仮想マシンの方が、Parallels サーバのメモリリソースが不十分な場合にメモリを取得でき る可能性が高くなります。優先度は 50 に初期設定されています。 • バルーニング:仮想マシンのバルーニングドライバが、ニーズに応じて割り当てることができる 最大メモリ容量。メモリバルーニングとは、仮想マシンからメモリを回収することを可能にする 技術です。これを実現するために、実行中の各仮想マシンに、特別なバルーンドライバがロード されます。空きメモリが必要で、メモリ容量が足りない場合、システムは仮想マシンのバルーン ドライバに増量のためのコマンドを送ります。バルーンドライバは、仮想マシンのメモリから必 要なメモリ量を割り当てて膨張し、これをシステムに与えます。 デフォルトで、仮想マシンに設定された RAM の最大 60% まで、バルーンドライバによって 割り当てることができます。例えば、仮想マシンの RAM 容量が 2 GB に設定されている場合、 バルーンドライバはメモリを最大 1.2 GB まで割り当てることができます。 特定の仮想マシンに対してこれらのクォータ制御パラメータを構成するには、prlctl set コマンド の --memquota パラメータを使用します。例えば、次のコマンドは、仮想マシン MyVM のメモリ保 証値を 512 MB に、制限を 2 GB に、優先度を 70 に、バルーニング制限を RAM の 50% に設 定します。 # prlctl set MyVM --memquota 512:2048:70:50 138 リソースを管理する すべてのパラメータが正常に設定されたかどうかを確認するには、以下のコマンドを使用します。 # prlctl list -i MyVM | grep memory_quota memory_quota min=512Mb max=2048Mb priority=70 maxballoon=50% デフォルト設定に戻すには、次のコマンドを実行します。 # prlctl set MyVM --memquota auto 考えられる使用シナリオ 以下の例では、新しい管理方法によってサービスプロバイダの業務をどのように最適化できるのか を示しています。 従量課金の RAM 優先顧客ではない多くの顧客が、割り当てられた RAM のごく一部しか使用していません。これら の仮想マシンは、異なる物理サーバに格納されています。リソース使用率を最適化するために、使 用率の低いすべての仮想マシンを 1 つのサーバに移行することにします。次に、移行する仮想マシ ンの保証値 (a) を、これらの仮想マシンで使用する OS の推奨最小値に仮想マシンオーバーヘッド を加算した値に設定し、メモリ制限 (b) は RAM 値に設定します。このシナリオの説明: • 単一の物理サーバで多数の仮想マシンをホストします。 • すべての仮想マシンに対し、非集中型の処理には十分なメモリを確保しますが、メモリ集中型の 処理に関しては最適なパフォーマンスを保証しません(制限=RAM)。 • 顧客に対し、仮想マシンに割り当てた RAM 量に応じて従量課金します。 "What you pay is what you get"(保証値と制限値に対する従量課金) 多数の顧客が、常に一定量のメモリを必要とする仮想マシンを使用しています。これらの顧客の仮 想マシンに対し、メモリ保証値を、必要なメモリ量に仮想マシンオーバーヘッドを加算した値に設 定します。メモリ制限は保証値と等しく設定します。このシナリオの説明: • 設定したメモリ保証値に応じて顧客に請求します。 • 顧客は支払った分のメモリしか使用できません(保証値=制限)。 • 各仮想マシンに対し、保証値に規定されている必要なメモリ量を確保します。 • いずれの仮想マシンも、ホストおよびホスト上の他の仮想マシンのパフォーマンスに影響を与え ることはありません。この要件を満たすためには、ホスト上のすべての仮想マシンを同じシナリ オ("What you pay is what you get")に設定する必要があります。 139 リソースを管理する "バースタブルメモリ"(保証値に対する課金) 多数の顧客が、ほとんどの時間メモリを少量だけ消費する仮想マシンを使用しています。一時的に、 メモリ集中型の処理が仮想マシンで行われることもあります。これらの仮想マシンのメモリ保証値 は、メモリ非集中型の処理を実行できる十分な値に設定します。また、メモリ制限は「無制限」に設 定します。このシナリオの説明: • 設定したメモリ保証値に応じて顧客に請求します。 • すべての仮想マシンに対し、非集中型の処理を実行できる十分なメモリを確保します。 • 仮想マシンの保証値に定義されている量を超えるメモリが必要になると、ホストから空きメモリ が提供されます(制限は「無制限」)。ホストに十分な空きメモリがない場合、仮想マシンが空 きメモリを奪い合うようになります。 仮想マシンのメモリホットプラグを有効化する ゲスト OS がメモリホットプラグ機能をサポートする場合、仮想マシンに対してこの機能を有効化 できます。メモリホットプラグ機能を有効化すると、たとえ実行中であっても、仮想マシンで使用 できるメモリを増設できます。 注:現バージョンの Parallels Cloud Server では、実行中の仮想マシンで使用できるメモリ容量を減少するこ とはできません。 現在、以下のシステムでメモリホットプラグがサポートされています。 Linux(x86 および x64 バージョン) • CentOS 5.3 以降 • Red Hat Enterprise Linux 5.3 以降 • Fedora 13 以降 • SUSE Linux Enterprise Server 10 以降 • Ubuntu 10.04 以降 Windows • Windows Server 2008 R2 の x64 版(Datacenter Edition) 140 リソースを管理する • Windows Server 2008 の x86 版および x64 版(Standard Edition) • Windows Server 2008 の x86 版および x64 版(Enterprise Edition) • Windows Server 2008 の x86 版および x64 版(Datacenter Edition) • Windows Server 2003 の x86 版および x64 版(Enterprise Edition) デフォルトで、メモリホットプラグサポートは、新規作成されたすべての仮想マシンに対して無効 になっています。この機能を有効化するには、prlctl set コマンドの --mem-hotplug オプション を使用します。例えば、いずれかのサポート対象 OS を実行する仮想マシン MyVM でメモリホット プラグサポートを有効化するには、仮想マシン MyVM を停止して以下のコマンドを実行します。 # prlctl set MyVM --mem-hotplug on set mem hotplug: 1 The VM has been successfully configured. 機能が有効になると、たとえ実行中であっても、仮想マシン MyVM でメモリ容量を増加できるよう になります。 仮想マシン MyVM でメモリホットプラグのサポートを無効化するには、以下のコマンドを実行しま す。 # prlctl set MyVM --mem-hotplug off set mem hotplug:0 The VM has been successfully configured. 仮想マシンの次回起動時に、この変更が反映されます。 コンテナリソース構成を管理する 各コンテナは、個別の構成ファイルによって構成されています。コンテナの構成は、次のように 様々な方法で管理することができます。 1 Parallels Cloud Server に付属する構成サンプルファイルを使用する。これらのファイルは、コ ンテナを新規作成するときに使用されます(詳しくは、「Parallels コンテナ(p. 20)」セクシ ョンを参照してください)。現在、以下の構成サンプルファイルが提供されています。 • basic:標準のコンテナを作成するために使用します。 • confixx:Confixx コントロールパネルを実行するコンテナを作成するために使用します。 • vswap.plesk:Plesk コントロールパネル付きのコンテナを作成するために使用します。 • vswap.256MB:メインメモリが 256 MB 搭載されたコンテナを作成するために使用します。 141 リソースを管理する • vswap.512Mb:メインメモリが 512 MB 搭載されたコンテナを作成するために使用します。 • vswap.1024Mb:メインメモリが 1024 MB 搭載されたコンテナを作成するために使用しま す。 • vswap.2048Mb:メインメモリが 2048 MB 搭載されたコンテナを作成するために使用しま す。 注:サンプル構成ファイル名にスペースを含めることはできません。 また、既存のコンテナに、任意のサンプル構成ファイルを適用することも可能です。例えば、次 のようにして、特定のコンテナのリソース構成全体をアップグレードまたはダウングレードしま す。 # prlctl set 101 --applyconfig basic このコマンドは、ve-basic.conf-sample ファイルの全パラメータをコンテナ 101 に適用しま す。 サーバに Parallels Cloud Server をインストールすると、デフォルトのコンテナサンプルが /etc/vz/conf ディレクトリに保存されます。サンプルは次のようなフォーマットになっていま す。ve-<name>.conf-sample(例えば、ve-basic.conf-sample)。 2 個別のユーティリティを使用して、構成ファイルをまとめて準備する。これらのユーティリティ が実行するタスクは、このセクションのサブセクションに記載されています。 3 対応するコンテナ構成ファイル(/etc/vz/conf/<CT_ID>.conf)を直接作成して編集する。これ には、任意のテキストエディタを使用します。コンテナ構成ファイルを直接編集する方法は、以 降の 4 セクションで説明します。この場合、すべての構成パラメータを個別に 1 つずつ編集す る必要があります。 サーバを均等に分割する サーバの特定の部分を大まかに表すコンテナ構成を作成することが可能です。所与のサーバで完全 にロードされたコンテナを最大 20 件まで同時に実行できるような構成を作成するには、以下のコ マンドを実行します。 # cd /etc/vz/conf # vzsplit -n 20 -f mytest Config /etc/vz/conf/ve-mytest.conf-sample was created 作成される構成は、対象サーバのリソースに応じて異なります。そのため、作成した構成ファイル を使用する前に、vzcfgvalidate ユーティリティで検証することが重要です。例えば: # vzcfgvalidate ve-mytest.conf-sample 142 リソースを管理する Validation completed: success コマンドの出力から、構成ファイルが有効であり、これに基づいて新規コンテナを安全に作成でき ることがわかります。 注:vzsplit コマンドラインユーティリティを使用してコンテナ構成ファイルを生成すると、コンテナ構成フ ァイルは /etc/vz/conf ディレクトリに格納されます。このサンプルは、prlctl create で新しいコンテナ を作成するときにベースとして使用されます。 コンテナ構成をスケーリングする いずれの構成や構成サンプルファイルでも、自社の要件を満たせない場合があります。あるいは、 使用しているアプリケーションが、既存の構成に適合しない場合もあります。コンテナの構成を設 定する最も簡単な方法は、既存の構成をスケーリングすることです。 スケーリングによって、既存の構成より「重い」あるいは「軽い」構成にすることができます。既存 の構成に含まれる全パラメータに、ここで指定する数が乗算されます。係数を 1 より大きくすると 「重い」設定になり、0~1 の間にすると「軽い」設定になります。 注:vzcfgscale コマンドラインユーティリティを使用して、既存のサンプルをベースに新しいサンプルを作 成すると、作成されたコンテナサンプルが /etc/vz/conf ディレクトリに格納されます。このサンプルは、 prlctl create で新しいコンテナを作成するときにベースとして使用されます。 以下のセッションは、Parallels Cloud Server に付属する basic 構成よりも 50% 重い構成サンプ ルを作成する方法を表しています。 # cd /etc/vz/conf # vzcfgscale -a 1.5 -o ve-improved.conf-sample ve-basic.conf-sample # vzcfgvalidate ve-improved.conf-sample Validation completed: success これで、改良された構成ファイルを使用して新規コンテナを作成することが可能になります。 同じ方法で、既存のコンテナの構成をスケーリングすることができます。出力ファイルはスケーリ ングしているファイルと同じにはなりません。スケーリング結果は中間ファイルに保存する必要が あります。 新しい構成サンプルをコンテナに適用する Parallels Cloud Server では、コンテナのベースとなる構成サンプルファイルを変更して、コンテ ナが消費できる全リソースを変更したり、一度に割り当てたりすることができます。例えば、コン 143 リソースを管理する テナ 101 が現在 basic 構成ファイルをベースにしており、コンテナで Plesk アプリケーションを 実行することを計画している場合、コンテナ 101 に basic ではなく vswap.plesk サンプルを適 用して、このコンテナ内で Plesk アプリケーションを実行するために必要なコンテナリソースパラ メータを自動的に調整することができます。これには、サーバで以下のコマンドを実行します。 # prlctl set 101 --applyconfig vswap.plesk このコマンドは、/etc/vz/conf ディレクトリにある ve-vswap.plesk.conf-sample ファイルから リソースパラメータを読み込んで、コンテナ 101 に 1 つずつ適用します。 コンテナに新しい構成サンプルを適用するときは、以下のことを念頭に置いてください。 • すべてのコンテナサンプルファイルは、サーバの /etc/vz/conf ディレクトリに格納され、 ve-<name>.conf-sample というパターンに従って命名されます。--applyconfig オプションの 後は、該当サンプル名の <name> 部分のみを指定します(上の例では vswap.plesk)。 • --applyconfig オプションは、特定のコンテナに対し、指定したサンプルファイル内のすべて のパラメータを、OSTEMPLATE、TEMPLATES、VE_ROOT、VE_PRIVATE、HOSTNAME、IP_ADDRESS、 TEMPLATE、NETIF パラメータ(サンプルファイルにあれば)を除いて適用します。 選択したパラメータに対する変更をオンザフライで設定することが可能か否かによって、コンテナ を再起動する必要がある場合があります。オンザフライで設定できないパラメータがあれば、それ を示すメッセージが表示されます。 仮想マシン構成サンプルを管理する 仮想マシンの構成は、config.pvs 構成ファイルで定義します。この XML 形式のファイルは、新し い仮想マシンを作成すると自動的に生成され、メモリ、CPU、ディスクスペースなど、仮想マシン のすべてのパラメータが含まれています。 仮想マシンが作成されると、prlctl ユーティリティを使用してパラメータを手動で構成できます。 複数の仮想マシン用に複数のパラメータを構成する必要がある場合、この作業は非常に手間がかか ります。作業負荷を軽減するために、仮想マシンサンプルを作成し、仮想マシンの構成を迅速かつ 簡単に変更するために使用できます。また、仮想マシンテンプレートと複数のサンプルファイルを 作成することによって、構成プロセスをさらに簡素化することも可能です。この場合、テンプレー トに基づいて新しい仮想マシンを迅速に作成し、必要な構成ファイルを適用することができます。 144 リソースを管理する 構成サンプルを作成する 仮想マシン構成サンプルの使用を開始する前に、構成サンプルを 1 つ以上作成する必要があります。 最も簡単な方法は、以下の手順に従います。 1 以下のように、仮想マシン構成を作成します。 # prlctl create VmConfiguration 2 仮想マシン構成のパラメータに、必要な値を設定します。例えば、prlctl set コマンドを使用 して、必要なメモリ容量とディスクスペースを設定します。すべてのパラメータは、 VmConfiguration 仮想マシンの config.pvs ファイルに保存されます。 構成サンプルから適用できるパラメータのリストは、以下の「構成サンプルから適用されるパラ メータ」を参照してください。 3 config.pvs ファイルを /etc/parallels/samples ディレクトリにコピーします。このディレク トリが存在しない場合は、以下のコマンドで作成します。 # mkdir /etc/parallels/samples # cp /var/parallels/VmConfiguration/config.pvs /etc/parallels/samples/configMySQL.pvs 2 番目のコマンドは、config.pvs ファイルを configMyDB.pvs ファイルにコピーします。 構成サンプルを仮想マシンに適用する 構成サンプルの作成が完了したので、任意の仮想マシンにこれを適用します。これには、prlctl set コマンドを --applyconfig オプション付きで使用して、拡張子 .pvs を付けずにサンプル名を指定 します。例えば、configMySQL サンプルを仮想マシン VM1 に適用するには、以下のコマンドを実行 します。 # prlctl set VM1 --applyconfig configMySQL 構成サンプルを適用できるのは、停止中の仮想マシンのみです。 構成サンプルから適用されるパラメータ 新しい構成サンプルから、以下のパラメータが仮想マシンに適用されます。 • メモリ関連のすべてのパラメータ(RAM とビデオの両方)。サンプルファイルでこれらのパラ メータを確認するには、<Memory> 要素と <Video> 要素を探します。 • すべての CPU 関連パラメータ。サンプルファイルでこれらのパラメータを確認するには、 <Cpu> 要素を探します。 145 リソースを管理する • IO および IOPS パラメータ。サンプルファイルでこれらのパラメータを確認するには、 <IoLimit> 要素と <IopsLimit> 要素をそれぞれ探します。 • ディスクスペースパラメータ。サンプルファイルでこのパラメータを確認するには、<Hdd> 要素 内にある <Size> 要素を探します。 <Hdd id=0" dyn_lists="Partition 0"> <Index>0</Index> <Size>65536</Size> </Hdd> <Size> 要素の値が適用される仮想ディスクは、<Index> 要素内のインデックス番号で定義され ます。例えば、上の例では、ディスクスペースのパラメータ(65536 MB)はインデックス番号 0 の仮想マシンに適用されます。指定されたインデックス番号の仮想ディスクが仮想マシンにない 場合、パラメータは無視されます。 リソースをモニタリングする Parallels Cloud Server では、pstat ユーティリティを使用してシステムリソースをリアルタイム にモニタリングできます。実行すると、このユーティリティはシステムのステータスと負荷を表示 します(ディスク、ネットワーク、CPU、メモリ、その他のパラメータ)。また、実行中の仮想マシ ンおよびコンテナのリストを、リソース消費統計付きで表示します。例えば、サーバで以下のコマ ンドを実行し、現在のシステムリソースを確認できます。 # pstat -d 5 5:39pm, up 4 days, 5:33, 2 users, load average:1.08、1.11、1.05 CTNum 2, procs 268:R 1, S 265, D 1, Z 0, T 1, X 0 CPU [ OK ]:CTs 0%, CT0 0%, user 0%, sys 1%, idle 99%, lat(ms) 1/0 Mem [ OK ]: total 7831MB, free 4147MB/0MB (low/high), lat(ms) 1/0 ZONE0 (DMA): size 9MB, act 0MB, inact 0MB, free 10MB (0/0/0) ZONE1 (DMA32): size 3238MB, act 42MB, inact 39MB, free 3118MB (4/5/6) ZONE2 (Normal): size 4661MB, act 2730MB, inact 606MB, free 1019MB (6/8/9) Mem lat (ms):A0 0, K0 1, U0 0, K1 1, U1 0 Slab pages:181MB/181MB (ino 39MB, de 13MB, bh 21MB, pb 40MB) Swap [ OK ]: tot 2000MB, free 2000MB, in 0.000MB/s, out 0.000MB/s Net [ OK ]: tot: in 0.027MB/s 233pkt/s, out 0.040MB/s 37pkt/s lo: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s eth0: in 0.014MB/s 116pkt/s, out 0.020MB/s 19pkt/s sit0: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s br0: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s br1: in 0.013MB/s 116pkt/s, out 0.020MB/s 19pkt/s Disks [ OK ]: in 0.000MB/s, out 0.000MB/s ST %VM OK 0.0/27 OK 0.2/685 OK 0.4/685 OK 27/6.7 146 %KM 0.0/0.0/0.0/0.1/- CPU FCNT MLAT NAME 0.00/33 0 0 1 0.00/33 0 0 101 0.00/33 0 0 102 0.00/33 0 0 Windows7 リソースを管理する コマンドの出力は、–d(delay、遅延)オプションの後に指定された間隔(秒)をあけて更新されま す。上記のセッションでは、表示される統計は 5 秒おきに更新されます。–d オプションが指定さ れていない場合、デフォルト間隔は 1 秒です。 ユーティリティは、物理サーバと仮想マシンおよびコンテナの両方に関連するすべてのメインリソ ースサブシステム(ディスク、ネットワーク、CPU、メモリサブシステム)について、リアルタイム な情報を表示します。–v(verbose)の代わりに –b(brief)オプションを指定してユーティリティ の出力を圧縮するか、何もオプションを指定しないで「normal」モードで表示したい場合がありま す。 以下の情報は、各仮想マシンまたはコンテナごとに表示されます。 列 説明 ST 仮想マシンまたはコンテナ のステータス。失敗したカウンタがなく、待ち時間の値が通常であれば、ステータスは「OK」 になります。それ以外の場合、赤で「!!」が表示されます。仮想マシンおよびコンテナをステータスでソートして、問題の ある仮想マシンおよびコンテナを先頭に表示することができます。 %VM 仮想メモリの使用率。全メモリに対するパーセンテージで表示。最初の数字は、現在使用中の仮想メモリ量であり、2 番目 の数字は仮想メモリのバリアです。 %KM カーネルメモリの使用率。標準ゾーンサイズに対するパーセンテージで表示。最初の数字は、現在使用中のカーネルメモリ 量であり、2 番目の数字は仮想メモリのバリアです。 CPU CPU 使用率。使用可能な全 CPU に対するパーセンテージで表示。最初の数字はコンテナが使用している CPU パワーの 量であり、2 番目の数字は cpuunits パラメータによって決定する保証されたシェアです。実際の CPU 使用率が保証 値よりも高くなる場合もあります。 FCNT 全リソースパラメータの失敗カウンタ数。この数字は、標準モードでは前回の画面更新以来の失敗カウンタの増加を示しま すが、平均モードでは、ある仮想マシンまたはコンテナの失敗カウンタの合計を示します。 MLAT 仮想マシンまたはコンテナのスケジューリングの最大待ち時間(ミリ秒単位)。このパラメータは、ある仮想マシンまたは コンテナ内でのスケジューリングの最大待ち時間、つまり仮想マシンまたはコンテナ内のプロセスが CPU を最大でいつま で待機できるのかを示します。 NAME 仮想マシンまたはコンテナの名前。 %VM、%KM、および CPU 列は、各仮想マシンおよびコンテナにつき 1 つの列で 2 つの値をス ラッシュで区切って示します。最初の値は仮想マシンおよびコンテナによる該当パラメータの実際 の使用量であり、2 番目の値は仮想マシンおよびコンテナに許可されている最大値を示します。 pstat ユーティリティで使用できるオプションについて詳しくは、『Parallels Cloud Server 6.0 コ マンドラインリファレンスガイド』(※英語)を参照してください。 147 第 5 章 サービスおよびプロセスを管理する この章では、サービスやプロセスとはどのようなもので、システムの操作やパフォーマンスにどの ような影響を及ぼし、システム内でどのようなタスクを実行するのかを説明します。 ここでは、コマンドラインユーティリティを使用して Parallels Cloud Server でサービスおよびプ ロセスを管理する方法を学びます。 特に、システム内のアクティブなプロセスのモニタリング方法、 xinetd に依存するサービスのモードの変更方法、プロセスが実行されているコンテナの ID をプロ セス ID から識別する方法、サービスおよびプロセスの起動、停止、再起動方法、およびサービス 実行レベルの編集方法を説明します。 注:現バージョンの Parallels Cloud Server では、Parallels Cloud Server ユーティリティを使用して仮想マ シン内のサービスとプロセスを管理することはできません。ただし、特定の仮想マシンにログインし(例えば Windows 仮想マシンには RDP 経由で、Linux 仮想マシンには SSH 経由で)、スタンドアロンコンピュータ と同じ方法でサービスおよびプロセスを管理することができます。 この章の構成 サービスおよびプロセスとは ..................................................................... 149 サービスおよびプロセスに対する主な操作 .................................................... 150 プロセスおよびサービスを管理する ............................................................ 151 サービスおよびプロセスを管理する サービスおよびプロセスとは システムで起動中のあらゆるプログラムのインスタンスが、プロセスと呼ばれます。プロセスは、 プログラムの実行に必要な仮想アドレス空間と制御情報とみなすこともできます。一般的なプロセ スの例は、サーバ上または Linux ベースのコンテナ内で実行される vi アプリケーションです。こ れらの一般的なプロセスに加えて、多数のプロセスでは他のプロセスを呼び出すためのインターフ ェースが用意されており、これらはサービスと呼ばれています。多くの場合、サービスは多くの重 要なシステムプロセスの背後で中枢部としての役割を果たします。通常これらのサービスは、イベ ントが発生するまで、あるいはタスクの実行がスケジューリングされている時間に達するまで、待 機しているだけです。多くのサービスは、ネットワーク上の別のサーバに対し、各種ネットワーク プロトコル経由で所定のサーバに接続できる機能を提供しています。例えば nfs サービスは、NFS サーバの機能を提供することにより、TCP/IP ネットワークでのファイル共有を可能にしています。 プロセスおよびサービスに関連して、「デーモン」という用語も幅広く使用されています。これは、 サーバシステムで特定の機能を実行するために使用されるソフトウェアプログラムであり、通常は 「サービス」の同義語として使用されます。名前の最後に「d」が付いているので簡単に識別できま す。例えばたとえば httpd(HTTP デーモンの短縮形)とは、システムのバックグラウンドで実行さ れ、ウェブサーバへの受信リクエストを待機するソフトウェアプログラムです。デーモンはリクエ ストに自動的に回答し、HTTP を使用してインターネットを介してハイパーテキストおよびマルチ メディア文書を提供します。 サービスで作業を行う際には、以下についてご注意ください。サービスは、存続期間中多くのシス テムリソースを使用します。システム内の CPU を使用して命令を実行し、システム内の物理メモ リを使用して稼働したりデータを保存します。ファイルをファイルシステム内で開いて使用するこ とや、システム内の特定の物理デバイスを直接または間接的に使用することができます。そのため、 システムパフォーマンスを低下させないためには、現時点で本当に必要なサービスだけを Parallels サーバで実行するようにします。 また、ホスト OS でサービスを実行するのは、仮想マシンおよびコンテナで実行する場合より遥か に危険ですのでご注意ください。何者かが仮想マシンおよびコンテナで実行中のサービスから不正 アクセスしても、危害を加えることができるのはこのサービスを実行している仮想マシンおよびコ ンテナだけであり、サーバ上の別の仮想マシンおよびコンテナに影響はありません。もちろん、 Parallels サーバ自体も無傷です。一方、このサービスを Parallels サーバ上で実行していると、サ ーバ本体と、そこで実行されるすべての仮想マシンおよびコンテナが破壊される恐れがあります。 149 サービスおよびプロセスを管理する 従って、サーバで実行するサービスは、サーバの正常な機能のために本当に必要なものだけに留め てください。現時点で必要なその他の追加サービスは、別の仮想マシンおよびコンテナで起動しま す。こうすることで、システムの安全性を飛躍的に向上できます。 サービスおよびプロセスに対する主な操作 システム内のプロセスおよびサービスは、システム全体の運用やパフォーマンスに多大な影響を与 えます。そのため、これらをモニタリングおよび制御する機能は必要不可欠です。各プロセスやサ ービスが何を行っているのか詳しく把握することで、問題が発生した場合でも容易に原因を究明し て解決することが可能になりますす。 Parallels サーバ上または仮想マシンおよびコンテナ内で実行されているサービスの管理に関連する 最も一般的なタスクには、サービスの起動、停止、有効化、無効化があります。例えば、サービス を起動して特定のサーバベースアプリケーションを使用したり、サービスを停止または一時停止し てテストやトラブルシューティングを行う必要があります。 xinetd に依存するサービスの場合、サービスの起動や停止は行わず、有効化や無効化を行います。 このように有効化されたサービスは、xinetd デーモンの状態に基づいて起動および停止されます。 無効化されたサービスは、xinetd の状態を問わず起動されません。 Parallels Cloud Server では、Linux コマンドラインユーティリティを使用して、Parallels サーバ 上およびコンテナ内のサービスを管理できます。ローカルでも、ネットワークに接続されたサーバ からでも、行うことができます。 プロセスについては、vzps、vztop、vzpid などの Parallels Cloud Server ユーティリティによっ て、どのプロセスが行っているかを見てそれを制御することができます。速度が遅くなったり動作 が不安定になるなど、システムに問題が発生した場合は、これらのユーティリティを使用してその 原因を突き止めることができます。Parallels Cloud Server では、一般的なシステムで実行できる すべての操作をプロセスに対して実行できます。例えば、終了信号を送信してプロセスを強制終了 することができます。 150 サービスおよびプロセスを管理する プロセスおよびサービスを管理する Parallels Cloud Server では、サービスおよびプロセスは次の Parallels コマンドラインユーティリ ティによって管理できます。 • vzps • vzpid • vztop これらを使用して、以下のタスクを実行できます。 • Parallels サーバ上のアクティブなプロセスについて情報を出力する • プロセスのアクティビティをリアルタイムに表示する • サービスのモードを変更する(xinetd に依存、またはスタンドアロン) • プロセスが実行されているコンテナの ID をプロセス ID から識別する 注:現在のバージョンの Parallels Cloud Server では、Parallels Cloud Server ユーティリティを使用して仮 想マシン内のサービスとプロセスを管理することはできません。ただし、特定の仮想マシンにログインし(例え ば Windows 仮想マシンには RDP 経由で、Linux 仮想マシンには SSH 経由で)、スタンドアロンコンピュー タと同じ方法でサービスおよびプロセスを管理することができます。 アクティブなプロセスおよびサービスを表示する vzps ユーティリティは、Parallels サーバ上で実行されている複数コンテナのモニタリングに関連 する追加機能を提供します。例えば、-E スイッチを vzps ユーティリティで使用して、以下を実行 できます。 • プロセスを実行しているコンテナ ID の表示 • 特定のコンテナで実行中のプロセスの表示 vzps は、Parallels サーバ上のアクティブなプロセスについて情報を出力します。オプションを指 定しないで実行すると、vzps は現在のターミナルで実行中のプロセスだけを一覧表示します。以下 は vzps を実行した際の出力例です。 # vzps PID TTY 4684 pts/1 27107 pts/1 TIME CMD 00:00:00 bash 00:00:00 vzps 151 サービスおよびプロセスを管理する 現在ユーザ/ターミナルに割り当てられているプロセスは、bash シェルおよび vzps コマンド自体 だけです。出力には、PID(プロセス ID)、TTY、TIME、および CMD フィールドが含まれていま す。TTY はプロセスが実行されているターミナル、TIME はプロセスがこれまでに使用した CPU 時間、CMD はプロセスを開始したコマンドの名前です。 注:コンテナ内で実行中であり、Parallels サーバで vzps コマンドを実行すると表示されるプロセスの ID は、これらのコンテナ内で ps を実行すると表示される同じプロセスの ID と一致しません。 お気づきのように、標準的な vzps コマンドは基本情報を一覧表示するだけです。サーバ上で実行 されているプロセスの詳細を確認するには、vzps に何らかのコマンドライン引数を渡す必要があり ます。例えばこのコマンドで aux 引数を使用すると、他のユーザが開始したプロセス(a)、ターミ ナルがないかターミナルが自身と異なるプロセス(x)、プロセスを開始したユーザといつ開始した のか(u)が表示されます。 # vzps aux USER PID %CPU root 1 0.0 root 5 0.0 root 6 0.0 #27 7 0.0 root 9 0.0 root 1574 0.0 %MEM VSZ RSS TTY STAT START TIME COMMAND 0.0 1516 128 ? S Jul14 0:37 init 0.0 0 0 ? S Jul14 0:03 [ubstatd] 0.0 0 0 ? S Jul14 3:20 [kswapd] 0.0 0 0 ? S Jul14 0:00 [bdflush] 0.0 0 0 ? S Jul14 0:00 [kinoded] 0.1 218 140 pts/4 S 09:30 0:00 -bash 表示される情報が増えました。USER、%CPU、%MEM、VSZ、RSS、STAT、および START とい うフィールドが追加されました。それらが何を示すのか簡単に見てみましょう。 USER フィールドはコマンドを開始したユーザを示します。多くのプロセスはシステム開始時に起 動するため、root または何らかのシステムアカウントが USER にリストされることがあります。 もちろん、他のプロセスは個別ユーザが実行しています。 %CPU、%MEM、VSZ、および RSS フィールドはすべて、システムリソースを扱います。まず、 プロセスが現在 CPU を何パーセント使用しているのかがわかります。CPU 使用率とともに、現在 のメモリ使用量とその VSZ(仮想メモリサイズ)および RSS(常駐設定サイズ)が確認できます。 VSZ は、プログラムがすべてメモリ内にあると使用するであろうメモリ量であり、RSS は現在実際 に使用しているメモリ量です。プロセスが現在使用している量を知ることで、正常に動作しており 制御不能になっていないかを判断できます。vzps aux の出力結果を見ると、ほとんどの TTY フィ ールドに疑問符が付いています。これは、これらのプログラムのほとんどが、起動時に開始された ものであるか初期化スクリプトによって開始されたものであるためです。これらのプロセスには制 御ターミナルが存在しないため、疑問符が付いています。一方、bash コマンドの TTY 値は pts/4 です。これは、リモート接続から実行されているコマンドであり、ターミナルが紐付いています。 152 サービスおよびプロセスを管理する この情報は、マシンで複数の接続が開いている場合に、どのウィンドウでコマンドを実行している かを判別するのに役立ちます。 STAT は、プロセスの現在のステータスを示します。この例では、多くのプロセスがスリープして おり、STAT フィールドに「S」が表示されています。これは単に、プロセスが何かを待機している ことを表します。おそらく、ユーザの入力や、システムリソースが使用可能になるのを待機してい ると考えられます。それ以外の一般的なステータスには、現在実行中であることを示す「R」があり ます。 注:すべての vzps パラメータ、出力フィールド、プロセスの状態などについて詳しくは、vzps のマニュアル ページをご覧ください。 また、vzps コマンドを使用して、実行中の任意のコマンド内のプロセスを表示することもできます。 以下の例は、コンテナ 101 のアクティブなプロセスをすべて表示する方法を示しています。 # vzps -E 101 CTID PID TTY 101 27173 ? 101 27545 ? 101 27555 ? 101 27565 ? 101 27576 ? 101 27583 ? 101 27584 ? 101 27587 ? 101 27596 ? TIME CMD 00:00:01 init 00:00:00 syslogd 00:00:00 sshd 00:00:00 xinetd 00:00:03 httpd 0:00:00 httpd 0:00:00 httpd 00:00:00 crond 00:00:00 saslauthd プロセスをリアルタイムでモニタリングする vztop ユーティリティは vzps に似ていますが、通常はフル画面で起動し、プロセス情報が逐次更 新されます。問題があまり頻繁に起きず、vzps では見るのが難しいプログラムに対して便利です。 システム全体の情報も表示されるため、問題を特定するのに役立ちます。 vztop ユーティリティは、標準の Linux top ユーティリティと同様に、サーバ上で実行することが できます。vztop ユーティリティと top ユーティリティの違いは、次の点のみです。 • vztop では、-E オプションを使用することによって、プロセスを表示したいコンテナに属する プロセスだけ、モニタリングすることができます。 • 対話型コマンド e を使用して、プロセスを実行している CTID を一時的に表示/非表示にする ことができます。 • 対話型コマンド E を使用して CTID フィールドにフィルタを設定すると、該当するコンテナに 属するプロセスだけが表示されます。 153 サービスおよびプロセスを管理する 通常、vztop ユーティリティの出力は次のようになります。 # vztop -E 101 17:54:03 up 20 days, 23:37, 4 users, load average: 2.13、1.89、1.75 305 processes: 299 sleeping, 3 running, 3 zombie, 0 stopped CPU0 states: 20.1% user 51.2% system 0.0% nice 0.0% iowait 28.1% idle CPU1 states: 21.2% user 50.0% system 0.0% nice 0.0% iowait 28.1% idle Mem: 1031088k av, 969340k used, 61748k free, 0k shrd, 256516k buff 509264k active, 330948k inactive Swap: 4056360k av, 17156k used, 4039204k free 192292k cached CTID PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 101 27173 root 16 0 1616 604 1420 S 0.0 0.1 0:01.86 init 101 27545 root 16 0 1520 624 1356 S 0.0 0.1 0:00.34 syslogd 101 27555 root 25 0 4008 1700 3632 S 0.0 0.4 0:00.04 sshd 101 27565 root 25 0 2068 860 1740 S 0.0 0.2 0:00.05 xinetd 101 27576 root 16 0 7560 3180 6332 S 0.0 0.7 0:03.78 httpd 101 27587 root 16 0 2452 1036 1528 S 0.0 0.2 0:00.34 crond 101 27596 root 25 0 4048 1184 3704 S 0.0 0.2 0:00.01 saslauthd このように、vztop は現在実行中のプロセッサのアクティビティをリアルタイムに表示します(表示 はデフォルトで 5 秒毎に更新されますが、この設定はコマンドラインオプション d または対話型 コマンド s で変更することができます)。システムで CPU の使用率が高いタスクが一覧表示され、 プロセスの操作に使用できる対話型インターフェースを表示することができます。タスクを CPU 使用量、メモリ使用量、およびランタイムの順に並べ替えることができます。-E オプションに続い て 101 を指定すると、コンテナ 101 内で実行中のプロセスだけが表示されます。さらに、上記の e コマンドや E コマンドなど、ほとんどの機能は対話型コマンドで選択できます。 注:現バージョンの Parallels Cloud Server では、vztop ユーティリティを使用して仮想マシン内のプロセス を管理することはできません。 プロセス ID からコンテナ ID を識別する 各プロセスは一意の PID(プロセス ID)で識別できます。PID とは、カーネルのプロセステーブル における特定のプロセスのエントリです。例えば、Apache を起動すると、プロセス ID が割り当 てられ、この PID はその後、このプログラムのモニタリングと制御に使用されます。PID は常に 正の整数となります。Parallels Cloud Server では、vzpid(プロセス ID の取得)ユーティリティ を使用して、特定の ID が属するコンテナ ID を出力できます。引数として、複数のプロセス ID を指定できます。その場合、各プロセスに対してコンテナ番号が表示されます。 一般に、vzpid ユーティリティの結果は次のように出力されます。 # vzpid 12 Pid VEID 12 101 Name init この例では、ID が 12 のプロセスは「init」という名前で、ID が 101 のコンテナで実行されてい ます。 154 サービスおよびプロセスを管理する 注:また、vzps ユーティリティにより、特定のプロセスが実行されているコンテナ ID を表示することもでき ます。 155 第 6 章 Parallels Cloud Server ネットワークを管理 する この章では、Parallels Cloud Server ネットワーク構成の概要を説明し、Parallels ネットワーキン グコンポーネントを列挙し、これらのコンポーネントをお客様の環境で管理する方法を説明します。 具体的には、次の情報を提供します。 • Parallels サーバ上でネットワークアダプタを管理する方法 • Parallels サーバ上で管理できる仮想ネットワークとその管理方法 • 仮想マシンおよびコンテナ内に仮想ネットワークアダプタを作成し、そのパラメータを設定する 方法 • 仮想マシンおよびコンテナを異なるネットワークに接続する方法 この章の構成 Parallels サーバでネットワークアダプタを管理する ....................................... 157 Parallels Cloud Server のネットワークモード .............................................. 159 ホストルートモードで仮想マシンおよびコンテナを構成する ............................. 167 ブリッジモードで仮想マシンおよびコンテナを構成する ................................... 169 専用ネットワークを管理する ..................................................................... 181 オフライン管理を構成する........................................................................ 191 Open vSwitch ブリッジを使用する ............................................................ 197 Parallels Cloud Server ネットワークを管理する Parallels サーバでネットワークアダプタを管理する Parallels サーバにインストールされたネットワークアダプタは、仮想マシンおよびコンテナに他の 仮想マシンおよびコンテナあるいは外部ネットワークへのアクセスを提供するために使用されます。 インストール中、Parallels Cloud Server は使用可能なすべての物理ネットワークアダプタと VLAN ネットワークアダプタをサーバに登録します。これに加え、多数の VLAN アダプタをサーバ で作成します。Parallels Cloud Server のインストールが完了すると、ネットワークアダプタに対 して次のような操作を実行できます。 • サーバで現在使用可能なアダプタを一覧表示する • サーバに新規 VLAN アダプタを作成する 注:仮想ネットワークについて詳しくは、「仮想ネットワークを管理する(p. 169)」を参照してください。 これらの作業について、以下のサブセクションで詳しく説明します。 アダプタを一覧表示する vznetcfg ユーティリティを使用して、Parallels サーバにインストールされている物理、仮想、お よび VLAN ネットワークアダプタを表示することができます。例えば、以下のコマンドを実行する と、使用可能なアダプタが一覧表示されます。 # vznetcfg if Name Type eth0 nic br1 bridge br0 bridge list Network ID Addresses Bridged 10.30.18.41/16,fe80::20c:29ff:fee8:9419/64,dhcp Bridged fe80::200:ff:fe00:0/64 Host-Only fe80::200:ff:fe00:0/64 アダプタの情報は、表の下記のような列に表示されます。 列 説明 Name アダプタ名 Type ネットワークアダプタのタイプ。以下のいずれかの値をとります。 • nic:物理アダプタ • vlan:VLAN アダプタ • bridge:Parallels サーバ上の各仮想マシンに対して自動的に作成される仮想ブリッジ • vethX: 各コンテナ内の各 veth ネットワークアダプタに対して自動的に作成される仮想ネット 157 Parallels Cloud Server ネットワークを管理する ワークアダプタ • vmeN: 仮想マシン内にありブリッジモードで機能する各ネットワークアダプタに対して自動的に 作成される仮想ネットワークアダプタ Network ID ネットワークアダプタが接続されている仮想ネットワークの ID。仮想ネットワークについて詳しくは、「仮想ネッ トワークを管理する(p. 169)」セクションで説明します。 Addresses ネットワークアダプタに割り当てられている IP アドレスおよびサブネットマスク。dhcp は、アダプタがネット ワークパラメータを DHCP サーバから取得することを示します。 VLAN アダプタを作成する Parallels Cloud Server では、Parallels サーバで新規 VLAN アダプタを作成できます。後でこの アダプタを使用して、使用可能な任意の仮想ネットワークに仮想マシンとコンテナを接続できます (仮想ネットワークについて詳しくは、「仮想ネットワークを管理する(p. 169)」を参照してくだ さい。)VLAN アダプタは、vznetcfg vlan add コマンドを使用して作成できます。VLAN アダプ タを作成するには、2 つのパラメータを指定する必要があります。 • VLAN ID - 仮想 VLAN を一意に識別し、サーバ上の別の VLAN と区別する任意の整数。 • VLAN を紐付ける、サーバ上の物理ネットワークアダプタ。 例えば、以下のコマンドを実行して新しい VLAN アダプタを作成し、ID が 5 の VLAN(つまり VLAN 5)に関連付けて、この VLAN アダプタをサーバ上の eth0 物理アダプタにアタッチするこ とができます。 # vznetcfg vlan add eth0 5 VLAN アダプタが正常に作成されたことを確認するには、以下のコマンドを使用します。 # vznetcfg if list Name Type Network ID Addresses eth0 nic 192.168.0.150/22,dhcp eth0.5 vlan ... VLAN アダプタは、コマンド出力の Type の列に表示された vlan の指定で簡単に識別できます。 上の例を見ると、このサーバには現在 VLAN アダプタが 1 つだけあり、名前は「eth0.5」です。 この名前は、指定された ID と、VLAN アダプタが紐付けられている物理アダプタの名前に基づい て自動的に生成されています。 以下のコマンドを実行することにより、いつでも eth0.5 VLAN アダプタを削除(つまり、VLAN 5 を破棄)できます。 # vznetcfg vlan del eth0.5 158 Parallels Cloud Server ネットワークを管理する Parallels Cloud Server のネットワークモード Parallels Cloud Server では、すべての仮想マシンおよびコンテナが以下の 2 種類のネットワーク モードのいずれかで機能できます。 • ホストルート • ブリッジネットワーク これらのモードについては、この後のセクションで詳しく説明します。 コンテナのネットワークモード このセクションでは、コンテナのブリッジネットワークモードとホストルートネットワークモード について説明します。 注:コンテナ内の IPSec 接続はサポートされています。 コンテナのホストルートモード デフォルトで、新規コンテナはホストルートモードで動作するように設定されています。このモー ドで各コンテナは、サーバとの通信、サーバ上の別のコンテナとの通信、および外部ネットワーク 上のコンピュータとの通信のために、特別なネットワークアダプタ venet0 を使用します。次の図 は、すべてのコンテナがホストルートモードで動作するように設定されているネットワーク構成の サンプルです。 159 Parallels Cloud Server ネットワークを管理する この構成の説明: • コンテナ #1、コンテナ #2、コンテナ #3 は、他のネットワークとのデータの送受信のため に、venet0 アダプタをデフォルトゲートウェイとして使用します。また、このアダプタは、ほ かにコンテナ間のトラフィック交換にも使用されます。 • コンテナ #1、コンテナ #2、およびコンテナ #3 が起動すると、サーバは ARP テーブルとル ーティングテーブルにコンテナ用の ARP エントリとルーティングエントリを作成します。サー バ上の現在の ARP エントリとルーティングエントリを確認するには、arp -n コマンドと route -n コマンドを使用します。例えば: # arp -n Address 10.30.0.4 10.30.23.162 192.168.200.101 160 HWtype ether ether * HWaddress Flags Mask 00:1a:e2:c7:17:c1 C 70:71:bc:42:f6:a0 C * MP Iface eth0 eth0 eth0 Parallels Cloud Server ネットワークを管理する 192.168.200.102 192.168.200.103 * * * * # route -n Kernel IP routing table Destination Gateway 192.168.200.101 * 192.168.200.102 * 192.168.200.103 * 10.30.0.0 * default parallels.com MP MP Genmask 255.255.255.255 255.255.255.255 255.255.255.255 255.255.0.0 0.0.0.0 eth0 eth0 Flags Metric Ref UH 1000 0 UH 1000 0 UH 1000 0 U 0 0 UG 0 0 Use 0 0 0 0 0 Iface venet0 venet0 venet0 eth0 eth0 この例で、ARP テーブルとルーティングテーブルには、コンテナ #1、コンテナ #2、コンテ ナ #3 に紐付けられた IP アドレス 192.168.200.101、192.168.200.102、 192.168.200.103 についてのエントリが含まれています。 注:サーバには、オフライン管理機能が有効であるが実行されていないコンテナの ARP テーブルとルーティ ングテーブルも格納されています。この機能について詳しくは、「オフライン管理を構成する(p. 191)」を参 照してください。 • すべてのコンテナ送信ネットワークトラフィックは venet0 アダプタに集められ、サーバのルー ティングテーブルに従って eth0 物理アダプタを経由し、宛先まで転送されます。 • コンテナ受信ネットワークトラフィックも、すべて venet0 アダプタで処理されます。以下の例 で見てみましょう。 1. ローカルネットワーク上のコンピュータ X は、IP アドレス 192.168.200.101 のコンテナ #1 にデータパケットを送信する必要があるため、この IP アドレスを持つコンピュータを 問い合わせる ARP 要求を発行します。 2. コンテナ #1 を格納しているサーバが、その MAC アドレスを回答します。 3. コンピュータ X は、指定された MAC アドレスにデータパケットを送信します。 4. サーバがパケットを受け取って venet0 に送信し、venet0 はパケットをコンテナ #1 に転 送します。 コンテナのブリッジモード コンテナのデフォルトネットワークアダプタは、ホストルートモードのみで動作しますが、別の仮 想アダプタをコンテナに追加で作成し、ブリッジネットワークモードで動作させることができます。 以下のサンプルネットワーク構成では、コンテナ #1 とコンテナ #2 がブリッジモードで動作する ように設定されています。 161 Parallels Cloud Server ネットワークを管理する この構成の説明: • コンテナ #1 とコンテナ #2 には、2 つのネットワークインターフェースから成る別々の仮想 アダプタが紐付けられています。 • コンテナ側の ethX インターフェース(図内の eth0)。このインターフェースは、スタンド アロンサーバにインストールされた物理ネットワークアダプタに相当します。物理アダプタ と同様に、MAC アドレスを 1 つ持ち、IP アドレスを 1 つ以上割り当てることができ、異 なるネットワークに含めることができます。 • サーバ側の vethX インターフェース(図内の veth101.0 および veth102.0)。このイン ターフェースは、主にサーバとコンテナ内の Ethernet インターフェースとの通信を維持す るために使用されます。 注:簡略化のために、ブリッジモードで機能する仮想アダプタを veth アダプタと呼びますが、技術的に言え ば正しいとはいえません。 162 Parallels Cloud Server ネットワークを管理する 両インターフェースは互いに密接にリンクしており、一方のインターフェースが受信したデータ パケットは、常にもう一方のインターフェースから送信されます。 • コンテナ #1 とコンテナ #2 は、個別の ARP テーブルとルーティングテーブルを持ち、デー タの送受信時にこれらのテーブルを参照します。 • 両コンテナの veth アダプタは、ブリッジ br1 経由で物理ネットワークアダプタ eth0 にブリ ッジされます。 • すべてのコンテナ送信トラフィックは veth アダプタ経由でブリッジに集められ、コンテナに保 存されたルーティングテーブルに従って eth0 物理アダプタを経由し、宛先まで送信されます。 • コンテナ #1 とコンテナ #2 へのすべての受信データパケットは、まず eth0 物理アダプタに 集められてから、ブリッジ経由で宛先コンテナの veth アダプタに送信されます。 仮想マシンのネットワークモード このセクションでは、仮想マシンのブリッジネットワークモードとホストルートネットワークモー ドについて説明します。 仮想マシンのブリッジモード デフォルトで、新規仮想マシンはブリッジモードで動作するネットワークアダプタ付きで作成され ます。以下の図は、2 つの仮想マシン VM #1 と VM #2 がブリッジモードで動作するように設定 されているサンプルネットワーク構成です。 163 Parallels Cloud Server ネットワークを管理する この構成の説明: • 各仮想マシンには個別の仮想アダプタがあり、2 つのインターフェースにつながっています。仮 想マシン側の ethX インターフェース(図内の eth0)およびサーバ側の vme インターフェース (図内の vme7b9a73a1.0 および vme4980d06a.0)です。両インターフェースは互いに密接にリ ンクしており、一方のインターフェースが受信した IP パケットは、常にもう一方のインターフ ェースから送信されます。eth アダプタは MAC アドレスを 1 つ持ち、IP アドレスを 1 つ以 上割り当てることができ、異なるネットワーク環境に属することができます。 注:簡略化のために、ブリッジモードで機能する仮想アダプタを vme アダプタと呼びますが、技術的には正し くありません。 • VM #1 と VM #2 は、個別の ARP テーブルとルーティングテーブルを持ち、データの送受信 時にこれらのテーブルを参照します。 164 Parallels Cloud Server ネットワークを管理する • 両仮想マシンの仮想アダプタは、ブリッジ br1 経由で物理ネットワークアダプタ eth0 にブリ ッジされます。 • すべての送信データパケットは、仮想マシンからブリッジと物理アダプタ eth0 を経由して、ル ーティングテーブルに従って宛先まで送信されます。 • VM #1 と VM #2 へのすべての受信データパケットは、まず eth0 物理アダプタに集められて から、ブリッジ経由で宛先仮想マシンの vme インターフェースに送信されます。 仮想マシンのホストルートモード 仮想マシンは、ホストルートモードという別のネットワークモードでも機能します。以下の図は、3 つの仮想マシン VM #1、VM #2、VM #3 がホストルートモードで動作するように設定されている サンプルネットワーク構成です。 この構成の説明: 165 Parallels Cloud Server ネットワークを管理する • 各仮想マシンには仮想アダプタがあり、2 つのインターフェースにつながっています。仮想マシ ン側の ethX インターフェースと、サーバ側の vmeX インターフェースです。 • ブリッジモードと違い、VM #1 と VM #2 の ARP エントリは、仮想マシン自体ではなくサー バに保存されます。VM #1 と VM #2 の起動時に、サーバがこれらの ARP エントリを作成し、 ARP テーブルに保存します。arp -n コマンドを次のように使用して、サーバの現在の ARP エ ントリを確認できます。 # arp -n Address 10.30.0.4 10.30.23.162 192.168.200.201 192.168.200.202 • HWtype ether ether * * HWaddress 00:1a:e2:c7:17:c1 70:71:bc:42:f6:a0 * * Flags Mask C C MP MP Iface eth0 eth0 eth0 eth0 ARP エントリとともに、サーバは両仮想マシン用にルーティングエントリも作成します。した がって、IP アドレス 192.168.200.201 宛てのデータパケットを受信すると、サーバはこのパ ケットを VM #1 の vmeXXXXXXXX.0 インターフェースに転送しなければならないと認識しま す。 • このサーバは両仮想マシンへのすべての受信トラフィックを処理します。以下の例で見てみまし ょう。 1. ネットワーク上のコンピュータ X は、IP アドレス 192.168.200.201 の VM #1 にデー タパケットを送信する必要があるため、この IP アドレスを持つコンピュータを問い合わせ る ARP 要求を発行します。 2. サーバが自身の MAC アドレスを返します。 3. コンピュータ X は、指定された MAC アドレスにデータパケットを送信します。 4. eth0 物理アダプタはパケットを受信し、これを VM #1 の vme インターフェースにルーテ ィングします。 • VM #1 と VM #2 からのすべての送信ネットワークトラフィックは、デフォルトゲートウェイ 経由でサーバの eth0 アダプタにルーティングされます。ホストルートモードの仮想マシンのデ フォルトゲートウェイは、IP アドレス 169.255.30.1 に自動的に割り当てられます。この特別 な IP アドレスは、APIPA(Automatic Private IP Addressing)範囲から取られ、仮想マシン からサーバへデータパケットを送信するためだけに使用されます。 ホストルートモードとブリッジモードの違い ブリッジネットワークモードは、ホストルートモードと多くの点で異なります。 166 Parallels Cloud Server ネットワークを管理する • 各 vme または veth 仮想アダプタには MAC アドレスが割り当てられますが、ホストルートア ダプタには割り当てられません。これにより、以下が実現します。 • すべての仮想マシンおよびコンテナで、サーバ上で選択されているネットワークアダプタで 送受信されるすべてのパケット(ブロードキャストおよびマルチキャスト)を閲覧できます。 • ブリッジ仮想アダプタを使用すると、仮想マシンおよびコンテナで DHCP または Samba サーバをホストできます。 • サーバから仮想マシンおよびコンテナに、ネットワーク設定(IP アドレス、サブネットマスク、 ゲートウェイなど)をすべて割り当てる必要がなくなります。仮想マシンおよびコンテナ内です べてのネットワークパラメータを設定できます。 • veth および vme アダプタが、これらアダプタ間でも別のデバイスとでもブリッジできます。複 数の veth および vme アダプタが 1 つのブリッジに統合されている場合、このブリッジに veth および vme アダプタが含まれている仮想マシンおよびコンテナのネットワークトラフィッ クを処理することができます。 • veth および vme アダプタは、(サーバの仮想ネットワークアダプタに「隠される」のではなく) ネットワークのフルメンバーとして動作するため、セキュリティの脆弱性(トラフィック傍受、 IP アドレスの衝突など)の影響を受けやすくなります。そのため、veth および vme アダプタは、 信頼できるネットワーク環境内での使用をお勧めします。 ホストルートモードで仮想マシンおよびコンテナを 構成する ホストルートモードで動作するネットワークアダプタでは、以下のパラメータを構成できます。 • IP アドレスおよびネットワークマスク • DNS サーバ • DNS 検索ドメイン IP アドレスを設定する 以下のセッションは、仮想マシン MyVM とコンテナ 101 に対して IP アドレスを設定する方法を示 します。 167 Parallels Cloud Server ネットワークを管理する # # # # prlctl prlctl prlctl prlctl set set set set MyVM --device-set net0 --ipadd 10.0.186.100/24 MyVM --device-set net0 --ipadd 1fe80::20c:29ff:fe01:fb07 101 --ipadd 10.0.186.101/24 101 --ipadd fe80::20c:29ff:fe01:fb08 上記のコマンドの net0 は、IP アドレスの割り当て先である仮想マシン VM のネットワークカード です。prlctl list VM_name -i コマンドを使用すると、仮想マシンのすべてのネットワークカード が表示されます。コンテナ 101 にはネットワークカード名を指定する必要がありません。prlctl set は、デフォルトアダプタ(常にホストルートモードで動作)で処理を自動的に実行します。 DNS サーバのアドレスを設定する 仮想マシン MyVM とコンテナ 101 に対して DNS サーバを設定するには、次のコマンドを使用しま す。 # prlctl set MyVM --device-set net0 --nameserver 192.168.1.165 # prlctl set 101 --nameserver 192.168.1.165 DNS 検索ドメインを設定する 仮想マシン MyVM とコンテナ 101 に対して DNS 検索ドメインを設定するには、次のコマンドを 使用します。 # prlctl set MyVM --device-set net0 --searchdomain 192.168.10.10 # prlctl set 101 --searchdomain 192.168.10.10 注: 1.ネットワーク設定は、Parallels Tools がインストールされた仮想マシンに対してのみ構成可能です。 2.ルートモードで動作するネットワークアダプタには、静的 IP アドレスが 1 つ以上割り当てられている必要 があります。 3.venet0 ネットワークモードで実行中のコンテナにネットワークマスクを割り当てるには、構成ファイル /etc/vz/vz.conf の USE_VENET_MASK パラメータを「yes」に設定する必要があります。 4.コンテナはホストルートモードで動作するネットワークアダプタを 1 つだけ持つことができます。このアダ プタは、仮想マシンを作成すると自動的に作成されます。 仮想マシンアダプタをホストルートモードに切り替える デフォルトで、新規作成された仮想マシン内の仮想アダプタは、ブリッジモードで機能します(詳し くは「仮想マシンを仮想ネットワークに接続する(p. 180)」を参照してください)。現在のネット ワークモードをホストルートモードに変更するには、次のコマンドを実行します。 168 Parallels Cloud Server ネットワークを管理する # prlctl set VM_Name --device-set Net_ID --type routed 例えば、仮想マシン MyVM の net0 アダプタをホストルートモードで動作するように設定するには、 次のコマンドを使用します。 # prlctl set MyVM --device-set net0 --type routed ブリッジモードで仮想マシンおよびコンテナを構成 する このセクションでは、ブリッジモードで動作する仮想マシンおよびコンテナの構成に関連する操作 について説明します。 仮想ネットワークを管理する 仮想ネットワークには、仮想マシンおよびコンテナの仮想ネットワークアダプタを Parallels サー バ上の対応するネットワークアダプタに紐付ける役割があります。仮想ネットワークを使用すると、 仮想マシンおよびコンテナを異なるネットワークに含めることができます。Parallels Cloud Server では、仮想ネットワークを次のようにして管理することができます。 • 新規仮想ネットワークを作成する/既存の仮想ネットワークを削除する • 既存の仮想ネットワークのパラメータを構成する • 既存の仮想ネットワークを一覧表示する • 不要になった仮想ネットワークを削除する これらの作業について、以下のサブセクションで詳しく説明します。 仮想ネットワークを作成する 仮想ネットワークは、仮想マシンおよびコンテナ内の仮想ネットワークアダプタを、Parallels サー バ上の物理、VLAN、仮想ネットワークアダプタと紐付けるインターフェースとして機能します。仮 想ネットワークを使用して、仮想マシンおよびコンテナを別のネットワークに接続することができ ます。 デフォルトで、Parallels Cloud Server はサーバに次の仮想ネットワークを作成します。 169 Parallels Cloud Server ネットワークを管理する • ブリッジ:この仮想ネットワークは Parallels サーバのいずれかの物理アダプタ(原則的に eth0)に接続されます。このネットワークに含まれる仮想マシンおよびコンテナは、この物理ア ダプタの背後にあるネットワークにアクセスすることができます。 • ホストオンリー:この仮想ネットワークはサーバ上の特別な仮想アダプタに接続され、このネッ トワークに含まれる仮想マシンおよびコンテナに対し、このサーバおよびこのネットワーク上に ある別の仮想マシンおよびコンテナへのアクセスのみを許可します。 prlsrvctl または vznetcfg ユーティリティを使用して、独自の仮想ネットワークを作成すること ができます。例えば、network1 という名前で新しい仮想ネットワークを作成するには、以下のコマ ンドを実行します。 # vznetcfg net new network1 または # prlsrvctl net add network1 デフォルトで、いずれのコマンドでもホストオンリー仮想ネットワークが作成されます。ただし、 prlsrvctl ユーティリティを使用すると、タイプを変更することができます。詳しくは「仮想ネット ワークパラメータを構成する(p. 171)」を参照してください。 現在のバージョンの Parallels Cloud Server では、以下を作成することができます。 • ホストオンリー仮想ネットワーク:最大 16 件 • ブリッジ仮想ネットワーク:1 つ以上。仮想ネットワークの数は、Parallels サーバの物理アダ プタおよび VLAN アダプタの数に応じて異なります。1 つの仮想ネットワークは 1 つの物理ア ダプタまたは VLAN アダプタにしか接続できません。 ブリッジを確認する 仮想ネットワークは、このネットワークを作成したときに Parallels サーバで自動的に作成された ブリッジに紐付けられます。このブリッジは仮想ネットワークのオペレーションの根幹となります。 どのブリッジがどの仮想ネットワークに紐付けられているのか確認するには、以下のコマンドを実 行します。 # vznetcfg if list Name Type Network ID Addresses eth0 nic Bridged 10.31.252.116/16,fe80::2a9:40ff:fe0f:b6f2/64,dhcp br1 bridge Bridged fe80::200:ff:fe00:0/64 br0 bridge Host-Only 10.37.130.2/24,fdb2:2c26:f4e4::1/64,fe80::200:ff:fe00:0/64 Parallels サーバ上のブリッジは Name 列に一覧表示され、br プレフィックスで簡単に識別するこ とができます。 170 Parallels Cloud Server ネットワークを管理する 注:vznetcfg ユーティリティおよび prlsrvctl ユーティリティについて詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してください。 仮想ネットワークパラメータを構成する Parallels Cloud Server では、仮想ネットワークに対して以下のパラメータを構成できます。 • 仮想ネットワークに割り当てる名前 • 仮想ネットワークが動作するネットワークモード • 仮想ネットワークの説明 これらすべてのオペレーションは prlsrvctl ユーティリティを使用して実行できます。ここでは、 仮想ネットワーク pcsnet1 を構成すると仮定します。現在この仮想ネットワークは、ホストオンリ ーネットワークとして構成されており、「This is a host-only virtual network」という説明が設 定されています。これらのパラメータを変更するには、以下のコマンドを実行します。 # prlsrvctl net set pcsnet1 -n network1 -t bridged --ifname eth1 -d "This is now a bridged virtual network" このコマンドによって、仮想ネットワーク pcsnet1 が次のように構成されます。 1 仮想ネットワークの名前が「network1」に変更されます。 2 仮想ネットワークのタイプがブリッジに変更されます。 3 仮想ネットワークの説明が「This is now a bridged virtual network」に変更されます。 prlsrvctl ユーティリティについて詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファ レンスガイド』(※英語)を参照してください。 仮想ネットワークを一覧表示する Parallels サーバに存在する仮想ネットワークを一覧表示するには、vznetcfg または prlsrvctl ユ ーティリティを使用できます。 vznetcfg を使用して仮想ネットワークを一覧表示する vznetcfg ユーティリティを使用してサーバ上の仮想ネットワークを一覧表示するには、次のコマン ドを実行します。 # vznetcfg net list Network ID Status Master Interface Slave Interfaces 171 Parallels Cloud Server ネットワークを管理する Host-Only Bridged pcsnet1 active active active eth0 eth1 上の例では、3 つの仮想ネットワーク(pcsnet1 と 2 つのデフォルト仮想ネットワーク)が Parallels サーバにあります。これらの仮想ネットワークの情報は、表の以下の列に記載されていま す。 列 説明 Network ID 仮想ネットワークに割り当てられた ID Status 仮想ネットワークのステータス。以下のいずれかの値をとります。 • active:仮想ネットワークは機能しています。 • configured:仮想ネットワークについての情報がサーバの /etc/vz/vznet.conf フ ァイルにありますが、この仮想ネットワークが紐付けられているブリッジが機能していな いか、存在しません。 注:vznet.conf ファイルについて詳しくは、『Parallels Cloud Server 6.0 コマンドラ インリファレンスガイド』(※英語)を参照してください。 マスターインターフェ 仮想ネットワークに接続されたサーバ側のアダプタを表示します(もしあれば)。 ース スレーブインターフェ 仮想ネットワークに参加している仮想マシンおよびコンテナ側のアダプタを一覧表示します(もしあれ ース ば)。 prlsrvctl を使用して仮想ネットワークを一覧表示する prlsrvctl ユーティリティを使用して、サーバ上に存在する仮想ネットワークを一覧表示すること ができます。これには、次のコマンドを実行します。 # prlsrvctl net list Network ID Type Host-Only host-only Bridged bridged pcsnet1 bridged Bound To eth0 eth1 このユーティリティを使用すると、仮想マシンについて次の情報が表示されます。 列 説明 Network ID 仮想ネットワークに割り当てられた名前 Type 仮想ネットワークに対して設定されたネットワークモード。 Bound To 仮想ネットワークに接続された Parallels サーバ側のアダプタ(もしあれば)。 172 Parallels Cloud Server ネットワークを管理する アダプタに仮想ネットワークを接続する 物理サーバ上のアダプタを仮想ネットワークに接続することによって、この仮想ネットワークに含 まれるすべての仮想マシンおよびコンテナを、アダプタが接続されているネットワークに参加させ ることができます。 ここでは、以下のように仮定します。 • Parallels サーバ上に、物理アダプタ eth1 と仮想ネットワーク pcsnet1 があります。仮想ネッ トワークの作成方法は、「仮想ネットワークを作成する(p. 169)」を参照してください。 • 物理アダプタ eth1 は、ローカルネットワークに接続されています。 • 仮想マシン MyVM は、仮想ネットワーク pcsnet1 に接続されています。仮想ネットワークに仮 想マシンおよびコンテナを参加させる方法について詳しくは、「コンテナを仮想ネットワークに 接続する(p. 176)」および「仮想マシンを仮想ネットワークに接続する(p. 180)」を参照し てください。 アダプタ eth1 を仮想ネットワーク pcsnet1 に接続することによって、仮想マシン MyVM を eth1 の背後のネットワークに参加させるには、サーバで次のコマンドを実行します。 # vznetcfg net addif pcsnet1 eth1 物理アダプタ eth1 が仮想ネットワーク pcsnet1 に正常に追加されたかどうかを確認するには、次 のコマンドを実行します。 # vznetcfg if list Name Type Network ID eth1 nic pcsnet1 ... Addresses 10.31.252.116/16,fe80::2a9:40ff:fe0f:b6f2/64,dhcp アダプタ eth1 が仮想ネットワーク pcsnet1 に追加されたことがわかります。つまり、仮想ネット ワークアダプタが pcsnet1 に接続されている仮想マシン MyVM は、eth1 の背後のローカルネット ワークにアクセスできます。 次のコマンドを実行すると、いつでも物理アダプタ eth1 を仮想ネットワーク pcsnet1 から接続解 除する(つまり仮想マシン MyVM をローカルネットワークから切断する)ことができます。 # vznetcfg net delif eth1 173 Parallels Cloud Server ネットワークを管理する 仮想ネットワークを削除する 不要になった仮想ネットワークは、いつでも物理サーバから削除することができます。これには、 vznetcfg ユーティリティと prlsrvctl ユーティリティの両方を使用できます。例えば、仮想ネッ トワーク pcsnet1 を削除するには、次のいずれかのコマンドを実行します。 # vznetcfg net del pcsnet1 または # prlsrvctl net del pcsnet1 pcsnet1 が正常に削除されたことを確認するには、次のいずれかのコマンドを実行します。 # vznetcfg net list Network ID Status Host-Only active Bridged active Master Interface Slave Interfaces eth0 または # prlsrvctl net list Network ID Type Host-Only host-only Bridged bridged Bound To eth0 注:vznetcfg ユーティリティおよび prlsrvctl ユーティリティについて詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)とそのマニュアルページを参照してください。 コンテナでアダプタを管理する Parallels Cloud Server は、コンテナ内で仮想ネットワークアダプタ veth を構成し、それらを 別々のネットワーク環境に参加させる機能を提供しています。このセクションでは、次の作業を行 う方法を説明します。 • コンテナに新規仮想ネットワークアダプタを作成し、既存のアダプタを削除する。 • 既存の仮想ネットワークアダプタのパラメータを構成する • コンテナの仮想ネットワークアダプタを仮想ネットワークに参加させる。 これらの作業について、以下のサブセクションで詳しく説明していきます。 174 Parallels Cloud Server ネットワークを管理する veth ネットワークアダプタを作成または削除する デフォルトで、Parallels サーバ上のコンテナは、初期状態では venet0 モードで機能します。ただ し、いつでもコンテナに追加の仮想アダプタを作成して、ブリッジモードで動作するように設定す ることができます。これには、prlctl set コマンドの --netif_add オプションを使用します。 ここで、コンテナ 101 内に eth1 という名前の新しい仮想アダプタを作成し、それをブリッジモー ドで機能させたいとします。これには、次のコマンドを実行します。 # prlctl set 101 --netif_add eth1 新しく作成した仮想アダプタの設定が、コンテナ 101 の構成ファイル(/etc/vz/conf/101.conf) に NETIF パラメータの値として保存されました。そこで、次のコマンドを使用して、コンテナ 101 内の veth ネットワークアダプタに割り当てられたパラメータを表示することができます。 # grep NETIF /etc/vz/conf/101.conf NETIF="ifname=eth1,mac=00:10:41:F0:AA:B6,host_mac=00:18:51:A0:8A:D7" ご覧のように、veth 仮想ネットワークアダプタの作成時に設定されたパラメータは以下のようにな ります。 • ifname:コンテナ 101 の veth Ethernet インターフェースに設定された名前。この名前は、 コンテナの仮想ネットワークアダプタを作成する時に指定しました。通常、コンテナの Ethernet インターフェースは、ethAd_N という形式で設定されます。ここで Ad_N とは、作成 されるアダプタのインデックス番号(eth0 または eth1 など)です。ただし、仮想アダプタの作 成中に、任意で別の名前を選択することができます。 • mac:コンテナ 101 の veth Ethernet インターフェースに割り当てられた MAC アドレス。 • host_mac:Parallels サーバの veth Ethernet インターフェースに割り当てられた MAC アド レス。 コンテナの仮想ネットワークアダプタの作成時に指定する必要がある必須パラメータは、ifname の みです。他のすべてのパラメータは任意であり、指定しないと Parallels Cloud Server が自動生成 します。 以下のコマンドを実行して、コンテナ 101 の veth 仮想ネットワークアダプタをいつでも削除でき ます。 # prlctl set 101 --netif_del eth1 175 Parallels Cloud Server ネットワークを管理する veth アダプタパラメータを構成する ブリッジモードで機能している間、各コンテナ仮想ネットワークアダプタはネットワークに常時接 続し、このネットワークで固有の ID が必要になります。 まず、TCP/IP ネットワークで動作させるために、veth 仮想アダプタに IP アドレスを 1 つ割り当 てる必要があります。これには以下を実行します。 # prlctl set 101 --ifname eth1 --ipadd 192.168.144.123 このコマンドは、コンテナ 101 の eth1 アダプタに、IP アドレス 192.168.144.123 を設定します。 あるいは、以下のコマンドを実行して、コンテナ 101 の eth1 アダプタが TCP/IP 構成設定を自 動的に受け取るように DHCP(Dynamic Host Configuration Protocol)を使用するに設定すること もできます。 # prlctl set 101 --ifname eth1 --dhcp yes 以下のコマンドを実行して、コンテナ仮想ネットワークアダプタに割り当てられた静的 IP アドレ スを削除することができます。 # prlctl set 101 --ifname eth1 --ipdel 192.168.144.123 また、以下を実行すると、コンテナ 101 のすべての IP アドレスを一括削除できます。 # prlctl set 101 --ifname eth1 --ipdel all さらに、コンテナネットワークアダプタに以下のパラメータを設定できます。 • コンテナ仮想アダプタに使用させる DNS サーバ: # prlctl set 101 --ifname eth1 --nameserver 192.168.100.111 • コンテナ仮想アダプタのトラフィックのルーティングに使用するゲートウェイ: # prlctl set 101 --ifname eth1 --gw 192.168.111.1 prlctl set コマンドでコンテナアダプタパラメータを管理するために使用できるオプションについ て詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)および prlctl のマニュアルページを参照してください。 コンテナを仮想ネットワークに接続する veth 仮想アダプタの導入によりコンテナをネットワークに常時接続できるようになったため、 Ethernet ネットワークや VLAN(仮想ローカルエリアネットワーク)といった最も一般的なものを 含め、幅広いネットワーク構成にコンテナを含めることが可能になりました。veth 仮想ネットワー クアダプタを Ethernet ネットワークまたは VLAN に接続するプロセスは、サーバ上にある特定の 物理アダプタまたは VLAN アダプタを使用して、次の作業によって完了します。 176 Parallels Cloud Server ネットワークを管理する 1 veth アダプタおよび物理/VLAN アダプタを仲介する仮想ネットワークを確立する。 2 Ethernet ネットワーク/VLAN に含める veth 仮想アダプタを仮想ネットワークに接続する。 3 veth 仮想アダプタが含まれる仮想ネットワークを、対応する物理/VLAN アダプタに接続する。 これらのタスクが完了すると、コンテナ仮想ネットワークアダプタは、そのネットワーク(Ethernet または VLAN)上の任意のコンピュータと通信できるようになりますが、他のネットワークに含まれ るコンピュータには直接アクセスできません。 新しい仮想ネットワークの確立する方法と、物理アダプタおよび VLAN アダプタをこれらのネット ワークに追加する方法については、「仮想ネットワークを確立する(p. 169)」および「仮想ネット ワークをアダプタに接続する(p. 173)」を参照してください。下の例では、次のように仮定します。 • サーバ上に物理アダプタ eth0 と仮想ネットワーク pcsnet1 がある。 • 物理アダプタ eth0 はローカル Ethernet ネットワークおよび仮想ネットワーク pcsnet1 に接 続している。 • コンテナ 101 とコンテナ 102 をローカル Ethernet ネットワークに接続したい。 コンテナ 101 とコンテナ 102 をアダプタ eth0 の背後のローカル Ethernet ネットワークに接続 するには、これらのコンテナを仮想ネットワーク pcsnet1 に接続する必要があります。これには、 以下を実行します。 1 コンテナ 101 およびコンテナ 102 で veth Ethernet インターフェースの名前を検索します。 # vzlist -a -o ctid,ifname CTID IFNAME 101 eth1 102 eth0 103 - コマンドの出力結果から、コンテナ 101 およびコンテナ 102 での veth Ethernet インターフ ェースの名前がそれぞれ「eth1」および「eth0」であることが分かります。 注:仮想ネットワークに veth アダプタを追加するには、コンテナでの Ethernet インターフェースの名前を 使用する必要があります。 2 veth アダプタを仮想ネットワーク pcsnet1 に接続します。 • コンテナ 101 の veth アダプタを仮想ネットワークに追加するには: # prlctl set 101 --ifname eth1 --network pcsnet1 • コンテナ 102 の veth アダプタを仮想ネットワークに追加するには: # prlctl set 102 --ifname eth0 --network pcsnet1 177 Parallels Cloud Server ネットワークを管理する これらの作業を実行すると、コンテナ 101 とコンテナ 102 は物理アダプタ eth0 が接続されたネ ットワーク内のサーバにアクセスできるようになります。 いつでも、以下のコマンドを実行することにより、コンテナ 101 と 102 の veth 仮想ネットワー クアダプタを仮想ネットワーク pcsnet1 から切断できます。 • コンテナ 101 の veth アダプタを仮想ネットワークから切断するには: # prlctl set 101 --ifname eth1 --network "" • コンテナ 102 の veth アダプタを仮想ネットワークから切断するには: # prlctl set 102 --ifname eth1 --network "" 仮想マシンでアダプタを管理する このセクションでは、仮想マシンで仮想ネットワークアダプタを管理する方法について説明します。 以下の方法について学習します。 • 新規仮想ネットワークアダプタを作成し、既存のアダプタを削除する • 既存の仮想ネットワークアダプタのパラメータを構成する • 仮想ネットワークアダプタを仮想ネットワークに参加させる これらの作業について、以下のサブセクションで詳しく説明していきます。 仮想アダプタを作成・削除する 1 つの仮想マシンに対し、仮想ネットワークアダプタは 16 個まで接続できます。各アダプタは異 なるネットワークに接続できます。ここでは、仮想マシン MyVM の新しい仮想アダプタを作成しま す。これには、以下のコマンドを実行します。 # prlctl set MyVM --device-add net Creating net1 (+) type=host-only iface='default' mac=001C42AF3D69 The VM has been successfully configured. ネットワークアダプタ(net1)が仮想マシンに正常に追加されたことを確認するには、以下のコマン ドを実行します。 # prlctl list --info MyVM ID: {f3b3d134-f512-324b-b0b1-dbd642f5220b} Name: Windows XP ... net0 (+) type=host-only iface='default' mac=001C42566BCF net1 (+) type=host-only iface='default' mac=001C42AF3D69 いつでも以下のコマンドを実行して、新規作成されたネットワークアダプタ(net1)を削除できま す。 178 Parallels Cloud Server ネットワークを管理する # prlctl set MyVM --device-del net1 Remove the net1 device. The VM has been successfully configured. 新しい仮想ネットワークアダプタの作成時に使用できるオプションは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してください。 仮想アダプタのパラメータを構成する Parallels Cloud Server では、仮想マシンアダプタの以下のパラメータを構成することができま す。 MAC アドレスを構成する 何らかの理由で、ネットワークアダプタの現在の MAC アドレスを再生成する必要がある場合、以 下のコマンドを使用できます。 # prlctl set MyVM --device-set net1 --mac 00:1C:42:2D:74:00 Creating net1 (+) network=Bridged mac=001C422D7400 The VM has been successfully configured. このコマンドにより、仮想マシン MyVM の net1 アダプタに、MAC アドレス 00:1C:42:2D:74:00 が設定されます。仮想アダプタに割り当てるべき MAC アドレスがわからない場合、prlctl set に MAC アドレスを自動生成させることができます。これには、次のコマンドを実行します。 # prlctl set MyVM --device-set net1 --mac auto Creating net1 (+) network=Bridged mac=001C42C84F3E The VM has been successfully configured. IP アドレスを構成する 他のすべてのスタンドアロンサーバと同じく、各仮想マシンに対し、ネットワークで正常に機能す るように様々な TCP/IP 設定を構成する必要があります。以下の設定があります。 • IP アドレス • デフォルトゲートウェイ • DNS サーバ 通常、これらすべての設定は、仮想マシンの作成時に定義します。ただし、いずれかの設定がまだ 行われていない場合や、いずれかの設定を変更したい場合は、prlctl set コマンドを使用すること ができます。例えば、仮想マシン MyVM の net1 アダプタに IP アドレス 192.129.129.20 を割り当 て、デフォルトゲートウェイを 192.129.129.1 に設定し、DNS サーバを 192.192.192.10 に設定 するには、以下のコマンドを実行します。 179 Parallels Cloud Server ネットワークを管理する # prlctl set MyVM --device-set net1 --ipadd 192.129.129.20 --gw 192.129.129.1 --nameserver 192.192.192.10 仮想アダプタへのネットワークパラメータの静的割り当てとともに、DHCP(Dynamic Host Configuration Protocol)を使用して TCP/IP 設定をアダプタに自動的に割り当てるように設定する こともできます。例えば、以下のコマンドを実行すると、仮想マシン MyVM の net1 アダプタが DHCP 経由で IP 設定を取得するようになります。 # prlctl set MyVM --device-set net1 --dhcp yes Creating net1 (+) network=Bridged mac=001C42C84F3E Enable automatic reconfiguration for this network adapter. The VM has been successfully configured. 注: 1.ネットワークパラメータは、Parallels Tools がインストールされた仮想マシンに対してのみ構成可能です。 2.コンテナアダプタパラメータを管理する prlctl set コマンドのオプションの詳細は、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)および prlctl のマニュアルページを参照してく ださい。 仮想マシンを仮想ネットワークに接続する Parallels Cloud Server では、以下のタイプの仮想ネットワークに仮想マシンを接続することがで きます。 • ブリッジ:仮想マシンは、物理サーバのいずれかのネットワークアダプタを使用することができ ます。これにより、この仮想マシンは、該当するアダプタが属するネットワーク上の独立したコ ンピュータのようになります。 • ホストオンリー:仮想マシンは、Parallels サーバおよびこのネットワークに参加している仮想 マシンにのみアクセスできます。 デフォルトで、新規作成されたアダプタはブリッジネットワークに接続されます。仮想マシンを別 のネットワークに参加させるには、prlctl set コマンドを使用します。例えば、以下のセッション は、仮想マシン MyVM の net0 アダプタを仮想ネットワーク pcsnet1 に接続する方法を示します。 仮想マシン MyVM を仮想ネットワーク pcsnet1 に接続する前に、この仮想ネットワークに紐付けら れているネットワークアダプタを確認することができます。例えば、以下のコマンドを使用できま す。 # prlsrvctl net list Network ID Type Host-Only host-only Bridged bridged pcsnet1 bridged 180 Bound To eth0 eth1 Parallels Cloud Server ネットワークを管理する コマンドの出力結果から、仮想ネットワーク pcsnet1 が Parallels サーバの物理アダプタ eth1 に 紐付けられていることがわかります。つまり、仮想マシン MyVM を仮想ネットワーク pcsnet1 に接 続すると、この仮想マシンは eth1 アダプタが接続されたネットワーク内のすべてのコンピュータ にアクセスすることが可能になります。 ここで、以下のコマンドを実行して、仮想マシン MyVM の net1 アダプタを仮想ネットワーク pcsnet1 に参加させます。 # prlctl set MyVM --device-set net0 --network pcsnet1 Creating net0 (+) network=pcsnet1 mac=001C422D7493 The VM has been successfully configured. 専用ネットワークを管理する このセクションでは、Parallels Cloud Server 6.0 でプライベートネットワークおよびサブスクリ プションネットワークを管理する方法を説明します。 プライベートネットワークについて デフォルトで、ホストルートモードで機能する物理サーバ上のすべての仮想マシンおよびコンテナ は、たとえ別々のサブネットに接続したとしても、相互にアクセス可能です。例えば、コンテナ 101 の IP アドレスが 100.10.10.101 で、仮想マシン MyVM の IP アドレスが 100.10.11.102 であり、これらのサブネットマスクを 255.255.255.0 に設定すると、仮想マシンおよびコンテナ は、技術的には別々のサブネット(100.10.10.0 と 100.10.11.0)に属しますが、互いにコミュニ ケーションをとることができます。 注:また、ブリッジモードで機能する仮想マシンおよびコンテナをプライベートネットワークに含めることもで きます。この方法について詳しくは、「プライベートネットワークをセットアップする(p. 185)」を参照して ください。 Parallels Cloud Server 6.0 では、いわゆる「プライベートネットワーク」を作成することができま す。これらのプライベートネットワーク内にサブネットを作成し、仮想マシンおよびコンテナをこ れらのサブネットに接続することにより、あるサブネット内の仮想マシンおよびコンテナが他のサ ブネットの仮想マシンおよびコンテナやプライベートネットワーク外の仮想マシンおよびコンテナ、 外部ネットワーク上のコンピュータにアクセスできないようにできます。以下の図は、プライベー トネットワークが含まれるシステムを示します。 181 Parallels Cloud Server ネットワークを管理する この例では、ネットワークは次のように構成されています。 • プライベートネットワーク(Private Network)が物理サーバのネットワーク(Host Network) 内に作成されます。 • このプライベートネットワークには、Subnet 1 と Subnet 2 という 2 つのプライベートサブ ネットが含まれています。 • コンテナ 101 と VM1 は Subnet 1 に接続され、コンテナ 103 と VM2 は Subnet 2 に参 加しています。 • コンテナ 105 と VM3 はプライベートネットワークに属していません。 • 物理サーバネットワークは、コンピュータ Computer 1、Computer 2、Computer 3 を含む 外部ネットワーク(External Network)に接続されています。 このネットワークで、コンテナ 101 と VM1 は相互にアクセス可能ですが、コンテナ 103、コン テナ 105、VM2、VM3 には接続できません。一方、コンテナ 103 と VM2 は相互にアクセス可 能ですが、コンテナ 101、コンテナ 105、VM1、VM3 には接続できません。プライベートネット ワーク内のどの仮想マシンおよびコンテナも、外部ネットワーク上のコンピュータにアクセスでき ません。 182 Parallels Cloud Server ネットワークを管理する 複数ノードをまたぐネットワーク 上記の例は、1 つの物理サーバ内に作成されたプライベートネットワークを取り上げています。し かし、プライベートネットワークは、2 つ以上のサーバ上の仮想マシンおよびコンテナにまたがる こともできます。以下の図は、このようなネットワークを表しています。 この図でも、プライベートネットワークにプライベートサブネットが 2 つ含まれていますが (Subnet 1 と Subnet 2)、これらのサブネットに含まれる仮想マシンおよびコンテナは 2 つの 物理サーバ上にあります。コンテナ 101 と VM1 は Subnet 1 に参加し、コンテナ 102、コンテ ナ 203、VM2 は Subnet 2 に参加しています。Subnet 1 上の仮想マシンおよびコンテナは相互 にアクセス可能ですが、Subnet 2 上の仮想マシンおよびコンテナにはアクセスできず、逆も同様 です。 弱いプライベートネットワーク デフォルトで、プライベートネットワークを作成すると、このネットワーク上のすべての仮想マシ ンまたはコンテナは、以下にアクセスできません。 • このプライベートネットワーク内の他のサブネットに参加している仮想マシンおよびコンテナ • このプライベートネットワークに参加していない仮想マシンおよびコンテナ • 外部ネットワークにあるコンピュータ 183 Parallels Cloud Server ネットワークを管理する ただし、プライベートネットワークの構成を変更して、その仮想マシンおよびコンテナがプライベ ートネットワークの他のサブネット上の仮想マシンおよびコンテナとはコミュニケーションできな いが、プライベートネットワークの外部の仮想マシンおよびコンテナや外部ネットワーク上のコン ピュータには接続できるように設定することができます。このようなプライベートネットワークを 「弱いプライベートネットワーク」と呼びます。この文脈で「弱い」とは、これらのネットワークに 外部ネットワーク上のコンピュータがアクセスできることから、セキュリティ脆弱性や脅威にさら されやすいことを意味します。以下の図は、弱いプライベートネットワークのシステムを示しま す。 この例で、物理サーバ上のプライベートネットワークは、Subnet 1 と Subnet 2 という 2 つのサ ブネットに分かれています。コンテナ 101 と VM1 は Subnet 1 に接続され、コンテナ 103 と VM2 は Subnet 2 に参加しています。コンテナ 105 と VM3 はプライベートネットワークに属し ていません。Container 101 と VM1 は相互にアクセスできますが、Container 103 と VM2 には 接続できません。一方、Container 103 と VM2 は相互にアクセス可能ですが、Container 101 と VM1 には接続できません。 プライベートネットワーク内のすべての仮想マシンおよびコンテナは、パブリック IP アドレスが 割り当てられているため Container 105 と VM3 とコミュニケーションでき、他のネットワーク 184 Parallels Cloud Server ネットワークを管理する 上のコンピュータにもアクセスできます(外部ネットワーク External Network 上のコンピュータ Computer 1 および Computer 2 など)。仮想マシンおよびコンテナを潜在的なセキュリティ脆弱 性や脅威から保護するために、物理サーバにはファイアウォールが構成されており、仮想マシンお よびコンテナへの許可されないアクセスをブロックしています。 グローバルプライベートネットワーク グローバルプライベートネットワークは、他のプライベートネットワークの基盤となり、この中に 他のプライベートネットワークを作成することができます。グローバルプライベートネットワーク 内のすべてのコンテナと仮想マシンは、互いから、そして他のプライベートネットワーク内のコン テナと仮想マシン、および外部ホストから隔離されています。ただし、グローバルネットワーク内 のプライベートネットワークに追加されたコンテナと仮想マシンは、ネットワークの制約事項に従 ってアクセスが許可されます。 プライベートネットワークをセットアップする デフォルトで、ホストネットワーク内のすべてのホストは相互に、そして外部ホストとコミュニケ ーションできます。 185 Parallels Cloud Server ネットワークを管理する 一部のホストを隔離して、互いにのみアクセス可能にするには、prlsrvctl privnet add コマンド でプライベートネットワークを作成することができます。例えば、IP アドレス 10.10.0.1~ 10.10.0.255 が含まれるプライベートネットワーク privnet1 を作成するには、以下のコマンドを 実行します。 # prlsrvctl privnet add privnet1 --ipadd 10.10.0.0/24 あるいは、10.10.10.3 と 10.10.10.4 という 2 つの IP アドレスだけ含まれるプライベートネッ トワーク privnet2 を作成するには、以下のコマンドを実行します。 # prlsrvctl privnet add privnet2 --ipadd 10.10.10.3 --ipadd 10.10.10.4 IP アドレス範囲が 10.10.0.1~10.10.0.255 の仮想環境が privnet1 に、IP アドレス 10.10.10.3 および 10.10.10.4 の仮想環境が privnet2 に含まれるようになりました。 186 Parallels Cloud Server ネットワークを管理する 弱いプライベートネットワークを作成する 通常のプライベートネットワーク内の仮想環境と違い、弱いプライベートネットワーク内の仮想環 境は以下とコミュニケーションができます。 • このプライベートネットワーク内の他の仮想環境 • プライベートネットワーク外の仮想環境 • 外部ネットワーク内のコンピュータ 187 Parallels Cloud Server ネットワークを管理する prlsrvctl privnet set コマンドに --ipadd '*' オプションを指定して IP アドレスのリストにア スタリスクを付けることにより、弱いプライベートネットワークにすることができます。例えば: # prlsrvctl privnet set privnet1 --ipadd '*' 結果を確認するには、prlsrvctl privnet list コマンドでプライベートネットワークをリストしま す。弱いプライベートネットワークは、IP 範囲のリストにアスタリスクが付いています。例えば: # prlsrvctl privnet list Name G Netmasks privnet1 10.10.0.0/24 * privnet2 10.10.10.3 10.10.10.4 弱いプライベートネットワークを通常のプライベートネットワークに戻すには、prlsrvctl privnet set コマンドに --ipdel '*' オプションを指定して IP 範囲のリストからアスタリスクを外します。 例えば: # prlsrvctl privnet set privnet1 --ipdel '*' グローバルプライベートネットワークを作成する ホストネットワーク内の各仮想環境を互いから隔離するには、新しいグローバルプライベートネッ トワークを作成するか、既存のプライベートネットワークをグローバルに変更します。 188 Parallels Cloud Server ネットワークを管理する グローバルプライベートネットワークを作成するには、prlsrvctl privnet add コマンドに --global yes オプションを指定して実行します。例えば: # prlsrvctl privnet add privnet3 --ipadd 10.10.10.0/24 --global yes 既存のプライベートネットワークをグローバルにするには、prlsrvctl privnet set コマンドに --global yes オプションを指定して実行します。例えば: # prlsrvctl privnet set privnet3 --global yes 注:グローバルプライベートネットワークには、個別の IP アドレスを含めることはできず、IP 範囲のみを含め ることができます。 結果を確認するには、prlsrvctl privnet list コマンドでプライベートネットワークをリストしま す。グローバルプライベートネットワークには、G 列にチェックマークが付いています。例えば: # prlsrvctl privnet list Name G Netmasks privnet1 10.10.0.0/24 * privnet2 10.10.10.3 10.10.10.4 privnet3 x 10.10.10.0/24 189 Parallels Cloud Server ネットワークを管理する グローバルプライベートネットワークには、他のタイプのプライベートネットワーク(弱いネットワ ークや通常のネットワーク)を含めることができます。このようなプライベートネットワーク内のホ ストは、ネットワークの制約事項に従ってアクセスが許可されます。例えば、以下の図で: • グローバルプライベートネットワーク PrivNet3 内の弱いプライベートネットワーク PrivNet1 内にあるコンテナ CT101 と仮想マシン VM1 は、そのプライベートネットワーク内の仮想環境お よび外部ネットワーク内のコンピュータに対してアクセスできます。 • グローバルプライベートネットワーク PrivNet3 内の通常のプライベートネットワーク PrivNet2 内にあるコンテナ CT103 と仮想マシン VM3 は、そのプライベートネットワーク内の 仮想環境に対してアクセスできます。 ブリッジモードで機能するコンテナと仮想マシンのためにプライベートネットワークを有効に する デフォルトで、プライベートネットワークに含めることができるのは、ホストルートモードで機能 する仮想環境のみです。ブリッジモードで機能する仮想環境をプライベートネットワークに接続す 190 Parallels Cloud Server ネットワークを管理する るには、物理サーバでプライベートネットワークのサポートを有効にする必要があります。これに は、/proc/sys/net/vzpriv_handle_bridge の値を 1 に設定します。 # echo 1 > /proc/sys/net/vzpriv_handle_bridge 注:プライベートネットワークのサポートを有効にすると、ブリッジモードで機能する IPv4 アドレスの仮想環 境のネットワークパフォーマンスに影響を与えます。 プライベートネットワークを削除する prlsrvctl privnet del コマンドを使用して、プライベートネットワークを削除することができま す。例えば: # prlsrvctl privnet del privnet1 オフライン管理を構成する オフライン管理機能では、任意のウェブブラウザを使用して仮想マシンおよびコンテナに接続し、 管理することができます。仮想マシンまたはコンテナに対してオフライン管理が有効である場合、 この仮想マシンまたはコンテナ用に構成されたオフラインサービス経由でアクセスできます。オフ ラインサービスをオンにすると、常にいずれかのコンテナポートが、それまでの状態を問わずオー プンになり、たとえ停止中の仮想マシンまたはコンテナでもアクセスできるようになります。 このセクションでは、オフライン管理について以下の情報を提供します。 • オフライン管理の基本(p. 191) • オフライン管理機能の有効化および無効化の方法(p. 195) • オフラインサービスの有効化および無効化の方法(p. 196) • オフライン管理の構成ファイルについての説明(p. 196) 注:現バージョンの Parallels Cloud Server では、ブリッジモードで動作するコンテナに対してオフライン管 理が機能しません。 オフライン管理について理解する オフライン管理機能では、任意のウェブブラウザを使用して仮想マシンおよびコンテナに接続し、 管理することができます。仮想マシンまたはコンテナに対してオフライン管理が有効である場合、 191 Parallels Cloud Server ネットワークを管理する この仮想マシンまたはコンテナ用に構成されたオフラインサービス経由でアクセスできます。オフ ラインサービスをオンにすると、常にいずれかのコンテナポートが、それまでの状態を問わずオー プンになり、たとえ停止中の仮想マシンまたはコンテナでもアクセスできるようになります。 オフライン管理の仕組みは、次の場合にわずかに異なります。 • ホストルートモードで動作するコンテナ(実行中および停止中の両方)、ホストルートモードで 動作する実行中の仮想マシン、両ネットワークモードで動作する停止中の仮想マシン あるいは • ブリッジネットワークモードで動作する実行中の仮想マシン コンテナおよび停止中の仮想マシンのオフライン管理 以下の図は、ホストルートモードで動作するコンテナ(実行中および停止中の両方)、ホストルート モードで動作する実行中の仮想マシン、ホストルートモードおよびブリッジネットワークモードで 動作する停止中の仮想マシンのオフライン管理構成の例を示しています。 オフライン管理を有効にすると、サーバはホストルートモードのコンテナ、実行中のホストルート モードの仮想マシン、および停止中のすべての仮想マシン用に ARP とルーティングエントリを保 持します。この場合、オフライン管理は次のように機能します。 192 Parallels Cloud Server ネットワークを管理する 1 Parallels Power Panel から、ユーザがコンテナ #1 に属する IP アドレス 1.2.3.4 のポート 4643 にデータパケットを送信します(ポート 4643 は vzpp オフラインサービスに使用されま す)。 注:簡略化のために、この説明では「コンテナ #1」を例として使用します。同じく、「仮想マシン #1」も使 用します。 2 コンテナ #1 用に ARP エントリを保持するサーバは、パケットを受け取り、これをアダプタ venet0 に送信します。 3 アダプタ venet0 は、ポート 4643 に届くすべてのパケットを特別なサービスコンテナに転送 するように構成されているため、このパケットはコンテナ #1 ではなくサービスコンテナに送 信されます。 4 サービスコンテナで実行され、ポート 4643 へのパケットを listen するように構成されている init プロセスがこのパケットを受け取り、サーバ上で実行している Apache ウェブサーバにパ ケットを転送します。サービスコンテナは、処理されたパケットについての情報を、サーバの /var/opt/pva/pp/sve/fs/root/var/log/pavm ディレクトリにあるログファイルに保存します 5 Apache サーバは Parallels Agent とやりとりし、パケットを処理して応答をサービスコンテ ナに送信します。サービスコンテナがこれを venet0 に転送します。 6 venet0 が物理アダプタ eth0 経由で応答を Parallels Power Panel ユーザに戻します。 ブリッジモードで動作する実行中の仮想マシンのオフライン管理 ブリッジモードの仮想マシンが実行中である場合、サーバはこの仮想マシン用の ARP およびルー ティングエントリを保持しません。したがって、すべてのルーティングは仮想マシンの vme インタ ーフェース経由で実行されます。 193 Parallels Cloud Server ネットワークを管理する 実行中の仮想マシンへのデータパケットは、まずその仮想インターフェース(上の図の vme)に到着 してから、venet0 に転送されます。残りのステップはコンテナおよび停止中の仮想マシンに関する 説明と同じです。 パケットが vme インターフェース経由で届くということは、ある状況において、実行中の仮想マシ ンのオフライン管理に支障をきたします。以下の例で見てみましょう。 1 ネットワーク内のあるルータが、仮想マシン #1 に宛てた受信パケットを受け取ります。この パケットには、宛先仮想マシン(つまり仮想マシン #1)の IP アドレスおよび MAC アドレス が含まれています。 2 パケットは、処理後に venet0 経由でルータに戻されます。この送信パケットに含まれる IP ア ドレスは仮想マシン #1 の IP アドレスですが、MAC アドレスはサーバのものになっていま す。 3 ルータは、MAC アドレスが異なることを認識すると、この送信パケットをドロップします。 194 Parallels Cloud Server ネットワークを管理する このような問題を回避するには、ルータを再構成し、同じ IP アドレスで MAC アドレスが異なる パケットを受け入れるように変更します。また、仮想マシンのネットワークアダプタをホストルー トモードに切り替えるか、追加のネットワークアダプタを作成してホストルートモードで動作する ように設定することが可能です。 オフライン管理を有効または無効にする デフォルトで、オフライン管理は新規作成されたすべての仮想マシンおよびコンテナで有効になっ ています。Parallels Power Panel で仮想マシンまたはコンテナを管理するには、ウェブブラウザで IP アドレスまたはホスト名にポート 4643 でアクセスします(https://192.168.0.100:4643 な ど)。 オフライン管理を無効化するには、以下の方法があります。 • サーバ上のすべての仮想マシンおよびコンテナを対象に、グローバルに無効化する • 特定の仮想マシンまたはコンテナのみを対象に無効化する サーバ上のすべての仮想マシンおよびコンテナを対象にオフライン管理を無効化するには、 /etc/vz/vz.conf 構成ファイルで OFFLINE_MANAGEMENT パラメータを no に設定します。 195 Parallels Cloud Server ネットワークを管理する 特定の仮想マシンまたはコンテナを対象にオフライン管理を無効化するには、prlctl set コマンド の --offline_management no オプションを使用します。例えば、コンテナ 101 に対してオフライ ン管理を無効化するには、以下のコマンドを実行します。 # prlctl set 101 --offline_management no オフラインサービスを有効または無効にする 現バージョンの Parallels Cloud Server は、以下のオフラインサービスをサポートします。 • vzpp:Parallels Power Panel による仮想マシンおよびコンテナの管理用 • vzpp-plesk:Parallels Power Panel に統合された Plesk コントロールパネルによる仮想マシ ンおよびコンテナの管理用 サーバで有効化されているサービスの名前は、グローバル構成ファイル(/etc/vz/vz.conf)の OFFLINE_SERVICE パラメータの値に一覧表示されます。 # cat /etc/vz/vz.conf | grep OFFLINE_SERVICE OFFLINE_SERVICE="vzpp vzpp-plesk" あるサービスが /etc/vz/vz.conf ファイルで有効化されていれば、新規作成したすべての仮想マシ ンおよびコンテナの管理にこれを使用できます。 オフラインサービスを無効化するには、以下の方法があります。 • サーバ上のすべての仮想マシンおよびコンテナを対象に、グローバルに無効化する。これには、 対象のサービスを /etc/vz/vz.conf ファイルから削除します。 • 個別の仮想マシンおよびコンテナを対象に無効化する。これには、/etc/vz/vz.conf ファイル でオフラインサービスがグローバルに有効化されていることを確認してから、prlctl set コマ ンドを --offline_service オプション付きで実行します。例えば、コンテナ 101 に対して vzpp サービスを無効化するには、以下のコマンドを実行します。 # prlctl set 101 --offline_service vzpp オフライン管理の構成ファイル /etc/vzredirect.d ディレクトリにある複数のオフライン管理構成ファイルに、コンテナ管理サー ビスを用いる様々な仮想マシンおよびコンテナのオフライン管理モードが定義されています。1 つ の構成ファイルで、1 つのオフライン管理モードを規定します。現バージョンの Parallels Cloud Server では、次の 2 つのファイルを利用できます。 196 Parallels Cloud Server ネットワークを管理する • vzpp.conf:Parallels Power Panel によるオフライン管理を定義します。 • vzpp-plesk.conf:Parallels Power Panel に統合された Plesk コントロールパネルによるオフ ライン管理を定義します。 それぞれのファイルに、以下の 2 つのパラメータがあります。 パラメータ 説明 PORT 仮想マシンまたはコンテナにアクセスするためのポート番号。デフォルトポートは以下のとおりです。 DST_VEID • 4643:Parallels Power Panel • 8443:Parallels Power Panel に統合された Plesk コントロールパネル PORT でリクエストをリダイレクトする仮想マシンまたはコンテナの ID。デフォルトで、すべてのリクエストは ID が 1 の特別なサービスコンテナにリダイレクトされます。 Open vSwitch ブリッジを使用する Parallels Cloud Server 6.0 は、Open vSwitch 1.6(http://openvswitch.org)をサポートします。 これは、仮想スイッチとして機能するマルチレイヤのネットワークスイッチであり、仮想マシンお よびコンテナにネットワーク接続を提供します。デフォルトで、Open vSwitch のサポートは無効 化されており、代わりに Linux ブリッジが使用されます。サーバで Open vSwitch ブリッジの使 用を開始するには、次の手順を完了します。 1 サーバに openvswitch パッケージをインストールします。このパッケージは、リモート Parallels Cloud Server リポジトリから入手でき、yum install コマンドを使用してインストー ル可能です。 # yum install openvswitch 2 サーバの起動時に自動的に起動するように openvswitch サービスを構成します。 # chkconfig openvswitch on 3 Open vSwitch ブリッジの構成ファイルを作成します。ファイルに 「ifcfg-BRIDGE_NAME-NIC_NAME」という名前を付け、/etc/sysconfig/network-scripts ディレ クトリに保存します。例えば、以下のコマンドを実行すると、eth0 ネットワークカードに紐付 けられる br-eth0 ブリッジ用の構成ファイルが作成されます。ifcfg-br-eth0 構成ファイルを 作成する最も簡単な方法は、ifcfg-eth0 ファイルをその中身ごとコピーします。 # cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br-eth0 197 Parallels Cloud Server ネットワークを管理する 4 ifcfg-br-eth0 ファイルでパラメータを構成します。 • DEVICE パラメータの値を br-eth0 に設定します。 • TYPE パラメータの値を OVSBridge に設定します。 • ファイルに SLAVE パラメータがあり、yes に設定されていることを確認します。 • ファイルから HWADDR パラメータを削除します。 ifcfg-br-eth0 ファイルの例は以下の通りです。 DEVICE="br-eth0" TYPE="OVSBridge" SLAVE="yes" BOOTPROTO="dhcp" IPV6INIT="no" NM_CONTROLLED="yes" ONBOOT="yes" DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="yes" 5 /etc/sysconfig/network-scripts/ifcfg-eth0 ファイルを構成します。 • ファイルから、DEVICE、ONBOOT、TYPE、HWADDR、DEVICETYPE を除くすべてのパラメータを 削除します。 • TYPE パラメータの値を OVSPort に設定します。 • DEVICETYPE パラメータの値を ovs に設定します。 • ファイルに OVS_BRIDGE パラメータを追加し、その値を br-eth0 に設定します。 ifcfg-eth0 ファイルの例は以下の通りです。 DEVICE="eth0" ONBOOT="yes" HWADDR="XX:XX:XX:XX:XX:XX" TYPE="OVSPort" DEVICETYPE="ovs" OVS_BRIDGE="br-eth0" 6 サーバを再起動して、変更内容を有効にします。 再起動後に以下のコマンドを実行して、br-eth0 ブリッジが eth0 ネットワークカードに紐付けら れたことを確認できます。 # vznetcfg if list Name Type Network ID Addresses br-eth0 bridge 10.30.23.246/16,fe80::21c:42ff:fe74:dacf/64,dhcp veth-eth0.0 veth fe80::a465:a3ff:fe0e:57a6/64 veth-eth0.1 veth Bridged fe80::c79:efff:fe34:301f/64 br1 bridge Bridged fe80::74ef:5dff:fe18:a044/64 br0 bridge Host-Only 10.37.130.2/24,fdb2:2c26:f4e4::1/64 eth0 nic Bridged 10.30.23.246/16,fe80::21c:42ff:fe74:dacf/64 198 Parallels Cloud Server ネットワークを管理する Open vSwitch の制限および制約事項 Open vSwitch には、以下のような制限と制約事項があります。 • Open vSwitch ブリッジを有効化した物理サーバでは、iptables 機能を使用できません。 • Open vSwitch ブリッジによるプライベートネットワークの作成および管理はサポートされま せん。プライベートネットワークについて詳しくは、「プライベートネットワークを管理する(p. 181)」を参照してください。 • Parallels Automation for Cloud Infrastructure は、Open vSwitch ブリッジを使用するサー バに対して「基本ファイアウォール」機能をサポートしません。 199 第 7 章 ライセンスを管理する この章では、Parallels Cloud Server ライセンスの管理について説明します。現在のライセンスス テータスの表示、サーバへの新規ライセンスのインストール、既存のライセンスの更新、サーバ間 でのライセンスの移動などについてカバーします。 注:Parallels Cloud Storage の機能を使用するには、Parallels Cloud Server ライセンスに加え、別のライセ ンスをインストールする必要があります。Parallels Cloud Storage ライセンスの管理について詳しくは、 『Parallels Cloud Storage 管理者ガイド』を参照してください。 この章の構成 ライセンスをインストールする .................................................................. 200 現在のライセンスを更新する ..................................................................... 202 別のサーバにライセンスを移管する ............................................................ 203 現在のライセンスを表示する ..................................................................... 204 ライセンスをインストールする Parallels Cloud Server ライセンスをどのように取得したのかに応じて、ライセンスのインストー ル手順は少しずつ異なります。 • プロダクトキーの形式でライセンスを取得した場合は、vzlicload コマンドの -p オプションを 使用してサーバにライセンスをインストールできます。例えば、プロダクトキー ライセンスを管理する XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX をインストールするには、以下のコマンドを実行しま す。 # vzlicload -p XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX 注:vzlicload ユーティリティを使用してライセンスをアップグレードすることもできます。例えば、現在 のライセンスでは Parallels Virtual Automation による Parallels サーバの管理がサポートされない場合、ア ップグレードが必要になります。 • アクティベーションコードの形式でライセンスを取得した場合は、vzlicupdate コマンドの -a オプションを使用してサーバにライセンスをインストールできます。例えば: # vzlicupdate -a XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX ここで XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX は、アクティベーションコードです。 vzlicupdate を実行すると、Key Authentication(KA)ライセンスサーバに接続し、指定した アクティベーションコードを送信します。ライセンスサーバはこれを受けてライセンスファイル を生成し、アクティベーションコードを送信したサーバにこのファイルを返送し、自動的にイン ストールします。そのため、上記のコマンドを実行する前に、Parallels サーバがインターネッ トに接続されていることを確認する必要があります。 アクティベーションコードによってアクティブ化する場合は、ライセンスのインストールを正常に 完了するために、インターネットに接続している必要があります。接続していないと、ライセンス をアクティブ化するために必要な手順を示す警告メッセージが表示されます。一般に、次のような 手順になります。 1 http://sp.parallels.com/jp/support/virtuozzo/activate/ にアクセスします。 2 上記ウェブページで、以下の情報を入力します。 • [Product Code](プロダクトコード)フィールドに、ライセンスのアクティベーションコ ードを入力します。 • [HWID]フィールドに、サーバの ID を入力します。ID は、/proc/vz/hwid で確認できま す。例えば: # cat /proc/vz/hwid C737.BB31.AD4D.E3D2.FB27.8485.0477.5569 注:このコマンドで複数の ID が返された場合、ライセンス購入用のものを選択してください。 • [Enter following digits](表示された数字を入力)フィールドに、横に表示されている数 字を入力します。 3 [ACTIVATE LICENSE](ライセンスのアクティブ化)ボタンをクリックします。 201 ライセンスを管理する [Virtuozzo License Activation](Virtuozzo ライセンスのアクティブ化)ページに正しい情報を 入力すると、サーバにダウンロードしてインストールするライセンスファイルへのリンクが表示さ れます。例えば、取得したライセンスファイルをインストールするには、以下のコマンドを実行し ます。 # vzlicload -f /etc/vzlicense このコマンドで、vzlicense という名前のライセンスファイルがサーバにインストールされます。 現在のライセンスを更新する Parallels Cloud Server では、vzlicupdate ユーティリティを使用して、現在 Parallels サーバに インストールされているライセンスを更新することができます。実行すると、ユーティリティが Parallels Key Authentication(KA)サーバに接続して新しいライセンスを取得し、それをサーバに インストールします。ライセンスを更新するには、次の手順に従います。 1 ライセンスを更新する Parallels サーバがインターネットに接続していることを確認します。 2 サーバで以下のコマンドを実行します。 # vzlicupdate デフォルトで、vzlicupdate は、ka.parallels.com というホスト名の KA サーバへのアクセスを 試みます。ただし、--server オプションを使用して、どの KA サーバを使用するかを明示的に指定 することができます。 # vzlicupdate --server ka.server.com この例で、vzlicupdate ユーティリティは、ka.server.com というホスト名の KA サーバに接続し、 このサーバから新しいライセンスを取得して、それを vzlicupdate を実行したサーバにインストー ルします。 注:vzlicupdate ユーティリティが正しく機能するように、物理サーバにはパブリック IPv4 アドレスを 1 つ以上割り当てる必要があります。 202 ライセンスを管理する 別のサーバにライセンスを移管する ある Parallels サーバ(ソースサーバ)から別のサーバ(宛先サーバ)へ、ライセンスを移管したい 場合があります。例えば、ライセンスをインストールしたサーバに何らかの問題が発生したり、ハ ードウェアをアップグレードする必要が生じた場合などです。 Parallels サーバ間でライセンスを移管する手順は、ライセンスのタイプに応じて、次のいずれかの 方法になります。 プロダクトキーによるアクティブ化 プロダクトキーを使用して Parallels Cloud Server をアクティブ化した場合、次の方法で、インス トールしたライセンスをソースサーバから宛先サーバに移管できます。 1 インストールしたライセンスをソースサーバから削除します(例えば vzlicload -r product_key コマンドを使用)。 2 宛先サーバにログインします。 3 宛先サーバにプロダクトキーをインストールします。Parallels Cloud Server ライセンスのイン ストール方法について詳しくは、「ライセンスをインストールする(p. 200)」を参照してくだ さい。 アクティベーションコードによるアクティブ化 アクティベーションコードを使用して Parallels Cloud Server をアクティブ化した場合、 vzlicupdate ユーティリティを使用して Parallels サーバ間でライセンスを移管することができま す。例えば、XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX というアクティベーションコードを使用して インストールしたライセンスを移管するには、以下の手順に従います。 1 ソースサーバがシャットダウンしているか、このサーバからライセンスが削除されていることを 確認します。 2 宛先サーバが起動しており、インターネットに接続していることを確認します。 3 宛先サーバに、ssh 経由などでログインします。 4 宛先サーバで以下のコマンドを実行します。 # vzlicupdate -t -a XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX 203 ライセンスを管理する 実行すると、vzlicupdate は Parallels KA サーバにアクティベーションコードを送信することによ り、新しい Parallels サーバにライセンスを移管しようとしていることを KA サーバに伝えます。 KA サーバは、受信したコードを検証し、新しいライセンスファイルを生成して宛先サーバに返送し、 そこにインストールします。 注:vzlicupdate ユーティリティが正しく機能するように、物理サーバにはパブリック IPv4 アドレスを 1 つ以上割り当てる必要があります。 vzlicview ユーティリティによって、ライセンスの転送が正常に終了したことを確認できます。例 えば: # vzlicview Show installed licenses... VZSRV status="ACTIVE" version=X.X serial="XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX" expiration="05/01/2012 23:59:59" ... vzlicview ユーティリティとその出力の詳細は、「現在のライセンスを表示する(p. 204)」を参照 してください。 現在のライセンスを表示する このサブスクリプションセクションでは、Parallels サーバにインストールされているライセンスに ついての情報を表示する方法を説明します。 ライセンスを表示する Parallels Cloud Server では、vzlicview ユーティリティを使用して、インストールされているラ イセンスの情報を表示し、現在のステータスを確認できます。このユーティリティを実行すると、 現在 Parallels サーバにインストールされているライセンスが処理され、ライセンスの内容とステ ータスが表示されます。vzlicview の出力例は以下の通りです。 # vzlicview Searching for installed licenses... VZSRV status="ACTIVE" version=X.X serial="XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX" expiration="12/01/2012 23:59:59" graceperiod=86400 (86400) key_number="PCS.00000001.0000" cpu_total=64 (1) 204 ライセンスを管理する ct_total=100 (1) platform="Any" product="PCS" nr_vms=10 (2) architecture="Any" ha_allowed=1 rku_allowed=0 このコマンドの出力結果には、ライセンスのすべての情報が表示されます。主なライセンスパラメ ータは、以下の表の通りです。 列 status 説明 ライセンスのステータス。ライセンスが取り得るすべてのステータスについての情報は、「ライセンスのステー タス(p. 206)」で説明しています。 version ライセンスが発行された Parallels Cloud Server のバージョン serial ライセンスのシリアル番号 expiration ライセンスに時間制限がある場合は、その有効期限 次の状況で、Parallels Cloud Server が機能を続ける期間(秒数) graceperiod • ライセンスが失効した • 実行中の仮想マシンおよびコンテナの数が、ライセンスに定められた上限に達した key_number Parallels Key Authentication サーバでのライセンスの登録番号 cpu_total Parallels サーバへのインストールが許可されている CPU の数 ct_total Parallels サーバで同時に実行することが許可されているコンテナの合計数 platform ライセンスが互換性のある OS。 product ライセンスが発行された製品名 nr_vms Parallels サーバで同時に実行することが許可されている仮想マシンの数 architecture ライセンスが対応しているシステムアーキテクチャ concerto このフィールドがある場合、そのライセンスはコンテナ内での Plesk アプリケーションの使用をサポートしま す。 rku_allowed ライセンスで、リブートレスアップグレードが有効か (1) 無効か (0) を示します。 ha_allowed ライセンスで、Parallels Cloud Storage 機能が有効か (1) 無効か (0) を示します。 仮想マシンおよびコンテナの上限が合算されているライセンス Parallels Cloud Server 6.0 の一部のライセンスでは、Parallels サーバ上で同時に実行できる仮想 マシンおよびコンテナの数の上限が、仮想マシンおよびコンテナに対して別々に設定されているの ではなく、合算して定められています。この場合、ライセンスの出力結果は次のようになります。 # vzlicview 205 ライセンスを管理する Searching for installed licenses... VZSRV status="ACTIVE" version=X.X serial="XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX" expiration="12/01/2013 23:59:59" graceperiod=86400 (86400) key_number="PCS.00000001.0000" cpu_total=64 (1) ct_total=100 (1) platform="Any" product="PCS" nr_vms="combined" (2) servers_total=100 architecture="Any" ご覧のように、servers_total というパラメータが 1 つ増えています。このパラメータは、 Parallels サーバ上で同時に実行できる仮想マシンおよびコンテナの総数を定義するものです。例え ば、上のライセンスでは、100 件のコンテナまたは 100 件の仮想マシン、あるいは 50 件のコン テナと 50 件の仮想マシンを、同時に実行することができます。 ライセンスのステータス ライセンスに関する情報を参照する際は、ライセンスのステータスに注意を払う必要があります。 ステータス 説明 ACTIVE サーバにインストールされているライセンスが有効でアクティブ VALID ライセンスのユーティリティ解析が有効で、サーバにインストール可能 EXPIRED ライセンスが失効しているため、サーバにインストール不可 GRACED ライセンスはサーバに正常にインストール済みであるが、現在は以下のいずれかの理由により猶予期間中である INVALID 206 • ライセンスが失効した • 実行中の仮想マシンおよびコンテナの数が、ライセンスに定められた上限に達した ライセンスが無効(例えば、サーバのアーキテクチャと一致しない)であるか、破損している 第 8 章 システムを最新状態に保つ この章は、Parallels サーバを最新状態に保つ方法を説明します。このために、以下のコンポーネン トについて注意する必要があります。 • Parallels Cloud Server ソフトウェア(p. 207) • このサーバでホストする仮想マシン(p. 211)およびコンテナ(p. 211) この章の構成 Parallels Cloud Server を更新する ............................................................ 207 Parallels Cloud Storage クラスタ内のハードウェアノードを更新する ................ 210 仮想マシン内のソフトウェアを更新する....................................................... 211 コンテナを更新する ................................................................................ 211 Parallels Cloud Server を更新する Parallels Cloud Server では、RPM 対応 Linux OS に標準搭載された yum ユーティリティによる 迅速で簡単な更新が可能です。更新が必要になる主なコンポーネントは以下のとおりです。 • ユーティリティおよびライブラリ(p. 208) • カーネル(p. 209) • EZ テンプレート(p. 209) 注:vzup2date ユーティリティは Parallels Cloud Server でサポートされなくなりました。 システムを最新状態に保つ リブートレスアップグレード 旧バージョンの Parallels Server Bare Metal では、システムにアップデートを適用する際に、サ ーバの再起動が必要になりました。再起動時に、サーバで実行中のすべての仮想マシンおよびコン テナがシャットダウンされ、再起動していました。実行中の仮想マシンおよびコンテナの数が多す ぎると、それぞれを停止して再起動するために大幅なダウンタイムが発生することになります。 バージョン 6.0 より、Parallels Cloud Server はリブートレスアップグレードに対応しています。 このアップグレード中、サーバのメモリで実行中のすべての仮想マシンおよびコンテナが一時停止 され、シャットダウンではなく再開されて再び動き出します。これにより、ダウンタイムが大幅に 短縮され、エンドユーザがサービスの停止や中断をほとんど認識しないようになります。 リブートレスアップグレードを実行するには: 1 新しい Parallels Cloud Server カーネルを yum を使用してダウンロードし、インストールしま す。カーネルの更新について詳しくは、「カーネルを更新する(p. 209)」を参照してください。 2 vzreboot コマンドを実行します。 # vzreboot このコマンドは、GRUB 構成ファイルを確認し、デフォルトのカーネルを特定し、そのカーネ ルをメモリにロードしてから起動します。次のように、カーネルのバージョンを手動で指定する こともできます。 # vzreboot 2.6.32-042stab054.2 この場合、このコマンドは、GRUB 構成ファイルにデフォルトとして設定されたカーネルでは なく、指定されたカーネルをロードして起動します。 注:Parallels Cloud Server の特定のコンポーネントを更新する際に、Windows ベースの仮想マシンの Parallels Tools が自動的に更新され、この分のダウンタイムが発生する可能性があります。このようなシャット ダウンを回避するには、prlctl set --tools-autoupdate off コマンドを使用して Parallels Tools の自 動更新を無効にすることができます。 すべてのコンポーネントを更新する Parallels Cloud Server ソフトウェアの全コンポーネントを更新する最も簡単な方法は、yum update コマンドを実行します。このコマンドを実行すると、yum ユーティリティに以下の作業が指示され ます。 208 システムを最新状態に保つ 1 Parallels リモートリポジトリへのアクセス 2 Parallels Cloud Server カーネル、ユーティリティ、ライブラリ、EZA テンプレートのアップ デートの確認 3 検出されたアップデートのシステムへのインストール yum ユーティリティで更新できるのは、サーバにインストール済みのパッケージのみです。したが って、パッケージがシステムにインストールされていない場合は、まず yum install コマンドを使 用してインストールする必要があります。 カーネルを更新する Parallels Cloud Server カーネルの更新には、以下のパッケージの更新が含まれます。 • vzkernel • vzkernel-devel • vzmodules • vzmodules-devel これらを更新するには、以下のように yum update コマンドを実行します。パッケージ名はスペース で区切ります。 # yum update vzkernel vzkernel-devel vzmodules vzmodules-devel ... Installed: vzkernel.x86_64 0:2.6.32-042stab049.5 vzkernel-devel.x86_64 0:2.6.32-042stab049.5 vzmodules.x86_64 0:2.6.32-042stab049.5 vzmodules-devel.x86_64 0:2.6.32-042stab049.5 Complete! EZ テンプレートを更新する 他の RPM パッケージと同じく、EZ テンプレートは yum update コマンドを使用して更新できます。 例えば: # yum update centos-6-x86-ez ... Updated: centos-6-x86-ez.noarch 0:4.7.0-1 Complete! 注: 1.OS EZ テンプレートを更新するには、テンプレートの名前に ez をアペンドする必要があります。 209 システムを最新状態に保つ 2.また、vzpkg update template コマンドを使用して EZ テンプレートを更新することもできます。このコ マンドの使用について詳しくは、『Parallels Cloud Server 6.0 テンプレート管理ガイド』(※英語)を参照し てください。 更新を確認する パッケージを更新する前に、何をどのバージョンに更新できるのかを確認することができます。こ れには、yum check-update コマンドを使用します。例えば: # yum check-update ... vzkernel.x86_64 vzkernel-devel.x86_64 vzmodules.x86_64 vzmodules-devel.x86_64 2.6.32-042stab049.5 2.6.32-042stab049.5 2.6.32-042stab049.5 2.6.32-042stab049.5 pcs-base pcs-base pcs-base pcs-base その他のアクションを実行する yum コマンドにより、更新の確認およびインストール以外の作業が可能になります。Parallels Cloud Server の更新で役に立つその他の便利なオプションには、search、list、info、deplist、 provide があります。これらのオプションやその他のオプションについては、yum Linux マニュア ルページを参照してください。 Parallels Cloud Storage クラスタ内のハードウェ アノードを更新する Parallels Cloud Server ハードウェアノードの Parallels Cloud Storage クラスタを更新するには、 各ノードを以下のように更新します。 1 古くなった可能性がある更新データをノードから消去します。 # yum clean all 2 Parallels Cloud Server パッケージを更新します。 # yum update # vzreboot 更新後、以下の点を確認できます。 • ノードが正常に更新されたこと: # prlsrvctl info | grep Server Version: Server 6.0.17195.922164 OS: Parallels Cloud Server 6.0.0 (1622) (2.6.32-042stab081.3) 210 システムを最新状態に保つ • 更新後、ノードの高可用性(HA)が有効なまま維持されていること: # shaman stat • ノードがクラスタ内に維持されていること。例えば、クラスタ pcs1 の場合、以下のコマンドを 使用します。 # pstorage -c pcs1 top Parallels Cloud Storage クラスタ内の各ハードウェアノードに対し、上記の手順を繰り返します。 仮想マシン内のソフトウェアを更新する 仮想マシン内のソフトウェアを最新状態に保つ手順は、同じ OS を実行するスタンドアロンコンピ ュータで行う作業と同じです。 • Linux ベースの仮想マシンでは、ネイティブ Linux アップデータ(up2date、yum、または yast)を使用できます。 • Windows ベースの仮想マシンでは、ネイティブ Windows アップデータ(Windows Update など)を使用できます。 これらのアップデータを定期的に実行し、システムに最新のアップデートおよび修正(セキュリティ パッチを含む)がインストールされていることを確認します。ネイティブアップデータについて詳し くは、OS に付属するマニュアルを参照してください。 コンテナを更新する Parallels Cloud Server には、コンテナを最新状態に保つために以下の 2 つの機能があります。 • vzpkg ユーティリティを使用して、特定のコンテナ内の EZ テンプレートソフトウェアパッケ ージを更新する。この機能を使用すると、Parallels サーバ上のあらゆるコンテナを最新状態に 保つことができます。 • Parallels サーバにインストールされた OS EZ テンプレートのキャッシュを更新する。この機 能を使用すると、最新のソフトウェアパッケージがインストールされた新しいコンテナを作成で きます。 211 システムを最新状態に保つ コンテナ内の EZ テンプレートパッケージを更新する Parallels Cloud Server では、コンテナのベースの OS EZ テンプレートと、コンテナに適用され たアプリケーション EZ テンプレートのパッケージを更新できます。更新には vzpkg update ユー ティリティを使用します。コンテナ 101 が redhat-el5-x86 OS EZ テンプレートをベースにして いる場合、以下のコマンドを実行すると、このテンプレートに含まれるパッケージをすべて更新で きます。 # vzpkg update 101 redhat-el5-x86 ... Updating: httpd ####################### Updating: vzdev ####################### Cleanup : vzdev ####################### Cleanup : httpd ####################### [1/4] [2/4] [3/4] [4/4] Updated: httpd.i386 0:2.0.54-10.2 vzdev.noarch 0:1.0-4.swsoft Complete! Updated: httpd i386 0:2.0.54-10.2 vzdev noarch 0:1.0-4.swsoft 注: 1.EZ テンプレートの更新は、実行中のコンテナに対してのみ実行できます。 2.商用 OS EZ テンプレート(例えば Red Hat Enterprise Server 5 や SLES 10)のキャッシュを更新する場 合は、まずこの OS EZ テンプレートの処理に使用されるリモートリポジトリ内のソフトウェアパッケージを更 新してから、EZ テンプレートキャッシュの更新に進む必要があります。商用 Linux ディストリビューション用 のリポジトリの管理方法について詳しくは、『Parallels Cloud Server テンプレート管理ガイド』(※英語)を 参照してください。 上記の例では、httpd および vzdev アプリケーションが redhat-el5-x86 OS EZ テンプレート用 に更新されています。コンテナ 101 内のすべての EZ テンプレート(OS EZ テンプレートを含む) を一括更新するには、以下のコマンドを実行します。 # vzpkg update 101 ... Running Transaction Updating : hwdata Cleanup : hwdata ###################### [1/2] ###################### [2/2] Updated: hwdata.noarch 0:1.0-3.swsoft Complete! Updated: hwdata noarch 0:0.158.1-1 上記の例では、コンテナ 101 の hwdata パッケージのみが古かったため、最新バージョンに更新さ れました。 212 システムを最新状態に保つ OS EZ テンプレートキャッシュを更新する 該当の Linux ディストリビューションの新しいアップデートがリリースされると、作成した OS EZ テンプレートキャッシュが古くなる場合があります。Parallels Cloud Server では、vzpkg update cache コマンドを使用して OS EZ テンプレートを迅速に更新することができます。 注:商用 OS EZ テンプレート(例えば Red Hat Enterprise Server 6 や SLES 11)のキャッシュを更新する 場合は、まずこの OS EZ テンプレートの処理に使用されるリモートリポジトリ内のソフトウェアパッケージを 更新してから、EZ テンプレートキャッシュの更新に進む必要があります。商用 Linux ディストリビューション 用のリポジトリの管理方法について詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイ ド』(※英語)を参照してください。 vzpkg update cache は、Parallels サーバ上のテンプレートエリア(デフォルトのテンプレートエリ アの場所は /vz/template)の cache ディレクトリを確認して、このディレクトリにある既存の TAR 書庫をすべて更新します。ただし、OS EZ テンプレート名を指定することで、どの OS EZ テ ンプレートの TAR 書庫を更新するかを明示的に指定できます。例えば、centos-6-x86 OS EZ テ ンプレートの TAR 書庫を更新するには、以下のコマンドを実行します。 # vzpkg Loading Setting Setting base0 base1 base2 base3 ... update cache centos-6-x86 "rpm2vzrpm" plugin up Update Process up repositories 100% |=========================| 100% |=========================| 100% |=========================| 100% |=========================| 951 951 951 951 B B B B 00:00 00:00 00:00 00:00 vzpkg update cache を実行すると、古い TAR 書庫は -old サフィックスを付けて名前変更されま す(例:centos-x86.tar.gz-old)。 # ls /vz/template/cache centos-6-x86.tar.gz centos-6-x86.tar.gz-old また、vzpkg update cache に -f オプションを指定して、既存の TAR 書庫を削除し、新規作成す ることもできます。 vzpkg update cache コマンドは、サーバにインストールされている OS EZ テンプレートの TAR 書 庫を 1 件以上検出できなかった場合、該当する OS EZ テンプレートの TAR 書庫を作成して /vz/template/cache ディレクトリに格納します。 213 第 9 章 高可用性クラスタを管理する この章では、Parallels Cloud Storage クラスタに参加するサーバの高可用性を管理する方法を説明 します。 高可用性によって、仮想マシン、コンテナ、iSCSI ターゲットがホストされているハードウェアノ ードに障害が発生しても、これらはそのまま機能を続けます。このような場合、影響を受ける仮想 環境は、クラスタ内の別の正常なハードウェアノード上で引き続き実行されます。高可用性は、以 下によって実現します。 • メタデータサーバの複製。Parallels Cloud Storage クラスタが機能するためには、すべての MDS サーバが起動している必要はなく、大部分が起動していれば十分です。クラスタ内に複数 の MDS サーバをセットアップすると、ある MDS サーバに障害が発生しても、他の MDS サ ーバがクラスタのコントロールを続けます。 • データの複製。データチャンクがすべて複製され、別のチャンクサーバに格納されます。あるチ ャンクサーバに障害が発生しても、このサーバに格納されていたデータチャンクは引き続き他の チャンクサーバから提供されます。 • ハードウェアノードのヘルスモニタリング 高可用性クラスタを管理する この章の構成 前提条件を確認する ................................................................................ 215 高可用性を使用できるようノードを準備する ................................................. 215 ノードに対して高可用性を有効または無効にする ........................................... 216 特定の仮想マシンおよびコンテナに対して高可用性を有効または無効にする ......... 218 仮想マシンおよびコンテナの HA 優先度を構成する ....................................... 218 CPU プールを管理する ............................................................................ 219 クラスタステータスを監視する .................................................................. 221 スクリプトでクラスタリソースを管理する .................................................... 223 前提条件を確認する 高可用性機能を使用するためには、以下の前提条件を満たしている必要があります。 • ネットワーク内に Parallels Cloud Storage クラスタがセットアップされている。高可用性が、 Parallels Cloud Storage クラスタ内に参加するノードに対してのみサポートされている。 • クラスタにチャンクサーバが 5 基以上ある。 • クラスタのデフォルトおよび最低限の複製パラメータが、それぞれ 3 レプリカおよび 2 レプリ カ以上に設定されている。 注:また、「Parallels Cloud Storage クラスタ内のハードウェアを更新する(p. 210)」の説明に従って、ハ ードウェアノードのクラスタを更新することを検討することもできます。 高可用性を使用できるようノードを準備する ノードの高可用性サポートを有効または無効にする前に、このノードで以下の作業を行う必要があ ります。 1 Parallels Cloud Storage を更新する。 # yum update 2 必要なパッケージをインストールする。 # yum install shaman pdrs rmond 215 高可用性クラスタを管理する 3 /etc/snmp/snmpd.local.conf ファイルに以下の行を追加する。 rwcommunity parallels rwcommunity parallels 127.0.0.1 .1.3.6.1.4.1.26171 <IP_network/subnet_mask> .1.3.6.1.4.1.26171 ここで <IP_network> は、Parallels Cloud Storage クラスタネットワークであり、 <subnet_mask> はこのクラスタに参加するすべてのノードを指します。 ノードに対して高可用性を有効または無効にする 通常は、ノードに Parallels Cloud Storage をインストールする時に、高可用性(HA)を有効にす るかどうかを決定します。 準備したノードで HA を有効にするには: 1 shaman join コマンドを実行します。例えば、クラスタ pcs1 を参加させるには、以下のコマン ドを実行します。 # shaman -c pcs1 join 注:このコマンドを実行する前に、すべてのサービスコンテナ(例:1 と 50)を停止してください。これら は、コマンドを実行した後で再び開始します。 2 # # # # # # 必要なサービスを構成し、起動します。 chkconfig snmpd on service snmpd start chkconfig shamand on service shamand start chkconfig pdrsd on service pdrsd start 注:他の目的のために snmpd を使用したため、既に実行中である場合、上記の該当する 2 コマンドをスキッ プしてください。 ノードで HA を無効にするには: 1 # # # # 2 不要になったサービスを構成し、停止します。 chkconfig shamand off service shamand stop chkconfig pdrsd off service pdrsd stop shaman leave コマンドを実行します。例えば、クラスタ pcs1 を終了させるには、以下のコマ ンドを実行します。 # shaman -c pcs1 leave ノードの HA サポートを有効または無効にした後で、shaman stat コマンドで処理結果を確認する ことができます。 216 高可用性クラスタを管理する リソース再配置モードを構成する ハードウェアノードに障害が発生した時にクラスタがどう対処するかを構成することができます。3 つのモードから選択できます。 • DRS(デフォルト):このモードでは、障害が発生したハードウェアノードで実行されていた仮 想マシンとコンテナが、RAM とライセンスの空き状況を基準に、正常なノードに再配置されま す。このモードは、pdrs サービスを実行中のノードでは使用できません。 注:CPU プールを使用している場合、仮想マシンとコンテナは、同じ CPU プール内の別のノードにのみ再配 置可能です。詳しくは、「CPU プールを管理する(p. 219)」を参照してください。 DRS モードは、次のように機能します。マスター DRS が、クラスタ内の正常なノードすべて から、SNMP 経由で以下のデータを継続的に収集します。 • ノードの RAM の合計 • 仮想マシンが使用する RAM の合計 • コンテナが使用する RAM の合計 • 実行が許可される最大仮想マシン数 • 実行が許可される最大コンテナ数 • 実行が許可される最大仮想マシンおよびコンテナ数 ノードに障害が発生すると、shaman サービスによって、このノードで実行されていた仮想マシ ンとコンテナのリストがマスター DRS に送信され、最も RAM が必要なものから順にソートさ れます。ノードの RAM およびライセンスについて収集されたデータを用いて、マスター DRS はリスト最上位の仮想環境(最も RAM を必要とする仮想環境)に対し、最も RAM に空きがあ り、ライセンスが適しているノードを探します。このようなノードがあれば、マスター DRS は この仮想環境を、そのノードに再配置するとマーキングします。ノードがなければ、仮想環境は 「破損」とマーキングされます。次に、マスター DRS は次にリストされた仮想環境の処理を開 始し、前の仮想環境の要件に従って、収集されたノードデータを調整します。リストの全ての仮 想環境を処理したら、マスター DRS は実際に再配置するためにこのリストを shaman サービス に送信します。 • スペア:このモードでは、障害が発生したハードウェアノードの仮想マシンとコンテナが、ター ゲットのバックアップノードに再配置されます。このノードは、クラスタ内の任意のノードにあ るすべての仮想環境をホストできる十分なリソースとライセンスを持つ、空のハードウェアノー 217 高可用性クラスタを管理する ドです。このモードで高可用性を機能させるためには、このノードが必要になります。このモー ドに切り替えるには、次のコマンドを使用します。 # shaman set-config RESOURCE_RELOCATION_MODE=spare • ラウンドロビン(デフォルトフォールバック):このモードでは、障害が発生したハードウェア ノードの仮想マシン、コンテナ、および iSCSI ターゲットが、ラウンドロビン方式で正常なノ ードに再配置されます。このモードに切り替えるには、次のコマンドを使用します。 # shaman set-config RESOURCE_RELOCATION_MODE=round-robin 追加で、選択した再配置モードが失敗した場合のフォールバック再配置モードも設定することがで きます。例えば: # shaman set-config RESOURCE_RELOCATION_MODE=drs,spare 特定の仮想マシンおよびコンテナに対して高可用性 を有効または無効にする デフォルトで、ノードで HA サポートが有効になっていると、このサポートはそのノードホストの すべての仮想マシンおよびコンテナに対して自動的にオンになります。必要に応じて、prlctl set コマンドを使用して特定の仮想マシンおよびコンテナの HA サポートを無効にできます。例えば、 以下のコマンドを実行すると、仮想マシン MyVM の HA サポートがオフになります。 # prlctl set MyVM --ha-enable no 仮想マシンの HA サポートを有効に戻すには、以下のコマンドを実行します。 # prlctl set MyVM --ha-enable yes 仮想マシンおよびコンテナの HA 優先度を構成する HA 優先度は、ノードに障害が発生した場合に、どの仮想マシンおよびコンテナから再配置を行う かを定義します。Parallels Cloud Storage クラスタに十分なディスクリソースがない場合、優先度 が高い仮想マシンまたはコンテナほど、正常なノードに再配置される可能性が高くなります。 デフォルトで、新規作成されたすべての仮想マシンおよびコンテナは優先度が 0 に設定されます。 prlctl set コマンドを使用して、仮想マシンまたはコンテナの優先度を次のように構成することが できます。 # prlctl set MyVM1 --ha-prio 1 # prlctl set MyVM2 --ha-prio 2 218 高可用性クラスタを管理する このコマンドでは、仮想マシン MyVM1 と MyVM2 の HA 優先度がそれぞれ 1 と 2 に設定されます。 仮想マシンをホストするノードに障害が発生すると、まず MyVM2 が正常なノードに再配置され、次 に MyVM1 が再配置され、最後にデフォルト優先度(優先度 0)の他のすべての仮想マシンが再配置 されます。 CPU プールを管理する 注:これは試験的な機能です。 CPU プールにより、高可用性クラスタを、CPU 互換ノードのグループに分けることができます。 CPU 互換性は、プール内のすべてのノードに同じ CPU 機能マスクを適用することによって完成し、 このプール内のすべてのノードは同じ CPU 機能セットを持ちます。これにより、同じプール内の ソースノードから宛先ノードに(フェイルオーバーやその他の目的で)ライブマイグレーションされ、 再開された仮想環境が必要とする CPU 命令を、宛先ノードでも実行できるようになります。 CPU プールには、高可用性クラスタが機能している必要があります。 CPU プールにノードを追加する 注: 1.異なるベンダー(例:Intel と AMD)の CPU を搭載したノードを、同じ CPU プールに追加することはでき ません。 2.プールにノードを追加する前に、そのノードのすべての仮想マシンとコンテナを停止させてください(ID が 101 より小さいサービスコンテナ(コンテナ 1 など)を含む)。 CPU プールにノードを追加する最も簡単な方法は、以下のコマンドをノードで実行します。 # cpupools join ノードは、デフォルト CPU プールに追加されます。 デフォルトプールには、以下のような特徴と制約事項があります。 • 命名規則は「default_<intel|amd>N」(例えば default_intel0、default_amd0)です。 219 高可用性クラスタを管理する • プリセットの変更不能な基本 CPU マスクは、高度な CPU 機能を犠牲にしてハードウェア互換 性を最大化します。異なる CPU ベンダーには、異なる CPU 機能マスクが使用されます。 • 基本 CPU 機能マスクをサポートしないノードは、異なるデフォルト CPU プールに配置されま す(例えば default_intel1、default_amd2)。 • ノードを特定のデフォルト CPU プールに意図的に追加することはできません。 パフォーマンスを最適化するために、プール内のノードに対してできるだけ多くの共通 CPU 機能 を有効にするには、必要なノードをカスタム CPU プールに移動します。これには、以下を実行し ます。 1 追加したい各ノードで、cpupools move コマンドを実行します。例えば: # cpupools move mypool ノードが CPU プール mypool に移動されます。 注:この CPU プールが存在しなければ、新規作成されます。 2 新規プール内の任意のノードで、cpupools recalc コマンドを実行して CPU 機能マスクを更新 し、できるだけ多くの共通 CPU 機能が有効になるようにします。例えば: # cpupools recalc mypool 注:カスタム CPU プールは、デフォルトプールと同じ基本 CPU 機能で作成されます。 一般的な推奨事項として、同一または類似のマイクロアーキテクチャ、世代、ファミリーの CPU を搭載したノードは、同一または類似機能を持つグループとしてまとめます。これにより、このプ ールに CPU 機能マスクを適用すると、これらのノードで大部分の CPU 機能がそのまま使用でき ます。このアプローチは、ノードのパフォーマンスを最大限に高めるだけではなく、ライブマイグ レーション機能を保証します。 CPU プールを監視する クラスタ内にどのような CPU プールが存在し、そこにどのようなノードが含まれているのかを確 認するには、クラスタ内の任意のノードで cpupools stat コマンドを実行します。例えば: # cpupools stat default_intel0: 320117e17894401a bec9df1651b041d8 eaea4fc0ddb24597 mypool: ca35929579a448db * f9f2832d4e5f4996 220 高可用性クラスタを管理する リストされる ID は、shaman -v stat コマンドで取得できる Parallels Cloud Storage ノードの ID です。例えば: Cluster 'pcs1' Nodes:5 Resources:1 NODE_IP 10.29.26.130 * 10.29.26.134 10.29.26.137 10.29.26.141 M 10.29.26.68 ... STATUS Active Active Active Active Active NODE_ID RESOURCES bec9df1651b041d8 0 CT f9f2832d4e5f4996 0 CT ca35929579a448db 0 CT 320117e17894401a 0 CT eaea4fc0ddb24597 1 CT 注:アスタリスク(*)は、(コマンドが実行された)現在のノードを示します。 CPU プールからノードを削除する CPU プールからノードを削除するには、cpupools leave コマンドを使用します。 • 現在のノードを削除するには、以下のコマンドを実行します。 # cpupools leave • 任意の CPU プールからリモートノードを削除するには、クラスタ内の他のノードで以下のコマ ンドを実行します。 # cpupools leave -N ca35929579a448db ここで ca35929579a448db は、ノード ID です。 クラスタステータスを監視する shaman top および shaman stat コマンドを使用して、クラスタおよびクラスタリソースの全体の ステータスを監視することができます。shaman stat コマンドは、現在のクラスタステータスとクラ スタリソースのスナップショットを示しますが、shaman top コマンドは、クラスタの動的なリアル タイムビューを示します。shaman stat コマンドの出力例は以下の通りです。 # shaman stat Cluster 'pcs1' Nodes:3 Resources:8 NODE_IP M 10.30.24.176 * 10.30.25.33 10.30.26.26 STATUS Active Active Active CT ID 101 STATE stopped STATUS Active OWNER_IP 10.30.25.33 PRIORITY 0 STATE STATUS OWNER_IP PRIORITY VM NAME RESOURCES 0 CT, 0 VM, 1 ISCSI 1 CT, 3 VM, 1 ISCSI 0 CT, 0 VM, 2 ISCSI 221 高可用性クラスタを管理する vm1 vm2 vm3 stopped running stopped Active Active Active 10.30.25.33 10.30.25.33 10.30.25.33 ISCSI ID STATE iqn.2014-04.com.pstorage:ps1 running iqn.2014-04.com.pstorage:ps2 running iqn.2014-04.com.pstorage:ps3 running STATUS Active Active Active 0 0 0 OWNER_IP 10.30.24.176 10.30.25.33 10.30.26.26 PRIORITY 0 0 0 以下の表で、すべての出力フィールドについて説明します。 フィールド名 説明 クラスタ名。 Cluster サーバの横の「M」は、このサーバがクラスタのメインサーバであることを示し(「マスターサーバ」)、アスタリ スク(*)は、shaman stat コマンドが実行されたサーバを示します。 Nodes クラスタ内で HA サポートが有効になっているサーバの数 Resources shaman が管理を続けるリソースの数 NODE_IP サーバに割り当てられた IP アドレス サーバのステータス。以下のいずれかの値をとります。 STATUS • Active:このサーバは稼働しており、shaman で管理されています。 • Inactive:このサーバは稼働していますが、shaman はこのサーバを管理していません(shamand サービスが停止しているなどの理由で)。 RESOURCES サーバでホストされているリソース数 CT ID コンテナ ID VM NAME 仮想マシン名 ISCSI ID iSCSI ターゲット名 STATE 仮想マシン/コンテナが実行中か停止中かを示します。 仮想マシン、コンテナ、または iSCSI ターゲットの HA ステータス(shaman が報告)。以下のいずれかの値を とります。 STATUS • Active:クラスタでホストされている正常な仮想マシン、コンテナ、または iSCSI ターゲット • Broken:障害が発生したサーバから正常なサーバへと再配置できなかった仮想マシン、コンテ ナ、または iSCSI ターゲット • Pool:障害が発生したサーバから正常なサーバへの再配置を待機中の仮想マシン、コンテナ、また は iSCSI ターゲット OWNER_IP PRIORITY 222 仮想マシン、コンテナ、または iSCSI ターゲットがホストされているサーバの IP アドレス 仮想マシン/コンテナの現在の優先度。詳しくは、「仮想マシンおよびコンテナの HA 優先度を構成する(p. 218)」 を参照してください。 高可用性クラスタを管理する shaman top コマンドの出力結果は、shaman stat と似ています。追加で、インタラクティブキーを 使用して、コマンドの出力をオンザフライで変更することができます。以下のキーがサポートされ ています。 • g:リソースをステータスごとに分類または解除します。 • v:追加情報を表示または非表示にします。 • ENTER または SPACE:画面を更新します。 • q または Esc または Ctrl-C:コマンドを終了します。 • h:ヘルプ画面を表示します。 スクリプトでクラスタリソースを管理する Parallels Cloud Storage には、shaman ユーティリティがクラスタリソースの管理および監視のた めに使用する各種スクリプトが付属しています。スクリプトは、次の 2 種類に分類されます。 • 共通スクリプト:共通スクリプトは、/usr/share/shaman ディレクトリ内にあり、shaman ユー ティリティがリソース固有スクリプトを呼び出すために使用します。 • リソース固有スクリプト:それぞれの共通スクリプトには、1 つ以上のリソース固有スクリプト があります。リソース固有スクリプトは、それぞれのクラスタリソースに固有であり、個別のサ ブディレクトリ内にあります。仮想マシンでは /usr/share/shaman/vm- ディレクトリ、コンテ ナでは /usr/share/shaman/ct- ディレクトリです。リソース固有スクリプトは、クラスタリソ ースに対して様々なアクションを実行するために使用します。 以下の例は、relocate スクリプトを使用するプロセスについて説明します。 1 shaman-monitor デーモンは、一定の間隔で、移動が必要な仮想マシンおよびコンテナがないか を確認します(通常、サーバに障害が発生すると、そこでホストされている仮想マシンとコンテ ナは正常なサーバに移動する必要があります)。 2 移動がスケジュールされている仮想マシンまたはコンテナが見つかると、shaman-monitor は共 通スクリプト /usr/share/shaman/relocate を呼び出します。移動が必要な仮想マシンおよび コンテナが存在しない場合、スクリプトは呼び出されません。 223 高可用性クラスタを管理する 3 共通スクリプト relocate は、/usr/share/shaman/vm-/relocate および /usr/share/shaman/ct-/relocate スクリプトを呼び出して、仮想マシンおよびコンテナを正常 なサーバに移動します。 必要な場合、スクリプトをニーズに応じてカスタマイズすることができます。 スクリプトのリストとその説明は、shaman-scripts マニュアルページを参照してください。 224 第 10 章 拡張タスク Parallels Cloud Server のケーパビリティについてより詳細な知識を獲得したい上級システム管理 者向けのタスクを説明します。 この章の構成 ケーパビリティを構成する........................................................................ 226 カスタマイズ済みのコンテナを作成する....................................................... 228 コンテナからシステム時間を変更する ......................................................... 236 コンテナ内部からサーバ ID を取得する ...................................................... 237 コンテナを再起動する ............................................................................. 238 仮想マシンおよびコンテナへの VNC アクセスを有効にする ............................. 238 コンテナのファイルとディレクトリに Immutable(変更不可)フラグおよび Append(追加)フラ グを設定する......................................................................................... 240 iptables モジュールを管理する ................................................................. 240 新しい Linux ディストリビューション用の構成ファイルを作成する ................... 243 仮想マシンでディスクとパーティションのアライメントを調整する ..................... 244 仮想マシンで Parallels Cloud Server 6.0 を実行する .................................... 251 オプションの Parallels Cloud Server パッケージをインストールする ................ 252 Linux 仮想マシンで共有フォルダを使用する ................................................. 252 拡張タスク ケーパビリティを構成する ケーパビリティとは、従来は root ユーザが持っていた特権を、より細かい特権のセットに分割す ることを可能にするビットのセットです。POSIX ケーパビリティは、IEEE ドラフト標準(IEEE Std 1003.1e)に定義されており、Linux や Parallels Cloud Server 独自のものではありません。 Linux や Parallels Cloud Server のマニュアルに「root 権限が必要」と記されている場合、ほとん どの場合は「特定のケーパビリティが必要」であることを意味します。 このセクションでは、Parallels Cloud Server でコンテナ毎のケーパビリティを使用して達成でき るすべてのタスクと、構成可能なすべてのケーパビリティについて説明します。 コンテナで使用可能なケーパビリティ このセクションでは、vzctl set コマンドで設定できるすべてのケーパビリティを一覧表示します。 ケーパビリティは、POSIX ドラフト標準に定義されたケーパビリティと Linux 固有のケーパビリ ティの 2 種類に分かれています。各ケーパビリティについて、説明に加えてコンテナでのデフォル ト値が記載されています。 ケーパビリティを誤って設定すると、コンテナが機能しなくなったり、サーバのセキュリティが侵 害される危険があります。コンテナのケーパビリティを変更するときは、そのケーパビリティがど のような影響を与えるのかを完全に理解してから行ってください。 POSIX ドラフトに定義されたケーパビリティ 名前 説明 デ フ ォ ル ト chown プロセスにこのケーパビリティがオンに設定されていると、それに属していないファイルや別のユー on ザに属しているファイルの所有権を変更できます。コンテナの root ユーザに対し、コンテナ内のフ ァイルやディレクトリの所有権の変更を許可するためには、このケーパビリティをオンに設定する必 要があります。 dac_override パーミッションがアクセス不可に設定されていても、ファイルへのアクセスを可能にする。通常はオ ンに設定しておき、たとえパーミッションで許可されていない場合でも、コンテナの root ユーザが ファイルにアクセスできるようにします。 226 on 拡張タスク dac_read_search ファイルおよびディレクトリの読み取りおよび検索に関する制限を上書きする。上記のケーパビリテ on ィとほぼ同じですが、このケーパビリティでは、実行可能ファイルの制限は上書きされません。 fowner プロセスの有効ユーザ ID と有効グループ ID がファイル所有者 ID と一致する必要があるファイル on に対する、S_ISUID ビットおよび S_ISGID ビットの設定に関する制限を上書きする。 fsetid 古い suser() または fsuser() へのフォールバックについての決定に使用する。 on kill 他のユーザが所有するプロセスへのシグナル送信を許可する。 on setgid グループ ID の操作およびソケット証明書の受け渡しにおける偽造グループ ID を許可します。 on setuid ソケットのクレデンシャル受け渡しにおいて、ユーザ ID の操作やユーザ ID の偽造を許可します。 on Linux 固有のケーパビリティ 名前 説明 デ フ ォ ル ト setpcap 許可されるセット内の任意のケーパビリティを任意のプロセス ID に受け渡す。許可されているセッ off ト内の任意のケーパビリティを任意のプロセス ID から削除する。 linux_immutable S_IMMUTABLE および S_APPEND ファイル属性の変更を許可する。これらの属性は、Linux フ on ァイルシステム EXT2FS および EXT3FS にのみ実装されています。ただし、ファイルシステム EXT2FS および EXT3FS 内のディレクトリをコンテナに bind mount し、このケーパビリティを 取り消すと、コンテナ内の root ユーザはこれらの属性がオンになっているファイルを削除したり切 り詰めることができなくなります。 net_bind_service 番号が 1024 未満のソケットのバインドを許可する。 on net_broadcast ネットワークブロードキャスティングおよびマルチキャストアクセスを許可する。 on net_admin IP ファイアウォールおよびアカウンティングの管理を許可する。 off net_raw RAW および PACKET ソケットの使用を許可する。 on ipc_lock 共有メモリセグメントおよび mlock/mlockall コールのロックを許可する。 on ipc_owner IPC の所有権のチェックを上書きする。 on sys_module カーネルモジュールを挿入および削除する。このケーパビリティをコンテナに設定する際は注意が必 off 要です。カーネルモジュールを挿入するパーミッションがユーザにあると、このユーザは実質的にサ ーバ全体を完全に制御できます。 sys_chroot chroot() の使用を許可する。 on sys_ptrace 任意のプロセスのトレースを許可する。 on 227 拡張タスク sys_pacct プロセスアカウンティングの構成を許可する。 on sys_admin スワッピング、APM BIOS の管理など、多くのシステム管理者タスクを処理する。コンテナに対し off てはオフに設定します。 sys_boot 現在、このケーパビリティはコンテナの動作に一切影響を与えません。 on sys_nice 他のプロセスに対する優先度の引き上げや優先度の設定を許可する。 on sys_resource リソース制限を上書きする(User Beancounters と混同しないでください)。 on sys_time システム時間の変更を許可する。 off sys_tty_config TTY デバイスの構成を許可する。 on mknod mknod() の特権アスペクトを許可する。 on lease ファイルのリースを許可する。 on カスタマイズ済みのコンテナを作成する 多数の同一コンテナで 1 つ以上のカスタムアプリケーションを使用したい場合、必要なアプリケー ションをあらかじめインストールしたコンテナを作成し、ニーズに応じて調整することができま す。 Parallels Cloud Server には、アプリケーションをあらかじめインストールしたカスタマイズ済み のコンテナを作成する方法が何通りかあります。 • アプリケーションテンプレートをあらかじめインストールした OS EZ テンプレートを作成す る。 • カスタマイズ済みのベース OS EZ テンプレートを作成し、コンテナの基盤として使用する。 • 非ベース OS EZ テンプレートを作成し、コンテナの基盤として使用する。 • カスタマイズ済みのアプリケーション EZ テンプレートを作成し、これを新しい構成サンプル ファイルに追加して、このサンプルファイルをコンテナの基盤として使用する。 これらの作業について、以下のサブセクションで詳しく説明していきます。 228 拡張タスク アプリケーションテンプレートが事前インストールされた OS テンプレートキ ャッシュを使用する アプリケーションテンプレートが事前インストールされた OS テンプレートキャッシュを使用して、 複数の同一コンテナを簡単に作成することができ、アプリケーションを手動でインストールしたり、 コンテナの作成後にコンテナにアプリケーションが自動インストールされるまで待つ必要がありま せん。このようなキャッシュを作成する最適な方法は、以下の通りです。 1 キャッシュする OS EZ テンプレートと事前インストールするアプリケーション EZ テンプレ ートについての情報が含まれるカスタムサンプル構成ファイルを作成します。例えば: # cp /etc/vz/conf/ve-basic.conf-sample /etc/vz/conf/ve-centos-6-x86-mysql-devel.conf-sample 注:Parallels Server Bare Metal 5 以前のバージョンで作成したカスタムサンプル構成ファイルが既に存在 し、アプリケーション EZ テンプレートがそこに指定されている場合、このファイルを再利用することがで き、新規作成する必要はありません。 2 OS EZ テンプレートおよびアプリケーション EZ テンプレートの情報を、新しい構成ファイル に追加します。それぞれの OS およびアプリケーションテンプレート名は、先頭にドット記号 を付ける必要があります。複数のアプリケーション EZ テンプレートを並べる場合、スペース で区切ります。例えば: # cd /etc/vz/conf # echo 'OSTEMPLATE=".centos-6-x86"' >> ve-centos-6-x86-mysql-devel.conf-sample # echo 'TEMPLATES=".mysql .devel"' >> ve-centos-6-x86-mysql-devel.conf-sample 3 vzpkg create appcache コマンドを、構成ファイルをオプションとして実行します。例えば: # vzpkg create appcache --config centos-6-x86-mysql-devel 注:その結果、キャッシュが既に存在している場合、キャッシュが再作成され、それを伝えるメッセージが表 示されます。 作成されたアーカイブは、サーバ の /vz/template/cache ディレクトリにあります。これが存在し、 必要なアプリケーションテンプレートが含まれていることは、以下のコマンドで確認できます。 # vzpkg list appcache centos-6-x86 mysql devel 2012-07-20 16:51:36 ゴールデンイメージ 機能を無効にする ゴールデンイメージ 機能を使用すると、アプリケーションテンプレートを OS EZ テンプレートに 事前インストールして、同じ OS およびアプリケーションテンプレートをベースに複数のコンテナ を迅速に作成することができます。これまでは、コンテナを作成した後で各コンポーネントにアプ 229 拡張タスク リケーションテンプレートをインストールするか、カスタム OS テンプレートに直接埋め込むかの いずれかができました。現在は、ゴールデンイメージ が、アプリケーションを事前インストールし たコンテナを作成する最も簡単で迅速な方法となっています。 ゴールデンイメージ 機能は、デフォルトで /etc/sysconfig/vz/vz.conf グローバル構成ファイル で有効になっています。無効にするには、以下のいずれかを実行します。 • Parallels Cloud Server グローバル構成ファイルで GOLDEN_IMAGE オプションを "no" に設定し ます。 ゴールデンイメージ 機能はグローバルに無効になります。 • コンテナのサンプル構成ファイルで GOLDEN_IMAGE オプションを "no" に設定します。 ゴールデンイメージ 機能は、このサンプル構成ファイルを使用するコンテナで無効になりま す。 • OS EZ テンプレートの構成ディレクトリに "no" が含まれる「golden_image」という名前のフ ァイルを作成します。 ゴールデンイメージ 機能は、この OS EZ テンプレートで無効になります。 • アプリケーションテンプレートの構成ディレクトリに "no" が含まれる「golden_image」という 名前のファイルを作成します。 ゴールデンイメージ 機能は、このアプリケーションテンプレートで無効になるため、いかなる OS EZ テンプレートキャッシュにも事前インストールできなくなります。 カスタマイズ済み OS EZ テンプレートを使用する カスタマイズ済みのベース OS EZ テンプレートを作成しておき、これを使用して、ニーズに応じ て調整済みのアプリケーションがインストールされているコンテナを作成することができます。こ のようなテンプレートを作成するには、以下の手順に従います。 1 カスタマイズ済みのベース OS EZ テンプレートの基盤となるメタファイルを作成します。 230 拡張タスク 注: 1.メタファイルの作成方法について詳しくは、『Parallels Cloud Server 6.0 テンプレート管理ガイド』(※英 語)を参照してください。 2. 新規 OS EZ テンプレート用のメタファイルの作成時には、メタファイルの %osname パラメータまた は %version パラメータに、サーバにインストールされたすべてのベース OS EZ テンプレートの名前または バージョンと異なる値を指定してください。 2 OS EZ テンプレートのライフサイクルの様々な段階で実行されるスクリプトを 1 つ以上作成し て、ニーズを満たすようにアプリケーションをカスタマイズします。例えば、 post_install.bash という名前でインストール後のスクリプトを作成し、OS EZ テンプレート に含まれる特定のアプリケーションがコンテナにインストールされた後でこのアプリケーション に対して様々なカスタマイズを実行させることができます。 3 vzmktmpl ユーティリティを実行し、対応するオプションを指定することによって、カスタマイ ズ済みの OS EZ テンプレートを作成します。したがって、--post-install オプションを使用 し、上の例の post_install.bash スクリプトにパスを指定することにより、コンテナ内にアプ リケーションをインストールした後でアプリケーションをカスタマイズする OS EZ テンプレー トを作成できます。 注:EZ テンプレートのライフサイクルのどの段階で、どのスクリプトを実行するのか指定するためのオプショ ンは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)の「vzmktmpl」を参照 してください。 4 カスタマイズ済みの OS EZ テンプレートをサーバにインストールするには、rpm -i コマンド を使用します。 5 vzpkg create cache コマンドを実行して、作成した OS EZ テンプレートをキャッシュします。 この方法について詳しくは、『Parallels Cloud Server 6.0 テンプレート管理ガイド』(※英語) を参照してください。 6 OS EZ テンプレートに基づいてコンテナを作成します。 例えば、CentOS 5 を実行するコンテナを作成し、その直後に、カスタマイズ済みの mysql および apache アプリケーションをインストールするには、次の手順に従います。 1 OS EZ テンプレートのメタファイルを作成し、「centos_5_customized.metafile」のような名 前を付け、サーバの /root/centos_5 ディレクトリに保存します。 231 拡張タスク 2 コンテナに mysql および apache アプリケーションの EZ テンプレートを適用した後で様々な カスタム操作を実行するスクリプトを作成し、これに「post_install.bash」という名前を付け ます。 3 スクリプトをサーバの /root/centos_5 ディレクトリにコピーします。 4 サーバで以下のコマンドを実行して、CentOS 5 OS EZ テンプレートを作成します。 # vzmktmpl /root/centos_5/centos_5_customized.metafile --post-install /root/centos5/post_install.bash このコマンドは、CentOS 用の OS EZ テンプレートを作成し、これを /root ディレクトリに 保存します(例:/root/centos_customized-5-x86-ez-4.7.0-1.noarch.rpm)。 5 作成された OS EZ テンプレートをサーバにインストールします。 # rpm -i /root/centos_customized-5-x86-ez-4.7.0-1.noarch.rpm 6 インストールされた OS EZ テンプレートをキャッシュします。 # vzpkg create cache centos_customized-5-x86 7 新しい OS EZ テンプレートに基づいてコンテナ 101 を作成します。 # prlctl create 101 --ostemplate centos_customized-5-x86 これで、コンテナ 101 が作成され、カスタマイズ済みの mysql および apache アプリケーション がインストールされます。 EZ OS テンプレートセットを使用する カスタマイズ済みのコンテナを作成するもう 1 つの方法は、非ベース OS EZ テンプレート (OS EZ テンプレートセットとも呼ばれます)を作成することです。対応するベース OS EZ テンプレー トとは、このテンプレートに含まれるパッケージが違います。例えば、コンテナで CentOS 5 を実 行し、Linux ベースのサーバとしてのみ動作させたい場合、centos-5-x86-server OS EZ テンプレ ートセットを作成し、主なサーバタスクの実行に必要なパッケージのみを含めることができます。 したがって、ファイルおよび印刷の共有に使用するパッケージを指定し、GUI(GNOME および KDE)用のすべてのパッケージを除外します。 非ベース OS EZ テンプレートを作成するには: 1 非ベース OS EZ テンプレートのベースとなるメタファイルを作成します。このような EZ テ ンプレートのメタファイルには、以下の情報が含まれている必要があります。 232 拡張タスク • %osname:OS EZ テンプレートセットを作成する Linux ディストリビューションの名前。こ の名前は、ベース OS EZ テンプレートに指定されている名前と一致している必要がありま す。例えば、CentOS 5 用のベース OS EZ テンプレートの OS テンプレートセットを作成 している場合、このパラメータの値を centos に設定します。 • %osver:%osname パラメータに指定した Linux ディストリビューションのバージョン。こ の名前は、ベース OS EZ テンプレートに指定されている名前と一致している必要がありま す。例えば、CentOS 5 用のベース OS EZ テンプレートの OS テンプレートセットを作成 している場合、このパラメータの値を 5 に設定します。 • %osarch:EZ テンプレートを実行するシステムアーキテクチャ。この名前は、ベース OS EZ テンプレートに指定されている名前と一致している必要があります。例えば、CentOS 5 用のベース OS EZ テンプレートの OS テンプレートセットを作成している場合、このパラ メータの値を x86 に設定します。 • %setname:非ベース OS EZ テンプレートに割り当てる名前。OS テンプレートセットには、 任意の名前を指定できます。 a この名前は、ベース OS EZ テンプレートの名前に、OS EZ テンプレートを実行するアーキ テクチャの指定に続いて追加されます。例えば、x86 プラットフォームで実行する CentOS 5 用のベース OS EZ テンプレートの OS テンプレートセットを作成している場合、非ベー ス OS EZ テンプレートの名前は「centos-5-x86-Template_Name-ez-1.0-1.noarch.rpm」の ようになります。ここで、Template_Name は %setname パラメータに指定した名前です。 b この名前は、サーバへのテンプレートのインストール後に、非ベース OS EZ テンプレート のメタデータを保存するディレクトリに割り当てられます。例えば、このパラメータの値を my_non_base_template に設定し、CentOS 5 用の非ベース OS EZ テンプレートを作成し、 サーバにインストールすると、 「/vz/template/centos/5/x86/config/os/my_non_base_template」という名前になります。 • %packages:非ベース OS EZ テンプレートに含まれる RPM パッケージのリスト。このパ ラメータにより、この OS EZ テンプレートセットに基づいたコンテナをインストールする と含まれているアプリケーションを指定することができます。このパラメータの値として指 定するパッケージ名は、EZ テンプレートの管理に使用するリポジトリに保存されている実 RPM パッケージの名前と一致している必要があります(パッケージのバージョン、リリース、 アーキテクチャ、および .rpm 拡張子は指定しない)。 233 拡張タスク 注:メタファイルに、多数の追加パラメータを指定することができます。例えば、ベース OS EZ テンプレー ト用のパッケージの処理に使用されるリポジトリには存在しない追加パッケージを、OS EZ テンプレートセッ トに追加する場合などがあります。このためには、%mirrorlist パラメータを指定して、これらの追加パッ ケージが保存されているリポジトリに関する情報を提供する必要があります。メタファイルに設定できるすべ てのパラメータについての詳細は、『Parallels Cloud Server 6.0 リファレンスガイド』(※英語)に記載され ています。 2 非ベース OS EZ テンプレートのライフサイクルの様々な段階で実行される多数のスクリプトを 作成し、ニーズに応じてアプリケーションをカスタマイズすることもできます(必須ではありま せん)。これらのスクリプトのパスは、OS テンプレートセットの作成時に該当オプションに続 いて指定します。例えば、pre_install.bash という名前でインストール前スクリプトを作成す ることにより、非ベース OS EZ テンプレートに含まれるアプリケーションをコンテナにインス トールする前に、そのアプリケーションに対して各種カスタマイズを実施することができます。 注:非ベース OS EZ テンプレート用のスクリプトがない場合、対応するベース OS EZ テンプレート用のス クリプトが実行されます。 3 必要に応じて、該当するオプションを指定して vzmktmpl ユーティリティを実行し、非ベース OS EZ テンプレートを作成します。したがって、前のステップで 1 つ以上スクリプトを作成し た場合、特別なオプションを使用してコマンド実行時にこれらのスクリプトのパスを指定できま す。例えば、--pre-install オプションを使用して pre_install.bash スクリプトのパスを指 定し、コンテナ内にアプリケーションをインストールする前にアプリケーションをカスタマイズ する OS EZ テンプレートを作成できます。 注:EZ テンプレートのライフサイクルのどの段階で、どのスクリプトを実行するのか指定するためのオプショ ンは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)の「vzmktmpl」を参照 してください。 4 非ベース OS EZ テンプレートをサーバにインストールするには、rpm -i コマンドを使用しま す。 5 vzpkg create cache コマンドを実行して、作成した OS EZ テンプレートをキャッシュします。 この方法について詳しくは、『Parallels Cloud Server 6.0 テンプレート管理ガイド』(※英語) を参照してください。 6 OS EZ テンプレートに基づいてコンテナを作成します。 234 拡張タスク カスタマイズされたアプリケーションテンプレートを使用する コンテナ内のカスタマイズ済みアプリケーションの数が比較的少ない場合は、以下の方法でカスタ マイズ済みのコンテナを使用することもできます。 1 カスタマイズ済みアプリケーション EZ テンプレートのベースとなるメタファイルを作成しま す。 注:メタファイルを作成する方法について詳しくは、『Parallels Cloud Server 6.0 テンプレート管理ガイド』 の「Creating Metafiles for EZ Templates」セクションを参照してください。 2 アプリケーション EZ テンプレートのライフサイクルの各段階で実行されるスクリプトを 1 つ 以上作成し、要件を満たすようにアプリケーションをカスタマイズします。例えば、 post_install.bash という名前でインストール後スクリプトを作成し、このアプリケーション がコンテナにインストールされた後でこのスクリプトが様々なカスタマイズ操作を実行するよう に設定することができます。 3 vzmktmpl ユーティリティを実行し、該当するオプションをこのユーティリティに渡すことによ って、カスタマイズ済みアプリケーション EZ テンプレートを作成します。したがって、 --post-install オプションを使用して、上記の例の post_install.bash スクリプトへのパス を指定し、コンテナにアプリケーションをインストールした後で、要件に応じてカスタマイズす ることができます。 注:EZ テンプレートライフサイクルのどの段階でどのスクリプトを実行するかを指定するオプションの全一覧 は、『<PVC_Num> リファレンスガイド』(※英語)の「vzmktmpl」サブセクションに記載されています。 4 カスタマイズ済み EZ テンプレートを<server>にインストールするには、rpm -i コマンドを使 用します。 5 新しいコンテナ構成サンプルファイルを作成して、このファイルにカスタマイズ済み EZ テン プレートを含めます。コンテナ構成サンプルファイルの詳細は、「コンテナリソース構成を管理 する」セクション(p. 141)に記載されています。 6 構成サンプルに基づいてカスタマイズ済みコンテナを作成します。 以下の例は、CentOS 5 を実行するコンテナ 101 を作成し、その作成直後に、カスタマイズ済み の mysql アプリケーションをインストールする方法を示しています。 1 mysql アプリケーション用のメタファイルを作成し、名前を mysql.metafile にして、 <server>の /usr/mysql ディレクトリに保存します。 235 拡張タスク 2 コンテナに mysql EZ テンプレートを適用し、post_install.bash と命名した後で、さまざま なカスタム操作を実行するスクリプトを作成します。 3 スクリプトを<server>の /usr/mysql ディレクトリにコピーします。 4 <server>で以下のコマンドを実行して、mysql EZ テンプレートを作成します。 # vzmktmpl /usr/mysql/mysql.metafile --post-install /usr/mysql/post_install.bash このコマンドは、mysql アプリケーション用の EZ テンプレートを作成し、それを /root ディ レクトリに格納します(例:/root/mysql-centos-5-x86-ez-<rpm_version>.noarch.rpm)。 5 mysql EZ テンプレートを<server>にインストールします。上記の例を使用して、次のように テンプレートをインストールすることができます。 # rpm -ihv /root/mysql-centos-5-x86-ez-<rpm_version>.noarch.rpm 6 新しいコンテナ構成サンプルファイルを作成して、この構成サンプルファイルをベースに作成さ れるコンテナにインストールされるテンプレートの一覧に mysql EZ テンプレートを追加しま す。 7 prlctl create コマンドおよび mysql サンプルファイルを使用して、コンテナ 101 を作成し ます。 # prlctl create 101 --ostemplate centos-5-x86 これで、カスタマイズ済み mysql アプリケーションがインストール済みであるコンテナ 101 の作 成が完了しました。 コンテナからシステム時間を変更する 一般に、コンテナからシステム時間を変更することはできません。変更できてしまうと、コンテナ 同士が妨害しあい、さらにはシステム時間の精度に依存するアプリケーションに障害が発生する可 能性があります。 通常は、サーバのシステム管理者のみがシステム時間を変更できます。ただし、NTP(Network Time Protocol)経由で時間を同期したい場合、NTP ソフトウェアを実行して外部 NTP サーバに接 続し、システム時間を更新する必要があります。サーバ自体でアプリケーションソフトウェアを実 行することはお勧めしません。このソフトウェアで不具合が発生し、このサーバ上のすべてのコン テナに悪影響を及ぼす可能性があるためです。したがって、NTP の使用を計画している場合、専用 のコンテナを作成し、--devnodes コマンドを実行してリアルタイムクロックへの読み書きアクセス を許可する必要があります。以下の例は、このようなコンテナの構成方法を示しています。 # vzctl set 101 --devnodes rtc:rw --save 236 拡張タスク これで、コンテナに入り、システム時間を変更できるようになります。例えば: # ssh root@ct101 root@ct101's password: Last login:Mon Feb 28 23:25:58 2007 from 10.100.40.18 [root@ct101 root]# date Mon Feb 28 23:31:57 EST 2007 [root@ct101 root]# date 10291300 Tue Oct 29 13:00:00 EST 2007 [root@ct101 root]# date Tue Oct 29 13:00:02 EST 2007 [root@ct101 root]# logout Connection to Container101 closed. # date Tue Oct 29 13:01:31 EST 2007 変更はコンテナとサーバ自体の両方に影響を与えます。複数のコンテナにリアルタイムクロックへ のアクセス権を付与することはお勧めしません。 NTP については、インターネット標準 RFC 1305 に規定されています。詳しくは、 http://www.ntp.org を参照してください。 コンテナ内部からサーバ ID を取得する デフォルトの Parallels Cloud Server インストールでは、コンテナ内のユーザは、コンテナを実行 中の Parallels サーバに固有の情報を取得できません。この理由は、個々のコンテナが当該サーバ についての情報を持たないためです。コンテナは他のサーバに透過的に移行される場合があり、こ のコンテナが特定のサーバに依存するアプリケーションを実行していると、移行後にこのようなア プリケーションで障害が発生する可能性があります。 ところが、ある種の状況では、アプリケーションに一意のサーバ ID を指定する必要があります。 例えば、アプリケーションをサーバ単位でライセンスしたい場合などです。このような場合、移行 後に、顧客がアプリケーションにライセンスを適用し直す必要があります。 Parallels Cloud Server は、一意のサーバ ID を指定するのに /proc/vz/hwid ファイルを使用しま す。デフォルトの Parallels Cloud Server インストールでは、コンテナ 1~100(予約済の ID を 持つコンテナ)がこのファイルにアクセスできます。グローバル構成ファイル(vz.conf)で、この 範囲を変更することができます。例えば、ファイルをコンテナ 1~1000 で閲覧可能にするには、 以下のコマンドを実行します。 # vi /etc/vz/vz.conf VZPRIVRANGE="1 1000" # prlctl exec 101 cat /proc/vz/hwid 0C3A.14CB.391B.6B69.02C9.4022.3E2F.CAF6 237 拡張タスク 上の例は、コンテナ 101 からサーバ ID にアクセスしている状況を示しています。 コンテナを再起動する 一般的な Linux コマンド(reboot や shutdown -r)を使用して、コンテナをその内部から再起動 することができます。再起動は、vzeventd デーモンによって処理されます。 必要に応じて、次のようにして、コンテナ内部からのコンテナの再起動を禁止することができま す。 • 特定のコンテナに対して再起動を無効にするには、コンテナの構成ファイル (/etc/vz/conf/<CT_ID>.conf)に ALLOWREBOOT="no" という行を追加します。 • サーバのすべてのコンテナを対象に、グローバルに再起動を無効にするには、グローバル構成フ ァイル(/etc/vz/vz.conf)に ALLOWREBOOT="no" という行を追加します。 • 特定のコンテナを除くすべてのコンテナを対象に、グローバルに再起動を無効にするには、グロ ーバル構成ファイル(/etc/vz/vz.conf)に ALLOWREBOOT="no" という行を追加し、該当するコ ンテナの構成ファイルに ALLOWREBOOT="yes" を明示的に指定します。 仮想マシンおよびコンテナへの VNC アクセスを有 効にする お好きな VNC クライアントを使用して、コンテナおよび仮想マシンに接続し、管理することがで きます。これには、以下の手順を行います。 1 必要な仮想マシン(p. 238)またはコンテナ(p. 239)にて、VNC アクセスを有効にします。 2 VNC クライアント(p. 239)で仮想マシンまたはコンテナに接続します。 以下のセクションでは、両ステップについて詳しく説明します。 仮想マシンへの VNC アクセスを有効にする 仮想マシンへの VNC アクセスを有効にするには、以下を実行する必要があります。 238 拡張タスク 1 仮想マシンで VNC サポートを有効にします。 2 仮想マシン用の VNC 接続を listen するために使用する、物理サーバ上の TCP ポート番号を 指定します。 注:VNC 経由の接続を計画しているそれぞれの仮想マシンに、一意のポート番号を指定する必要があります。 3 VNC 接続をセキュリティ保護するパスワードを設定します。 これらの操作すべてを、単一のコマンドで実行できます。例えば: # prlctl set MyVM --vnc-mode manual --vnc-port 5901 --vnc-passwd XXXXXXXX 仮想マシンの次回起動時に、この変更が反映されます。 コンテナへの VNC アクセスを有効にする コンテナへの VNC アクセスを有効にするには、以下を実行する必要があります。 1 コンテナにログインするためには、コンテナの有効なユーザアカウントが必要になります。 2 コンテナが実行中であることを確認します。 3 コンテナに VNC モードとパスワードを設定します。例えば: # prlctl set 101 --vnc-mode manual --vnc-port 6501 --vnc-passwd XXXXXXXX 注:ポート番号は、VNC アクセスを開く各コンテナで一意でなければなりません。自動モードでは、正しいポ ート番号が自動的に割り当てられます。手動モードでは、ポート番号が一意であることをご自分で確認する必 要があります。 VNC クライアントで接続する 仮想マシン/コンテナへの VNC アクセスを有効にすると、お好きな VNC クライアントでこの仮想 マシン/コンテナに接続できるようになります。これには、以下のパラメータを VNC クライアント に渡す必要があります。 • 仮想マシン/コンテナがホストされているサーバの IP アドレス • VNC アクセスを有効にするときに指定したポート番号とパスワード • 仮想マシン/コンテナの有効なユーザアカウント 239 拡張タスク コンテナのファイルとディレクトリに Immutable (変更不可)フラグおよび Append(追加)フラグ を設定する 標準 Linux ユーティリティ chattr および lsattr を使用して、コンテナ内のファイルとディレク トリにフラグを設定したり(chattr)、ステータスを照会したり(lsattr)できます。現在、「append」 (追加)および「immutable」(変更不可)という 2 つのフラグがサポートされています。例えば、 以下のコマンドを実行すると、コンテナ 101 の /root/MyFile ファイルに immutable フラグを 設定できます。 [root@ct101 root] chattr +i /root/MyFile immutable フラグが正常に設定されたことを確認するには、以下のコマンドを使用します。 [root@ct101 root] lsattr /root/MyFile ----i-------- /root/MyFile 注:chattr および lsattr ユーティリティについて詳しくは、マニュアルページを参照してください。 iptables モジュールを管理する このセクションでは、物理サーバとコンテナの両方に対して iptables モジュールを管理する方法 を説明します。 Parallels Cloud Server で iptables モジュールを使用する Parallels Cloud Server を実行するハードウェアノードでネットワークパケットをフィルタリング するのは、スタンドアロン Linux サーバで同じ作業を行う場合と同じです。標準の iptables ツー ルを使用して、ネットワークパケットが Parallels Cloud Server カーネル内のネットワークスタッ クへ進入し、通過、退出するのを制御することができます。 参考のために、Linux サーバでの iptables の使用について詳細情報を提供する参考資料を挙げて おきます。 240 拡張タスク • Red Hat Enterprise Linux 6 セキュリティガイド (https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/S ecurity_Guide/)には、パケットフィリたリングの基本と、iptables で使用できる複数のオプ ションについて説明するセクションがあります。 • iptables チュートリアル 1.2.2 (http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html)は、iptables の構造 と機能について詳細に説明しています。 Parallels Cloud Server 用に iptables モジュールの基本セットを定義する 使用する予定のすべての iptables モジュールをハードウェアノードにロードする必要があります。 これには、以下を実行します。 1 /etc/sysconfig/iptables-config ファイルの IPTABLES_MODULES パラメータに必要なモジュー ルを指定します。例えば: IPTABLES_MODULES="ipt_REJECT iptable_filter iptable_mangle xt_length xt_hl xt_tcpmss xt_TCPMSS xt_multiport xt_limit xt_dscp" 2 iptables サービスを再起動して、/etc/sysconfig/iptables-config ファイルへの変更を適用 します。 # service iptables restart Parallels Cloud Server ハードウェアノードで conntrack ルールを使用する デフォルトで、conntrack ルールはハードウェアノードで無効になっています。これは、接続の追 跡が不要な時に、リソースを節約し、パフォーマンスを向上するためです。Parallels Cloud Server で接続追跡を有効にするには: 1 以下のモジュールが /etc/sysconfig/iptables-config 構成ファイルの IPTABLES_MODULES 変数 に追加されていることを確認します。 ip_conntrack ip_conntrack_ftp ip_conntrack_irc ip_conntrack_netbios_ns ip_nat_ftp ip_nat_irc ipt_comment ipt_conntrack ipt_helper ipt_length ipt_limit ipt_LOG ipt_multiport ipt_REDIRECT ipt_REJECT ipt_state ipt_tcp ipt_TCPMSS ipt_tcpmss ipt_tos ipt_TOS ipt_ttl iptable_filter iptable_mangle iptable_nat Parallels Cloud Server にモジュールをロードするには、/etc/sysconfig/iptables-config 構 成ファイルの IPTABLES_MODULES 変数にモジュールを追加し、iptables サービスを再起動しま す。 241 拡張タスク 2 /etc/modprobe.d/parallels.conf ファイルで ip_conntrack_disable_ve0 パラメータを 0 に 設定します。 3 iptables サービスを再起動して変更を適用します。 # service iptables restart 4 必要に応じて、以下のコマンドを使用して conntrack モジュールが有効になっていることを確 認できます。 # cat /proc/net/ip_tables_names nat # iptables –t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source Chain POSTROUTING (policy ACCEPT) target prot opt source Chain OUTPUT (policy ACCEPT) target prot opt source destination destination destination Parallels Cloud Server の conntrack スロット数に上限を設定する ハードウェアノードで許可される conntrack スロットの数に上限を設定するには、 net.nf_conntrack_max 変数を設定します。例えば: # sysctl -w net.nf_conntrack_max=500000 net.nf_conntrack_max の値は、ハードウェアノード上の各コンテナの conntrack スロット数に上 限を設定する net.netfilter.nf_conntrack_max の値にも制限を加えます。 コンテナで iptables モジュールを使用する コンテナで iptables モジュールを使用するためには、さらなる構成を行う必要があります。 iptables モジュールを構成する バックアップ/復元またはライブマイグレーションのために iptables モジュールの状態を設定する には、vzctl --netfilter コマンドを使用します。コンテナに対して許可されている一部の iptables モジュールが、このコンテナの復元先または移行先のハードウェアノードにロードされて いない場合、コンテナを起動するとこれらのモジュールが自動的にロードされます。例えば、 # vzctl set 101 --netfilter stateful --save このコマンドは、コンテナ 101 が(必要な場合に)復元または移行されるハードウェアノードで、 NAT 関連を除くすべてのモジュールがコンテナ 101 に対して許可・ロードされるようにします。 242 拡張タスク 注:デフォルト設定の stateless は、conntrack および NAT 関連を除くすべてのモジュールを許可しま す。詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)を参照してくだ さい。 conntrack ルールと NAT テーブルを使用する デフォルトで、NAT テーブルと conntrack ルールは、たとえサーバにロードされていても、コン テナでの使用が許可されません。コンテナでの使用を許可するには、vzctl set --netfilter full コ マンドを実行してください。例えば、コンテナ 101 に対して、以下のように実行します。 # vzctl set 101 --netfilter full --save ハードウェアノード上の各コンテナで使用できる conntrack スロットの数に上限を設定するには、 net.netfilter.nf_conntrack_max 変数を設定します。例えば: # sysctl -w net.netfilter.nf_conntrack_max=50000 net.netfilter.nf_conntrack_max に net.nf_conntrack_max より大きい値を設定することはでき ません(「Parallels Cloud Server で iptables モジュールを使用する(p. 240)」を参照してくだ さい)。 注:コンテナが DDoS 攻撃を受け、すべての conntrack スロットが使用されても、他のコンテナは影響を受け ず、net.netfilter.nf_conntrack_max に設定されている上限まで接続を確立することができます。 新しい Linux ディストリビューション用の構成フ ァイルを作成する ディストリビューション構成ファイルによって、別々の Linux バージョンを実行しているコンテナ が区別され、それぞれのコンテナに関連する操作(例えばコンテナへの新規 IP アドレスの割り当 て)の実行時に使用すべきスクリプトが判別されます。ディストリビューション構成ファイルについ て詳しくは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』(※英語)の「Linux ディストリビューションの構成ファイル」を参照してください。 Parallels Cloud Server に付属するすべての Linux ディストリビューションは、Parallels サーバ の /etc/vz/conf/dists ディレクトリに固有の構成ファイルがあります。しかし、新たにリリース された Linux バージョンに対応するディストリビューション構成ファイルを独自に作成したい場合 があります。ここで、コンテナで CentOS 5 Linux ディストリビューションを実行するために、こ 243 拡張タスク の Linux バージョンを実行するコンテナで主要な作業を行う時に実行するスクリプトを、 centos-5.conf ディストリビューション構成ファイルに定義するとします。これには、以下を実行 します。 1 コンテナ構成ファイル(/etc/vz/conf/<CT_ID>.conf)で、DISTRIBUTION 変数の値として centos-5 を指定します(例えば DISTRIBUTION="centos-5")。 2 /etc/vz/conf/dists ディレクトリに centos-5.conf 構成ファイルを作成します。最も簡単に 行う方法は、/etc/vz/conf/dists ディレクトリで以下のコマンドを実行します。 # cp fedora.conf centos-5.config 上記の例では、fedora.conf ファイルが Parallels サーバの /etc/vz/conf/dists ディレクト リにあるものとします。ここにない場合、サーバに存在する別のディストリビューション構成フ ァイルを使用してください。 3 任意のテキストエディタで centos.conf ファイルを開き、編集します。 # vi centos-5.conf 4 centos-5.conf ファイルの最初のエントリの右部分に、prlctl コマンドを実行した時に実行さ れるスクリプトの名前を指定し、左部分にはそのパラメータを指定します。例えば、コンテナに 新しい IP アドレスを割り当てる時に my_centos_script という名前のスクリプトを実行したい 場合、エントリは次のようになります。 ADD_IP=my_centos_script-add_ip.sh 注:許可されるすべてのパラメータは、『Parallels Cloud Server 6.0 コマンドラインリファレンスガイド』 (※英語)を参照してください。 5 ファイルの全エントリに対して手順 4 を繰り返します。 6 新しい Linux ディストリビューション用のスクリプトを、ノードの /etc/vz/conf/dists/scripts ディレクトリに配置します。これらのスクリプトの名前が、 centos-5.conf ファイルで指定した名前と一致していることを確認してください。 仮想マシンでディスクとパーティションのアライメ ントを調整する 大部分の最新の OS では(Windows Server 2008 や Red Hat Enterprise Linux 6)、仮想マシン にインストールするとパーティションが自動的に調整されます。例えば、Windows Server 2008 244 拡張タスク は、パーティションアライメント要件を満たすために、1024 KB のデフォルトパーティションオフ セットを作成します。以下の図は、正しいパーティションアライメントの例を示しています。 この例では、ゲスト OS ファイルシステムの任意のクラスタ(データの最小単位)が NFS ブロッ クの境界に合わせて調整されるため、クラスタへの書き込みまたは読み取りでアクセスする必要が あるのは 1 つの NFS ブロックのみです。例えば、クラスタ 1 からの読み取りでは、ブロック 1 からの読み取りのみが発生します。 同時に、最新ではないシステム(Windows Server 2003 や Red Hat Enterprise Linux 5)上で実 行する仮想マシンは、通常、以下の図のようにパーティションがミスアライメントされます。 この例では、ゲスト OS ファイルシステムのクラスタが NFS ブロックの境界と一致していないた め、クラスタからの読み取りまたは書き込みには複数の NFS ブロックへのアクセスが必要になり ます。例えば、クラスタ 1 からの読み取りにより、ブロック 1 およびブロック 2 からの読み取り が発生します。この結果、正しく調整されたパーティションと比べ、読み取り時間が低下し、パフ ォーマンスの劣化につながります。 245 拡張タスク パーティションをアライメント調整する 基本的に、仮想マシンでディスクとパーティションのアライメント調整をするには、ゲスト OS フ ァイルシステム内のクラスタが NFS ストレージのボリュームブロックサイズと一致するようにオ フセットを設定する必要があります。通常、ほとんどのネットワークストレージのブロックサイズ は 512 バイトまたは 512 バイトの倍数です。例として、以下のセクションでは、NFS ブロック のサイズを 512 バイトと仮定して、Linux および Windows 仮想マシンのディスクおよびパーテ ィションのアライメント調整手順を説明していきます。 ディスクおよびパーティションのアライメントを決定する時は、このプロセスでこれらのディスク およびパーティション上のすべてのデータが破損することを考慮してください。したがって、シス テムパーティションを正しくアライメント調整したい場合は、仮想マシンを作成してゲスト OS を インストールする前に、ディスクおよびパーティションをアライメント調整する必要があります。 システムパーティションをアライメント調整する必要がない場合は、最初に仮想マシンを作成し、 ゲスト OS をインストールしてから、仮想マシン内でデータディスクをアライメント調整してくだ さい。 以下のセクションでは、ゲスト OS をインストールする前にディスクおよびパーティションをアラ イメント調整する方法を説明していきます。ただし、類似の手順を使用して、仮想マシン内部から データディスクおよびパーティションを調整することができます。 既存の仮想マシンでパーティションのアライメントをチェックする まず、仮想マシンのパーティションがアライメントされているかどうかを確認する方法を説明しま す。仮想マシンにインストールされた OS に応じて、以下の方法を実行できます。 Linux 仮想マシン Linux 仮想マシンのパーティションアライメントを確認するには、この仮想マシンにログインして 以下のコマンドを実行します。 # fdisk -l -u /dev/device_name 例えば、sdc デバイスのパーティションアライメントを確認するには、以下のコマンドを実行しま す。 # fdisk -l -u /dev/sdc Disk /dev/sdc:73.0 GB, 73014444032 bytes 255 heads, 63 sectors/track, 8876 cylinders, total 142606336 sectors Units = sectors of 1 * 512 = 512 bytes 246 拡張タスク Device Boot /dev/sdc1 * /dev/sdc2 Start 63 208845 End 208844 142592939 Blocks Id System 104391 83 Linux 71192047+ 8e Linux LVM Start 列のセクター数に注意します。通常、1 セクターには 512 バイトが含まれるため、 /dev/sdc1 は 63 のセクターに 32256 バイトが含まれ、/dev/sdc2 パーティションは 208845 のセクターに 26105625 バイトが含まれます。パーティションを正しくアライメントするために は、4096 バイト境界に合わせて調整する必要があります(ストレージのブロックサイズを 4 KB と 仮定)。32256 と 106928640 は 4096 の倍数ではないため、パーティション /dev/sdc1 と /dev/sdc2 は正しくアライメント調整されていません。調整するためには、 • パーティション /dev/sdc1 を 1 セクター分オフセットし、64 から開始するようにします。こ の場合、64 のセクターそれぞれに 512 バイトが含まれ、合計で 4096 の倍数である 32768 バイトになります。 • パーティション /dev/sdc2 を 3 セクター分オフセットし、208848 から開始するようにしま す。この場合、208848 のセクターそれぞれに 512 バイトが含まれ、合計で 4096 の倍数で ある 106930176 バイトになります。 Windows 仮想マシン Windows 仮想マシンでパーティションアライメントを確認するには、以下を行います。 1 [スタート]>[ファイルを指定して実行]で msinfo32.exe と入力し、Enter を押してシステ ム情報を開きます。 2 [コンポーネント]>[記憶域]>[ディスク]で、ウィンドウ右側にある[パーティション開 始オフセット]フィールドを探します。 247 拡張タスク パーティションが正しくアライメント調整されていることを確認するには、上記の Linux 仮想マシ ンでの説明にしたがってください。 Linux 仮想マシン用にディスクをアライメント調整する Linux 仮想マシンで使用するためにパーティションをアライメント調整するには、機能する Linux 仮想マシンが必要です。準備ができたら、以下の手順に従います。 1 仮想マシン用に新しいディスクを作成します。 このディスクで、アライメント調整されたパーティションを作成していきます。次に、ディスク を新しい仮想マシンに接続し、このディスクに Linux ゲスト OS をインストールします。 2 仮想マシンを起動し、SSH 経由でログインします。 3 アライメント調整したいディスクに対し、fdisk ユーティリティを実行します。 4 プライマリパーティションを作成し、作成されたパーティションに対して開始ブロック番号を設 定します。 5 ステップ 3~4 を繰り返して、新しい仮想マシン内に予定しているすべてのパーティションを 作成し、アライメント調整します。 248 拡張タスク 以下の例では、/dev/sda デバイスにサイズが 1 GB のパーティション #1 を作成し、64 KB のオ フセットを使用します。 # fdisk /dev/sda Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel.Changes will remain in memory only, until you decide to write them.After that, of course, the previous content won't be recoverable. The number of cylinders for this disk is set to 1044. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First sector (63-16777215, default 63): 64 Last sector or +size or +sizeM or +sizeK (64-16777215, default 16777215): 208848 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 必要なすべてのパーティションのアライメント調整が完了したら、仮想マシンからディスクを接続 解除します。新しい仮想マシンを作成する時に、この仮想マシンで使用するディスクとしてこのデ ィスクを選択します。 Windows 仮想マシン用にパーティションをアライメント調整する Windows 仮想マシン用にディスクをアライメント調整するには、機能する Windows 仮想マシン が必要です。準備ができたら、diskpart または diskpar ユーティリティを使用してディスクのア ライメント調整を実行できます(OS に応じていずれかのユーティリティを選択) 1 仮想マシン用に新しいディスクを作成します。 このディスクで、アライメント調整されたパーティションを作成していきます。次に、ディスク を新しい仮想マシンに接続し、このディスクに Windows ゲスト OS をインストールします。 2 コマンドラインプロンプトを開き、diskpart または diskpar ユーティリティを実行します。 3 アライメント調整したいディスクを選択します。 4 ディスクにプライマリパーティションを作成し、アライメント調整します。 249 拡張タスク 5 diskpart ユーティリティを終了し、コマンドラインプロンプトを終了します。 以下の例は、diskpart ユーティリティを使用して、オフセットを 64 に設定することによりディス ク 1 をアライメント調整する方法を示しています。 仮想ディスクのアライメント調整が終了したら、仮想マシンからこのディスクを接続解除します。 新しい仮想マシンを作成する時に、この仮想マシンで使用するディスクとしてこのディスクを選択 します。 パーティションがアライメント調整されたテンプレートを作成する システムパーティションがアライメント調整された仮想マシンを容易に作成できるようにするには、 アライメント調整された仮想マシンのテンプレートを作成して、このテンプレートから新しい仮想 マシンをデプロイすることができます。 例えば、「Windows 仮想マシン用にパーティションをアライメント調整する」の手順に従ってディ スクをアライメント調整してから、このディスクを使用する新しい仮想マシンを作成し、この仮想 マシンに Windows Server 2003 を OS としてインストールすると、正しくアライメント調整さ れたディスクに Windows Server 2003 がクリーンインストールされます。この仮想マシンのテン プレートを作成し、Windows Server 2003 の新しい仮想マシンをデプロイする必要がある時にこ のテンプレートを使用することができます。 250 拡張タスク 仮想マシンで Parallels Cloud Server 6.0 を実行す る バージョン 5 から、仮想マシンに Parallels Cloud Server をインストールすることが可能になり ました。これは、製品を評価したいけれども予備の物理サーバがない場合に便利です。 Parallels Cloud Server 6.0 で仮想マシンを実行するには、物理サーバが以下のアーキテクチャを 備えている必要があります。 • Intel VT-x および EPT • AMD-V および RVI 推奨される仮想マシン構成 仮想マシンは、以下の構成で Parallels Cloud Server 6.0 の使用に対して最適になります。 • CPU:2 つ以上の仮想 CPU • メモリ:2 GB 以上の RAM • ハードディスク:プレーンハードディスク上に 40 GB 以上 仮想マシンに Parallels Cloud Server をインストールする作業は、スタンドアロンサーバにインス トールする場合と同じです。詳しいインストール手順は、『Parallels Cloud Server 6.0 インストー ルガイド』を参照してください。 制約事項と特記事項 仮想化環境で Parallels Cloud Server を使用するときは、以下の制約事項と特記事項に注意が必要 です。 • 仮想マシンでの Parallels Cloud Server の実行は、評価目的のみを意図しています。このよう なインストールを実稼働環境で使用することはお勧めしません。 • Parallels Cloud Server がインストールされた仮想マシンの構成を変更するには、製品を再びア クティブ化する必要があります。 251 拡張タスク • Parallels Cloud Server がインストールされた仮想マシンを起動すると、VMware Fusion から ネットワークトラフィックへのフルアクセスが必要だという警告が表示される場合があります。 このメッセージは無視して、仮想マシンの起動を続けてください。 • 仮想化された Parallels Cloud Server 環境内で実行する仮想マシンには、Parallels Tools をイ ンストールする必要があります。 • このような仮想マシンでは 32 ビット版 OS しか使用できず、CPU は 1 つだけ許可されま す。 オプションの Parallels Cloud Server パッケージ をインストールする Parallels Cloud Server には、必要なあらゆるものが既にインストールされていますが、yum コマ ンドを使用して Parallels リモートリポジトリからオプションの Parallels Cloud Server パッケー ジをインストールすることもできます。例えば: # yum install pctl ... Installed: pctl.x86_64 1:4.0.0.18 Complete! 注:Parallels Cloud Server での yum の使用について詳しくは、「Parallels Cloud Server を更新する(p. 207)」および yum Linux マニュアルページを参照してください。 Linux 仮想マシンで共有フォルダを使用する 共有フォルダ機能により、物理サーバと仮想マシンでファイルやフォルダを共有することができま す。仮想マシンとフォルダを共有すると、このフォルダとその中のすべてのファイルが仮想マシン に表示されるようになり、この仮想マシンのユーザがアクセスできるようになります。共有フォル ダとファイルのオーナーシップとパーミッションは、システムに設定された共有オプションに依存 します。通常は、共有フォルダとファイルについて、以下の選択肢があります。 • 仮想マシンユーザをオーナーとしてフォルダを共有する(p. 253) • 共有フォルダを特定のユーザとしてマウントする(p. 254) 252 拡張タスク • 物理サーバのユーザをオーナーとしてフォルダを共有する(p. 255) 各オプションについては、以降のセクションで詳しく説明します。 注: 1.共有フォルダは、POSIX 準拠のファイルシステムではなく、ファイルとフォルダの共有のみを目的に設計さ れています。 2.共有フォルダ機能を使用するためには、仮想マシンに Parallels Tools をインストールする必要があります。 仮想マシンユーザをオーナーとして共有する デフォルトで、共有フォルダは、現在仮想マシンにログインしているすべてのユーザが共有フォル ダとそのすべてのファイルのオーナーとみなされるように設定されています。このモードが仮想マ シンで有効になっていることを確認するには、仮想マシンにログインして、/etc/fstab ファイルを 確認します。このモードがオンである場合、/etc/fstab に以下の行が含まれています。 # Parallels Shared Folder mount none /media/psf prl_fs sync,nosuid,nodev,noatime,share,context=system_u:object_r:removable_t:s0,nofail 一般に、物理サーバ上のあるフォルダを仮想マシンと共有するには、以下の作業を行う必要があり ます。 1 仮想マシンに Parallels Tools がインストールされていることを確認します。 2 仮想マシンに対して共有フォルダ機能を有効にします。 3 どのフォルダを共有し、どのような名前で仮想マシンにマウントするかを指定します。 これらの作業が完了したら、共有フォルダが仮想マシンの /media/psf にサブディレクトリとして 表示されるようになり、この仮想マシンのユーザがアクセスできるようになります。 例えば、サーバ上にあるファイルが 2 つ(1.txt および 2.txt)含まれる /home/SharedFolder デ ィレクトリを共有して、仮想マシン MyVM の /media/psf/Shared ディレクトリにマウントするには、 以下のコマンドを実行します。 # prlctl set MyVM --shf-host on # prlctl set MyVM --shf-host-add Shared --path /home/SharedFolder 253 拡張タスク これを実行すると、仮想マシン MyVM の /media/psf ディレクトリに Shared フォルダが表示され るようになり、サーバの /home/SharedFolder ディレクトリと同じ 2 つのファイルが含まれていま す。 # ls -l /home/SharedFolder total 4 -rw-r--r-- 1 root root 143 May 4 19:04 1.txt -rw-r--r-- 1 root root 0 May 4 19:04 2.txt [bob@dhcp-10-30-21-207] ls -l /media/psf/Shared total 4 -rw-r--r--.1 bob bob 143 May 4 19:04 1.txt -rw-r--r--.1 bob bob 0 May 4 19:04 2.txt ご覧のように、ファイルはまったく同じですが、オーナーは別のユーザです。サーバ上のファイル のオーナーが root であるのに対し、仮想マシン MyVM では同じファイルのオーナーが bob になっ ています。これは、この仮想マシンに現在ログインしているユーザです。 仮想マシン MyVM からログオフし、jack というユーザでログインすると、1.txt と 2.txt のオー ナーは jack に変わります。 [jack@dhcp-10-30-21-207]$ ls -l /media/psf/Shared total 4 -rw-r--r--.1 jack jack 143 May 4 19:04 1.txt -rw-r--r--.1 jack jack 0 May 4 19:04 2.txt /media/psf/Shared ディレクトリとそのファイルのパーミッションについては、物理サーバにある ファイルと同一にすることもしないこともできます。 仮想マシン MyVM から Shared フォルダをアンマウントするには、以下のコマンドを使用します。 # prlctl set MyVM --shf-host-del Shared 特定のユーザとしてマウントする フォルダをマウントしたユーザが共有フォルダおよびそのすべてのファイルの所有者となるように、 共有フォルダ機能を構成することもできます。システムでこのオプションを有効にするには: 1 /etc/fstab ファイルを編集用に開きます。 2 共有フォルダの行を探します。 none /media/psf prl_fs sync,nosuid,nodev,noatime,share,context=system_u:object_r:removable_t:s0,nofail 3 この行から share オプションを削除して、次のようにします。 none /media/psf prl_fs sync,nosuid,nodev,noatime,context=system_u:object_r:removable_t:s0,nofail 4 ファイルを保存します。 254 拡張タスク 上記の手順が完了したら、仮想マシン内の共有フォルダはデフォルトでマウント済みとして認識さ れるようになり、現在仮想マシンにログインしているユーザを問わず、root ユーザが所有者となり ます。例えば: [bob@dhcp-10-30-21-207]$ ls -l /media/psf/Shared total 4 -rw-r--r--.1 root root 143 May 4 19:04 1.txt -rw-r--r--.1 root root 0 May 4 19:04 2.txt 必要に応じて、特定の UID および GID オプションでマウントすることにより、 /media/psf/Shared フォルダの所有者およびグループを変更できます。 サーバユーザを所有者として共有する 共有フォルダ機能を使用する別の方法としては、共有フォルダが物理サーバと同じ所有者とシステ ムでこのオプションを有効にするには: 1 /etc/fstab ファイルを編集用に開きます。 2 共有フォルダの行を探します。 none /media/psf prl_fs sync,nosuid,nodev,noatime,share,context=system_u:object_r:removable_t:s0,nofail 3 share オプションを plain に置き換えます。もし share オプションがなければ、行に plain オプションを追加してください。 none /media/psf prl_fs sync,nosuid,nodev,noatime,plain,context=system_u:object_r:removable_t:s0,nofail 4 ファイルを保存します。 ファイル 1.txt および 2.txt が含まれ、所有者が greg ユーザおよび greg グループである /home/SharedFolder ディレクトリを共有し、仮想マシン MyVM の /media/psf/Shared ディレクト リにマウントすると、仮想マシンで両ファイルの所有者とグループ所有者が greg になります。 # ls -l /home/SharedFolder total 4 -rw-r--r-- 1 greg greg 143 May 4 15:15 1.txt -rw-r--r-- 1 greg greg 0 May 4 19:04 2.txt [bob@dhcp-10-30-21-207]$ ls -l /media/psf/Shared total 4 -rw-r--r--.1 greg greg 143 May 4 19:04 1.txt -rw-r--r--.1 greg greg 0 May 4 19:04 2.txt 255 第 11 章 レガシー機能 この章では、旧バージョンの Parallels Server Bare Metal で使用されていたレガシーファイルシ ステム VZFS について概要を提供し、レガシーコンテナで機能するようにシステムを構成する方法 について説明します。 この章の構成 Virtuozzo ファイルシステムを使用する ...................................................... 256 VZFS ベースのコンテナを作成する ............................................................ 257 VZFS コンテナを新しいレイアウトに変換する .............................................. 258 新しいレイアウトでコンテナを作成する....................................................... 258 レガシーコンテナのバックアップを一覧に表示する ........................................ 260 サイズが 2 TB を超えるレガシー仮想ディスクを有効にする ............................ 260 Virtuozzo ファイルシステムを使用する VZFS(Virtuozzo ファイルシステム)とは、柔軟性を保ったまま複数のコンテナ間で共通のファイ ルの共有を可能にするレガシーファイルシステムです。コンテナのユーザは、共有ファイルを変更、 更新、削除することができます。ユーザが共有ファイルを変更すると、VZFS はユーザに対して透 過的にファイルのプライベートコピーを作成します。これにより、変更が別のユーザの同じファイ ルに影響を与えません。 VZFS により、ディスクスペースとメモリを節約できますが、いくつかの制約事項があります。 レガシー機能 • Parallels Cloud Storage クラスタに VZFS を使用してコンテナを保存することはできませ ん。 • コンテナを移行または復元する際は、必ず対応する OS テンプレートをターゲットサーバにイ ンストールする必要があります。 • VZFS ベースのコンテナでは、Parallels Cloud Server 6.0 の提供する機能の一部を使用できま せん(スナップショットの作成、管理など)。 注:VZFS について詳しくは、Parallels Server Bare Metal 5.0 のマニュアルを参照してください。 VZFS ベースのコンテナを作成する Parallels Cloud Server 6.0 をインストールすると、新しい「ファイル内のコンテナ」レイアウトを コンテナに対して使用するようにシステムが自動的に構成されます。従って、新しいコンテナを作 成すると、仮想マシンのハードディスクと同様に、そのすべてのファイルが単一のイメージに格納 されます。 VZFS ファイルシステムを使用してレガシーコンテナを作成したい場合、最初に次の作業を完了す る必要があります。 1 グローバル構成ファイル(/etc/vz/vz.conf)の VEFSTYPE パラメータを vz4 に設定します。 2 VZFS 対応 OS テンプレートキャッシュを vzpkg create cache コマンドを使用して作成しま す。例えば、更新されたキャッシュを CentOS 6 テンプレート用に作成するには、以下のコマ ンドを実行します。 # vzpkg create cache centos-6-x86 3 キャッシュが更新されたら、以下のように prlctl create コマンドを使用して通常の方法でコ ンテナを作成します。 # prlctl create 101 --ostemplate centos-6-x86 注:レガシーコンテナの管理について詳しくは、Parallels Server Bare Metal 5.0 のマニュアルを参照してく ださい。 257 レガシー機能 VZFS コンテナを新しいレイアウトに変換する システムを Parallels Cloud Server 6.0 にアップグレードした後、すべてのレガシーコンテナは引 き続き、旧バージョンの Parallels Server Bare Metal および Parallels Virtuozzo Containers で 使用されていたファイルシステムである VZFS で機能します。 注:VZFS ベースのコンテナは、Parallels Cloud Server 6.0 を実行するホストに移行する時に新しい「イメー ジファイル内のコンテナ」(ploop)レイアウトに変換できます。これには、vzmigrate --convert-vzfs --online コマンドを使用します。 新しい「イメージファイル内のコンテナ」レイアウトを使用するように VZFS ベースのコンテナを 変換するには: 1 /vz パーティションが ext4 にフォーマットされていることを確認します。 「イメージファイル内のコンテナ」レイアウトのコンテナは、ext4 にフォーマットされた /vz パーティションのみで使用できます。/vz パーティションの ext4 への変換について詳しくは、 「新しいレイアウトでコンテナを作成する(p. 258)」を参照してください。 2 vzctl convert コマンドを使用してコンテナを変換します。例えば、コンテナ 101 を変換する には、以下のコマンドを実行します。 # vzctl convert 101 --velayout 5 --velayout オプションを省略すると、コンテナはグローバル構成ファイル /etc/vz/vz.conf の VEFSTYPE パラメータに定義されたレイアウトに変換されます。「イメージファイル内のコン テナ」レイアウトのためには、このパラメータが ext4 に設定されている必要があります。 新しいレイアウトでコンテナを作成する アップグレード後に Container-in-an-image-file レイアウトでコンテナの作成を開始するには、 以下の作業を完了する必要があります。 • /vz パーティションが、ext4 以外のファイルシステム(ext3 など)でフォーマットされている 場合、ext4 ファイルシステムを使用するようにをアップグレードします。 • コンテナの基盤に使用したい OS テンプレートをキャッシュします。 258 レガシー機能 /vz パーティションを変換する /vz パーティションを ext4 にアップグレードするには、以下の作業を完了します。 1 vz サービスと parallels-server サービスを停止します。 # service vz stop # service parallels-server stop 2 /vz パーティションをアンマウントします。 # umount /vz 3 ファイルシステムを変換します。 # tune2fs -O extents,uninit_bg,dir_index /dev/DEVICE_NAME # e2fsck -fDC0 /dev/DEVICE_NAME ここで、DEVICE_NAME は、/vz パーティションをマウントするデバイスの名前です。後者のコマ ンドは、いくつかのエラーが検出され、修正が必要であるというメッセージを示します。Y を押 して同意し、変換プロセスを続行します。 4 /etc/fstab で現在のマウントオプションを変更します。 a 以前にマウントされていたデバイスに /vz パーティションをマウントします。 # mount /dev/DEVICE_NAME /vz b /vz パーティションの現在のエントリを確認します。 # grep "/vz" /etc/fstab /dev/DEVICE_NAME /vz ext3 c 5 defaults,noatime 1 2 /etc/fstab ファイルを編集し、ext3 を ext4 に置き換えます。 vz サービスと parallels-server サービスを起動します。 # service vz start # service parallels-server start 新しいレイアウトでコンテナを作成する Parallels Cloud Server 6.0 では、ある OS テンプレートをベースに最初のコンテナを作成すると、 このテンプレートが自動的にキャッシュされます。ただし、コンテナを作成する前に、以下のこと を確認する必要があります。 • コンテナの基盤となる OS テンプレート用のソフトウェアパッケージを格納する Parallels 公 式リポジトリにアクセスするために、インターネット接続がアクティブになっている。または • OS テンプレート用のローカルリポジトリを構成した。 259 レガシー機能 その後、prlctl create コマンドを使用して、最初のコンテナを作成することができます。例えば、 新しいコンテナを作成し、ct101 という名前を付け、ベースに Centos 6 OS テンプレートを使用 するには、以下のコマンドを実行します。 # prlctl create ct101 --ostemplate centos-6-x86 --vmtype ct このコマンドは、まず、centos-6-x86 OS テンプレートのキャッシュを作成し、キャッシュされた テンプレートをベースに ct101 というコンテナを作成します。 レガシーコンテナのバックアップを一覧に表示する Parallels Cloud Server 6.0 へのアップグレード後は、pbackup list コマンドを実行しても Parallels Virtuozzo Containers または旧バージョンの Parallels Cloud Server で作成された古い バックアップが一覧に表示されません。 古いバックアップが一覧表示されるようにするには、/etc/vzbackup.conf 構成ファイルで BACKUP_COMPATIBILITY_MODE パラメータのコメントを外し、値を yes に設定します。 サイズが 2 TB を超えるレガシー仮想ディスクを有 効にする 旧バージョンの Parallels Cloud Server で作成した仮想ディスクは、サイズ上限が 2 TB でした。 最新バージョンの Parallels Cloud Server では、最大 16 TB までの仮想ディスクをサポートしま す。 サイズが 2 TB を超えるレガシー仮想ディスクを有効にするには、prl_disk_tool convert --extend コマンドを使用します。例えば: # prl_disk_tool convert --hdd /vz/MyVM.pvm/MyVM-0.hdd/ --extend 260 第 12 章 トラブルシューティング この章では、Parallels Cloud Server の使用中に起こり得る問題について情報を提供し、その解決 方法(Parallels テクニカルサポートなど)について説明します。 この章の構成 一般的な問題......................................................................................... 261 カーネルのトラブルシューティング ............................................................ 263 コンテナ管理に関する問題........................................................................ 266 テクニカルサポートを利用する .................................................................. 268 一般的な問題 システムのトラブルシューティング時に考慮すべき一般的な問題は、以下の通りです。問題の解決 に取り組む前に、以下を熟読してください。 • 常に、有効なライセンスがサーバにロードされていることを確認してください。ライセンスの期 限が切れており、猶予期間も過ぎている場合、サーバ上のすべての仮想マシンおよびコンテナが 停止します。 • ターミナルでの現在位置を常に認識する必要があります。pwd、hostname、ifconfig、cat /proc/vz/veinfo コマンドを使用して、これを定期的に確認します。同一のコマンドを仮想マシ ンおよびコンテナ内部とサーバで実行すると、まったく異なる結果になる場合があります。PS1 トラブルシューティング 環境変数を設定して、bash プロンプトにフルパスを表示することもできます。これには、以下 の行を /root/.bash_profile に追加します。 PS1="[\u@\h \w]$ " export PS1 • サーバがスローダウンした場合、vmstat、ps(ps axfw)、dmesg、top(vztop)を使用して検証 します。調査せずにマシンを再起動しないでください。通常の動作状況に復元できない場合、 Alt+SysRq を押してメモリ(showMem)およびプロセス(showPc)をダンプします。 • サーバが正しくない手順でダウンしてしまった場合、次回の起動時にパーティションがすべてチ ェックされ、各コンテナのクォータが再計算されるため、起動時間が大幅に増加します。 • 以下のように、コンテナに属するバイナリやスクリプトをサーバから直接実行しないでくださ い。 cd /vz/root/99/etc/init.d ./httpd status コンテナ内のすべてのスクリプトは、コンテナ所有者の選択に応じて変更されている可能性があり ます。トロイの木馬がしかけられている場合や、rm -rf などに置換されている場合なども考えられ ます。コンテナ内のプログラムの実行には、prlctl exec/prlctl enter のみを使用できます。 • サーバで init スクリプトを使用しないでください。init スクリプトは、サービスを停止するた めに killall を使用している可能性があり、この場合、すべてのコンテナですべての類似プロ セスが強制終了されてしまいます。/var/run/Service.pid を確認して、該当のプロセスだけを 強制終了することができます。 • コンテナ内のルートキットをすべて検出できる必要があります。検出には chkrootkit パッケー ジ(最新版は www.chkrootkit.org からダウンロード可能)を使用するか、少なくとも以下を 実行してください。 rpm -Va|grep "S.5" これにより、いずれかの RPM ファイルの MD5 sum が変更されていないことを確認します。 また、以下のように nmap を実行することもできます。 # nmap -p 1-65535 192.168.0.1 Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Interesting ports on (192.168.0.1): (The 65531 ports scanned but not shown below are in state: closed) Port State Service 21/tcp open ftp 22/tcp open ssh 80/tcp open http 111/tcp open sunrpc Nmap run completed -- 1 IP address (1 host up) scanned in 169 seconds 262 トラブルシューティング これにより、通常は閉じているべきポートが開いていないことを確認します。 ただし、コンテナからルートキットを除去し、100% 削除したことを確認するのに問題が発生する 場合があります。確かではない場合は、この顧客用に新しいコンテナを作成し、このコンテナに顧 客のサイトとメールを移行します。 • サーバで /var/log/ ディレクトリを確認し、システムの状況を検証します。システムおよび Parallels Cloud Server によって多数のログファイルが管理されますが(boot.log、messages など)、実行している Linux ディストリビューションやサービス、アプリケーションによっては、 その他のサービスやプログラムに固有のログファイルもここに保存される可能性があります。例 えば、メールサーバの実行に関連するログ(maillog ファイル)、自動タスクに関連するログ (cron ファイル)などがあります。ただし、トラブルシューティングで最初に確認すべきなのは /var/log/messages ログファイルです。このファイルには、システム起動時のブートメッセー ジや、システムの実行中の各種ステータスメッセージが記録されています。入出力エラーやネッ トワークエラー、その他の一般的なシステムエラーが、このファイルに報告されます。したがっ て、まず messages ログファイルを確認してから、/var/log/ ディレクトリ内のその他のファイ ルを確認することをお勧めします。 • バグトラッキングリストを購読します。新しいパブリック DoS ツールやソフトウェアのリモー ト悪用を追跡する必要があります。 • iptables の使用にあたっては、サーバとそのコンテナの両方を保護するために、チェーンの使 用に関する簡単なルールがあります。 • サーバに送受信されるパケットのフィルタには INPUT、OUTPUT を使用する • コンテナ宛てのパケットをフィルタするには FORWARD を使用する カーネルのトラブルシューティング ALT+SYSRQ キーボートシーケンスを使用する ALT+SYSRQ+H を(3 つのキーを同時に)押して、サーバコンソールの出力を確認します。例え ば: SysRq: unRaw Boot Sync Unmount showPc showTasks showMem loglevel0-8 tErm kIll killalL Calls Oops 263 トラブルシューティング この出力は、各種コマンドを実行するために使用できる ALT+SYSRQ シーケンスを示しています。 コマンド名に含まれる大文字がシーケンスを表します。つまり、マシンに何らかの問題があるため 再起動する場合は、電源ボタンを押す前に、以下のキーシーケンスを使用してください。 • ALT+SYSRQ+M:メモリ情報のダンプ • ALT+SYSRQ+P:処理状態のダンプ • ALT+SYSRQ+S:ディスクの同期化 • ALT+SYSRQ+U:ファイルシステムのアンマウント • ALT+SYSRQ+L:全プロセスの強制終了 • ALT+SYSRQ+U:再度アンマウントを試みる • ALT+SYSRQ+B:再起動 その後、サーバが再起動しない場合は、電源ボタンを押してください。 カーネル障害(OOPS)を保存する 以下のコマンドを実行して、Parallels Cloud Server 開発者に報告すべきカーネルメッセージを確 認できます。 grep -E "Call Trace|Code" /var/log/messages* 次に、該当するログファイルからカーネルに関連する行が検索されるので、oops の発生時にどのカ ーネルが起動していたのかを確認します。「Linux」という文字列を前方検索し、次のような行を探 します。 Sep 26 11:41:12 kernel: Linux version 2.6.18-8.1.1.el5.028stab043.1 (root@rhel5-32-build) (gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Wed Aug 29 11:51:58 MSK 2007 oops は通常、発生した状況の説明から始まり、コード列で終了します。以下に例を示します。 Aug 25 08:27:46 boar BUG: unable to handle kernel NULL pointer dereference at virtual address 00000038 Aug 25 08:27:46 boar printing eip: Aug 25 08:27:46 boar f0ce6507 Aug 25 08:27:46 boar *pde = 00003001 Aug 25 08:27:46 boar Oops: 0000 [#1] Aug 25 08:27:46 boar SMP Aug 25 08:27:46 boar last sysfs file: Aug 25 08:27:46 boar Modules linked in: snapapi26(U) bridge(U) ip_vzredir(U) vzredir(U) vzcompat(U) vzrst(U) i p_nat(U) vzcpt(U) ip_conntrack(U) nfnetlink(U) vzfs(U) vzlinkdev(U) vzethdev(U) vzevent(U) vzlist(U) vznet(U) vzstat(U) vzmo 264 トラブルシューティング n(U) xt_tcpudp(U) ip_vznetstat(U) vznetstat(U) iptable_mangle(U) iptable_filter(U) ip_tables(U) vztable(U) vzdquota(U) vzdev(U) autofs4(U) hidp(U) rfcomm(U) l2cap(U) bluetooth(U) sunrpc(U) ipv6(U) xt_length(U) ipt_ttl(U) xt_tcpmss(U) ipt_TCPMSS(U) xt_multiport(U) xt_limit(U) ipt_tos(U) ipt_REJECT(U) x_tables(U) video(U) sbs(U) i2c_ec(U) button(U) battery(U) asus_acpi(U) ac(U) lp(U) floppy(U) sg(U) pcspkr(U) i2c_piix4(U) e100(U) parport_pc(U) i2c_core(U) parport(U) cpqphp(U) eepro100(U) mii(U) serio_raw(U) ide_cd(U) cdrom(U) ahci(U) libata(U) dm_snapshot (U) dm_zero(U) dm_mirror(U) dm_mod(U) megaraid(U) sym53c8xx(U) scsi_transport_spi(U) sd_mod(U) scsi_mod(U) ext3(U) jbd(U) ehci_hcd(U) ohci_hcd(U) uhci_hcd(U) Aug 25 08:27:46 boar CPU: 1, VCPU: -1.1 Aug 25 08:27:46 boar EIP: 0060:[<f0ce6507>] Tainted: P VLI Aug 25 08:27:46 boar EFLAGS: 00010246 (2.6.18-028stab043.1-ent #1) Aug 25 08:27:46 boar EIP is at clone_endio+0x29/0xc6 [dm_mod] Aug 25 08:27:46 boar eax: 00000010 ebx: 00000001 ecx: 00000000 edx: 00000000 Aug 25 08:27:46 boar esi: 00000000 edi: b6f52920 ebp: c1a8dbc0 esp: 0b483e38 Aug 25 08:27:46 boar ds: 007b es: 007b ss: 0068 Aug 25 08:27:46 boar Process swapper (pid: 0, veid: 0, ti=0b482000 task=05e3f2b0 task.ti=0b482000) Aug 25 08:27:46 boar Stack: 0b52caa0 00000001 00000000 b6f52920 00000000f0ce64de 00000000 02478825 Aug 25 08:27:46 boar 00000000 c18a8620 b6f52920 271e1a8c 024ca03800000000 00000000 00000000 Aug 25 08:27:46 boar 00000000 00000000 c18a3c00 00000202 c189e89400000006 00000000 05cb7200 Aug 25 08:27:46 boar Call Trace: Aug 25 08:27:46 boar [<f0ce64de>] clone_endio+0x0/0xc6 [dm_mod] Aug 25 08:27:46 boar [<02478825>] bio_endio+0x50/0x55 Aug 25 08:27:46 boar [<024ca038>] __end_that_request_first+0x185/0x47c Aug 25 08:27:46 boar [<f0c711eb>] scsi_end_request+0x1a/0xa9 [scsi_mod] Aug 25 08:27:46 boar [<02458f04>] mempool_free+0x5f/0x63 Aug 25 08:27:46 boar Aug 25 08:27:46 boar [<f0c713c3>] scsi_io_completion+0x149/0x2f3 [scsi_mod] Aug 25 08:27:46 boar [<f0c333b9>] sd_rw_intr+0x1f1/0x21b [sd_mod] Aug 25 08:27:46 boar [<f0c6d3b9>] scsi_finish_command+0x73/0x77 [scsi_mod] Aug 25 08:27:46 boar [<024cbfa2>] blk_done_softirq+0x4d/0x58 Aug 25 08:27:46 boar [<02426452>] __do_softirq+0x84/0x109 Aug 25 08:27:46 boar [<0242650d>] do_softirq+0x36/0x3a Aug 25 08:27:46 boar [<024050b7>] do_IRQ+0xad/0xb6 Aug 25 08:27:46 boar [<024023fa>] default_idle+0x0/0x59 Aug 25 08:27:46 boar [<0240242b>] default_idle+0x31/0x59 Aug 25 08:27:46 boar [<024024b1>] cpu_idle+0x5e/0x74 Aug 25 08:27:46 boar ======================= Aug 25 08:27:46 boar Code: 5d c3 55 57 89 c7 56 89 ce 53 bb 01 00 00 00 83 ec 0c 8b 68 3c 83 7f 20 00 8b 45 00 8b 00 89 44 24 04 8b 45 04 89 04 24 8b 40 04 <8b> 40 28 89 44 24 08 0f 85 86 00 00 00 f6 47 10 01 75 0a 85 c9 Aug 25 08:27:46 boar EIP: [<f0ce6507>] clone_endio+0x29/0xc6 [dm_mod] SS:ESP0068:0b483e38 Aug 25 08:27:46 boar Kernel panic - not syncing: Fatal exception in interrupt oops をファイルに保存して、Parallels サポートチームへの問題報告時に併せて送信してくださ い。 D プロセス状態の原因となったカーネル関数を探す D 状態のプロセスが大量にあり、何が起こっているのか把握できない場合は、以下のコマンドを実 行します。 # objdump -Dr /boot/vmlinux-`uname -r` >/tmp/kernel.dump 次に、プロセスリストを取得します。 # ps axfwln F UID PID PPID PRI NI VSZ RSS WCHAN STAT 100 0 20418 20417 17 0 2588 684 - R 100 0 1 0 8 0 1388 524 145186 S 040 0 8670 1 9 0 1448 960 145186 S TTY ? ? ? TIME 0:00 0:00 0:00 COMMAND ps axfwln init syslogd -m 0 265 トラブルシューティング 040 0 8713 1 10 0 1616 1140 11ea02 S ? 0:00 crond 問題が発生しているプロセスの WCHAN 列の下の数字を確認します。次に、エディタで /tmp/kernel.dump を開き、最初の列でその数字を検索し、先頭の関数名までスクロールすると、以 下のように表示されています。 "c011e910 <sys_nanosleep>:" これで、そのプロセスが「生きている」のか、検索された関数によってブロックされているのかが分 かります。 コンテナ管理に関する問題 このセクションでは、コンテナに関する問題の解決方法に関する推奨をご紹介します。 コンテナを起動できない コンテナを起動しようとして失敗する。 解決策 1 システムコンソールに「IP address is already used」というメッセージが表示された場合、cat /proc/vz/veinfo コマンドを実行します。コンテナの数字 ID、コンテナクラス、コンテナのプロセ ス数、およびコンテナの IP アドレスが、実行中の各コンテナに対して表示されます。これは、コ ンテナが起動していることも示します。つまり、IP アドレスが未割当のまま稼働していると考えら れます。以下のコマンドを使用して IP アドレスを設定します。 # prlctl set <CT_ID> --ipadd <IP_address> ここで <CT_ID> はコンテナの ID、<IP_address> は必要な IP アドレスです。 解決策 2 UBC パラメータが不足しているためにコンテナが起動できない可能性があります。コンテナの構成 を検証してください(「コンテナ構成の検証」を参照してください)。どの構成パラメータがエラー の原因であるか調べ、prlctl set コマンドを使用して適切な値を設定します。 解決策 3 266 トラブルシューティング コンテナがそのディスククォータ(ディスクスペース)をすべて使用している可能性があります。ク ォータを確認し(詳細は「ディスククォータを管理する(p. 108)」および第 4 章を参照してくだ さい)、必要に応じてパラメータを調整します(「コンテナ毎のディスククォータパラメータをセッ トアップする(p. 111)」を参照してください)。 解決策 4 prlctl console ユーティリティを実行し、コンテナのコンソールにログインし、アクセス権を取得 します。このユーティリティは、コンテナの起動/シャットダウンを出力し、問題の特定に使用でき ます。例えば: # prlctl console 101 ここで、101 はコンテナの ID です。 解決策 5 prestore ユーティリティにより、コンテナの最新の動作可能なコピーを復元します(詳細は「仮想 マシンおよびコンテナ バックアップを管理する(p. 46)」を参照してください)。 ネットワークからコンテナにアクセスできない 解決策 1 このコンテナに割り当てられた IP アドレスが、既にネットワークで使用されている可能性があり ます。使用されていないことを確認してください。以下のコマンドを実行して、問題のあるコンテ ナアドレスを確認できます。 # grep IP_ADDRESS /etc/vz/conf/<CT_ID>.conf IP_ADDRESS="10.0.186.101" その他の稼働中のコンテナの IP アドレスは、以下を実行して確認できます。 cat /proc/vz/veinfo 解決策 2 コンテナへのルーティングが正しく設定されていることを確認します。コンテナはネットワークの デフォルトルータを使用できます。または、サーバをコンテナのルータとして構成できます。 267 トラブルシューティング コンテナにログインできない コンテナが正常に起動しましたが、ログインできません。 解決策 1 SSH 経由の接続を試みて、アクセスが拒否されました。root ユーザのパスワードが未設定か、そ のようなユーザが存在しない可能性があります。この場合、prlctl set --userpasswd コマンドを 実行します。例えば、コンテナ 101 に対して以下のコマンドを実行します。 # prlctl set 101 --userpasswd root:secret 解決策 2 以下のコマンドを実行して転送設定を確認します。 # cat /proc/sys/ipv4/conf/venet0/forwarding これが 0 の場合は、以下のコマンドを実行して 1 に変更します。 # echo 1 > /proc/sys/ipv4/conf/venet0/forwarding テクニカルサポートを利用する このセクションは、Parallels テクニカルサポートを利用する方法について説明します。 技術サポートへの質問の準備および送信 ほとんどの場合、サポートチームによる問題の診断と解決は、顧客の観察した内容と顧客とのコミ ュニケーションに依存します。そのため、問題を詳細にご報告いただくことは非常に重要です。サ ポートリクエストは、http://sp.parallels.com/jp/hcap/support/request/ から送信します。問題 の説明には、以下を記載してください。 • 問題の症状 • この問題がいつから発生し、どのような障害が発生したか • システムに対して行った変更 • その状況に関連する可能性があるその他の情報(インストール方法など) • その問題に関連する可能性があるハードウェアデバイス 268 トラブルシューティング 問題報告には、Parallels Support Request Tracker(RT)ツールもご使用いただけます。 1 https://support.sp.parallels.com にアクセスしてください。 2 ユーザ名とパスワードを指定して Support Request Tracker にログインします。 まだご登録がお済みでない場合は、[Follow this link]をクリックし、画面の指示に従ってログ インクレデンシャルを取得してください。 3 受信したクレデンシャルを指定して Support Request Tracker にログインします。 4 表示された画面の上部で、製品名を選択し、[New ticket in]ボタンをクリックします。 5 画面の指示に従い、新規サポートチケットを作成します。 ヘルプを利用するその他の方法としては、サポートに直接ご連絡ください。お問い合わせ先は、 http://sp.parallels.com/jp/hcap/contact/ に記載されています。 テクニカルサポートに問題レポートを送信する prlctl problem-report コマンドを使用して、問題が発生している仮想マシンおよびコンテナにつ いて詳しいレポートを作成し、Parallels テクニカルサポートに送信することができます。サポート チームはこれを受領後、問題を丹念に検証し、迅速な解決のために最善を尽くします。 重要:レポートには、ログと、システムやネットワーク設定に関する情報のみが含まれ、個人情報は一切含まれ ません。 レポートを生成するには、問題の発生している仮想マシンまたはコンテナの ID または名前および レポートの処理方法を指定します。 • Parallels テクニカルサポートにレポートを自動送信するには、コマンドに -s オプションを指 定します。 # prlctl problem-report <CT_ID|VM_name> -s これは、推奨されるコマンドの実行方法です。インターネット接続にプロキシサーバを使用して いる場合、--proxy オプションに続いて、そのパラメータを追加で指定する必要があります。 # prlctl problem-report <CT_ID|VM_name> -s --proxy [user[:password]@]<proxyhost>[:port] • コンピュータが読み取り可能なフォーマットで画面にレポートを表示するには、コマンドに -d オプションを指定します。次のように、出力をファイルにパイプして、Parallels テクニカルサ ポートに送信することができます。 # prlctl problem-report <CT_ID|VM_name> -d > problemReport 269 トラブルシューティング このコマンドは、生成されたレポートをファイル problemReport に保存します。 Parallels サポートへのセキュアチャネルを確立する Parallels Cloud Server が提供する特別なツール(サポートトンネル)によって、Parallels サポー トチームのサーバへ、プライベートセキュアチャネルを確立することができます。このチャネルを 確立すると、サポートチームがお客様の Parallels サーバに迅速かつ安全に接続して問題を診断し、 解決できるようになります。お客様のサーバへの安全な接続は、Parallels サポートチームのサーバ とお客様のサーバの間に構築される仮想専用ネットワーク(VPN)経由で行われます。 Virtuozzo サポートトンネルツールの使用を開始するには: • openvpn(バージョン 2.0 以降)および vzvpn パッケージがノードにインストールされている ことを確認します。これらのパッケージは、いずれも Parallels Cloud Server リモートリポジ トリにあるため、yum install コマンドを使用してインストールすることができます。 # yum install openvpn # yum install vzvpn • サーバのポート 80 が開いていることを確認します。 • /etc/vzvpn/vzvpn.conf ファイルを編集し、プロキシサーバの正しいパラメータを指定します (使用している場合)。これらのパラメータについて詳しくは、『Parallels Cloud Server 6.0 コ マンドラインリファレンスガイド』(※英語)の「vzvpn Configuration File」を参照してくだ さい。 上記の作業を完了した後で何らかの問題が発生した場合は、以下の手順で Parallels サポートをご 利用いただけます。 1 Parallels Cloud Server ユーザを一意に識別する特別な証明書を Parallels から取得します。証 明書は Parallels がファイル形式で発行するもので、vzvpn.sh key-install certificate コマ ンドを実行してノードにインストールします。ここで certificate は、Parallels から取得した 証明書ファイルの名前です。証明書は、以下の方法のいずれかで取得できます。 • http://sp.parallels.com/jp/support/virtuozzo/certificates/ を開き、Request Secure Virtuozzo Support Tunnel Certificate(セキュア Virtuozzo サポートトンネル証明書の申 請)フォームに必要事項を記入し、[Submit]ボタンを押します。しばらくすると証明書が 生成され、Request Secure Virtuozzo Support Tunnel Certificate フォームに記入したメ ールアドレスに送信されます。 • Parallels サポートチームに、有効な証明書をメールまたは電話で申請します。 270 トラブルシューティング 2 証明書をインストールする準備ができたら、サーバがインターネットに接続されていることを確 認します。 3 サーバで /etc/init.d/vzvpn.sh start コマンドを実行し、お客様のサーバと Parallels サポー トサーバ間に VPN を構築します。 4 Parallels サポートチームに、発生した問題について(電話またはメールで)連絡します。 Virtuozzo サポートトンネルツールが起動しており、Parallels サポートサーバへの VPN を構 築したことも連絡する必要があります。 5 その後、Parallels サポートチームは、構築されたセキュアな VPN を用いてノードに接続し、 問題を検証して、迅速な問題解決のために最善を尽くします。 注: 1.サポートトンネルは、標準 Linux サービスとしてシステムのバックグラウンドで実行されます。従って、こ のサービスをサーバの再起動後に実行するには、autoboot モードに設定するか、/etc/init.d/vzvpn start コマンドを手動で実行して起動し直す必要があります。 2.Parallels サポートサーバとの間の VPN セッションを閉じるには、サーバで /etc/init.d/vzvpn stop コ マンドを実行します。 271 第 13 章 用語集 この用語集では、Parallels Cloud Server のマニュアルで使用する用語を定義し、略語の正式名称 を説明します。用語集に記載されている用語は、斜体で表示されます。 アプリケーションテンプレート:コンテナにアプリケーションセットをインストールするために使 用するテンプレート。「テンプレート」も参照。 コンテナ(または標準コンテナ):固有の IP アドレス、プロセス、ファイル、ユーザデータベース、 構成ファイル、アプリケーション、システムライブラリなどを持つ仮想専用サーバ。機能的には独 立したスタンドアロンサーバとまったく同じです。複数のコンテナが 1 つの Parallels サーバと 1 つの OS カーネルを共有しますが、コンテナ同士は互いに独立しています。コンテナは、プロセス およびユーザにとって「サンドボックス」のようなものです。 ゲストオペレーティングシステム(ゲスト OS):仮想マシンおよびコンテナの内部にインストール された OS。サポートされる任意の Windows、Linux を使用できます。 ハードウェア仮想化:この技術によって、物理サーバをハードウェアレベルで仮想化することがで きます。ハードウェア仮想化は、Parallels 仮想マシンの作成と管理に必要な環境を提供します。 オペレーティングシステム仮想化(OS 仮想化):この技術によって、物理サーバを OS(カーネル) レベルで仮想化することができます。OS 仮想化は、Parallels コンテナの作成と管理に必要な環境 を提供します。 OS テンプレート(オペレーティングシステムテンプレート):OS がインストール済みの新しいコ ンテナを作成するために使用します。「テンプレート」も参照。 用語集 パッケージセット:「テンプレート」を参照。 Parallels サーバ(物理サーバまたはサーバ):Parallels 仮想マシンおよびコンテナのホスティング 用に Parallels Cloud Server ソフトウェアをインストールしたサーバ。コンテナ 0 と表示される こともあります。 Parallels Cloud Server ライセンスキー:Parallels Cloud Server を使用するために物理サーバに インストールする必要があるライセンスキー。物理サーバごとに、固有のキーをインストールする 必要があります。 Parallels Cloud Storage ライセンスキー:Parallels Cloud Storage の機能を使用するためにイン ストールする必要があるライセンスキー。 IOPS メモリと IOPS の重複除去:Parallels Cloud Server 6.0 で導入された機能。複数のコンテ ナで共通のファイルをキャッシュすることによって、ハードウェアノードのメモリと IOPS を節約 することができます。 Parallels Virtuozzo Containers for Linux:単一の物理サーバ上に複数の独立したコンテナを作成 し、ハードウェア、ライセンス、管理作業を共有して効率を最大化することが可能な OS 仮想化ソ リューション。 プライベートエリア:ファイルシステム内で、他のコンテナと共有しないコンテナファイルが格納 される部分。 テンプレート(パッケージセット):マウント用に再パッケージされた、一連のオリジナルアプリケ ーションファイル(パッケージ)。テンプレートには 2 つのタイプがあります。OS テンプレート は、OS がインストール済みの新しいコンテナを作成するために使用します。アプリケーションテ ンプレートは、コンテナにアプリケーションまたはアプリケーションセットをインストールするた めに使用します。 UBC:「User Beancounter」の略。 User Beancounter:Parallels Cloud Server ソフトウェアのサブシステムであり、コンテナメモリ といくつかのシステム関連リソースを管理します。 仮想環境(VE):「コンテナ」の旧表記。 Virtuozzo File System(VZFS):レガシーコンテナ用の仮想ファイルシステム。 273 用語集 仮想マシン(VM):Parallels Cloud Server によってエミュレートされるコンピュータ。コンテナ と同じく、仮想マシンは固有の IP アドレス、プロセス、ファイル、ユーザデータベース、構成フ ァイル、アプリケーション、システムライブラリなどを持ち、機能的には独立したスタンドアロン コンピュータとまったく同じです。ただし、コンテナと違い、仮想マシンは OS のカーネルを共有 するのではなく、独自の OS を実行します。 274 索引 索引 A O ALT+SYSRQ キーボートシーケンスを使用す OOM Killer の挙動を構成する - 134 る - 265 Open vSwitch ブリッジを使用する - 199 C OS EZ テンプレートキャッシュを更新する - CPU プールを管理する - 221 215 OS EZ テンプレートを選択する - 38 CPU ユニット数を構成する - 104 CPU リソースを管理する - 104 CPU を NUMA ノードに紐付ける - 108 CPU 制限の詳細 - 107 D D プロセス状態の原因となったカーネル関数 を探す - 267 E EZ OS テンプレートセットを使用する - 234 EZ テンプレートを更新する - 211 I IOPS を構成する - 128 iptables モジュールを管理する - 242 L Linux 仮想マシンで共有フォルダを使用する - 254 Linux 固有のケーパビリティ - 229 OS 仮想化の基本 - 21 OS 仮想化レイヤ - 21 P Parallels Cloud Server 6.0 の概要 - 19 Parallels Cloud Server 6.0 の基本を学習す る - 19 Parallels Cloud Server で iptables モジュー ルを使用する - 242 Parallels Cloud Server ネットワークを管理 する - 158 Parallels Cloud Server のネットワークモー ド - 161 Parallels Cloud Server を更新する - 209 Parallels Cloud Server 構成 - 31 Parallels Cloud Storage クラスタ内のハード ウェアノードを更新する - 212 Parallels Virtuozzo Containers を実行する サーバからコンテナを移行する - 74 索引 Parallels コンテナ - 22 アダプタに仮想ネットワークを接続する - 175 Parallels サーバでネットワークアダプタを管 アダプタを一覧表示する - 159 理する - 159 Parallels サーバ間で仮想マシンおよびコンテ ナを移行する - 69 Parallels サポートへのセキュアチャネルを確 立する - 272 アプリケーションテンプレートが事前インス トールされた OS テンプレートキャッシュ を使用する - 231 オプションの Parallels Cloud Server パッケ ージをインストールする - 254 Parallels 仮想マシン - 27 オフラインサービスを有効または無効にする - pbackup と prestore を使用する - 54 198 オフライン管理について理解する - 193 POSIX ドラフトに定義されたケーパビリティ - 228 prlctl バックアップと prlctl 復元を使用する - 51 V veth アダプタパラメータを構成する - 178 veth ネットワークアダプタを作成または削除 する - 177 Virtuozzo ファイルシステムを使用する - 258 VLAN アダプタを作成する - 160 VNC クライアントで接続する - 241 VSwap をチューニングする - 136 VZFS コンテナを新しいレイアウトに変換す る - 260 VZFS ベースのコンテナを作成する - 259 オフライン管理の構成ファイル - 198 オフライン管理を構成する - 193 オフライン管理を有効または無効にする - 197 か カーネルのトラブルシューティング - 265 カーネルを更新する - 211 カーネル障害(OOPS)を保存する - 266 カスタマイズされたアプリケーションテンプ レートを使用する - 237 カスタマイズ済み OS EZ テンプレートを使 用する - 232 カスタマイズ済みのコンテナを作成する - 230 クォータパラメータを管理する - 114 クォータパラメータを設定する - 113 X クラスタステータスを監視する - 223 Xen 仮想マシンを移行する - 81 ケーパビリティを構成する - 228 あ ゴールデンイメージ 機能を無効にする - 231 アクティブなプロセスおよびサービスを表示 コンテナからシステム時間を変更する - 238 する - 153 索引 コンテナで iptables モジュールを使用する 244 コンテナで NFS サーバをセットアップする - コンテナ管理に関する問題 - 268 コンテナ起動時に NFS シェアをマウントす る - 88 87 コンテナでアダプタを管理する - 176 コンテナ固有のオペレーションを実行する - コンテナでの NFSv4 サポートを有効にする 83 コンテナ構成をスケーリングする - 145 - 87 コンテナで使用可能なケーパビリティ - 228 コンテナにログインできない - 270 コンテナに対して VPN を有効化する - 86 コンテナのディスク I/O のボトルネックを特 定する - 130 コンテナのネットワークモード - 161 コンテナのバックアップおよび移行時のディ スク I/O 制限を設定する - 129 コンテナのファイルとディレクトリに Immutable(変更不可)フラグおよび Append(追加)フラグを設定する - 242 コンテナの移行に関する制約事項 - 78 コンテナへの VNC アクセスを有効にする - コンテナ再インストールをカスタマイズする 84 コンテナ内の EZ テンプレートパッケージを 更新する - 214 コンテナ内部からサーバ ID を取得する 239 コンテナ毎のクォータを有効または無効にす る - 112 コンテナ毎のディスククォータを管理する 112 コンテナ用のメモリパラメータを管理する 132 さ サードパーティ仮想マシンとディスクを変換 する - 100 241 コンテナへの移行の要件 - 78 サーバユーザを所有者として共有する - 257 コンテナリソース構成を管理する - 143 サーバを均等に分割する - 144 コンテナを移行する - 74 サーバ内で仮想マシンおよびコンテナをコピ コンテナを仮想ネットワークに接続する - 178 ーする - 44 コンテナを仮想マシンに移行する - 74 サービスおよびプロセスとは - 151 コンテナを起動できない - 268 サービスおよびプロセスに対する主な操作 - コンテナを更新する - 213 152 サービスおよびプロセスを管理する - 150 コンテナを再インストールする - 84 コンテナを再起動する - 240 索引 サイズが 2 TB を超えるレガシー仮想ディス クを有効にする - 262 テクニカルサポートに問題レポートを送信す る - 271 サポートされるゲスト OS - 36 テクニカルサポートを利用する - 270 システムを最新状態に保つ - 209 デバイスを削除する - 96 スクリーンショットをとる - 97 テンプレート - 25 スクリプトでクラスタリソースを管理する - テンプレートのリストを表示する - 62 225 スタートアップパラメータを設定する - 41 テンプレートをデプロイする - 62 スナップショットに復元する - 66 スナップショットを一覧表示する - 65 スナップショットを管理する - 63 スナップショットを作成する - 63 スナップショットを削除する - 67 すべてのコンポーネントを更新する - 210 ゼロダウンタイム移行 - 71 ソースノードへのパスワードレスアクセスを 構成する - 57 テンプレートを管理する - 61 テンプレートを作成する - 62 トラブルシューティング - 263 な ネットワークからコンテナにアクセスできな い - 269 ネットワーククラスを構成する - 119 ネットワークトラフィックのパラメータ - 119 ネットワークトラフィック統計を表示する - その他のアクションを実行する - 212 121 ネットワーク設定を構成する - 39 た ネットワーク帯域幅を管理する - 119 ディスク I/O パラメータを管理する - 126 ネットワーク帯域幅管理をオン/オフにする - ディスク I/O パラメータを構成する - 127 123 ネットワーク帯域幅管理を構成する - 124 ディスク I/O 統計を表示する - 128 ディスククォータとは - 111 ディスククォータパラメータ - 111 ノードに対して高可用性を有効または無効に する - 218 ディスククォータを管理する - 110 は ディスクをコンパクト化する - 117 ハードウェア仮想化の基本 - 26 ディスク容量を減少する - 116 ハードウェア仮想化レイヤ - 26 ディスク容量を増加する - 116 バックアップおよび移行用にグローバルメモ リ制限を設定する - 131 索引 バックアップの概要 - 49 フィードバック - 18 プライベートネットワークについて - 183 プライベートネットワークをセットアップす る - 187 ブリッジモードで仮想マシンおよびコンテナ を構成する - 171 プロセス ID からコンテナ ID を識別する 156 プロセスおよびサービスを管理する - 153 プロセスをリアルタイムでモニタリングする 155 ヘルプを利用する - 17 ホストオンリーネットワークの IP アドレス 範囲を構成する - 100 ホストルートモードで仮想マシンおよびコン テナを構成する - 169 ホストルートモードとブリッジモードの違い 168 ま メイン VSwap パラメータを構成する - 132 メインメモリパラメータを構成する - 138 メモリと IOPS の重複除去 - 24 メモリ割当制限を構成する - 133 や ユーザ毎およびグループ毎のクォータを管理 する - 113 ユーザ毎およびグループ毎のクォータを有効 または無効にする - 113 ら ライセンスについて理解を深める - 32 ライセンスのステータス - 208 ライセンスをインストールする - 202 ライセンスを管理する - 202 ライセンスを表示する - 206 リソースをモニタリングする - 148 リソースを管理する - 103 リソース管理 - 32 リソース管理パラメータとは - 104 リソース再配置モードを構成する - 219 リブートレスアップグレード - 210 レガシーコンテナのバックアップを一覧に表 示する - 262 レガシーコンテナを構成する - 136 レガシー機能 - 258 漢字 移行に関する一般的な要件 - 68 一般的な問題 - 263 仮想アダプタのパラメータを構成する - 181 仮想アダプタを作成・削除する - 180 仮想ディスクを管理する - 115 仮想デバイスを構成する - 94 仮想ネットワークパラメータを構成する - 173 仮想ネットワークを一覧表示する - 173 仮想ネットワークを管理する - 171 仮想ネットワークを作成する - 171 仮想ネットワークを削除する - 176 索引 仮想マシンおよびコンテナからバックアップ をデタッチする - 60 仮想マシンおよびコンテナでコマンドを実行 する - 46 仮想マシンおよびコンテナにパスワードを設 定する - 40 仮想マシンおよびコンテナにバックアップを アタッチする - 58 仮想マシンおよびコンテナに関する詳細情報 を保存する - 43 仮想マシンおよびコンテナの CPU アフィニ ティを構成する - 105 仮想マシンおよびコンテナの CPU 制限を構 成する - 105 仮想マシンおよびコンテナの HA 優先度を構 成する - 220 仮想マシンおよびコンテナの起動、停止、再 起動、およびステータス照会 - 41 仮想マシンおよびコンテナの詳細情報を参照 する - 47 仮想マシンおよびコンテナの優先度を構成す る - 126 仮想マシンおよびコンテナバックアップを管 理する - 48 仮想マシンおよびコンテナへの VNC アクセ スを有効にする - 240 仮想マシンおよびコンテナを移行する - 67 仮想マシンおよびコンテナを一時停止する 45 仮想マシンおよびコンテナを一覧表示する 42 仮想マシンおよびコンテナを管理する - 34 仮想マシンおよびコンテナを作成する - 35 仮想マシンおよびコンテナを削除する - 47 仮想マシンで Parallels Cloud Server 6.0 を 実行する - 253 仮想マシンでアダプタを管理する - 180 仮想マシンディスクインターフェースを管理 する - 117 仮想マシンでディスクとパーティションのア ライメントを調整する - 246 仮想マシンに USB デバイスを割り当てる 98 仮想マシンの CPU ホットプラグを有効化す る - 109 仮想マシンのディスクのタイプを変更する 115 仮想マシンのデバイスを管理する - 89 仮想マシンのネットワークモード - 165 仮想マシンのメモリホットプラグを有効化す る - 142 仮想マシンの移行に関する制限事項 - 81 仮想マシンハードウェア - 28 仮想マシンファイル - 29 仮想マシンへの VNC アクセスを有効にする 240 仮想マシンへの移行の要件 - 80 仮想マシンユーザをオーナーとして共有する 255 仮想マシンをコンテナに移行する - 81 索引 仮想マシンを一時停止する - 89 当ガイドの構成 - 16 仮想マシンを仮想ネットワークに接続する - 特定のユーザとしてマウントする - 256 182 仮想マシン固有のオペレーションを実行する - 特定の仮想マシンおよびコンテナに対して高 可用性を有効または無効にする - 220 89 仮想マシン構成サンプルを管理する - 146 標準の移行 - 70 仮想マシン内のソフトウェアを更新する - 213 複数の仮想ディスクをコンテナに追加する - 仮想マシン用のメモリパラメータを管理する 137 仮想メディアとリアルメディアのサポート - 88 物理コンピュータを仮想マシンおよびコンテ ナに移行する - 76 29 概要 - 15 物理サーバの可用性に関する考慮事項 - 33 拡張タスク - 227 本書について - 15 技術サポートへの質問の準備および送信 - 270 用語集 - 274 現在のライセンスを更新する - 204 現在のライセンスを表示する - 206 更新を確認する - 212 高可用性クラスタを管理する - 216 高可用性を使用できるようノードを準備する 217 初期構成を実行する - 39 新しい Linux ディストリビューション用の構 成ファイルを作成する - 245 新しいレイアウトでコンテナを作成する - 260 新しい構成サンプルをコンテナに適用する 145 新規デバイスを追加する - 90 新規追加したディスクを初期化する - 92 専用ネットワークを管理する - 183 前提条件を確認する - 217 追加メモリパラメータを構成する - 138 別のサーバにライセンスを移管する - 205
© Copyright 2024 Paperzz