背景

我が家では OpenStack を利用した プライベートクラウド を運用しています

OpenStack を構成する
物理サーバの OSデプロイには MAAS を利用しています

MAAS の操作は maas-deployer により 自動化しています

  • MAAS の概要
  • maas-deployer を開発したきっかけ

などについて、まとめます

MAAS(Metal as a Service) とは

Ubuntu の開発元である Canonical が開発している OSデプロイツール です

MAASを導入すると、高機能なPXEサーバーのように利用できるので、
物理サーバにOSをインストールする作業がとても楽になります

MAAS Dashboard

Machines

MAASの管理下にあるマシンの一覧です

machines.png

Networks

MAASで管理するサブネットの一覧です

subnets.png

dm2 の設定値

dm2-summary

登録したマシン(=dm2)のサマリです

  • ステータス
  • スペック
  • ハードウェア情報
  • ネットワーク情報

などを一覧で見れます

dm2-summary.png

dm2-network

dm2 のネットワーク設定です

enp3s0 という 物理NIC に対して
4つの VLANサブインターフェース を作成しています

dm2-network.png

dm2-storage

dm2 のストレージ設定です

nvme0n1 を boot device に設定して
/boot/efi, /boot, / という3つのパーティションを作成しています

dm2-storage.png

ストレージ設定では、

  • 複数ディスク(/dev/sda, /dev/sdb) をまとめて RAID1 にしたり
  • LVM を用いて VG / LV を作成し、マウントポイントを指定したり
  • ZFS や Bcache などの高度なレイアウト構成を適用したり

他にも、色々な設定ができます


maas-deployer について

maas-deployer external_link

💡 上記の設定を ansible で自動化するツールです

  • MAASサーバの構築
  • MAASに追加したマシンの管理
    • ネットワーク設定
    • ストレージ設定
    • ZFS スナップショットを取得
      • 作業後、スナップショット取得時の状態にリストア

といった機能を備えています👍


自宅プライベートクラウドを楽に運用するには

自宅プライベートクラウドの運用大変 です

構築手順が変われば、追随する必要がありますし、
VMを移行するとなれば、検証が必要ですし、
本番と検証で環境を2つ用意する必要もあります

個人利用で、これはあまり現実的ではありません

これは、自論ですが
自宅プライベートクラウドを楽に運用するには、
構築手順を全て自動化 して コードで管理すること です

そのため、物理サーバのデプロイを
maas-deployer external_link により、掌握しました

また、仮想サーバについては
Terraform + Ansible で構成管理するようにしています