今回お届けするUbuntu Server実践編の第2弾では、前編でスケールアウト基盤にOSを簡単にベアメタル配備するためのMaaSサーバーの構築手順を解説します。後編では、OSSのオーケストレーションを実現するJujuを解説します。
MaaSによるOSの自動インストール
Ubuntu Serverでは、OSにMaaS(Metal-as-a-Service)と呼ばれるベアメタル配備の機能があります。MaaSは、Ubuntu Serverを物理サーバー上に配備する役割を担っていますが、後述のJujuと組み合わせることにより、複数のOSSが連携したUbuntu Serverのシステムを構築することが可能となります。
JujuによるOSSのオーケストレーションを物理サーバーベースのクラウド環境を実現するためには、MaaSが必須となります。物理サーバーベースのスケールアウト型のNAS環境やHadoopクラスター等を部門で固定的に利用する「個別システム化」を検討している場合は、MaaSとJujuを構築せずに、前回ご紹介したpreseedによる自動インストール用サーバーの構築に留めておくことも考えられますが、個別システムや仮想化基盤によるサーバー集約なのか、クラウドサービスの提供なのかによって、MaaSやJujuの採用有無が異なります。以下では、物理サーバーベースのクラウド基盤に利用されるMaaSサーバーの具体的な構築手順を紹介します。
Ubuntu ServerにMaaSを導入する方法
MaaSでは、DHCP、TFTP、HTTPサービスの構築を自動的に行ってくれます。また、管理対象サーバーのPXEブートなどの制御を行うWeb管理画面が備わっていますので、簡単にベアメタル配備の環境が手に入ります。MaaSの導入方法としては、以下の2種類があります。
- Ubuntu ServerのOS付属のMaaSをインストールする
- インターネット経由でMaaSを入手してインストールする
1. の方法は、Ubuntu Serverのインストーラー段階でMaaSを構築しますので、MaaS環境とUbuntu Serverを試験的な利用で迅速に配備する場合に威力を発揮します。2. は、Ubuntu Serverをインストールした後に、MaaSをインストールする方法です。開発版のMaaSや最新の安定版のMaaS等を導入する場合に使われる導入手順です。以下では、2. の方法でMaaSサーバーを構築する手順を紹介します。MaaSサーバーとなるマシンに、Ubuntu Serverをインストールし、インターネット経由で最新パッケージが入手できる状態にします。パッケージを更新し、OSを再起動します。
本連載では、最新のMaaSの開発版をインストールします。MaaSの開発版を入手するために、apt-add-repositoryコマンドでリポジトリを追加します。
1 | # apt-get install python-software-properties |
2 | # apt-add-repository cloud-archive:tools |
3 | # apt-add-repository ppa:maas-maintainers/dailybuilds |
リポジトリは、/etc/apt/sources.list.dディレクトリ以下のファイルで確認できます。
1 | # cat /etc/apt/sources.list.d/maas-maintainers-dailybuilds-precise.list |
リポジトリに記載されたURLによって入手するパッケージのバージョン等が決まりますので、追加リポジトリによるソフトウェアの導入時は、ソフトウェアのバージョン管理だけでなく入手先についても注意してください。リポジトリの設定後、maasをインストールします。
2 | # apt-get install maas maas-dhcp maas-dns -y |
次に、MaaS専用の管理者アカウントをmaasコマンドで作成します。
2 | Username (leave blank to use 'root'): root |
3 | Email address: root@localhost.localdomain |
5 | Password (again): xxxxxxxx |
6 | Superuser created successfully. |
MaaSサーバーが管理対象サーバーに配布するブートイメージの設定を行います。管理サーバーのimport_pxe_filesファイルに、管理対象サーバーのOSの種類を表すRELEASES行とアーキテクチャを指定するARCHES行を編集します。RELEASES行には、複数のUbuntuのバージョンを指定できますが、今回はUbuntu Server 12.04.x LTSのみを管理対象サーバーに配布するため、"precise"を指定します。
1 | # vi /etc/maas/import_pxe_files |
4 | ARCHES="amd64/generic i386/generic" |
ブートイメージをインターネット経由で取得し、MaaSサーバーに取り込みます。
ブートイメージの取得が完了したら、MaaSサーバーが提供する管理画面にアクセスします。
http://MAASサーバーのIPアドレス/MAAS
図1:MaaSサーバーのログイン画面(クリックで拡大)
MaaS用の管理者アカウントでログインすると、管理対象ノード数が表示されます。初期画面では、登録済み管理対象サーバーが0台ですので、「0 nodes in this MAAS」と表示されます。
図2:MaaSサーバーのログイン直後の画面(クリックで拡大)