DevOps 向けOpenStack 環境構築 Crowbarの最新動向 デル株式会社エンタープライズ ソリューションズ統括本部エンタープライズ ソフトウエアプリンシパルSE 増 孝信
Dell Inc. / デル株式会社の概要 DELL Inc. 本社設 : 1984 年 5 本社所在地 : テキサス州 売上 :611 億 100 万ドル (2008 年 2 2009 年 1 期 ) 海外拠点 50ヶ国に現地法 を保有 販売活動は180ヶ国以上に展開 社員数は世界で約 96,000 デル株式会社 1989 年 6 設 1993 年販売業務開始 本法 について従業員数 1,700 ( 川崎 東京 阪 宮崎 ) 2
クラウド ソリューションのアプローチ デルはターンキー & 使いやすいクラウドソリューションを提供 拡張的なアプローチ Private Cloud Dell VIS VMware, Hyper-V, Hybrid Cloud Boomi Public Cloud Hadoop OpenStack & Crowbar OSS 新的なアプローチ 最適なサーバ : PowerEdge M / R シリーズ モジュラー型データセンター 最適なサーバ : PowerEdge C シリーズ 最適なストレージ製品 : Dell EqualLogic, Dell Compellent 最適なネットワーク製品 : Force 10
ハイパースケールシステム つの管理基盤で数千台のサーバを運 管理する o ハードウエア障害は 常的に起こるもの が前提 o 動を出来るだけ避け プロセスを 動化する o さいコストの違いが全体では きくなる 例えば RAID5 を RAID10 に変更するとストレージ容量は 40% 減少するので ハードディスクドライブの数を増やす必要が発 する ハードウエアを幾つかのフォルトゾーンと呼ぶグループに分け アプリケーションとデータをフォルトゾーン間にてストライピングする o データセンタを RAID 化する フラットな設計原則 o 機器のコストが削減できる o ネットワークの構成とルーティングがシンプル o データセンタの物理レイアウトを簡素化 o システムの密度が上がる o セットアップと導 プロセスが定型化 / 合理化できる Fault Zone Fault Zone Application Deployment Fault Zone
Crowbar
Crowbar とは 使命 : A Zero Touch Cloud Installer 完全に機能するクラウドを 2 時間以内で構成 速で柔軟 BIOS & RAID 構成などを含むインストールツール ユーザはシステム構成 ( barclamp ) を選択出来る DevOps を取り れる 運 と開発が並 するモデル (DevOps for Clouds) Opscode Chefを活 オープン OpenStack 固有の技術ではない ( 他にも応 可能 ) デル ( 開発元 ) のハードウエアに閉じていない APL2.0
イメージ対レイヤー イメージ : シングルユニット 構成管理 レイヤー : コンポーネントスタック 統合管理 統合管理 + アプリケーション + ユーティリティ + オペレーティングシステム 構成管理 アプリケーション Foo アプリケーション Bar ユーティリティ オペレーティングシステム
Crowbar は拡張性の いフレームワーク Crowbar では展開するサービスを barclamp と呼ぶモジュールにして扱う ex. DNS, Nova, Swift, Nagios, Gangalia, BIOS Dell Crowbar 運用管理 APIs, ユーザアクセス ECO パートナ クラウド基盤 & 拡張性 コアコンポーネント & オペレーティングシステム 物理リソース クラウド基盤を実装するのに必要なコンポーネントが含まれている クラウドに必要な様々な機能コンポーネントをプラグイン可能 コミュニティやお客様にもオープン 既存の Dell 製品と連携が可能 クラウド基盤に必要とされる基本データセンタサービスを提供 ユーザの介在無し ( ラック搭載とネットワークケーブル接続などの例外を除く ) にまっさらのサーバにプロビジョニングが える さらに Dell のハードウエアに限定されない * Crowbar は OpenStack 以外のサービスへの適 も可能性がある
Crowbar はモジュラー型の設計 Dell Crowbar 運 管理 APIs, ユーザアクセス ECO パートナ クラウド基盤 & 拡張性 コアコンポーネント & オペレーティングシステム 物理リソース Nagios Ganglia Dashboard Nova Swift Glance Hadoop Compellent EqualLogic Crowbar DNS Logging Deployer Provisioner NTP BIOS IPMI Network RAID * Crowbar は OpenStack 以外のサービスへの適 も可能性がある
Barclamp Life Cycle
Crowbar 1.x のアーキテクチャと動作 1. ベアメタルサーバの開梱 搭載 ケーブリング 2. PXE によるブート Discovery 処理 BIOS/RAID Config 3. PXE によるブート OS 導 Chef Client 導 4. Barclamp による 動構成 Chef 上で Role を作成 Role の適
Chef とは システムの各パーツをどの様に構成して欲しいのかを Chef DSL (Recipe) で定義し それらをサーバに適 して利 する 動化されたインフラ を実現するためのソフトウェアです たとえば DNS Client の構成という作業を考えると 1. DNS Serverのアドレスを調べる 2. DNS Serverのアドレスをresolv.confに書き込む これを Chef の Recipe で書くと以下のようになります dns_list = [] dns_list << node[:dns][:nameservers] template "/etc/resolv.conf" do source "resolv.conf.erb" owner "root" group "root" mode 0644 variables(:nameservers => dns_list.flatten, :search => node[:dns][:domain]) end
Chef Cookbooks 実際に 動化するためにはレシピ以外に構成情報として属性 テンプレートファイル リソース等も必要 それらをパッケージングしたものが Cookbook です Recipe dns_list = [] Attributes dns_list << node[:dns][:nameservers] template "/etc/resolv.conf" do Resources source "resolv.conf.erb" owner "root" group "root" mode 0644 variables(:nameservers => dns_list.flatten, :search => node[:dns][:domain]) end Template <% unless @search.nil? -%> search <%= @search %> <% end -%> <% @nameservers.each do nameserver - %> nameserver <%= nameserver %> <% end -%> Cookbook
OpsCode Community Cookbook は全てを 作しなくても OpsCode の Chef Community で様々な物が作られており 再利 可能です http://community.opscode.com/cookbooks
Role 般的に つのサーバ ( ノード ) を作成するには 複数の Cookbook/Recipe を適 する必要があります Chef では複数の Recipe をまとめて Role として扱う事が出来ます
Chef と Crowbar の関係 Crowbar は Chef 単体では対応が難しい以下の事をサポート ベアメタルサーバの検出とハードウェア構成 OSと基本的な管理ソフトウェア Chef Clientの導 Crowbarは各種ソフトウェア構成の 動化にChefを利 通常の運 構成管理にChefのみ利 する事も可能
Crowbar Discover 処理 ベアメタルサーバを PXE Boot により起動して構成情報等を取得します
OS のインストールと Chef Ready 化 Discovery 後 Default で Crowbar Framework の Core Barclamps が有効になっています これを適 すると 動的に OS 展開が始まり Chef Ready な状態になります
Crowbar Core Framework OS 展開後にインストールされる Barclamps です
OpenStack の Barclamp OpenStack は複数の Proposal で構築
OpenStack の展開 1. MySQL 2. KeyStone 3. Glance 4. NovaCompute 5. Horizon
Hadoop の Barclamp Clouderamanager Hadoop Cluster を作成 Hive Pig Sqoop
監視機能 Nagios と Ganglia が標準でインストールされ Crowbar によってインストールされたサービスを監視するように構成される
Crowbar の 現状 Source からの Build についてはやや困難であるため動作可能な Binary の利 を推奨 開発者 Rob Hirschfeld による Build が下記 URL より 可能 http://crowbar.zehicle.com/
Crowbar の導 テスト 的では仮想環境上に導 も可能 導 法は概ね以下の流れとなります 1. ISO イメージで起動 ( インストールは 動的にすすみます ) 2. OS インストール完了後 ログインして TimeZone や Keyboard の調整を実施 3. Crowbar を Install > sudo -i # cd /tftproot/xxxxxx_dvd/extra #./install FQDN (admin.crowbar.local 等とする ) 詳細は下記の URL を参照してください https://github.com/dellcloudedge/crowbar/wiki/install-crowbar 注意点 Admin Node の Memory は 2GB 程度 Network Interface は つあれば良い 初めて触るのであれば 192.168.124.10 に admin ノードを置く これであればインストール前のテンプレート変更等のカスタマイズが必要無い Admin Node のディスクは OS Install イメージを格納するため最低でも 20GB 程度必要 Install 後 Keyboard Map が英語キーレイアウトなので注意する CentOS -> /etc/sysconfig/keyboard を編集 Ubuntu -> dpkg-reconfigure keyboard-configuration を実 Fred3 の Build についてはわりとすんなり Install 可能と思います それよりも古い Version についてはパッケージの問題等を含んでいる事が多いので Fred3 の利 を推奨いたします
Crowbar 2.0 Crowbar 1.x のアーキテクチャと実装を再度検討し リファクタリングをすることになった 標 最新のリリース環境へ迅速に対応 (OpenStack Folsom リリース ) より柔軟かつ汎 的に扱える パフォーマンスとスケーラビリティの改善 最新のステータスは以下の URL を参照 https://github.com/dellcloudedge/crowbar/wiki/crowbar-2.0
Crowbar 2.0 Network Model 導 後でも動的にネットワークを構成することが可能となる ソフトウエアによってネットワーク構成を定義 (SDN) OpenStack 向けに ブリッジの代わりに Openvswitch (OVS) 利 を考えている Online Mode Crowbarのパッケージサイズを さくする インターネット経由で アップグレードやアップデートを し展開出来る機能を追加し 最新のリリースを維持 Web Proxy Cache(Polipo) を利 する Web Proxy Cache により実稼働環境への影響を回避 SuSE は既にパッケージ (SMT Subscription Management Tool) をリポジトリProxy/Cacheとして使
Crowbar 2.0 Pull From Source OpenStack の最新リリースに時間差無く追随する 他のソフトウエア ( 例えば Hadoop) でも利 することを考慮する git barclampで Crowbar から社内のgit サーバにアクセス Online Mode が必要である Heterogeneous OS シングルサイトにて複数のOSに対応可能になる OSの種類だけでなく 同 OSの異なるバージョンも利 可能
Crowbar 2.0 Attribute Driven Recipes (CMDB) CrowbarのChefレシピが crowbar 固有の属性を含んでいる為 既存の OpenStackレシピを再利 することが難しい puppetのモジュールに適 することも難しい Attribute injecton を採 する CrowbarにAbstraction Layerを設け 利 しているCMDBを元に injectionを集める その他 Rails 3での実装 ドキュメントの改善 Barclamp SDK ビッグディスク (2TB 以上 ) の対応 Sledgehammer(Crowbar の PXE イメージ ) の UEFI ブート対応 テスト範囲の拡張と改善
OSCA TM (Open Standard Cloud Association) の設 オープン スタンダード クラウド アソシエーション http://www.dell-osca.jp/
OSCA の流れ Dell OSCA 理事会 OSCA 技術分科会 マルチベンダーにより 集約されたノウハウ ( 技術情報の共有 SNS コミュニケーション ) お客様のビジネス活性化に貢献 OSCA メンバー
OSCA 技術分科会 OSCA 技術分科会 ハイパースケール データセンターソリューション クラウド運 管理の効率化 クラウドの相互運
IT エンジニアのためのコミュニティー Dell テックセンター テックセンターとは Dellが提供するITエンジニアのための情報共有サイトです Dellの技術エキスパートによるブログで最新技術トレンドをレポートいたします ハードウェアやソフトウェアのセットアップをビデオで紹介しております 構成ガイド 最適化ガイドなど技術ドキュメントも満載です フォーラムを提供 : ユーザー間でのベストプラクティスの共有が可能です Dellのテクノロジーに関する最新情報と情報交換 http://www.jp.dell.com/japantechcenter/ サイトに登録いただければフォーラムに参加し 技術ディスカッションにも参加することができます DELL ロゴは 国 Dell Inc. の登録商標です デル株式会社 212-8589 川崎市幸区堀川町 580 番地ソリッドスクエア東館 20F
まとめ ベンダーロックインからの解放と選択肢の提供 エコ対策と運 コスト削減の両 経験と実績に基づくクラウドの開発と運 オープン 機能 導入しやすい お客様のビジ ネスに貢献 34
ご清聴どうもありがとうございました 35