某所の某サービスの構築をするにあたって、FreeBSD/CARPを使った冗長構成を取らなければならなくなったわけだ。
その際に、FreeBSDがMultiUser modeでlogin promptまで行かなくなったので、その記録。
NICの設定に際し、一般にFreeBSDでは、以下のように記述する
ifconfig_xn1="inet 192.0.2.2/24 -rxcsum -txcsum -tso -lro"
ここに、CARPの設定を入れる場合、aliasで設定する
ifconfig_xn1="inet 192.0.2.2/24 -rxcsum -txcsum -tso -lro" ifconfig_xn1_alias0="inet vhid 1 advbase 1 advskew 100 pass Password-0-0-0 alias 192.0.2.1/32"
見た感じ、これで問題なさそうに見るのだが、実はこの設定を行うと、boot時にlogin promptまでたどり着かないことがある。
なぜそうなるかを追いかけるために /etc/rc.d/netif → /etc/network.subr の順に、そして呼ばれる関数ごとにprintf debugをかけた。 実は最後までは追いかけていないのだが、printf debugの結果
で、ここをexpandするために無限loopしているのではないかと推測される。
さすがに、こんなのわからないわけで…
というわけで、こういうパスワードを入れるのはやめましょう。絶対に。