OpenStack Summit Atlanta、何があったか報告します!:日本OpenStackユーザ会の人たちが注目したもの
5月第3週に米アトランタで開催されたOpenStack Summit Atlanta 2014。日本OpenStackユーザ会に参加している人たちは何に注目したのか。6月19日に日本OpenStackユーザ会が開催したOpenStack Summit Atlanta 報告会の内容を報告する。
過去最多の約4500名が参加したOpenStack Summit Atlanta 2014。全体的なトーンとして、ビットアイル総合研究所の長谷川章博氏は、ユーザー組織およびオペレータに対するメッセージが印象的だったと話した。
OpenStack Foundationのエグゼクティブディレクターであるジョナサン・ブライス(Jonathan Bryce)氏は「Rise of the Superuser」と題する基調講演を行い、実際に運用しているユーザーが、OpenStackの開発に大きな影響を与えるようになってきていると話した。
ユーザーの意見を積極的に反映させるため、今回から「Ops Meetup」というオペレータとの情報交換の場が新設された。長谷川氏は、DefCoreと呼ばれる活動が活発化していることも報告した。これは、約半年前のOpenStack Summit Hong Kong 2013で発足した専門委員会が、OpenStackのコアとは何なのかを定義し、「OpenStack」と呼ばれる製品が満たすべき要件を定めるもの。ディストリビューションの増加に伴うOpenStackの分断を避けるための、予防措置的な意味合いもあると、長谷川氏は話した。
基調講演などでは、Wells Fargo Bank、Walt Disney、Digital Film Tree、AT&T、Sony Play Station 4などの導入事例が紹介されたという。
運用経験を生かしてパフォーマンスを改善
多数の運用関連セッションを聞いたNECの吉山晃氏が一押しとして紹介したのは、HPによる「Operating Neutron at Scale in HP Public Cloud」というセッション。大規模なクラウドサービス環境でNeutronを利用する過程で直面した、各種のバグやパフォーマンスの問題にどう対処したかについて説明した。Neutron関連の各種サービスをマルチコア対応させて性能を向上、サービスの再起動時に仮想マシンネットワークがしばらくつながらなくなる問題に対応するなどしたという。また、カーネルの過去のバージョンではネットワーク遅延の問題を経験した。HPは対策を施したコードをOpenStackに還元、Icehouseまでにほとんどがマージされたという。
他には、グループスケジューリングや正常性確認ツールのセッションがあった。
グループスケジューリングとは、仮想リソースのグループを、特定の物理リソースにひも付ける機能。2014年4月のIcehouseリリースでは、Nova(サーバコンポーネント)でこの機能が実現。しかし、各種リソースの隣接性を確保するにはNovaだけでなくCinder(ブロックストレージ)、Neutron(ネットワーク)を連携させることが望ましい。このため、「Gantt」という新コンポーネントが提案されているという。
OpenStackには、導入した環境の正常性を確認するツールがない。クラウドインテグレータのeNovanceは、結合テストツールのTempestを基に、不要なものを除いてコア機能のテストに絞り、whatthestackというツールをつくったという。このツールのソースコードは公開されていないが、その機能をwww.whatthestack.orgでサービスとして使えるようにしている。
展示会場では、レッドハットのビジネス面での取り組みが非常に目立ったという。吉山氏は会場で各OpenStackディストリビューションベンダの認定パートナーがそれぞれ何ブースあるかを数えた。90のブースを確認したところ、レッドハットが43で、確認ブースの約半数がレッドハットの認定パートナーになっていたという(次に多かったのはカノニカルで17ブース)。
ネットワークはNeutronが名実ともに浸透へ
デザインサミット(OpenStackの各種機能の開発に関して議論する場)全般、およびNova、Neutron関連について報告したNECの元木顕弘氏は、OpenStackの開発にかかわる部分でも、オペレータ重視の動きが強まってきたという。その例として挙げたのが「Blueprint Spec Review」。従来はコードが出てから仕様に関する議論がなされることが多かったが、開発に先立って仕様を詳細に検討するように、仕様検討段階でオペレータの声を取り入れることを目的として、このレビュープロセスが新設されたという。
コンピュートプロジェクトのNovaは、新しいAPIとしてv3 APIが開発されており、その中でv2 APIでは不十分であったパラメータチェック機能が強化されることになっていたが、運用性を重視し、v3 APIの開発を凍結、v2 APIとの互換性を持たせながらパラメータチェック機能を強化したv2.1 APIの開発を進めることになったという。
ネットワークのNeutronでは、現状でNova-networkとNeutronの2つのネットワーク機能が併存しているが、将来的にはNeutronに統合されることで合意ができている。そこでNova-networkとNeutronの機能互換性、運用環境での移行方法等についての議論が進められているという。
Neutronは、2014年4月のIcehouseリリースでは性能・品質向上に注力し大きな機能強化がなかったが、これは次の機能強化に向けた足固めと考えている、と元木氏は説明した。次期リリースのJunoに向けたトピックとしては、Distributed Virtual Router(分散仮想ルータ)、ロードバランサの選択機能、IPv6のフルサポート、サービス・インサーションなどがあるという。
Distributed Virtual Routerは、Open vSwitch上で仮想ルータ機能を実装するもので、IPサブネットをまたぐトラフィックが別ノードのL3エージェントを経由しなくてはならない現在の非効率を回避する取り組み。廃止されるNova-networkで好評の、ネットワークHAを実現するマルチホスト機能の代替として、期待されているという。
Flavor Frameworkは、求めるサービスレベルに応じて、複数のロードバランサ実装から選択して使えるようにするもの。また、条件にマッチしたトラフィックを特定ポートにリダイレクトするTraffic Steeringと呼ばれる提案もなされているという。
NeutronとNova は、どちらも安定フェイズに入ったといえると、元木氏は話した。
Cinderが実用レベルになるために必要な機能
日立製作所の守屋哲氏は、デザインサミットにおけるIronicとCinderの2つのプロジェクトについて報告した。
Ironicは素の物理サーバをOpenStackで利用するためのプロビジョニング(準備)作業を自動化するソフトウェアを開発しているプロジェクト。またインキュベーション段階にある。次期リリースのJunoでコアに組み込まれることを目標としている。
今回のデザインサミットでは、HDDのデータ消去やファームウェアの更新など、プロビジョニングのカスタマイズを可能にするIronic Python Agent、マルチテナント環境でIronicを利用する場合のセキュリティリスクへの対応(ファームウェア改ざん対応、HDDデータ消去、信頼できないハードウェアの管理ネットワークからの切り離しなど)、パフォーマンスおよび拡張性などが議論された。
ブロックストレージのCinderにおけるトピックとしては、例えばディザスタリカバリ(DR)対応を目的としたVolume Replicationに関する説明があった。現状はReplicationに必要なストレージの設定を手動で行う必要があるが、Cinderで自動化する方式を提供し、かつストレージ固有の設定を意識しない標準化した方式を実現するべく議論が行われた。
議論の結果、まずはボリューム作成時にレプリカを自動生成し、障害発生時に自動切り替えを行うという基本機能だけを実現することで合意した。その後、データの整合性確保などのための拡張を行っていく方針が確認された。また、ネットワーク経由でミラーリングを行うDRBDに、Cinderを対応させる提案についての説明があった。
CinderのNFSドライバについては、セキュリティ強化および、機能が重複するManilaとの連携についての議論があった。
また、CinderでSwiftにVolumeバックアップをとる場合、差分バックアップはできず、完全バックアップしかできないため、スナップショット間の差分ブロックを返すAPIに関する提案があった。
サードパーティベンダのブロックストレージ製品は、Cinderドライバ経由でOpenStackと連携している。これについては、ストレージ製品ベンダが自前でCI(Continuous Integration)環境を構築し、テストを実施することを義務付けた。また、サードパーティベンダのドライバがCinderのコア部分をバイパスしてOpenStack連携を図ることは拒否していくことが確認された。守屋氏は、品質が安定し、障害時のロールバック、ボリュームのインポート/エクスポートなどが揃うと、Cinderはようやく実用レベルになる、と報告した。
SwiftとCephはどう棲み分けられるのか
オブジェクトストレージのSwiftについて報告したNTTの露崎浩太氏は、まずSwiftの全体的な動向として、Cephとの棲み分けが強調されるようになっていると指摘。Cephが小・中規模の導入では主流になりつつあるのに対し、「データ量、速度の点でスケーラビリティが求められる場合にはSwiftが適している」という主張がなされていると話した。
デザインサミットで議論されたSwift関連トピックの1つ、Storage Policyでは、1つのSwiftクラスタを対象として複数のポリシー(SSDポリシー、HDDポリシーなど)を設定し、テナントがポリシーを選択して利用できるようにするもの。7月上旬頃にリリースの予定。一方、レプリカに比べてディスク容量を節約しながらデータ保護を実現するため、Erasure Codingを用いる取り組みも進んでいて、Junoサイクル中にリリースしたいとしているという。また、抽象化レイヤを通じて各種ストレージをバックエンドに使えるようにする取り組み(Pluggable Backend)が進んでいるという。抽象化レイヤはすでに実装済みであり、バックエンド側が対応する段階に入っているという。
Swiftでも運用面に注目した活動が増えており、露崎氏自身も、広域分散時のレプリケーションの効率化について提案しているという。
Ops Meetupではオペレータからの要望が相次ぐ
OpenStack Summit初の取り組みとなった前述のOps Meetupについては、NTTの井上朋子氏が報告。今回のセッションは、オペレータのOpenStackコミュニティへの関与方法、オペレータからの要望のインプット、事例紹介・技術的議論の3つに分類できる。この第1回のOps Meetupには多数のオペレータが参加、多数の質問や課題提起、要望が寄せられたという。
オペレータの関与方法については、多くのサブプロジェクトで仕様検討プロセスの変更が進められているのに合わせ、仕様レビューにオペレータが参加し、コメントできるようにしていく。
オペレータからの要望としては、無停止アップデートやロールバック機能の強化、LTS(Long Term Support)版、コンポーネント間のバージョン組み合わせに関する情報を求める声があった。また、現実の利用に適した形で、各種のデフォルト値を設定してほしい、あるいは多くのユーザーが使っている設定値を参考にできる仕組みが欲しいといった声があった。サポート終了予定の機能の扱いはどうなるのかという質問もあった。情報関連では、設定値を変更した際のインパクトをドキュメントに明記してほしい、パッチのバックポートを、オペレータが容易に気付けるようにしてほしいという要望もあったという。
全般的に、今回は第1回目であったこともあり、何かが決まったわけではないが、開発と運用が生の情報交換をすることにより、双方がつながりつつあると感じられたと井上氏は話した。
井上氏はOpenStack Summitで女性だけの集まりにも参加。こうした活動や国内での各種コミュニティにおける「女子部」の盛り上がりにならって、日本OpenStack ユーザ会でも、女子部の部員を募集中という。
OpenStackコミッター養成講座に参加しました
楽天の牧垣秀一朗氏は、OpenStack Summit Atlanta 2014の「OpenStack Upstream Training」を受講した。これはOpenStackの開発コミュニティのコントリビュータとして活躍するための知識やスキルを習得するトレーニング。OpenStackの開発フローや作法、コミュニティへのアピールの仕方などを学べるという、
トレーニングセッションはOpenStack Summit Atlantaの直前2日間にわたって実施。その1週間前にOpenStackコミュニティからメンターが1人割り当てられ、受講者はこのメンターからメールでの支援を受けながら、実際のバグを選んでコードを修正し、コミットして受け入れてもらうという一連の作業を進める。トレーニングセッションではOpenStackコミュニティの運営プロセス、開発ワークフローおよびツール、オープンソースコミュニティにおけるコントリビューションに関する考え方やOpenStackプロジェクトでの具体的な方法などを学ぶ。プロジェクトの上部組織、企業の幹部、ソフトウェアのコントリビュータに扮し、レゴで町をつくるシミュレーションゲームを行うことを通じて、アジャイルとは何かを学ぶセッションもあったという。このトレーニングセッションの1週間後を目途に、メンター支援によるバグフィックスを完了することになっている。
牧垣氏は、メンターから、「英語がうまくないことは他の人たちから助けてもらい、あるいは他の英語がうまくない人を助けるチャンスだ」ということを学んだという。また、自分のコードを採用してもらうには、他の人々の質問に進んで答えるなど、日頃から積極的なコミュニケーションに努め、貢献していくことが重要だと感じたという。
本記事で紹介したOpenStack Summit Atlanta 2014報告会の発表資料は、日本OpenStackユーザ会の該当ページで見られる。次回のOpenStack Summitはフランスのパリで11月3〜7日に開催される予定。詳細はこのページで見られる。
Copyright © ITmedia, Inc. All Rights Reserved.