Solaris Network関連のメモ帳
基本
dladm,ipadmで設定する。
固定IP設定の流れ
・svcadmでNWAMを無効化して、手動設定に変更
・ipadmでインターフェイスを登録
・ipadmで固定アドレスを登録
Solaris11系での固定IPの設定
Ethernetの設定(OpenIndiana)
認識されてる物理インターフェイスを確認
root@openindiana-test:~# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE e1000g0 Ethernet unknown 1000 full e1000g0 e1000g1 Ethernet up 1000 full e1000g1 root@openindiana-test:~# ipadm show-if IFNAME STATE CURRENT PERSISTENT lo0 ok -m-v------46 --- e1000g0 down bm--------46 -46 e1000g1 ok bm--------46 -46 root@openindiana-test:~# ipadm create-if e1000g0 root@openindiana-test:~# ipadm show-if IFNAME STATE CURRENT PERSISTENT lo0 ok -m-v------46 --- e1000g0 down bm--------46 -46 e1000g1 ok bm--------46 -46 root@openindiana-test:~# ipadm create-addr -T static -a 192.168.11.43/24 e1000g0/v4addr
Ethernetの設定(Solaris11)
コマンドが微妙に変わってる。
- インターフェイス作成
# ipadm create-ip net0
- アドレス設定
# ipadm create-addr -T static -a 192.168.0.1/24 net0/v4addr
Ethernet(LAG)の設定(OpenIndiana)
LAG組んでる状態でのサンプル。
root@openindiana:~# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE ibp0 Infiniband up 16000 unknown ibp0 e1000g0 Ethernet up 1000 full e1000g0 e1000g1 Ethernet up 1000 full e1000g1 e1000g3 Ethernet up 1000 full e1000g3 e1000g2 Ethernet up 1000 full e1000g2 cxge0 Ethernet down 0 unknown cxge0 root@openindiana:~# ipadm create-if aggr0 IFNAME STATE CURRENT PERSISTENT lo0 ok -m-v------46 --- pFFFF.ibp0 ok bm--------46 -46 aggr0 ok bm--------46 -46 aggr4010000 ok bm--------46 -46 root@openindiana:~# ipadm create-addr -T static -a 192.168.1.1/24 aggr0/v4addr
ここまでがipv4用設定。
ipv6用に以下を設定する。(自動設定)
root@openindiana:~# ipadm create-addr -T addrconf aggr0/v6addrauto
で、上記の結果を確認
root@openindiana:~# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 pFFFF.ibp0/v4internal static ok 192.168.3.1/24 aggr0/v4addr static ok 192.168.1.1/24 aggr4010000/v4addr static ok 192.168.2.1/24 lo0/v6 static ok ::1/128 aggr0/v6addrauto addrconf ok fe80::225:90ff:fe30:4096/10
Solaris 11 ExpressでのIPoIBの設定(OpenIndiana 151aもほぼ一緒)
ibp2でipoibを設定するにはコマンドは以下のように
root@solaris:~# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE e1000g0 Ethernet up 1000 full e1000g0 ibp2 Infiniband up 8000 unknown ibp2 root@solaris:~# dladm show-ib LINK HCAGUID PORTGUID PORT STATE PKEYS ibp2 2C903000xxxxx 2C903000xxxxx 1 up FFFF root@solaris:~# dladm create-part -l ibp2 -P 0xFFFF pFFFF.ibp2 root@solaris:~# ipadm show-if IFNAME STATE CURRENT PERSISTENT lo0 ok -m-v------46 --- e1000g0 ok bm--------46 -46 pFFFF.ibp0 disabled ------------ -46 root@solaris:~# ipadm create-if pFFFF.ibp2 root@solaris:~# ipadm show-if IFNAME STATE CURRENT PERSISTENT lo0 ok -m-v------46 --- e1000g0 ok bm--------46 -46 pFFFF.ibp2 down bm--------46 -46 pFFFF.ibp0 disabled ------------ -46 root@solaris:~# ipadm create-addr -T static -a 192.168.17.7/24 pFFFF.ibp2/v4internal root@solaris:~# ipadm show-if IFNAME STATE CURRENT PERSISTENT lo0 ok -m-v------46 --- e1000g0 ok bm--------46 -46 pFFFF.ibp2 ok bm--------46 -46 pFFFF.ibp0 disabled ------------ -46 root@solaris:~# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 e1000g0/v4internal static ok 192.168.11.6/24 pFFFF.ibp2/v4internal static ok 192.168.17.7/24 lo0/v6 static ok ::1/128 pFFFF.ibp0/v4wire static disabled 192.168.17.6/24
OpenSolaris以降でのLinkAggregationの設定
LinkAggregationを作成する前に、JumboFrame等の設定は終わらせておくこと。
集約作成
# dladm create-aggr -f -l e1000g0 -l e1000g1 -l e1000g2 -l e1000g3 aggr0
上記例だと、e1000g0 〜 e1000g3までをLinkAggregation設定してる。
集約編集
root@openindiana:~# dladm modify-aggr -P L2 aggr0 root@openindiana:~# dladm modify-aggr -L active -T short aggr0 root@openindiana:~# dladm show-aggr LINK POLICY ADDRPOLICY LACPACTIVITY LACPTIMER FLAGS aggr0 L2 auto active short f----
って感じに。
Link名の変更(Solaris 11では初期設定されているものは標準で変更されている)
物理インターフェイス名を変更
- cxge0を表示名をiscsi0へ変更する。
root@openindiana:~/# dladm rename-link cxge0 iscsi0
変更されているか確認
root@openindiana:~/# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE ibp0 Infiniband up 16000 unknown ibp0 net0 Ethernet up 1000 full e1000g0 net1 Ethernet up 1000 full e1000g1 net3 Ethernet up 1000 full e1000g3 net2 Ethernet up 1000 full e1000g2 iscsi0 Ethernet down 0 unknown cxge0
aggrの物の表示名変更
- aggr0の表示名をdefaultnet0へ変更する。
root@openindiana:~/# dladm rename-link aggr0 defaultnet0
変更されてるか確認
root@openindiana:~# dladm show-link default0 LINK CLASS MTU STATE BRIDGE OVER default0 aggr 9000 up -- net0 net1 net2 net3
固定IP割り当て
root@openindiana:~# ipadm create-if default0 root@openindiana:~# ipadm create-addr -T static -a 192.168.1.1/24 default0/v4addr
ipv6の自動アドレス割り当て
root@openindiana:~# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 ipoib0/v4addr static ok 192.168.3.1/24 iscsi1/v4addr static ok 192.168.2.1/24 default0/v4addr static ok 192.168.1.1/24 lo0/v6 static ok ::1/128 default0/v6addrauto addrconf ok fe80::225:90ff:fe30:4096/10
OpenSolaris以降でのVLANの設定
VLAN作成の方法
root@openindiana:~# dladm create-vlan -l aggr0 -v 4010 root@openindiana:~# dladm show-vlan LINK VID OVER FLAGS aggr4010000 4010 aggr0 -----
VLAN ID 4010で aggr0にVLANを作成。
作ったVLANへ固定IPを付与
root@openindiana:~# ipadm create-if aggr4010000 root@openindiana:~# ipadm show-if IFNAME STATE CURRENT PERSISTENT lo0 ok -m-v------46 --- pFFFF.ibp0 ok bm--------46 -46 aggr0 ok bm--------46 --- aggr4010000 down bm--------46 -46 root@openindiana:~# ipadm create-addr -T static -a 192.168.15.1/24 aggr4010000/v4addr root@openindiana:~# ipadm show-addr aggr4010000/v4addr ADDROBJ TYPE STATE ADDR aggr4010000/v4addr static ok 192.168.15.1/24
VLAN表示名変更
- VLAN aggr4010000の表示名をiscsi1へ変更する。
root@openindiana:~/# dladm rename-link aggr4010000 iscsi1
VLANの場合は以下のコマンドで確認
root@openindiana:~/# dladm show-vlan LINK VID OVER FLAGS iscsi1 4010 aggr0 -----
Tips的な物
JumboFrameの設定
# dladm set-linkprop -p mtu=9000 e1000g0
ってやってやる。
ipv6の設定(仮)
root@openindiana:~# ifconfig aggr0 inet6 plumb up
で、起動する。
ドライバへ設定出来る項目の確認
root@openindiana:/# dladm show-linkprop myri10ge0 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE myri10ge0 speed r- 10000 10000 -- myri10ge0 autopush rw -- -- -- myri10ge0 zone rw -- -- -- myri10ge0 duplex r- full full half,full myri10ge0 state r- up up up,down myri10ge0 adv_autoneg_cap -- -- 0 1,0 myri10ge0 mtu rw 1500 1500 1500 myri10ge0 flowctrl -- -- no no,tx,rx,bi myri10ge0 adv_10gfdx_cap r- -- 0 1,0 myri10ge0 en_10gfdx_cap -- -- 0 1,0 myri10ge0 adv_1000fdx_cap r- -- 0 1,0 myri10ge0 en_1000fdx_cap -- -- 0 1,0 myri10ge0 adv_1000hdx_cap r- -- 0 1,0 myri10ge0 en_1000hdx_cap -- -- 0 1,0 myri10ge0 adv_100fdx_cap r- -- 0 1,0 myri10ge0 en_100fdx_cap -- -- 0 1,0 myri10ge0 adv_100hdx_cap r- -- 0 1,0 myri10ge0 en_100hdx_cap -- -- 0 1,0 myri10ge0 adv_10fdx_cap r- -- 0 1,0 myri10ge0 en_10fdx_cap -- -- 0 1,0 myri10ge0 adv_10hdx_cap r- -- 0 1,0 myri10ge0 en_10hdx_cap -- -- 0 1,0 myri10ge0 maxbw rw -- -- -- LINK PROPERTY PERM VALUE DEFAULT POSSIBLE myri10ge0 cpus rw -- -- -- myri10ge0 cpus-effective r- -- -- -- myri10ge0 pool rw -- -- -- myri10ge0 pool-effective r- -- -- -- myri10ge0 priority rw high high low,medium,high myri10ge0 tagmode rw vlanonly vlanonly normal,vlanonly myri10ge0 forward rw 1 1 1,0 myri10ge0 default_tag rw 1 1 -- myri10ge0 learn_limit rw 1000 1000 -- myri10ge0 learn_decay rw 200 200 -- myri10ge0 stp rw 1 1 1,0 myri10ge0 stp_priority rw 128 128 -- myri10ge0 stp_cost rw auto auto -- myri10ge0 stp_edge rw 1 1 1,0 myri10ge0 stp_p2p rw auto auto true,false,auto myri10ge0 stp_mcheck rw 0 0 1,0 myri10ge0 protection rw -- -- mac-nospoof, restricted, ip-nospoof, dhcp-nospoof myri10ge0 allowed-ips rw -- -- -- myri10ge0 allowed-dhcp-cids rw -- -- -- myri10ge0 rxrings rw -- -- -- myri10ge0 rxrings-effective r- -- -- -- myri10ge0 txrings rw -- -- -- myri10ge0 txrings-effective r- -- -- -- LINK PROPERTY PERM VALUE DEFAULT POSSIBLE myri10ge0 txrings-available r- 0 -- -- myri10ge0 rxrings-available r- 0 -- -- myri10ge0 rxhwclnt-available r- 0 -- -- myri10ge0 txhwclnt-available r- 0 -- --
NexentaCoreでの固定IPの設定
ethernet系
NexentaCoreでのIPoIB設定
- 接続されてるネットワークの確認
以下、NexentaCore
root@nexenta:~# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE igb2 Ethernet unknown 0 half igb2 e1000g1 Ethernet unknown 0 half e1000g1 e1000g0 Ethernet unknown 0 half e1000g0 igb0 Ethernet up 1000 full igb0 igb1 Ethernet unknown 0 half igb1 igb3 Ethernet unknown 0 half igb3 ibd0 Infiniband up 16000 unknown ibd0
以下、Solaris Express 11とかOnenIndianaとかSolaris 11 EAとか
こっちの場合は、Solaris 11 ExpressでのIPoIBの設定を参照のこと
root@solaris:~/bin# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE e1000g0 Ethernet up 1000 full e1000g0 ibp2 Infiniband up 16000 unknown ibp2
sunwipoibを導入することが必須。ドライバが入るとibdインターフェイスが生えてくるので、それに対してipを付与してやること。
サンプル(一部伏せ字)
root@nexenta:/export/home/admin# ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 ibd0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 65520 index 2 inet 192.168.*.* netmask ffffff00 broadcast 192.168.*.255 ipib 80:0:0:4c:fe:80:0:0:0:0:0:0:0:*:c9:3:0:*:*:* ibd1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 65520 index 3 inet 192.168.*.* netmask ffffff00 broadcast 192.168.*.255 ipib 80:0:0:4d:fe:80:0:0:0:0:0:0:0:*:c9:3:0:*:*:* igb2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4 inet 192.168.*.* netmask ffffff00 broadcast 192.168.*.255 ether 0:1b:21:*:*:* lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128
NexentaCoreでのベンチ
(旧環境)IPoIBでのパフォーマンスは以下くらい。
Host1は、NexentaCore 3.01
Host2は、Debian sid
admin@nexentacore:~$ iperf -c 192.168.17.5 -w 128k -N ------------------------------------------------------------ Client connecting to 192.168.17.5, TCP port 5001 TCP window size: 128 KByte ------------------------------------------------------------ [ 3] local 192.168.17.31 port 46905 connected with 192.168.17.5 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 2.26 GBytes 1.94 Gbits/sec
(新環境)IPoIBでのパフォーマンスは以下くらい。
旧環境とサーバが逆で、両環境ともにInfiniBandのカードはConnectXに変更
Host1は、NexentaCore 3.01
Host2は、Debian sid
root@debian:# iperf -c 192.168.17.231 -w 128k -N ------------------------------------------------------------ Client connecting to 192.168.17.231, TCP port 5001 TCP window size: 256 KByte (WARNING: requested 128 KByte) ------------------------------------------------------------ [ 3] local 192.168.17.5 port 50382 connected with 192.168.17.231 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 4.79 GBytes 4.11 Gbits/sec
- はまった事
NexentaCoreのIPoIBのドライバはOI151aやOracle Solarisに比べてちょっと古いバージョンが入ってるんだけど、iperfでネットワークパフォーマンスを測定しようとするとhermonドライバからコケル。ちょっとこれは頂けないのでoi151aにバージョンアップしてしまうか考え中。