MAAS+LXD+MicroCloud+MicroOVN+MicroCephで構築するおうちクラウド

VPS全盛のこの時代に、自宅にオンプレプライベートクラウド環境を構築したメモ。

サーバーを導入する際、トライアルアンドエラーの末に不安定になり、何度もOSのインストールやり直し作業が発生する。また、複数のサーバーでクラスターを組むために手作業していると、同じコマンドを延々サーバー台数分打ち込まないといけない。

MAASでサーバーを管理すれば、OSのインストールはデプロイするだけ。デプロイしたサーバーはリリースすればまたデプロイ可能な状態に初期化され、再度デプロイするだけで再インストールが終わる。MAASでデプロイできるOSはUbuntu、CentOSに限られる(自分でカスタムイメージも作成できるらしいが未確認)が、Debian党の私も、試用してこの便利さは手放せないのでサーバーOSはUbuntu23.10に移行することにした。

手作業で同じコマンドを延々と打ち込むことに関しては、jujuとか逃げ道があるのかもしれないが、今回はスクリプト化で回避した。

複数のサーバーでクラスターを組むために、安価なハードウェアと、これらをMAASで管理するためにRaspberryPi 4Bを以下の通り用意した。

  • RaspberryPi 4B 4GB(debian12インストール済み、WiFi設定済み、SSHログイン許可済み)
  • GMKtec nucbox10 AMD Ryzen 7 5800U 4.40GHz DDR4 16GB M.2 512GB SSD+SATA 128GB SSDx4
  • Fujitsu TX1320 M3 Xeon E3-1240 v6 3.70GHz ECC DDR4 2400MHz 64GB SATA 128GB SSDx4
  • Fujitsu TX1320 M3 Xeon E3-1220 v6 3.00GHz ECC DDR4 2133MHz 32GB SATA 128GB SSDx4
  • NETGEAR GS116Ev2
raspberryi
rpi@raspberrypi:~$sudo snap install snapd
rpi@raspberrypi:~$sudo snap refresh
rpi@raspberrypi:~$sudo snap install maas --channel=3.3

MAASをRaspberryPiにインストールすれば、WebUIからデプロイが可能となる。MAASがDHCPサーバーになるようにルーターのDHCPサーバーを停止し、MAASのDHCPを設定し、サーバー機のPXEブートを有効化して起動すると、MAASにハードウェアが検出される。Commissionするとサーバーの詳細なハードウェア情報を取得してくるので、その後ReadyとなったサーバーにDeployするとOSがインストールされる。サーバーに固定IPを振る場合はデプロイ前にネットワークの設定を済ませておく。詳細は他稿に譲る。

Deployしたサーバーは、MAASサーバーのRaspberryPiからのみ、かつSSHでのみログイン可能。具体的に以下のコマンドで接続できる(公開鍵認証のみ)。接続したらとりあえずrootのパスワードを変更しておく。

raspberryi
rpi@raspberrypi:~$ssh ubuntu@10.0.0.2 (@以下はサーバーホスト名またはサーバーIP)
ubuntu@10.0.0.2:~$sudo passwd
New password:
Retype password:

同じ要領ですべてのサーバーにログインし、各サーバー(3台とも)で次のコマンドを実行し、MicroCloud環境をインストールする(cloud-initで自動化できそう)。

各サーバー
ubuntu@10.0.0.2:~$sudo snap refresh
ubuntu@10.0.0.2:~$sudo snap install microcloud microovn microceph (lxdは最初からインストールされている)

どこかのサーバー1台で以下のコマンドを実行し、MicroCloudを初期化し、LXD+MicroOVN+MicroCephをセットアップする。

10.0.0.2
ubuntu@10.0.0.2:~$sudo microcloud init

この時、cephのOSDとしてSSDを選択することをお忘れずに。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です