NeGi project 2010 presents
Solarisネットワーク冗長技術
~おさらい編~
Kunitaka Namba
※OpenSolarisとは手順に互換性があります。
(Solaris8~10にもだいたい使えます) 1
補足
(1)突貫資料です。(最近時間が・・・
(2)動作保障できません。
経験則で書いてる部分もあります。
検証済みのは一部だけ。
逐次ご指摘歓迎!
(3)冗長化は計画的に。
2
SolarisのIPMPとは
・多分、IP-MultiPathの略称
・Solaris標準のネットワーク冗長化機能
Linuxだとbonding相当
・NICが2枚以上あれば使用可能
3
検査信号ベースIPMP(1)
検査信号を出すIPMPは古くから実装
されています。(Solaris9以前でも使用可能)
この構成はNICのみ縮退可能
検知信号はデフォルト
ゲートウェイへ
Port1
Port2
Router
Hub
Active
Standby
hme0
qfe3
ただのHUBでもいい
複数の種類のNICが
混在しててもいい
4
検査信号ベースIPMP(2)
HUBやSwitchの縮退に対応させるには
以下のような構成となる。
この構成ならHUB/Switchが
壊れても縮退可能
HUB
Router
Switch
Active
Standby
hme0
qfe3
IPをブリッジする
なら何でもいい
5
検査信号ベースIPMP(3)
心配で仕方がないなら・・・
3重化以上も可能。
以下のような奇怪な構成であっても、
検査信号さえ流れればIPMPは成立
HUB
Standby
Router
Switch
Layer2 Firewall
Standby
Active
hme0
qfe3
e1000g0
6
検査信号ベースIPMP(4)
検知信号の送り先であるデフォルト
ゲートウェイが死ぬと、IPMPは全
インタフェイスがDownする。
×
Router
検知に失敗すると、
自主的に縮退動作
Switch
Switch
Active
Standby
×
×
hme0
qfe3
7
検査信号ベースIPMP(5)
理想的なのは、ルータ/L3 SWの冗長化。
信頼性の高いデフォルトゲートウェイ
があることが好ましい。
ルータの切り替わりまでは、
一時的にフラップする事も・・・
Router
Switch
Active
hme0
VRRP/HSRP
Router
Switch
Standby
qfe3
8
検査信号ベースIPMP(6)
L2ファイアウォールやメディア
コンバータ間などのブリッジデバイス
障害を検知して縮退することも可能。
Layer2 Firewall
Router
Switch
MC
VRRP/HSRP
Router Switch
× ×
必ず通れる経路を探す という
意味では、ルーティングに近い
MC
Active
Standby
hme0
qfe3
9
検査信号ベースIPMP(7)
理論的には仮想化環境でも動くはず。
VM HyperVisor
Router
vSwitch1
Switch
Solaris
e1000g0
(emulation)
e1000g0
VRRP/HSRP
Router
Switch
e1000g1
vSwitch2
e1000g1
(emulation)
10
検知信号ベースIPMP(8)
代表IP+(検知用IP * IPMP参加NIC)
だけIPアドレスが必要です。
設定例:
/etc/hostname.hme0
192.168.0.1 netmask + broadcast + group {IPMP_Group_Name} \
up addif 192.168.0.2 netmask + broadcast + deprecated -failover up
/etc/hostname.qfe3
192.168.0.3 netmask + broadcast + deprecated group \
{IPMP_Group_Name} -failover standby up
http://unix-study.com/unix/sol8/ipmp2.txt
11
リンクベースIPMP(1)
Solaris10の一部のNICからリンク
ベース(L2検知)でのIPMPが使用
できるようになりました。
検査信号は無く、リンク状態を見ます。
Port1
Port2
Router
Hub
Active
Standby
hme0
qfe3
ただのHUBでもいい
複数の種類のNICが
混在しててもいい
12
リンクベースIPMP(2)
現在対応するNICのリストは以下の通り。
hme
ge
dmfe
nge
xge
eri
bge
e1000g
nxge
ce
qfe
ixgb
rge
http://docs.sun.com/app/docs/doc/819-0380/mpoverview-23?l=en&a=view
13
リンクベースIPMP(3)
利点:検知用のIPが不要です。
設定例:
/etc/hostname.hme0
192.168.0.1 netmask + broadcast + group {IPMP_Group_Name} up
/etc/hostname.qfe3
group {IPMP_Group_Name} up
http://blogs.sun.com/yappri/entry/link_baseipmp
14
リンクベースIPMP(4)
弱点:ブリッジデバイスの障害検出が
出来ない。
ファイアウォールとの間が活線
なので障害検知できない!!
Layer2 Firewall
Router
Switch
MC
VRRP/HSRP
Router Switch
× ×
MC
Active
Standby
hme0
qfe3
15
リンクアグリゲーションとは(1)
・IPMPとは違うモノ
IEEE 802.3adという標準技術です。
・Solaris10からOS標準機能(dladm)
でも使えるNICは限られます。bge、e1000g、xge
・対向機器(Switch等)も対応が必要
例えばCatalyst2960など。
http://docs.sun.com/app/docs/doc/819-0380/gafij?l=ja&a=view
16
リンクアグリゲーションとは(2)
リンクアグリゲーションを使うとリンク
の冗長化だけでなく、増速が可能になります。
※IEEE 802.3abなスイッチが必要
※ジャンボフレーム非対応
平時2Gbps、
片リンク時には1Gbps
Intelligent Switch
e1000g0
Gi0/1
Gi0/2
e1000g1
aggr1
17
リンクアグリゲーションとは(3)
IPMPとの併用も可能です。
基幹系もこれで安心!?
L3 Switch
e1000g0
Gi0/1
Gi0/2
LAG
VRRP/HSRP
IPMP
LAG
Gi0/1
L3 Switch
e1000g1
aggr1
LAG
nxge0
Gi0/2
nxge1
aggr2
18
リンクアグリゲーションとは(4)
Active/Standbyにも対応しています。
Ciscoだと8Active+8Standbyが最高ですが、
Solarisの実装がどうなっているかは不明。
Intelligent Switch
e1000g0~7
Gi0/1-8
1Gbps x8
Gi0/9-16
1Gbps x8
nxge0~7
aggr1
19
リンクアグリゲーションとは(5)
でも・・・
1Gbps x8より、10G x1の方が安いのが現実。
※純正パーツではなく汎用パーツでの比較(Amazon調べ)
E10G41AT2(ixgbe x1)
約55,000円 x2枚
C/P:5,500円/Gbps
10Gbps x1
EXPI9404PTL(e1000g x4)
約48,000円 x2枚
C/P:12,000円/Gbps
1Gbps x4
1Gbps x4
※論理速度あたり
20
リンクアグリゲーションとは(6)
ロジカルデバイスとしてaggrXを作る
ところから始めます。
X=1~99 でaggrデバイスの識別子の
ようなものです。
# dladm create-aggr -d e1000g0 \
-d e1000g1 1
21
リンクアグリゲーションとは(7)
# ifconfig aggr1 plumb up
すれば、すぐに使えるようになります。
IPの恒久設定は/etc/hostname.aggr1 に
行います。(hostname6.aggr1もOK)
リンクアグリゲーションの設定は、
/etc/aggregation.conf に残るようです。
22
リンクアグリゲーションとは(8)
# ifconfig aggr1 plumb up
すれば、すぐに使えるようになります。
IPの恒久設定は/etc/hostname.aggr1 に
行います。(hostname6.aggr1もOK)
リンクアグリゲーションの設定は、
/etc/aggregation.conf に残るようです。
23
リンクアグリゲーションとは(9)
Cisco Catalystでの設定例
!
interface GigabitEthernet0/1
switchport mode access
mdix auto
channel-group 1 mode passive
spanning-tree portfast
※LACPのモードに注意※
!
interface GigabitEthernet0/2
switchport mode access
mdix auto
channel-group 1 mode passive
spanning-tree portfast
!
# dladm show-aggr -L awk '{print $1,$2}'
キー: 1
LACP モード:
デバイス 活動
bge0 active
bge1 active
Solaris側とSwitch側が
Active x Passive または
Active x Active 動作しないと、
LAGは成立しない。
24
ダウンロード

検査信号ベースIPMP(1) - The NeGi project