IT基盤のTCO削減に寄与するオープンソースソフトウェア活用推進技術 システム構築 自動化 Puppet システム構築を手戻りなく高速に! 「OSSVERT Smart Builder」 す ず き しげなり † 1 と よ だ ひろはる † 1 りょう † 2 や ま だ ひろゆき † 2 鈴木 繁成 すがはら 菅原 亮 /山田 洋之 各種サービスを提供するシステムが大規模化しつつある今日,システム の構築や管理にかかわる稼働の削減,および作業ミスを低減することを目 的とし,NTT OSSセンタではOSS(Open Source Software)を活用したシス テム構築省力化ツール「OSSVERT Smart Builder」を開発しました.本稿 では本ツールの特徴,技術的なポイント,実機にて確認した効果などを紹 介します. 背景と課題 NTTグループでは,個別に運用さ れている複数の社内システムを統合基 /豊田 裕晴 て づ か ひろひさ † 1 手塚 博久 NTT OSSセンタ †2 NTTデータ先端技術 †1 ます. OSSVERT Smart Builder OSSVERT Smart Builder(O-SB) ■概要 の開発においてはまず,特に稼働時間 システム構築 ・ 管理業務は,設計, の多い工程「OS ・ ミドルウェアのイ 盤上に構築 ・ 移行することでシステム インストール ・ 設定,確認,の 3 つの ンストール ・ 設定工程」に着目して検 構築 ・ 管理業務の集約化を進めていま 作業工程に分けられます(図 1 ) .こ 討を進め,その工程の自動化機能を実 す. このため, 統合基盤を構成するサー れらの工程の中で,OSとミドルウェ 現しました.O-SBの具体的な動作イ バ数の増加に伴いシステム構築 ・ 管理 アのインストール(またはバージョン メージを図 2 に示します.O-SBサー 業務のより一層の効率運用が求められ アップ)工程,設定工程,および正常 バが,ネットワーク越しに,あらかじ ています. 性確認工程は,サーバ台数に比例して め設定した手順に従い,構築対象とな 作業稼働が増大し,さらに人為的ミス るサーバに自動インストールと設定を も発生しやすいという特徴を持ってい 行います.開始後はインストール ・ 設 このようなニーズにこたえるべく, システム構築 ・ 管理を支援するさまざ まな市販ツールが提供されています. しかしそれらは,特定ベンダのハード サーバN ウェアでのみ利用可能であったり,非 常に高額であったりするため,導入の サーバ 3 サーバ 2 障壁となっています. 初期 構築 を利用しつつ,NTT OSSセンタで蓄 OS インス トール・ 設定 ミドルウェア インス トール・ 設定 積されたOSSVERTの構築ノウハウ サーバM を最大限活用することで,インストー サーバ 2 テム構築省力化ツール「OSSVERT Smart Builder」の検討 ・ 開発に着手 しました. 環境 変更 設 計 作業ミスを減らすことに注力したシス サーバ 1 バージョン アップ パッチ適用 設定変更 正常性確認 ル ・ 設定等の構築稼働の削減や人為的 正常性確認 に,OSS(Open Source Software) サーバ 1 設 計 そこで上記の課題を解決するため 「構築する台数が 多くて大変!」 「工程,どこまで 進んでたかな?」 「インストール,もう 終わったかな?」 「次のサーバ,どれ だっけ?」 :サーバ台数に応じて,人的稼働が増大し,作業ミスが発生しやすい工程 図 1 システム構築・管理の工程 26 NTT技術ジャーナル 2014.3 特 集 定が完了するまで全自動で行われるた 数の記述方法が選択可能です.そのた 働を削減します. め,作業者は端末操作を行う必要があ め利用者が記述の仕方に迷う状況が起 またO-SBでは,さまざまなOS ・ りません.また初期構築後に,意図し こり得ることから,O-SBでは記述要 ミドルウェアをすぐに構築できるよ ない環境変更等が誤って行われた場合 領を策定 ・ 提供することで利用者の稼 う,Puppetマニフェストテンプレー に備え,O-SBサーバが構築対象サー バを正常な状態に維持する機能もあり 構築対象サーバ 「物理構成」 ます. ■技術的なポイント O-SBサーバと構築対象サーバとの 間の動作シーケンスを図 3 に示しま す.O-SBの技術的な特徴としては, 以下の 2 点が挙げられます. Puppet 築 管 理 で 利 用 実 績 の あ るOSS (Puppet* 1 ,Kickstart*2)を利用 していること ② OSSVERTの構築ノウハウを Puppetによる構築 OS設定 ミドルウェアインストール Kickstart Kickstartによる構築 OSインストール O-SBサーバ 筐体 ① 金融,情報,SNSなどさまざ まな分野の実システムにおける構 凡例 ミドルウェア設定 ミドルウェア設定 ミドルウェア設定 OS設定 OS設定 ミドルウェアインストール ミドルウェアインストール OSインストール OSインストール VM#1 VM#2 利用していること 構築対象サーバ 「仮想構成」 OS設定 OSインストール VM#3 筐体 こ の 中 で 特 に 重 要 な,Puppetと 図 2 O-SBの具体的な動作イメージ OSSVERT(OSs Suites VERified Technically)について,詳しく解説 します. PuppetはOSSのシステム自動設定 管理ツールです.利用者が「マニフェ O-SBサーバ Kickstart スト」と呼ばれる設定ファイルに,シ IPアドレス要求 dhcp ステムを「このような状態にしたい」 内容を記述しておくと,Puppetマス ターがマニフェストを読み込み,構築 対 象 サ ー バ に 置 か れ たPuppetエ ー 構築対象サーバ IPアドレス取得 TFTPサーバIPアドレス取得 ブートローダ要求 ブートローダ取得 tftpserver Kickstart設定ファイル要求 Kickstart設定ファイル取得 ジェントを通じてシステムを「そのよ BIOS PXE BIOS ブートローダ カーネル うな状態」 になるように設定します (図 4) .これにより,ミドルウェア等の yum OSインストールファイル取得 インストールおよび設定,OSの各種 httpd 設定などが可能です.ただしマニフェ ストは非常に柔軟な記述ができるた め,同じ設定を行う場合であっても複 *1 Puppet:オープンソースのシステムコン フィグレーションフレームワークとツール セットであり,UNIX系システムの設定管理 が可能です. *2 Kickstart:Red Hat LinuxやFedora Coreな ど,Red Hat系OSのインストールを自動化 する仕組み. OSインストールファイル要求 Puppet Puppet マスター マニフェスト問合せ依頼 マニフェスト問合せ マニフェスト取得・反映 OS Puppet エージェント 図 3 O-SBサーバと構築対象サーバ間の動作シーケンス NTT技術ジャーナル 2014.3 27 IT基盤のTCO削減に寄与するオープンソースソフトウェア活用推進技術 トを提供しています.これらのテンプ 検証し,インストール手順書,環境定 正が必要なパラメータ群について,テ レートは,上記の記述要領に加え, 義書(推奨設定値一覧) ,検証報告書 ンプレートのどこを修正すれば良いか OSSVERTの ノ ウ ハ ウ に 基 づ き 作 などの技術資料にまとめたものです. をまとめたドキュメントも提供してい 成 さ れ て い ま す.OSSVERTと は, O-SBでは,このOSSVERTのインス ます. Web3層のシステムを構築する場合 トール手順書と環境定義書に従い,記 に,NTT OSSセンタが推奨するOSS 述されたマニフェストを利用すること スタックのことです.OSSVERTは, で,正常動作実績のあるシステムの自 OSSVERT構成の物理サーバ 6 台 ベンチマークアプリを含めたWeb3層 動構築を実現します.ただし実際の利 (Webサーバ,アプリケーションサー システム全体としての挙動(性能,可 用シーンでは,一部の値(アドレスな バ,データベースサーバで構成され, 用性,長時間安定性,保守性など)を ど)を変更する必要が生じるため,修 それぞれを二重化や冗長化したもの) 適用例と効果 のWeb3層モデル構築を対象に,効果 測定を行いました.構築の手順は,購 ユーザ作成して! user リソース このパッケージを 入れて! package リソース 設定ファイルは この内容でつくって! file リソース 入初期状態の物理サーバ 6 台に対し 物理結線を施した状態からスタート し,① OSのインストール ・ 設定(ド ライバ含む) ,②各種ミドルウェアの マニフェスト Puppet言語 インストール ・ 設定,の 2 ステップで 実施しました.一般的な技術者が手作 Puppetマスター XXがあることを確認して このコマンドを実行して! exec リソース 業で約60時間を要するところ,O-SB を活用することで約 8 時間(手作業の 7 分の 1 )に短縮できることを確認 しました.この 8 時間には, O-SBサー Puppetエージェント Puppetエージェント バ自体の構築時間や,構築したい内容 を記述する定義ファイル(マニフェス ト)の作成も含まれています.そして 同じ環境を再度構築する場合( 2 回目 図 4 Puppetの仕組み 以降)は,O-SBサーバを流用するこ 59 1.5 O-SBサーバ準備 手動構築 トータル:60.5 h O-SB定義ファイル準備 手動作業 1 3.2 2.8 O-SB (初回) 手動構築比: 7 分の 1 トータル:8.0 h 手動作業 2 O-SB自動構築 1.6 0.4 O-SB ( 2 回目) 手動構築比:30分の 1 トータル:2.0 h 1.6 0.4 0 20 40 60 手動作業1:OS・ミドルウェアのインストールおよび設定作業 手動作業2:ストレージ設定,クラスタ設定,Puppet エージェントのアンインストール作業 図 5 O-SB活用による時短効果 28 NTT技術ジャーナル 2014.3 80 (h) 特 集 コラム OSSVERT Smart Builder への期待 NTT西日本 技術革新部 ITイノベーション部門 IT統合基盤担当部長 小島一弘 NTT西日本のシステム統合基盤は,さまざまな社内情報システムを収容する基盤環境であり,設計から運用までの業務をグループ内 製で行っています.今後も本基盤のより一層のコスト削減,スピーディな構築の必要性が高まりますが,OSSVERT Smart Builderは, OSSを活用し,短期間で間違いのないシステムを構築できる技術であるため,構築コストの削減と作業品質の向上を両立できるソ リューションとして,大きな期待を寄せています. 表 O-SBでインストール・設定可能なソフトウェア群 分 類 OS データベース 製品名 ため,さまざまな環境でのO-SB適用 PostgreSQL を想定した検討 ・ 開発を,今後進めて Oracle いきます. Tomcat OpenJDK JDBC HeapStats Webサーバ Apache mod_jk クラスタリングソフト Pacemaker ロードバランサ UltraMonkey-L4 とができるため, 約 2 時間(30分の 1 ) で構築できます(図 5 ) .そして構築 大していくものと考えています.この Red Hat Enterprise Linux JBoss EAP アプリケーションサーバ い,ますますO-SBの利用シーンは増 ■参考文献 (1) 平川:“RHEL6で実践!誰でも自宅でクラウ ド構築(第 4 回)〜プロビジョニングサーバー の構築,” 日経Linux,2011年 7 月号,2011. (2) 内川:“オープンソースを手際よく使うため に ― OSSVERTの 取 り 組 み,” NTT技 術 ジャーナル,Vol.19,No.3,pp.60-62,2007. (3) 豊田 ・ 奥村 ・ 角:“オープンソースソフトの 導入を支援するOSSVERTの拡張,” NTT技 術ジャーナル,Vol.23,No.8,pp. 8-13, 2011. 今後の予定 台数がさらに増えた場合をシミュレー O-SBにより構築可能なソフトウェ ションすると,O-SBは並列実行が可 アは表のとおりで,OSSVERTの構 能であるため,ネットワークやサーバ 成製品の代表的なものを網羅していま のスペックにもよりますが,一定台数 す.表のソフトウェアであれば,多少 までは構築時間が増えないことも確認 のバージョンの違いがあったとしても (後列左から) 鈴木 繁成/ 豊田 裕晴/ 手塚 博久 テンプレートを活用することで,比較 (前列左から) 菅原 亮/ 山田 洋之 以上のように,O-SBによるインス 的短時間で利用者が望むソフトウェア トール ・ 設定工程での時短効果を確認 をインストール ・ 設定するためのマニ しています.そのほか,OSSVERT フェストを作成可能です. 今回紹介したツールは,NTT OSSセンタ 内でも日々の検証業務などで環境構築や環 境変更作業に活用しており,その有用性は 確認済です.また,O-SBの根幹を成すOSS 「Puppet」につきまして問合せサポートも 実施していますので,ぜひ安心してご利用 ください. しました. の設計ノウハウをマニフェストへ反映 NTT OSSセンタでは利用者向け しているため設計工程での検討稼働を に, 「テンプレートの修正方法に関す 削減できること,設定工程における人 る研修」 「 1 からマニフェストを作成 為ミスを削減できること,インストー するための研修」などを用意していま ル ・ 設定工程中にオペレータの端末操 す.加えてPuppetについては,問合 作が不要なこと,などの効果も確認し せ窓口を用意し,サポートを行ってい ています. ます. システムのさらなる大規模化に伴 ◆問い合わせ先 NTT OSSセンタ 応用技術ユニット TEL 03-5860-5055 FAX 03-5463-5491 E-mail oss-contact lab.ntt.co.jp NTT技術ジャーナル 2014.3 29
© Copyright 2024