3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Metal as a Service MAASを使ってPoC環境のOSインストールを自動化

Last updated at Posted at 2023-06-19

はじめに

Metal as a Service MAASは物理サーバをクラウドインスタンスの様に簡単にデプロイ・リリースできるソフトウエアです。MAASサーバはPXEブートで物理サーバを構築・管理します。PXEブートにより、OSインストーラーの起動、自動インストールを実現しています。

一度環境を構築すると以下の様なダッシュボードだけで、物理サーバにOSをインストールできます。PoC環境でありがちな、違う検証に使うためOS再インストールする作業を自動化できます。

image.png

本記事では弊社PoC環境での導入例を元に、MAASについて最低限のセットアップとOSインストールに触れていきます。

実施環境

MAASサーバはDHCPを使用するため、物理サーバとL2で接続する必要があります。しかし、PoC環境のラックには新しいサーバしかなく、どれか1台にOSを手動で入れMAASサーバとする必要がありました。
PoC用のサーバに他のソフトウエアは極力入れたくなかったため、MAASサーバは自社内のプライベートクラウドで構築することにしました。自社内のプライベートクラウドでVLANを払い出し、PoC環境ラックと接続しました。

image.png

手順

  1. MAASのインストール
  2. DHCPの設定
  3. 物理サーバのPXE設定
  4. 試運転
  5. OSのインストール

MAASのインストール

公式ドキュメントを参考にMAASサーバの構築を進めます。

MAASのリポジトリを追加し、aptでインストールを行うだけで構築できます。MAASの設定は構築後のWEB UIで行います。

sudo apt-add-repository ppa:maas/3.3-next
sudo apt update
sudo apt-get -y install maas

WEB UIにアクセスするための管理ユーザを作成します。以下のコマンドを実行すると対話形式でユーザを作成できます。

sudo maas createadmin --username=admin --email=admin@example.com

以下にブラウザでアクセスするとWEB UIが表示されます。

http://MAASサーバ:5240/

image.png

ログイン後、登録したユーザの設定画面を開き、SSH鍵を登録します。後程、OSをインストール際はここで登録したSSH鍵でアクセスします。

image.png

DHCPの設定

PEXブートを行うために、MAASサーバでDHCP機能を有効にします。WEB UIで設定を行います。

[Subnet]を選択します。

image.png

DHCPを有効にするVLAN(PoC環境のVLAN) を選択し、Configure DHCPを選択します。

image.png

MAAS provides DHCPを有効にします。

image.png

これでMAASサーバのDHCPが有効になり、物理サーバがPXEブートできるようになりました。

物理サーバのPXE設定

PXEブートの設定は各機器のBIOS設定で行うため、それぞれのドキュメントを参照してください。
設定が必要な項目は以下の通りです。

  1. PXEブートに使用するNICのPXE有効化
  2. ブート順位でPXEブート(ネットワークブート)を最上位に設定する

PoC環境ではDELLサーバを用いていたため、iDRAC(BMC)上での設定例を以下に掲載します。

image.png

試運転

MAASサーバの構築が完了し、物理サーバのPXEブートの設定も完了したため、物理サーバを再起動します。
再起動すると、物理サーバはPXEブートでMAASの試運転OSを起動します。この試運転OSは主に以下の処理を実施します。

  1. 物理サーバのリソースを分析
    • CPU、メモリ、ストレージ構成、ネットワークインターフェース情報
  2. 簡易なテスト
    • ストレージやメモリなどのハードウエアテスト
    • インターネットへの疎通テスト
  3. 分析・テスト結果をMAASサーバへ送信
  4. シャットダウン

試運転が無事完了すると、物理サーバはシャットダウンされ、WEB UIに登録されます。以下の様に、基本的なハードウエア情報を確認することができます。

image.png

OSのインストール

登録された物理サーバのページ上部にあるTake ActionボタンからDeployを選択します。OSの選択を行います。この時、NetworkタブでNICに手動でIPを設定することも可能です。この情報はMAASサーバに保存され、OS再インストールを行う際も同じIPで構築できます。

image.png

OSインストールが完了するとDeployステータスになり、IPアドレスが表示されます。このIPアドレスにMAAS設定時に登録したSSH鍵を使ってSSHができます。

おわりに

今回は、PoC環境の性質上、OSのインストールが何度も想定されるためMAASを導入しました。設定後はWEB UIからOSをインストール&再インストールでき、PoC検証の効率化ができました。
 購入した物理サーバはDell社のiDRACライセンスが有効のため、手間ですがリモートコンソールを利用し遠隔でのOSインストールは可能です。一方で、リモートコンソールを持たないサーバは、モニターとキーボードを刺し現地操作の必要がありますが、MAASを一度設定してしまえばすべて不要になります。よってリモートコンソールの有無に関わらず、MAASを利用しない理由はありません。

本記事では、最低限のセットアップとOSインストールについて触れました。MAASをさらに活用していくため、今後触れていく内容を最後にご紹介します。

MAASコンポーネントの理解

MAASはDHCP、DNS、リポジトリミラーなどを提供しています。これはMAASに限らず、物理サーバを運用する際に必須なライフサーバと呼ばれるものです。よりMAASを活用していく際には提供されている機能の理解が必要です。

自作イメージの作成

今回は公式が提供しているUbuntu22を利用しましたが、VMWare ESXI, Windows, 他のLinuxディストリビューションなどを利用する事もできます。公式のイメージビルダーはUbuntuの有料版ライセンスが必要ですが、Packerなど無料のソフトウエアでも実現できます。

MAAS CLIとAPI

今回はWEBダッシュボードで操作を行いましたが、他にもCLI、APIが提供されています。これにより、OSインストール後の処理まで自動化することが可能です。自社環境に合わせて開発しても良いですが、MAAS開発チームのCanonicalがjujuというソフトウエアも提供しています。

参考

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?