システム構築を手戻りなく高速に! 「OSSVERT Smart Builder」

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