第8章 Compute サービスのインストール

8.1. Compute の VNC プロキシーのインストール

8.1.1. Compute の VNC プロキシーパッケージのインストール

VNC プロキシーは、Compute サービスのユーザーが利用できます。VNC プロキシーサーバーのパッケージには 2 つの種別があります。openstack-nova-novncproxy パッケージは、(Websocket を使用して) Web ブラウザーを介した VNC サポートをインスタンスに提供する一方、openstack-nova-console パッケージは、(openstack-nova-xvpvncproxy サービス経由で) 従来の VNC クライアントを介したインスタンスへのアクセスを提供します。
openstack-nova-console パッケージにより、コンソール認証サービスも提供されます。このサービスは、VNC 接続の認証に使用されます。通常、コンソール認証サービスおよびプロキシーユーティリティーは、Compute API サービスと同じホストにインストールされます。
以下の手順は、root ユーザーとしてログインして実行する必要があります。

手順8.1 Compute の VNC プロキシーパッケージのインストール

  • VNC プロキシーのユーティリティーとコンソール認証サービスをインストールします。
    • yum コマンドで openstack-nova-novncproxy パッケージをインストールします。
      # yum install -y openstack-nova-novncproxy
    • yum コマンドで openstack-nova-console パッケージをインストールします。
      # yum install -y openstack-nova-console
VNC プロキシーのパッケージとコンソール認証サービスがインストールされ、設定の準備が整いました。

8.1.2. Compute の VNC プロキシーのトラフィックを許可するためのファイアウォール設定

インスタンスへの VNC アクセスをホストするノードは、ファイアウォールを介した VNC トラフィックを許可するように設定する必要があります。デフォルトでは、openstack-nova-novncproxy サービスは TCP ポート 6080 をリッスンし、openstack-nova-xvpvncproxy サービスは TCP ポート 6081 をリッスンします。
TCP ポート 6080 上のトラフィックがファイアウォールを通過するように許可して openstack-nova-novncproxy パッケージが使用できるようにするには、以下の手順に従って設定します。
以下の手順は、root ユーザーとしてログインして実行する必要があります。

手順8.2 Compute の VNC プロキシーのトラフィックを許可するためのファイアウォール設定

  1. /etc/sysconfig/iptables ファイルを編集して、-A INPUT -i lo -j ACCEPT の行の下に以下の新しい行を追加します。この行は、-A INPUT -j REJECT ルールの上に配置するようにしてください。
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 6080 -j ACCEPT
  2. ファイルを保存してエディターを終了します。
  • 同様に、openstack-nova-xvpvncproxy サービスを使用する場合には、以下の新しい行を同じ場所に追加して、TCP ポート 6081 のトラフィックを有効にします。
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 6081 -j ACCEPT
ファイルで新規ファイアウォールルールの編集を終了したら、次のコマンドを root ユーザーとして実行し、変更を適用します。
# service iptables restart
# iptables-save
VNC プロキシーのトラフィックを許可するようにファイアウォールが設定されました。

8.1.3. VNC プロキシーサービスの設定

インスタンスへの VNC アクセスは、Web ブラウザーまたは従来の VNC クライアントを介して提供されます。/etc/nova/nova.conf ファイルには、次のような VNC オプションがあります。
  • vnc_enabled: デフォルトは true
  • vncserver_listen: VNC サービスをバインドする IP アドレス
  • vncserver_proxyclient_address: プロキシーがインスタンスに接続するのに使用するコンピュートホストの IP アドレス
  • novncproxy_base_url: クライアントがインスタンスに接続するブラウザーのアドレス
  • novncproxy_port: ブラウザーの VNC 接続をリッスンするポート。デフォルトは 6080。
  • xvpvncproxy_port: 従来の VNC クライアント向けのバインドするポート。デフォルトは 6081。
root ユーザーとして service コマンドを使用して、コンソールの認証サービスを起動します。
#service openstack-nova-consoleauth start
chkconfig コマンドでサービスを永続的に有効にします。
#chkconfig openstack-nova-consoleauth on
nova ノードで root ユーザーとして service コマンドを使用して、ブラウザーベースのサービスを起動します。
#service openstack-nova-novncproxy start
chkconfig コマンドでサービスを永続的に有効にします。
#chkconfig openstack-nova-novncproxy on
従来のクライアント (非ブラウザーベース) を使用する VNC サービスへのアクセスを制御するには、上記のコマンドで openstack-nova-xvpvncproxy を代わりに使用してください。

8.1.4. ライブマイグレーションの設定

Red Hat OpenStack Platform は、共有ストレージマイグレーションまたはブロックマイグレーションのいずれかを使用したライブマイグレーションをサポートします。以下の項では、両タイプの移行における一般的な要件について説明します。両タイプの詳細の設定手順は、「ライブ (実行中) インスタンスの移行」を参照してください。

8.1.4.1. 一般要件

移行における一般的な要件は以下のとおりです。
  • 管理者として、クラウド環境にコマンドラインからアクセスできること (以下の手順はすべてコマンドラインで実行されます)。各種コマンドを実行するには、まずユーザーの認証変数を読み込みます。
    # source ~/keystonerc_admin
  • 移行元/移行先の両ノードは、同じサブネットに配置され、同じプロセッサータイプを使用すること
  • コンピュートサーバー (コントローラーおよびノード) はすべて、相互で名前を解決できること
  • コンピュートノード間で Compute サービスおよび libvirt ユーザーの UID および GID は同一であること
  • コンピュートノードは、libvirt と KVM を使用すること

8.1.4.2. マルチパス機能の要件

マルチパス機能が設定されたインスタンスを移行する場合は、移行元と移行先のノードでマルチパスデバイスの名前が同じである必要があります。移行先のノードで、インスタンスがマルチパスデバイスの名前を解決できない場合には、移行が失敗します。
移行元ノードと移行先ノードの両方でデバイス WWID の使用を強制することで、一貫性のあるマルチパスデバイス名を指定することができます。これには、移行先/移行元の両ノードで以下のコマンドを実行して ユーザーフレンドリーな名前 を無効にし、multipathd を再起動する必要があります。
# mpathconf --enable --user_friendly_names n
# service multipathd restart
詳しい情報は、『DM Multipath ガイド』の「クラスター内では整合性のあるマルチパスデバイス名を維持する」を参照してください。

8.1.5. Compute の VNC プロキシーを使用したインスタンスへのアクセス

/etc/nova/nova.conf ファイルに記載されている novncproxy_base_url を参照し、インスタンスコンソールにアクセスします。
以下の画像は、Web ブラウザーを使用した、Fedora Linux インスタンスへの VNC アクセスを示しています。これは、例を示す目的のみで記載しており、IP アドレスなどの設定は、お使いの環境とは異なります。
Description

図8.1 インスタンスへの VNC アクセス