本連載では、最近注目されているLinuxサーバー上での仮想化ソフトとサーバー運用の自動化ツールの活用法を基礎から解説します。企業向けLinuxの「Red Hat Enterprise Linux」上で仮想化ソフト「Linux KVM」を使って仮想マシンを構築し、「Puppet」でアプリケーションのセットアップを自動化する手法を実践していきましょう。
まず、筆者が実際にオフィスのデモ用サーバーで利用している仕組みを紹介しましょう。全体像は図1のようになります。
この中では、自分で作成したPythonスクリプトを用いて、次の2つの処理を自動化しています。
- 仮想化管理用の「virt-install」コマンドで仮想マシンを作成し、自動インストールツールの「KickStart」でRed Hat Enterprise Linux(RHEL)をインストールする
- リポジトリー「GitHub」からPuppetマニフェストをダウンロードし、アプリケーションの導入・設定を実施する
筆者は、イベントでデモを実施する際には、この仕組みで毎回、新しくデモ環境のセットアップを実施します。手動で構築した環境を仮想マシンイメージに固めて利用するという方法もありますが、その場合、デモの内容に合わせたカスタマイズや最新バージョンへのアップデートなどが面倒です。
図1の仕組みでは、構築内容がテキスト形式の設定ファイルで管理できます。そのため、設定変更やバージョンアップが手軽というメリットがあります。設定ファイルを修正し、自動構築スクリプトを実行するだけで、全く新しい環境が出来上がります。
最近は、このような環境構築の自動化に興味のある方が多いようで、あるオープンソースのイベントでこの仕組みを、紹介したところ、何人かの方から「これを実現する方法を教えて欲しい」という問い合わせがありました。本連載では、この環境の構築手順をできるだけ具体的に説明していきます。説明用に少し単純化した構成を使っていますが、これを基礎としてさまざまな機能拡張を施してみてください。
この連載では、構築手順の紹介が中心となりますが、日経Linuxの2013年9月号から始まる新連載『Linuxサーバー最前線! サーバー構築の自動化を基礎から伝授』では、このような自動化が必要とされる背景や、この仕組みの中で利用される技術について、徹底解説を行います。本連載と併せて読むことで、さらに理解が深まることでしょう。
Linuxのインストールと初期設定
それでは早速、環境構築を始めましょう。準備する道具は、Intel-VTなどの仮想化に対応したサーバーとRHEL 6.4のインストールメディアです。このサーバー上に仮想マシンを作っていきますので、メモリーは4Gバイト以上用意してください。
まずは、インストールメディアからサーバーを起動し、ホストLinuxとしてRHEL6.4をインストールします。次の流れで進めますが、特にインストールするソフトウエアコンポーネントの選択に注意してください。この手順に示した選択により、仮想化ホストとして必要なコンポーネントが導入されます。