素のMAAS環境を構築し、サーバたちをAMT対応をさせて、本格的にMAASによる自動デプロイの下準備が整った。ここからはMAAS側に細かい設定を加えて、サーバたちが意図した環境にセットアップされるよう整備していく。WebUIが充実しているので、何となくWebから何でも出来てしまいそうな気がするが、意外と出来ないこともあったりする。WebUI以上にCLIが充実しているので、細かい部分はコマンドを併用して設定する形になる。まずは、WebUIで設定できるものから変更してみる。
MAAS WebUI ( http://maas:5240/MAAS/ ) にて、Settings > General を開く。Deployの欄でデフォルトインストールするOSを選択できるので指定しておく。カスタムイメージなどを準備した場合は、ここを変更しておくと便利。次にSettings > Network Servicesを開く。Proxy欄があるので、環境に合わせて変更する。デフォルトのMAAS Built-inのままだと、aptがすべてMAASサーバ経由になってしまうので、Don’t use a proxyに変更しておいた。MAASサーバが落ちてるときにaptが使えなくなっちゃうんだよね。
続くDNSの欄にて、LAN内のDNSサーバを指定する。ゆくゆくはMAASに組み込まれたDNSに切り替えるつもりだが、現時点では既存のDNSを参照しておいて欲しいので登録。スペース区切りで複数指定可能。そして次のNTP欄が重要。デフォルトではMAASサーバがNTPサーバになってしまうんだけど、MAASサーバをLXCコンテナで構築している場合、ホストOSの時間を引き継いでしまう。そのホストOSをMAASで構築した場合、NTPサーバとしてMAASサーバが指定されるというおかしな状態に。。。
当然、ホストOSの時間が異常な場合、MAASサーバの時間も以上となり、それがNTPサーバな訳だから、時刻修正することが出来ない。そして、MAASサーバで構築した全サーバがMAASサーバの時刻を参照しに来るので、MAAS構築した全サーバの時間が狂うことになる。時間が狂うとbindにてDNSKEYのverifyが通らなくなり、外部DNSの名前が引けなくなる。そして家中のPCやらスマホでインターネットが使えないと錯覚するような大事故に。いや、ほんとびっくりしたw という訳で、外部のNTPサーバを明示指定しておくのが無難ですね。
最後に、Settings > DHCP snippetsを開く。MAASのdhcpd.confは/var/lib/maasにあるんだけど、直接編集する訳にはいかないので、こちらのインターフェースを使ってカスタマイズする。DHCPサーバの設定で変えたいのはdomain-searchの項目や、MACアドレスに対して固定のIPアドレスを振りたい場合など。domain-searchは任意のスニペット名を付けて、typeをSubnetにして対象のネットワーク(192.168.0.0/24など)を選択して以下の用に設定した。
option domain-search "nodoka.local","nodoka.org","nodoka.idcf";
MACアドレスに対して固定のIPアドレスを振りたい場合は、任意のスニペット名を付けてSubnetはGlobalを選択。以下のような設定を追加する。
host macbook-air {
hardware ethernet 11:22:33:44:55:66;
fixed-address 192.168.0.10;
}
host surface-pro4 {
hardware ethernet aa:bb:cc:dd:ee:ff;
fixed-address 192.168.0.20;
}
これでDHCPサーバについても自由に設定できるようになったので、いよいよMAAS移行の障壁がなくなった。DNSもDHCPもMAASに任せたいんだけど、その場合はダウンタイムを最小化した冗長化が求められるんだよね。軽く調べた感じ、それも問題なく出来そうなんだけど、微妙に億劫なんでもうしばらくは未来の負債としておこうかなw 次回はCLIベースでサーバ設定のカスタマイズを見ていく予定です。お楽しみに!