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のみ縮退可能
ウ
ゲート ェ へ
Active
Port1 hme0
Port2 qfe3
Standby
Router Hub
だ
た のHUBでもいい
複数の種類のNICが
て も
混在し て いい 4
検査信号ベースIPMP(2)
HUBやSwitchの縮退に せる は
対応さ に
う
以下のよ な構成と 。なる
この構成ならHUB/Switchが
も
壊れて 縮退可能
HUB
Active
hme0
qfe3
Standby
Router Switch
ブッ
IPを リ ジするなら
何でも いい
5
検査信号ベースIPMP(3)
・・
心配で仕方がないなら ・
3重化以上も可能。 う て 、
以下のよ な奇怪な構成であっ も
え
検査信号さ 流れればIPMPは成立
HUB
hme0
Standby
qfe3
Switch Standby
Router
e1000g0
Layer2 Firewall Active
6
検査信号ベースIPMP(4)
検知信号の送り デフ ルト
先である ォ
ウ 、
ゲート ェ が死ぬと IPMPは全
ン フ がDownする
タェス 。
検知に と
失敗する 、
自主的に縮退動作
× ×
Switch
Active
hme0
Router Switch
Standby × qfe3
7
検査信号ベースIPMP(5)
理想的なのは、 ルータ/L3 SWの冗長化。
ォ ゲート ェ
信頼性の高いデフ ルト ウ
こ が好ま い。
がある と し
ルータの切り ま
替わり では、
フ ッ する ・・
一時的に ラ プ 事も ・
Router Switch
hme0
Active
VRRP/HSRP
qfe3
Standby
Router Switch
8
検査信号ベースIPMP(6)
ゔゕ ォ デゖ
L2フ ウ ールやメ ゕ
ン
コ バータ のブ ッ
間など リ ジデバ ス
障害を て こも
検知し 縮退する と 可能。
必ず通れる経路を 探す という
Layer2 Firewall 意味では、 ゖ グ 近い
ルーテ ン に
× ×
Router Switch
MC MC hme0
Active
VRRP/HSRP
qfe3
Standby
Router Switch
9
検査信号ベースIPMP(7)
理論的に 動く
は仮想化環境でも はず。
VM HyperVisor
Solaris
Router Switch vSwitch1
e1000g0
(emulation)
VRRP/HSRP e1000g0
e1000g1
(emulation)
Router Switch vSwitch2
e1000g1
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が使用
る う なり し 。
でき よ に ま た
検査信号は無く リ ク 見ま
、 ン 状態を す。
Active
Port1 hme0
Port2 qfe3
Standby
Router Hub
だ
た のHUBでもいい
複数の種類のNICが
て も
混在し て いい 12
ン ベース
リク IPMP(2)
現在対応する ス は以下の通り
NICのリ ト 。
hme eri ce
ge bge qfe
dmfe e1000g ixgb
nge nxge rge
xge
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 MC hme0
Active
VRRP/HSRP
qfe3
Standby
Router Switch
15
ン ゕ リ ン は(1)
リ ク グ ゲーショ と
・IPMPと モ
は違う ノ
いう
IEEE 802.3adと 標準技術です。
・Solaris10から dladm)
OS標準機能(
でも る れま bge、
使え NICは限ら す。 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
aggr1
e1000g1
17
ン ゕ リ ン は(3)
リ ク グ ゲーショ と
IPMPとの併用も可能です。
こ
基幹系も れで安心!?
e1000g0
L3 Switch
Gi0/1
Gi0/2
LAG aggr1
e1000g1
VRRP/HSRP IPMP
LAG
nxge0
LAG
Gi0/1
Gi0/2
L3 Switch aggr2
nxge1
18
ン ゕ リ ン は(4)
リ ク グ ゲーショ と
も て す。
Active/Standbyに 対応し いま
と
Ciscoだ 8Active+8Standbyが最高ですが、
う て かは不明。
Solarisの実装がど なっ いる
Intelligent Switch
e1000g0~7
Gi0/1-8 1Gbps x8
Gi0/9-16 1Gbps x8
aggr1
nxge0~7
19
ン ゕ リ ン は(5)
リ ク グ ゲーショ と
・・
でも ・
り 10G x1の方が安いのが現実。
1Gbps x8よ 、
※純正パーツ 汎用パーツ
ではなく Amazon調べ)
での比較(
E10G41AT2(ixgbe x1) EXPI9404PTL(e1000g x4)
約55,000円 x2枚 約48,000円 x2枚
C/P:5,500円/Gbps C/P:12,000円/Gbps
1Gbps x4
10Gbps x1
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
※ ード 注意※
LACPのモ に
switchport mode access Solaris側と Switch側が
mdix auto た
Active x Passive ま は
channel-group 1 mode passive Active x Active 動作し ないと、
spanning-tree portfast LAGは成立し ない。
! # dladm show-aggr -L awk '{print $1,$2}'
interface GigabitEthernet0/2 キー: 1
switchport mode access ード
LACP モ :
mdix auto デバ ス活動
channel-group 1 mode passive bge0 active
spanning-tree portfast bge1 active
!
24