本稿では前回に引き続き、ハイパーコンバージドインフラを構築する方法として、ScaleIO(無償版)のインストールと構築を紹介する。

ScaleIOのコンポーネント

  • Installation Manager(IMと省略されていることもある)
    複数ノードにわたるインストール・構成・アップグレードを簡単に行うためのjavaのアプリケーション。インストールすればwebアプリケーションとして動作(ダウンロードしてローカルのjavaアプリケーションとして動作させることも可能)。

  • SDS (ScaleIO Data Server)
    SDSは各サーバのローカルディスクをまとめてストレージプールを作成するサービス/プロセス。

  • SDC (ScaleIO Data Client)
    SDCはScaleIOのクライアントで、ブロックデバイスドライバとして動作。ScaleIOのボリュームはローカルのデバイスと同様に扱え、アプリケーションからのIOはSDCを通じて分散したSDSに渡される。

  • MDM (Meta Data Manager)
    MDMはScaleIOクラスタの構成管理とデータをどのSDSに配置するかを決定するサービス。MDMが管理するデータの配置情報は非常に小さく、通常は静的で、その情報はSDCにコピー(8PBのデータに対して約2MBのRAMが必要)するため、IOの度にMDMへの問い合わせは発生せず、MDMが性能のボトルネックになることはない。

  • TB (Tie Breaker)
    TBはMDMクラスタのQuorumノード(MDMはActive/Stand byのクラスタ構成)。

  • REST API Gateway(通称Gateway Server)
    管理用のREST APIを受けるサーバ。 Installation Manager(webアプリケーションサーバ)と同時にインストールされる。

  • LIA (Lightweight Installation Agent)
    アップグレー時などに各ノードの情報を入手、SDC, SDS, MDMのノードにインストールすることを推奨。Installation Managerによるインストールでは自動的にインストールされる。

構成は図2-1のようになる(LIAはControllerとCompute Nodeにインストールするが図では省略している)。

図2-1. 構成概要

事前準備

ScaleIOのインストールは簡単なのだが、Mirantis OpenStack環境、Ubuntu環境のため環境に合わせた事前準備が少し煩雑なので注意が必要である。

  1. Install Managerを動作させるノードにJava 8をインストールする。

  2. Mirantis OpenStackではノード間のSSHは証明書を用いた認証を使用しているので、Install Managerを動作させるノードからScaleIOをインストールする各ノードに証明書を使用してSSH接続が可能にする。

  3. Install Managerを動作させるノードでは、firewallの設定で次の項目で設定するhttp/https接続ポートを開ける。

  4. MDM、Tie Breaker、SDS、SDCが動作するノードでは、firewallの設定で6611、9011、7072、9099、25620、25640、25641-25644のポートを開ける。

  5. SDSに登録するデバイスのパーティションを削除する。

  6. ScaleIOで必要とされているパッケージ(今回はnumactlのみ)をインストールする。

ScaleIOのインストール

コマンドラインでのインストール・構成も可能だが、ここではInstallation Managerを利用した方法を紹介する。ScaleIOのパッケージはhttp://norway.emc.com/products-solutions/trial-software-download/scaleio.htm からダウンロード可能である。今回はLinux版を解凍してUbuntu版を使用する。

1. OpenStack ControllerにInstallation Managerをインストールして構成

通常はパッケージのインストールのみでよいが、今回はMirantis 8環境へのインストール用に多少設定変更が必要になる。

  • パッケージのインストール
  # GATEWAY_ADMIN_PASSWORD=P@ssw0rd dpkg -i emc-scaleio-gateway_2.0-5014.0_amd64.deb
  • Installation Managerの使用ポート変更

    /opt/emc/scaleio/gateway/conf/server.xmlを編集するためコマンド入力。

https接続のポート変更:${ssl.port}→8443t

   <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"

http接続ポートの変更:${http.port}→8080

   <Connector port="8080" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443"
  • レポジトリの登録
    /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/gatewayUser.propertiesを編集。
   sdc.kernel.repo.SCINI_REPO_ADDRESS=ftp://QNzgdxXix:Aw3wFAwAq3@ftp.emc.com/
   sdc.kernel.repo.SCINI_REPO_MODULE_SIGCHECK=1
   sdc.kernel.repo.SCINI_REPO_EMC_KEY=/opt/emc/scaleio/lia/cfg/GPG/RPM-GPG-KEY-ScaleIO
  • Installation Managerにsshのプライベートキー登録
  # /opt/emc/scaleio/gateway/bin/SioGWTool.sh --update_ssh_key --ssh_key /root/.ssh/id_rsa
  • Installation Managerを再起動
  # service scaleio-gateway restart

2. Installation Managerを用いて、ScaleIOをインストール/構成

Installation Managerからのインストールは簡単である。個別に入力しながら進めることも可能だが、構成csvを準備して読み込ませれば短時間での構成が可能になる。

図2-2. Installation Managerのログイン画面(左)と初期画面

  • Installation Managerにログイン
    ブラウザでInstallation Managerにアクセス。インストール時に設定したadminパスワードを入力して、Loginを押下する。

  • Installation Managerにインストールするパッケージをアップロード
    Browseを押下して、Ubuntuのパッケージを選択した状態で開くを押下、元の画面に戻るのでUploadを押下する。

  • Installation Managerから構成csvテンプレートファイルをダウンロード
    リンクか構成ファイルのサンプルをダウンロードする。

  • インストールしたい構成にあわせて構成csvファイルを編集
    構成csvの入力項目を次の表にまとめた。

項目 説明
domain Windowsでドメインユーザーを使用する場合のドメイン名
Username Windowsの場合は管理者権限を持つユーザー名(Linuxの場合はroot)
IPs サーバのIP(Minimalテンプレートで使用)
Password Usernameで指定したユーザーのパスワード(証明書による認証を用いてSSHを使用する場合は不要)
Operating System サーバのOS(LinuxまたはWindows)
Is MDM/TB MDMまたはTie Breakerとして構成する場合の役割(Master、Slave、TB、Standby-Slave、Standby-TBまたは空白
MDM Mgmt IP MDMの管理用IP(管理用ネットワークを別にする場合指定)
MDM IPs MDMがScaleIOのコンポーネントとの通信で使用するIP(カンマ区切りで複数指定可能、スペースを入れない)
MDM Name MDMの名前
perfProfileForMDM MDMを高速なデバイス用にチューニングするか。YesまたはNo(高速デバイスを使用しない場合はNo、不明の場合はYes)
Is SDS SDSをインストール・構成するか。YesまたはNo
SDS Name SDSとして構成する場合の名前を設定可能
SDS ALL IPs サーバのIP。SDS-SDS、SDS-SDCの通信を同じネットワークで行う場合指定
SDS-SDS Only IPs サーバのIP(SDS間のみ通信で使用するIP。SDS-SDS、SDS-SDCの通信を別のネットワークで行う場合指定)
SDS-SDC Only IPs サーバのIP(SDS-SDC間のみ通信で使用するIP。SDS-SDS、SDS-SDCの通信を別のネットワークで行う場合指定)
Protection Domain サーバを入れるProtection Domain名
Fault Set サーバを入れるFault Set名
SDS Device List ScaleIOで使用するデバイス(Linuxの場合は/dev/sdbや/devsdcなど、Windowsの場合はdやeやfなど。カンマ区切りで複数指定可能、スペースを入れない)
SDS Pool List デバイスを入れるStorage Pool名(指定しない場合は""default"" Storage Poolに入る。カンマ区切りで複数指定可能、スペースを入れない。SDS Device Listの順番に対応。個数は同じ必要あり。全て同じStorage Poolに入れる場合は1つだけ指定でOK
SDS Device Name デバイスの名前を設定可能(カンマ区切りで複数指定可能、スペースを入れない。SDS Device Listの順番に対応。個数は同じ必要あり)
Rfcache Xcacheを使用するかどうか。YesまたはNo
Rfcache Device List Xcadheとして使用するデバイス(カンマ区切りで複数指定可能、スペースを入れない)
Rfcache Pool List Xcacheを有効にするStorage Pool名(カンマ区切りで複数指定可能、スペースを入れない。RFcache Device Listの順番に対応。個数は同じ必要あり
perfProfileForSDS SDSを高速デバイス用にチューニングするか。YesまたはNo(高速デバイスを使用しない場合はNo、不明の場合はYes)
Is SDC SDCをインストール・構成するか。YesまたはNo
perfProfileForSDC SDCを高速デバイス用にチューニングするか。YesまたはNo(高速デバイスを使用しない場合はNo、不明の場合はYes)
  • Installation Managerに編集した構成csvファイルをアップロード
    Browseを押下して、編集したcsvファイルを選択した状態で開くを押下、元の画面に戻るのでUpload Installation CSVを押下。

  • Installation ManagerからScaleIOをインストール・構成
    ScaleIOの管理に使用するパスワードを入力。License Agreementを確認し、Start Installationを押下する。

  • 進捗確認
    モニター画面でインストールのフェーズ(Query→Upload→Install→Configure)を進める必要があるので、Monitorのタブかリンクを押下してMonitor画面へ移動。Query phaseが終了したらStart upload phaseを押下。Upload phaseが終了したらStart install phaseを押下。Install phaseが終了したらStart configure phaseを押下。無事インストールが終了したらMark operation completedを押下する。

3. インストールでSDCの起動に失敗した場合

まれにSDCの起動に失敗してエラーが起こることがある。その場合、Installation Managerの画面をそのままにして、SDCを手動で起動した後、Installation ManagerでRetry failedを押下する。

図2-3. ScaleIOインストール

  • SDCの起動方法
  # service scini start
  • SDC起動の確認
  # service scini status

4. GUIのインストールと確認

Windows版のパッケージを解凍して、インストーラーをダブルクリックしてインストールする。

  • GUIの起動とScaleIOへの接続
    Windowsメニュ-のすべてのプログラム→EMC→EMC ScaleIO GUIから起動。MDMのIPアドレス、インストール時に設定したadminユーザーのパスワードを入力してConnectを押下。途中、証明書の確認が表示されたらConfirmを押下。DashboardでLicense以外のエラーが出ていないことを確認する。

図2-4. ScaleIO GUIのログイン画面(左)と初期画面

(EMCジャパン株式会社 システムズ エンジニアリング本部 プロダクト ソリューション統括部 SAS & SDSソリューション部 シニア システムズ エンジニア 中村雅史)