今回も前回に引き続き、3回目となるハイパーコンバージドインフラの構築方法を紹介し、本稿ではScaleIOとMirantis OpenStackの連携について説明する。

ScaleIOとMirantis OpenStackの連携

1. Cinder Volumeのインストール/設定
OpenStack LibertyからScaleIOのドライバはOpenStackのアップストリームに含まれるため、Mirantis 8との連携は簡単にできる。

  • ControllerにCinder Volumeをインストール
     # apt-get install cinder-volume

  • Cinderの設定
     x /etc/cinder/cinder.confの編集(適当な場所に次の行を追加)

[Default]
enabled_backends = scaleio

[scaleio]
volume_driver = cinder.volume.drivers.emc.scaleio.ScaleIODriver
volume_backend_name = scaleio
san_ip = 192.168.200.104
sio_rest_server_port = 8443
sio_protection_domain_name = domain1
sio_storage_pool_name = hdd
sio_storage_pools = domain1:hdd
san_login = admin
san_password = P@ssw0rd
  • OpenStack関連の各種サービスを再起動
  # service nova-api restart
  # service cinder-scheduler restart
  # service cinder-api restart
  # service cinder-volume restart

2. OpenStackのUIからVolume Typeを作成し、Extra Specを設定(図3-1)

Volume Typeを作成し、それを指定することでサービスレベルに応じたボリューム作成が可能になる。

図3-1. Volume Typeの作成(左)とExtra Specの設定

  • ブラウザでControllerにアクセスしてログイン。

  • System -> VolumesメニューでVolume Tpesタブを開き、Create Volume Typeを押下。

  • 名前を入力し、Create Volume Typeを押下。

  • 作成したVolume TypeのActionからView Extra Specsを選択。

  • Createを押下して、KeyとValueを入力後、Createを押下。

Extra Specの入力項目を次の表にまとめた。

Key 説明
sio:pd_name Protection Domain名
sio:pd_id Protection Domain ID
sio:sp_name Storage Pool名
sio:sp_id Storage Pool ID
sio:provisioning_type プロビジョニングの方法。thickまたはthin
sio:iops_limit クライアントからボリュームへのIOPSの上限設定10以上を設定、0は無制限
sio:bandwidth_limit クライアントからボリュームへのKB/sの上限設定0は無制限
  • 必要なExtra Specを入力したらCloseを押下。

3. OpenStackのUIからVolume、Instanceを作成・起動(図3-2)
OpenStackのUIからVolume操作、Instance操作を行えば、Cinder Driver経由でScaleIOのボリューム作成、マッピング(SDCへの割り当て)が自動的に行われる。

図3-2. Volumeの作成(左)、Instanceの作成

  • Project -> Compute -> VolumesメニューでCreate Volumeを押下。

  • 名前の入力、Volume SourceにImageを選択、ImageはTestVMを選択、Typeは前の手順で作成したScaleIO用のVolume Typeを選択し、Create Volumeを押下。

  • ScaleIOのGUIでVolumeが作成されていることを確認。

  • VolumeのActionでLaunch as Instanceを選択。

  • 名前を入力してLaunchを押下。

  • VMで使用するネットワークをSelected networksに追加してLaunchを押下。

  • 作成したInstanceをクリックして、Consoleを確認するとVMが起動しているのが確認できる。

  • ScaleIOのGUIでVolumeがマッピングされていることを確認(図3-3)。

図3-3. Volumeがマッピングされていることを確認

4.ScaleIOのCLIでVolumeの確認
CLIはMasterのMDM(MDMがインストールされているノードのどちらか)からしか実行できない。Instance作成後volumeの情報を確認するとIOPS、MB/sの上限値が設定されていることが確認できる。

# scli --login --username admin
Enter password:
Logged in. User role is SuperUser. System ID is 1eb1b8bc52fd7df8
root@node-6:~# scli --query_all_volumes
Query-all-volumes returned 1 volumes
Protection Domain ce2e8e9900000000 Name: domain1
Storage Pool b2e7c82b00000000 Name: hdd
 Volume ID: d647984000000000 Name: Xd7SarMkT9ufLyirLmYyWg== Size: 8.0 GB (8192 MB) Unmapped Thin-provisioned

# scli --query_volume --volume_id d647984000000000
>> Volume ID: d647984000000000 Name: Xd7SarMkT9ufLyirLmYyWg== Thin-provisioned Size: 8.0 GB (8192 MB)
   Capacity in use: 40.0 MB (40960 KB)
   Trimmed capacity: 0 Bytes
   Storage Pool b2e7c82b00000000 Name: hdd
   Protection Domain ce2e8e9900000000 Name: domain1
   Creation time: 2016-05-15 05:03:33
   Uses RAM Read Cache
   Read bandwidth:  0 IOPS 0 Bytes per-second
   Write bandwidth: 0 IOPS 0 Bytes per-second
   Mapped SDC:
      SDC ID: 6c67f08200000003 IP: 192.168.210.189 Name: sdc3
         Limit: 1000 IOPS 100 MB per-second
# scli --query_sdc
--query_sdc                --query_sdc_volume_limits
root@node-6:~# scli --query_sdc_volume_limits --sdc_id 6c67f08200000003 --volume_id d647984000000000
Successfully queried limits from SDC with ID 6c67f08200000003 to volume with ID d647984000000000: IOPS limit is 1000. Bandwidth limit is 100 MB/sec
#

5. OpenStackのUIでVMのコンソールが表示されない場合の対処
OpenStackのUIでVMのコンソールが表示されない場合はNova Compute Nodeでvncの設定を編集する。

  • /etc/nova/nova.confの編集
     novncproxy_base_url=http://192.168.200.104:6080/vnc_auto.html
    (publicのIPになっていることがあるので、controllerのmgmtのIPに変更)

  • nova-computeを再起動
     # service nova-compute restart

まとめ

以上でScaleIOとOpenStackを用いてハイパーコンバージドインフラを構築し、その上にVMを展開することが可能になった。ScaleIOに関しては、通常のインストールは非常に簡単なのだが、Ubuntu対応するために少し手間がかかっていることは否めない。また、OpenStackの知識が多少必要である。とはいえ、1からハイパーコンバージドインフラを構築することに比べれば、間違いなく簡単に構築を進められる。サーバ、ストレージともにスケールアウトできるITインフラとしてハイパーコンバージド構成を検討しているのであれば、OpenStackとScaleIOの組み合わせは、試してみる価値のあるソリューションとなる。

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