この機能は二重化だけでなく、送信パケットの負荷分散機能も備えている。
これとは別に上位のスイッチと連動することで、送受信の負荷分散な可能なリンクアグリゲーションも設定できるが、 通常のWEBサーバ等であればサーバからみてパケット送信が圧倒的に多いので、用途によっては設定が簡単で、リンクアグリゲーション対応のスイッチが不要なIPMPの方が有効なケースもある。
負荷分散は接続元のIPをベースにラウンドロビンで分散されるので、複数ホストからの接続を受け付けるケースで特に有効。
■設定方法
設定方法は極めてシンプル。
vi /etc/hostname.e1000g0
--------------------------------
sol10-u24 netmask + broadcast + group ipmp up
--------------------------------
vi /etc/hostname.e1000g1
--------------------------------
group ipmp up
--------------------------------
再起動すれば設定が反映される。
root@sol10-u24 01:51:10>ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.10 netmask ffffff00 broadcast 192.168.1.255 groupname ipmp ether 0:14:4f:4a:bb:6a e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255 groupname ipmp ether 0:1b:21:4f:64:b4
■一時的なIPMP構成、解除は下記コマンドで可能
- 解除 # ifconfig e1000g0 group ''
# ifconfig e1000g1 group ''
- 構成
# ifconfig e1000g0 group ipmp
# ifconfig e1000g1 group ipmp
■負荷分散の状況を確認するには以下
# dladm show-dev -s -i 1 e1000g0
# dladm show-dev -s -i 1 e1000g1
# snoop -d e1000g1 port 80
やってみたけど、クライアントホストが1台しかないから分散までは確認できず。追加マシンを購入予定なので、環境が整ったらテストしてみる。
参考>> IPMP でネットワークの負荷を分散する
参考>> Solaris のシステム管理 (IP サービス) - 出力負荷の分散