IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

OpenStack海外動向

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第18回 OpenStackにおけるハイパフォーマンスコンピューティングのベストプラクティス (野田貴子) 2018年5月

こんにちはー。野田貴子です。今回は海外で公開されているOpenStack関係のコラムを意訳します。英語が苦手な方にとっては、日本語で要約版があると助かるのではないかと考え、日本語訳したものをご紹介いたします。

興味がある方はご参考ください。海外動向を理解する上での参考になれば幸いです。

今回ご紹介するのはRed HatのJulio Villarreal Pelegrinoによる、ネットワーキングとストレージのベストプラクティスに関する記事です。

###

OpenStackは間違いなくエキサイティングなプロジェクトであり、オープンソースのインフラストラクチャ・アズ・ア・サービスのプラットフォームを先導しています。ありがたいことに私はここ数年、複数のユーザーやユースケース向けに数十のOpenStackクラウドを設計し、デプロイする機会がありました。そして昨年一年はOpenStackでハイパフォーマンスコンピューティング(HPC)を利用するユースケースに取り組んでいました。

この記事では、ハイパフォーマンスとハイスループットのワークロードのホスティングに関する知見を共有したいと思います。

まず初めに、OpenStackでHPCワークロードをホストする際に使用できる3種類のアーキテクチャを紹介します。

  1. OpenStackの仮想HPC
    このアーキテクチャでは、HPCクラスタのすべてのコンポーネントがOpenStackで仮想化されます。
  2. OpenStackのベアメタルHPC
    HPCクラスタのすべてのコンポーネントが、OpenStack Ironicを使用してベアメタルサーバにデプロイされます。
  3. 仮想ヘッドノードとベアメタル計算ノード
    ヘッドノード(スケジューラ、マスタ、ログインノード)はOpenStackで仮想化され、計算ノードはOpenStack Ironicを使用してベアメタルサーバにデプロイされます。

OpenStackにHPCソフトウェアをデプロイできる3種類のアーキテクチャの概要がわかったところで、次はこれらのタイプのワークロードをホストする際のOpenStackのベストプラクティスについて解説します。

ネットワーキング

OpenStackのネットワーキングには、推奨される構成オプションが2つあります。

  • プロバイダネットワーク:OpenStack管理者はこれらのネットワークを作成し、データセンター(L2)内の既存の物理ネットワークに直接マップします。L2スイッチングインフラへの直接接続になるため、プロバイダネットワークはOpenStackコントロールプレーンを使用してL3トラフィックをルーティングする必要はありません。DCネットワークトポロジにL3ゲートウェイを用意すべきです。
  • SRIOV:性能要件に基づいたHPCワークロードにはSRIOV / SR-IOV(単一ルート入出力の仮想化)をおすすめします。SR-IOVを使うとOpenStackはSRIOV NIC Virtual Functions(VF)を使用して物理NICの機能を直接インスタンスに拡張することができます。さらにIEEE 802.1brのサポートにより、仮想NICを物理スイッチと統合し、物理スイッチで管理することができるようになります。
    • 特筆すべきは、さまざまなベンダーが実施したテストによると、SR-IOVは仮想マシンまたはインスタンスあたりのCPUオーバーヘッドコストが低く、ほぼラインレートのパフォーマンスが得られることが示されたことです。
    • SRIOVを実装する際には重要な制限を2つ考慮する必要があります。VFデバイスを使用したインスタンスと、OpenStackのセキュリティグループをバイパスするインスタンスのライブマイグレーションを使用できないということです。
ストレージ

HPCアーキテクチャの場合、2種類の主なストレージカテゴリを考慮しておくべきです。

  • OpenStackストレージ:イメージ(Glance)、エフェメラル(Nova)、ボリューム(Cinder
  • HPCクラスタファイルベースのデータストレージ:データを格納するためにHPCクラスタによって使用されるもの

各カテゴリでクラスタを設計する際に考慮しておいた方がよい点をお伝えします。

OpenStackストレージ:
  • GlanceとNova:GlanceとNova(エフェメラル)ストレージでは私はCephをお勧めします。Cephの重要な利点の1つは(OpenStackとの緊密な統合の他には)イメージのコピーオンライトがバックエンドで提供するインスタンス作成時のパフォーマンスです。エフェメラルワークロード(この場合はSRIOVを使用しないもの)のもう1つの利点は、計算クラスタのメンバー間でライブ移行ができることです。
  • Cinder:このHPCユースケースにおけるCinderバックエンドでは、Ceph(上記の点と同じ利点があります)やNetApp、EMC VNXなどのサポートされているシンデレラドライバを使用したシステムである NFS / iSCSIバックエンドをおすすめします。
HPCクラスタファイルベースのデータストレージ:

LustreGPFSOrangeFSといったHPCの一般的な並列ファイルシステムは、専用のSRIOV / Providerネットワークからアクセスして使用する必要があります。Cephも推奨されるバックエンドで、パフォーマンス向上のためにSRIOV / Providerネットワークから直接アクセスすることができます。

重要事項:

一般にCephは非常に柔軟性の高いバックエンドを提供します。うまく構築されたCephクラスタは、さまざまな構成やアーキテクチャに設置された何種類ものワークロードに役立ちます。例えば次のようなものがあります。

  • イーサネットベースの接続は、フロントエンドおよびバックエンドのストレージトラフィック(10/25/40/50/100 Gbps)のためのハイスループットNICインターフェイスや、使用可能な帯域幅を倍増させるLACP設定によって、パフォーマンスの恩恵を受けることができます。
  • ストレージサーバーのコンポーネントは、NVMe、SSD、SAS、SATAドライブの組み合わせが可能です。必要なパフォーマンスをIO単位で提供できるように調整されています。
  • これらの技術的な性質によって、プラットフォームは柔軟で弾力性のあるものになります。

次に考慮すべきことは、OpenStackにおけるHPCアプリケーションのデプロイを自動化することです。そのために、オーケストレーターシステムのHeat, Ansible、APIコールなど、複数のツールを使用することができます。

 

※本コラムは以下のブログを意訳したものです。
 引用元 
 https://superuser.openstack.org/articles/hpc-openstack-recommendations/

※本コラムは原文執筆者が公式に発表しているものでなく、翻訳者が独自に意訳しているものです。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes