[実践編] MaaSとJujuによるOSS配備、Ubuntu Serverの運用・管理(前編)

2014年3月25日(火)
古賀 政純

今回お届けする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種類があります。

  1. Ubuntu ServerのOS付属のMaaSをインストールする
  2. インターネット経由でMaaSを入手してインストールする

1. の方法は、Ubuntu Serverのインストーラー段階でMaaSを構築しますので、MaaS環境とUbuntu Serverを試験的な利用で迅速に配備する場合に威力を発揮します。2. は、Ubuntu Serverをインストールした後に、MaaSをインストールする方法です。開発版のMaaSや最新の安定版のMaaS等を導入する場合に使われる導入手順です。以下では、2. の方法でMaaSサーバーを構築する手順を紹介します。MaaSサーバーとなるマシンに、Ubuntu Serverをインストールし、インターネット経由で最新パッケージが入手できる状態にします。パッケージを更新し、OSを再起動します。

# apt-get update
# apt-get upgrade -y
# reboot

本連載では、最新のMaaSの開発版をインストールします。MaaSの開発版を入手するために、apt-add-repositoryコマンドでリポジトリを追加します。

# apt-get install python-software-properties
# apt-add-repository cloud-archive:tools
# apt-add-repository ppa:maas-maintainers/dailybuilds

リポジトリは、/etc/apt/sources.list.dディレクトリ以下のファイルで確認できます。

# cat /etc/apt/sources.list.d/maas-maintainers-dailybuilds-precise.list
deb http://ppa.launchpad.net/maas-maintainers/dailybuilds/ubuntu precise main
deb-src http://ppa.launchpad.net/maas-maintainers/dailybuilds/ubuntu precise main

リポジトリに記載されたURLによって入手するパッケージのバージョン等が決まりますので、追加リポジトリによるソフトウェアの導入時は、ソフトウェアのバージョン管理だけでなく入手先についても注意してください。リポジトリの設定後、maasをインストールします。

# apt-get update
# apt-get install maas maas-dhcp maas-dns -y

次に、MaaS専用の管理者アカウントをmaasコマンドで作成します。

# maas createsuperuser
Username (leave blank to use 'root'): root
Email address: root@localhost.localdomain
Password: xxxxxxxx
Password (again): xxxxxxxx
Superuser created successfully.

MaaSサーバーが管理対象サーバーに配布するブートイメージの設定を行います。管理サーバーのimport_pxe_filesファイルに、管理対象サーバーのOSの種類を表すRELEASES行とアーキテクチャを指定するARCHES行を編集します。RELEASES行には、複数のUbuntuのバージョンを指定できますが、今回はUbuntu Server 12.04.x LTSのみを管理対象サーバーに配布するため、"precise"を指定します。

# vi /etc/maas/import_pxe_files
...
RELEASES="precise"
ARCHES="amd64/generic i386/generic"
...

ブートイメージをインターネット経由で取得し、MaaSサーバーに取り込みます。

# maas-import-pxe-files

ブートイメージの取得が完了したら、MaaSサーバーが提供する管理画面にアクセスします。

http://MAASサーバーのIPアドレス/MAAS

図1:MaaSサーバーのログイン画面(クリックで拡大)

MaaS用の管理者アカウントでログインすると、管理対象ノード数が表示されます。初期画面では、登録済み管理対象サーバーが0台ですので、「0 nodes in this MAAS」と表示されます。

図2:MaaSサーバーのログイン直後の画面(クリックで拡大)
日本ヒューレット・パッカード株式会社 プリセールス統括本部 ソリューションセンター OSS・Linux担当 シニアITスペシャリスト

兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師を担当。科学技術計算サーバーのSI経験も持つ。2005年、大手製造業向けLinuxサーバー提案で日本HP社長賞受賞。2006年、米国HPからLinux技術の伝道師に与えられる「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。日本HPプリセールスMVPを4度受賞。現在は、Linux、FreeBSD、Hadoop等のOSSを駆使したスケールアウト型サーバー基盤のプリセールスSE、技術検証、技術文書執筆を担当。日本HPのオープンソース・Linuxテクノロジーエバンジェリストとして講演活動も行っている。Red Hat Certified Engineer、Red Hat Certified Virtualization Administrator、Novell Certified Linux Professional、EXIN Cloud Computing Foundation Certificate、HP Accredited Systems Engineer Cloud Architect、Red Hat Certified System Administrator in Red Hat OpenStack、Cloudera Certified Administrator for Apache Hadoop認定技術者。HP公式ブログ執筆者。趣味はレーシングカートとビリヤード

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています