二枚のNICにそれぞれ違うGWを与える

FreeBSD8.1で2つのネットワークを利用しないといけない状況があった。
サーバには二枚のNICが刺さっている。

※ipfwを利用している前提です※

NIC2に新しいネットワークを追加する。

まずは以下を追加してカーネルの再構築

options IPFIREWALL_FORWARD

それからfwrulesに追加する
ipfw add 100 fwd aa.aa.aa.aa ip from bb.bb.bb.bb/bb to not cc.cc.cc.cc/24
aa.aa.aa.aa = NIC2に追加したいGW
bb.bb.bb.bb = NIC2に追加したいIP
cc.cc.cc.cc = NIC1のネットワーク

再起動して確認!

AWSでのFreeBSD構築、ボリュームの増量

AWSでAMIにFreeBSDを選択するとストレージのサイズをいくら大きくしても反映されない。
ストレージを追加することは可能だけれど、ルートのボリュームを増やせないと管理が面倒くさそうだったので調べてみた

以下の手順でうまくいった。

インスタンス停止

上記インスタンスのスナップショット作成

スナップショットからボリュームBを作成

ボリュームBをインスタンスにアタッチ(デバイス名:xbdf)

インスタンスを起動、ログインして
gpart show

gpart resize -i 1 -s 30G xbd5
※30Gの場合ね
(xbd5としたデバイス名は環境によって違うかも)

growfs xbd5a

再度インスタンスを停止、ボリュームを両方デタッチ、
作成したボリュームBを/dev/sda1として再アタッチ。

これで増量完了!

ところがこのやりかた、たまに下記の様になる。
$ gpart show
=> 0 146800640 ad0 BSD (70G)
0 16 – free – (8.0k)
16 125829120 1 !0 (60G)
125829136 20971504 – free – (10G)

$ df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0a 58G 13G 39G 26% /
devfs 1.0k 1.0k 0B 100% /dev
devfs 1.0k 1.0k 0B 100% /var/named/dev

70G追加したのに60Gしか使えてない・・・

参考:
http://serverfault.com/questions/482213/understanding-disk-space-on-ec2-freebsd-instance