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

今回お届けするUbuntu Server実践編の第2弾では、前編でスケールアウト基盤にOSを簡単にベアメタル配備するためのMaaSサーバーの構築手順を解説します。後編では、OSSのオーケストレーションを実現するJujuを解説します。MaaSによるOSの自動インストールUbuntu Serverでは

古賀 政純

2014年3月25日 20:00

今回お届けする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サーバーのログイン直後の画面(クリックで拡大)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30