Red Hat Training

A Red Hat training course is available for Red Hat Satellite

第8章 VMware vSphere での仮想マシンのプロビジョニング

VMware vSphere は VMware のエンタープライズクラスの仮想化プラットフォームです。Red Hat Satellite 6 は、新規仮想マシンの作成やそれらの電源状態の制御を含む、vSphere プラットフォームとの対話を実行することができます。

8.1. VMware vSphere プロビジョニングの要件

VMware vSphere プロビジョニングの要件には以下が含まれます。

  • Red Hat Enterprise Linux 7 の同期済みのコンテンツリポジトリー。詳細は、『コンテンツ管理ガイド』「Red Hat リポジトリーの同期」を参照してください。
  • vSphere 環境でネットワークを管理する Capsule Server。Capsule Server との競合を避けるために DHCP サービスがこのネットワークで実行されていないことを確認します。詳細は、「4章ネットワークの設定」を参照してください。
  • 既存の VMware テンプレート (イメージベースのプロビジョニングを使用する場合)。
  • ホスト登録用のアクティベーションキー。詳細は、『コンテンツ管理ガイド』「アクティベーションキーの作成」を参照してください。

8.2. VMware vSphere ユーザーの作成

VMware vSphere サーバーには、Satellite Server の通信用に管理者に相当するユーザーが必要になります。セキュリティー上の理由により、この通信に administrator ユーザーを使用しないことをお勧めします。その代わりに、以下の権限を持つ新規のユーザーを作成してください。

  • All Privileges (すべての権限) → Datastore (データストア) → Allocate Space (スペースの割り当て)
  • All Privileges (すべての権限)→ Network (ネットワーク) → Assign Network (ネットワークの割り当て)
  • All Privileges (すべての権限) → Resource (リソース) → Assign virtual machine to resource pool (仮想マシンのリソースプールへの割り当て)
  • All Privileges (すべての権限)→ Virtual Machine (仮想マシン) → Configuration (All) (設定 (すべて))
  • All Privileges (すべての権限)→ Virtual Machine (仮想マシン)→ Interaction (対話)
  • All Privileges (すべての権限)→ Virtual Machine (仮想マシン) → Inventory (インベントリー)
  • All Privileges (すべての権限)→ Virtual Machine (仮想マシン)→ Provisioning (プロビジョニング)

8.3. Satellite Server への VMware vSphere 接続の追加

この手順を使用して、Satellite Server のコンピュートリソースに VMware vSphere 接続を追加します。

Satellite が TCP ポート 443 を介して vCenter と通信できるよう、ホストおよびネットワークベースのファイアウォールが設定されていることを確認します。Satellite が vCenter のホスト名を解決でき、vCenter が Satellite Server のホスト名を解決できることを確認します。

手順

接続を追加するには、以下の手順を行います。

  1. Satellite Web UI で インフラストラクチャー > コンピュートリソース に移動して、コンピュートリソースのウィンドウで コンピュートリソースの作成 をクリックします。
  2. 名前 フィールドに、リソースの名前を入力します。
  3. プロバイダー の一覧から VMware を選択します。
  4. 説明 フィールドには、リソースの説明を入力します。
  5. VCenter/Server (サーバー) フィールドには、vCenter サーバーの IP アドレスまたはホスト名を入力します。
  6. ユーザー フィールドには、ユーザー名と、vCenter のリソースにアクセスするためのパーミッションを入力します。
  7. パスワード フィールドで、ユーザーのパスワードを入力します。
  8. データセンターのロード をクリックして、VMware vSphere 環境からデータセンターリストを生成します。
  9. データセンター リストから、このリストから管理する特定のデータセンターを選択します。
  10. フィンガープリント フィールドは、データセンターからのフィンガープリントが投入されていることを確認します。
  11. ディスプレイタイプ リストから、VNCVMRC などのコンソールタイプを選択します。VNC コンソールは VMware ESXi 6.5 以降ではサポートされません。
  12. オプション: VNC コンソールパスワード フィールドでは、ディスプレイ接続時にランダムに生成されたパスワードを設定します チェックボックスを選択して、無作為に作成されたパスワードで、新規ホストへのアクセスのセキュリティーを確保します。libvirtd ホストからゲスト仮想マシンコンソールにアクセスするための VNC コンソールのパスワードは、以下のコマンドの出力から取得できます。

    # virsh edit your_VM_name
    <graphics type=vnc port=-1 autoport=yes listen=0.0.0.0 passwd=your_randomly_generated_password>

    パスワードは、virt-manager などで、仮想マシンのコンソールを開くたびに無作為に生成されます。

  13. キャッシングの有効化 リストからコンピュートリソースのキャッシングを有効化するかどうかを選択できます。詳細は、「コンピュートリソースのキャッシング」 を参照してください。
  14. ロケーション および 組織 タブをクリックして、値が現在のコンテキストに自動的に設定されていることを確認します。また別のコンテキストを追加することもできます。
  15. 送信 をクリックして接続を保存します。

CLI を使用する場合

hammer compute-resource create コマンドで接続を作成します。--providerVmware を選択し、--uuid でデータセンターのインスタンス UUID を設定します。

# hammer compute-resource create --name "My_vSphere" \
--provider "Vmware" \
--description "vSphere server at vsphere.example.com" \
--server "vsphere.example.com" --user "SatelliteUser" \
--password "p@55w0rd!" --locations "New York" --organizations "My_Organization" \
--uuid 72cb9454-81cd-4231-a863-d9baf0f399f8

8.4. Satellite Server への VMware vSphere イメージの追加

VMware vSphere は、新規仮想マシンを作成するためのイメージとしてテンプレートを使用します。イメージベースのプロビジョニングを使用して新規ホストを作成する場合、VMware vSphere テンプレートの詳細を Satellite Server に追加する必要があります。これには、アクセスの詳細およびテンプレート名が含まれます。

手順

イメージを追加するには、以下のステップを実行します。

  1. Satellite Web UI で インフラストラクチャー > コンピュートリソース に移動して、コンピュートリソースのウィンドウで VMware vSphere 接続をクリックします。
  2. 名前 フィールドに、イメージの名前を入力します。
  3. オペレーティングシステム リストから、イメージのベースオペレーティングシステムを選択します。
  4. アーキテクチャー リストから、オペレーティングシステムのアーキテクチャーを選択します。
  5. ユーザー フィールドには、イメージにアクセスするための SSH ユーザー名を入力します。通常、これは root ユーザーになります。
  6. パスワード フィールドには、イメージにアクセスするための SSH パスワードを入力します。
  7. ユーザーデータ リストから、イメージが cloud-init データなどのユーザーデータ入力をサポートするかどうかを設定します。
  8. イメージ フィールドには vSphere 環境でのテンプレートの相対パスおよび名前を入力します。相対パスにデータセンターを追加しないでください。
  9. 送信 をクリックしてイメージの詳細を保存します。

CLI を使用する場合

hammer compute-resource image create コマンドでイメージを作成します。--uuid フィールドを使用して vSphere 環境の相対テンプレートパスを保存します。

# hammer compute-resource image create --name "Test_vSphere_Image" \
--operatingsystem "RedHat 7.2" --architecture "x86_64" \
--username root --uuid "Templates/RHEL72" \
--compute-resource "My_vSphere"

8.5. VMware vSphere の詳細のコンピュートプロファイルへの追加

VMware vSphere の仮想マシンの特定のハードウェア設定を事前に定義することができます。これは、これらのハードウェア設定をコンピュートプロファイルに追加することで実行できます。

手順

VMware vSphere の詳細をコンピュートプロファイルに追加するには、以下の手順を行います。

  1. Satellite Web UI で インフラストラクチャー > コンピュートプロファイル に移動して、コンピュートプロファイルのウィンドウで vSphere 接続の名前をクリックします。
  2. CPU フィールドには、新規ホストに割り当てる CPU の数を入力します。
  3. 1 ソケットあたりのコア数 フィールドには各 CPU に割り当てるコアの数を入力します。
  4. メモリー フィールドには、新規ホストに割り当てるメモリーの容量を入力します。
  5. クラスター フィールドには、VMware 環境のターゲットホストクラスター名を入力します。
  6. リソースプール リストから、ホストに対して利用可能なリソース割り当てを選択します。
  7. フォルダー フィールドには、ホストを整理するためのフォルダーを入力します。
  8. ゲスト OS リストから、VMware vSphere で使用するオペレーティングシステムを選択します。
  9. SCSI コントローラー リストから、ホストのディスクアクセスの方法を選択します。
  10. 仮想ハードウェアのバージョン リストから、仮想マシンに使用する基礎となる VMware ハードウェアの抽象化を定義します。
  11. 仮想マシンの電源をオンにしたままリソースを追加するには メモリーホット追加 または CPU ホット追加 のチェックボックスを選択します。
  12. イメージ リストから、イメージベースのプロビジョニングを実行する場合には、使用するイメージを選択します。
  13. ネットワークインターフェース リストから、ホストのネットワークインターフェースのネットワークパラメーターを選択します。ネットワークインターフェースは複数作成できますが、最低でも 1 つのインターフェース は Capsule が管理するネットワークを参照する必要があります。
  14. Eager Zero シックプロビジョニングを使用するには、Eager Zero チェックボックスを選択します。これにチェックを付けない場合には、ディスクは Lazy Zero シックプロビジョニングを使用します。
  15. 送信 をクリックしてコンピュートプロファイルを保存します。

CLI を使用する場合

コンピュートプロファイルの CLI コマンドは、Red Hat Satellite 6.4 ではまだ実装されていません。代替方法として、ホストの作成プロセスで同じ設定を直接組み込むことができます。

8.6. VMware vSphere サーバーでのホストの作成

VMware vSphere プロビジョニングプロセスでは、ネットワーク接続経由で、あるいは既存のイメージを使用してホストを作成するオプションがあります。

ネットワークベースのプロビジョニングでは、ホストが PXE プロビジョニングサービスにアクセスできるように、新規ホストは VMware vSphere 仮想マシン上にある Satellite Server の統合 Capsule か、外部の Capsule Server にアクセスできる必要があります。この新しいホストエントリーにより、VMware vSphere サーバーが仮想マシンを作成して起動するようにトリガーします。仮想マシンが仮想ネットワークで定義済みの Capsule Server を検出した場合には、仮想マシンは PXE 機能を使用してブートして、選択したオペレーティングシステムのインストールを開始します。

DHCP の競合

プロビジョニング目的で VMware vSphere サーバーで仮想ネットワークを使用する場合は、DHCP 割り当てを提供しない仮想ネットワークを必ず選択します。DHCP 割り当ては、新規ホストの起動時に Satellite Server との競合を引き起こします。

イメージベースのプロビジョニングでは、既存のイメージを新規ボリュームのベースとして使用します。

手順

VMware vSphere サーバーのホストを作成するには、以下の手順を行います。

  1. Satellite web UI で、ホスト > 新規ホスト に移動します。
  2. 名前 フィールドには、プロビジョニングされたシステムのホスト名に設定する名前を入力します。
  3. 組織 および ロケーション タブをクリックして、プロビジョニングのコンテキストが現在のコンテキストに自動的に設定されていることを確認します。
  4. ホストグループ リストから、フォームの生成に使用するホストグループを選択します。
  5. デプロイ先 リストから、VMware vSphere 接続を選択します。
  6. コンピュートプロファイル リストから、仮想マシンベースの設定を自動的に投入するために使用するプロファイルを選択します。
  7. インターフェース タブをクリックして、ホストのインターフェースで 編集 をクリックします。
  8. フィールドに値が自動投入されていることを確認します。特に以下に注意してください。

    • ホスト タブの 名前DNS 名 になります。
    • Satellite Server は新規ホストの IP アドレスを自動的に割り当てます。
  9. MAC アドレス フィールドが空白であることを確認します。VMware vSphere サーバーは MAC アドレスをホストに割り当てます。
  10. ホストの最初のインターフェースで Managed (管理)Primary、および Provision オプションが自動的に選択されていることを確認します。選択されていない場合は、それらを選択してください。
  11. インターフェースウィンドウには、コンピュートプロファイルの設定が入力された VMware vSphere 固有のフィールドが表示されます。必要に応じてこれらの設定を変更します。
  12. オペレーティングシステム タブをクリックして、全フィールドに値が自動的に含まれていることを確認します。
  13. ネットワークベースのプロビジョニングでは、プロビジョニング方法ネットワークベース に設定されており、イメージベースのプロビジョニングでは プロビジョニング方法イメージベース に設定されていることを確認します。
  14. プロビジョニングテンプレート解決 をクリックし、新規ホストから使用する適切なプロビジョニングテンプレートを特定できることを確認します。
  15. 仮想マシン タブをクリックして、これらの設定には、ホストグループおよびコンピュートプロファイルからの情報が入力されていることを確認し、必要に応じて変更してください。
  16. パラメーター タブをクリックして、存在するパラメーターでアクティベーションキーが提供されていることを確認します。提供されていない場合には、アクティベーションキーを追加します。
  17. 送信 をクリックしてホストエントリーを保存します。

CLI を使用する場合

hammer host create コマンドでネットワークからホストを作成し、--provision-method build を組み込んでネットワークベースのプロビジョニングを使用します。以下は例になります。

# hammer host create --name "vmware-test1" --organization "_My_Organization_" \
--location "New York" --hostgroup "Base" \
--compute-resource "_My_vSphere_" --provision-method build \
--build true --enabled true --managed true \
--interface "managed=true,primary=true,provision=true,compute_type=VirtualE1000,compute_network=mynetwork" \
--compute-attributes="cpus=1,corespersocket=2,memory_mb=1024,cluster=MyCluster,path=MyVMs,start=true" \
--volume="size_gb=20G,datastore=Data,name=myharddisk,thin=true"
注記

このコンピュートリソースの追加のホスト作成パラメーターについての詳細は、付録B Hammer CLI の追加のホストパラメーター を参照してください。

CLI を使用する場合

hammer host create コマンドでイメージからホストを作成し、--provision-method image を指定してイメージベースのプロビジョニングを使用します。以下は例になります。

# hammer host create --name "vmware-test2" --organization "My_Organization" \
--location "New York" --hostgroup "Base" \
--compute-resource "My_RHEV" --provision-method image \
--image "Test RHEV Image" --enabled true --managed true \
--interface "managed=true,primary=true,provision=true,compute_type=VirtualE1000,compute_network=mynetwork" \
--compute-attributes="cpus=1,corespersocket=2,memory_mb=1024,cluster=MyCluster,path=MyVMs,start=true" \
--volume="size_gb=20G,datastore=Data,name=myharddisk,thin=true"

このコンピュートリソースに対する他のホスト作成パラメーターの情報は、「付録B Hammer CLI の追加のホストパラメーター」を参照してください。

8.7. コンピュートリソースのキャッシング

コンピュートリソースのキャッシングは、VMware 情報のレンダリングを迅速化します。

8.7.1. コンピュートリソースのキャッシングの有効化

コンピュートリソースのキャッシングを有効化または無効化します。

  1. Satellite Web UI で、インフラストラクチャー > コンピュートリソース に移動します。
  2. 更新する VMware サーバーの右側にある 編集 ボタンをクリックします。
  3. キャッシュを有効にする のチェックボックスを選択します。

8.7.2. コンピュートリソースのキャッシュのリフレッシュ

コンピュートリソースのキャッシュをリフレッシュして、コンピュートリソース情報を更新するには、以下を実行します。

手順

  1. Satellite Web UI で、インフラストラクチャー > コンピュートリソース に移動します。
  2. コンピュートリソースのキャッシュをリフレッシュする VMware サーバーを選択し、キャッシュのリフレッシュ ボタンをクリックします。

CLI を使用する場合

この API の呼び出しを使用して、コンピュートリソースのキャッシュをリフレッシュします。

# curl -H "Accept:application/json,version=2" \
-H "Content-Type:application/json" -X PUT \
-u username:password -k \
https://satellite.example.com/api/compute_resources/compute_resource_id/refresh_cache

hammer compute-resource list コマンドを使用して、コンピュートリソースのキャッシュを更新する VMware サーバーの ID を判断します。