Solaris11 IPMP

きょうはIPMPでもやってみますか。

まず2本NICを刺しておきます。起動したら両方ともDHCPでIPアドレスが振られてました。

root@solaris:~# dladm
LINK                CLASS     MTU    STATE    OVER
net0                phys      1500   up       --
net1                phys      1500   up       --
root@solaris:~# ipadm show-addr
ADDROBJ           TYPE     STATE        ADDR
lo0/v4            static   ok           127.0.0.1/8
net0/v4           dhcp     ok           192.168.0.7/24
net1/v4           dhcp     ok           192.168.0.8/24
lo0/v6            static   ok           ::1/128
net0/v6           addrconf ok           fe80::20c:29ff:fe19:3f14/10
net0/v6           addrconf ok           2001:c90:8224:afe:20c:29ff:fe19:3f14/64
net1/v6           addrconf ok           fe80::20c:29ff:fe19:3f1e/10
net1/v6           addrconf ok           2001:c90:8224:afe:20c:29ff:fe19:3f1e/64
root@solaris:~# 

これらを link-based IPMP にして、IPアドレスを1つ付けるように変えてみます。

まずいま付いているIPアドレスを削除。

root@solaris:~# ipadm delete-addr net0/v4
root@solaris:~# ipadm delete-addr net1/v4
root@solaris:~# ipadm delete-addr net0/v6
root@solaris:~# ipadm delete-addr net1/v6
root@solaris:~# ipadm
NAME              CLASS/TYPE STATE        UNDER      ADDR
lo0               loopback   ok           --         --
   lo0/v4         static     ok           --         127.0.0.1/8
   lo0/v6         static     ok           --         ::1/128
net0              ip         down         --         --
net1              ip         down         --         --

次にIPMPインタフェースを作成します。

root@solaris:~# ipadm enable-if -t net0
root@solaris:~# ipadm enable-if -t net1
root@solaris:~# ipadm create-ipmp ipmp0
root@solaris:~# ipadm add-ipmp -i net0 -i net1 ipmp0
root@solaris:~# ipmpstat -g
GROUP       GROUPNAME   STATE     FDT       INTERFACES
ipmp0       ipmp0       ok        --        net1 net0
root@solaris:~# ipadm
NAME              CLASS/TYPE STATE        UNDER      ADDR
ipmp0             ipmp       down         --         --
lo0               loopback   ok           --         --
   lo0/v4         static     ok           --         127.0.0.1/8
   lo0/v6         static     ok           --         ::1/128
net0              ip         ok           ipmp0      --
net1              ip         ok           ipmp0      --

IPMPに対してIPアドレスを振ります。ここでは 192.168.0.220 にしました。

root@solaris:~# ipadm create-addr -T static -a 192.168.0.220/24 ipmp0/v4
root@solaris:~# ipadm
NAME              CLASS/TYPE STATE        UNDER      ADDR
ipmp0             ipmp       ok           --         --
   ipmp0/v4       static     ok           --         192.168.0.220/24
lo0               loopback   ok           --         --
   lo0/v4         static     ok           --         127.0.0.1/8
   lo0/v6         static     ok           --         ::1/128
net0              ip         ok           ipmp0      --
net1              ip         ok           ipmp0      --

いまは inbound に net0、outbound に net0 と net1 の両方が使われていることがわかります。

root@solaris:~# ipmpstat -a
ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
::                        down   ipmp0       --          --
192.168.0.220             up     ipmp0       net0        net1 net0

VMware で net0 を止めてみます。

IPMP

ssh で接続していたのですが、セッションが切れずに net1 だけが使われるようになりました。

root@solaris:~# ipmpstat -a
ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
::                        down   ipmp0       --          --
192.168.0.220             up     ipmp0       net1        net1

syslog には次のように記録されます。

Jan  7 15:56:27 solaris mac: [ID 486395 kern.info] NOTICE: e1000g0 link down
Jan  7 15:56:27 solaris in.mpathd[84]: [ID 215189 daemon.error] The link has gone down on net0
Jan  7 15:56:27 solaris in.mpathd[84]: [ID 968981 daemon.error] IP interface failure detected on net0 of group ipmp0

戻しておきます。接続復旧時の syslog はこんな感じ。

Jan  7 16:00:17 solaris mac: [ID 435574 kern.info] NOTICE: e1000g0 link up, 1000 Mbps, full duplex
Jan  7 16:00:17 solaris in.mpathd[84]: [ID 820239 daemon.error] The link has come up on net0

(参考文献)

 

(補足)

そのままでは外に出ないようになっていました。

root@solaris:~# netstat -r

Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface 
-------------------- -------------------- ----- ----- ---------- --------- 
solaris              solaris              UH        2       2868 lo0       
192.168.0.0          192.168.0.220        U         3       1818 ipmp0     

Routing Table: IPv6
(略)

デフォルトゲートウェイを追加しておきます。

root@solaris:~# route -p add default 192.168.0.1
add net default: gateway 192.168.0.1
add persistent net default: gateway 192.168.0.1
root@solaris:~# netstat -r

Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface 
-------------------- -------------------- ----- ----- ---------- --------- 
default              192.168.0.1          UG        1          0           
solaris              solaris              UH        2       2892 lo0       
192.168.0.0          192.168.0.220        U         3       2079 ipmp0 

外には出ることができるようになりましたが、名前が引けないので設定しておきます。

root@solaris:~# svccfg -s svc:/network/dns/client setprop \
> config/nameserver=net_address: '(192.168.0.1)'
root@solaris:~#
root@solaris:~# svccfg -s svc:/network/dns/client listprop config
config                      application        
config/value_authorization astring     solaris.smf.value.name-service.dns.client
config/nameserver          net_address 192.168.0.1
root@solaris:~# svcadm refresh svc:/network/dns/client
root@solaris:~#

これで名前も引けるようになりました。

root@solaris:~# ping sugimura.cc
sugimura.cc is alive

 

Solaris11

久しぶりにちょっとやる気が出てきたということで、VMware Fusion 上で Solaris11.2 を入れてみました。

root@solaris:~# uname -a
SunOS solaris 5.11 11.2 i86pc i386 i86pc

ディスクを追加して実験用にzoneを作って遊ぼうと思ってます。

root@solaris:~# format 
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c2t0d0 
          /pci@0,0/pci15ad,1976@10/sd@0,0
       1. c2t1d0 
          /pci@0,0/pci15ad,1976@10/sd@1,0
Specify disk (enter its number): (以下略)

zfs の pool として作成。

root@solaris:~# zpool create mypool /dev/dsk/c2t1d0
root@solaris:~# zpool list
NAME     SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
mypool  19.9G   112K  19.9G   0%  1.00x  ONLINE  -
rpool   15.6G  4.85G  10.8G  31%  1.00x  ONLINE  -
root@solaris:~# 

このmypoolから切り出してzoneを作っていく予定です。今回はここまで。

 

試験結果

来ました。

  • 特許・実用新案 D
  • 意匠 D
  • 商標 E

撤退を決意するには十分でした。教材を整理します。。

不合格

不合格でした。これで三振なので、来年からまた受けるとしても一次からやり直しになります。

どうするかしばらく考えます…