背景
我が家では OpenStack を利用した プライベートクラウド を運用しています
OpenStack を構成する
物理サーバの OSデプロイには MAAS を利用しています
MAAS の操作は maas-deployer により 自動化しています
- MAAS の概要
- maas-deployer を開発したきっかけ
などについて、まとめます
MAAS(Metal as a Service) とは
Ubuntu の開発元である Canonical が開発している OSデプロイツール です
MAASを導入すると、高機能なPXEサーバーのように利用できるので、
物理サーバにOSをインストールする作業がとても楽になります
- https://canonical.com/maas external_link
- https://canonical.com/maas/docs external_link
- https://canonical.com/maas/docs/how-to-get-maas-up-and-running external_link
MAAS Dashboard
Machines
MAASの管理下にあるマシンの一覧です
Networks
MAASで管理するサブネットの一覧です
dm2 の設定値
dm2-summary
登録したマシン(=dm2)のサマリです
- ステータス
- スペック
- ハードウェア情報
- ネットワーク情報
などを一覧で見れます
dm2-network
dm2 のネットワーク設定です
enp3s0 という 物理NIC に対して
4つの VLANサブインターフェース を作成しています
dm2-storage
dm2 のストレージ設定です
nvme0n1 を boot device に設定して
/boot/efi, /boot, / という3つのパーティションを作成しています
ストレージ設定では、
- 複数ディスク(/dev/sda, /dev/sdb) をまとめて RAID1 にしたり
- LVM を用いて VG / LV を作成し、マウントポイントを指定したり
- ZFS や Bcache などの高度なレイアウト構成を適用したり
他にも、色々な設定ができます
maas-deployer について
💡 上記の設定を ansible で自動化するツールです
- MAASサーバの構築
- MAASに追加したマシンの管理
- ネットワーク設定
- ストレージ設定
- ZFS スナップショットを取得
- 作業後、スナップショット取得時の状態にリストア
といった機能を備えています👍
自宅プライベートクラウドを楽に運用するには
自宅プライベートクラウドの運用 は 大変 です
構築手順が変われば、追随する必要がありますし、
VMを移行するとなれば、検証が必要ですし、
本番と検証で環境を2つ用意する必要もあります
個人利用で、これはあまり現実的ではありません
これは、自論ですが
自宅プライベートクラウドを楽に運用するには、
構築手順を全て自動化 して コードで管理すること です
そのため、物理サーバのデプロイを
maas-deployer external_link により、掌握しました
また、仮想サーバについては
Terraform + Ansible で構成管理するようにしています