cloudstack birthday party nakaya 20141106

46
Apache CloudStack Birthday Party in Japan LT 2014/11/6 Satoru Nakaya(@giraffeforestg)____ http://giraffeforestg.blog.fc2.com/

Upload: satoru-nakaya

Post on 20-Aug-2015

656 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: CloudStack BirthDay Party nakaya 20141106

Apache CloudStack

Birthday Party in Japan

LT

2014/11/6Satoru Nakaya(@giraffeforestg)____

http://giraffeforestg.blog.fc2.com/

Page 2: CloudStack BirthDay Party nakaya 20141106

2

Happy Birthday !

Page 3: CloudStack BirthDay Party nakaya 20141106

自己紹介■ 中谷 悟 / Satoru Nakaya / @giraffeforestg■ 岐阜 , 名古屋■ オープンソースクラウド や 大学情報基盤 を担当■ 日本CloudStackユーザ会 名古屋⽀部⻑■ VMware Certified Advanced Professional■ CCA for Citrix XenServer■ RHCSA OpenStack

本日はよろしくお願いします。( ´ ▽ ` )ノ

3

Page 4: CloudStack BirthDay Party nakaya 20141106

4

岐阜(Gifu)

2.5 hours

Page 5: CloudStack BirthDay Party nakaya 20141106

5

Page 6: CloudStack BirthDay Party nakaya 20141106

6

Page 7: CloudStack BirthDay Party nakaya 20141106

最近の活動

7

■ User Group Meeting• Vol.19 (名古屋) CloudStack 4.3 VirtualRouter Deep Drive• Vol.20 (大阪) CloudStack 4.3 VirtualRouter Deep Drive V2• Vol.21 (東京) Apache CloudStack 4.4 New features of VPC

■ Bug Report • CLOUDSTACK-7789 , 7630 , 7411 , 7410 , 5811 , 5190 , 5189 ,

3457 , 2926 , 2908 , 2907 , 2905■ Blog

• http://cloudstack.jp/• http://giraffeforestg.blog.fc2.com/

■ Event• CloudStack Day Japan 2014

■ ML Support

Page 8: CloudStack BirthDay Party nakaya 20141106

8

User Group Meeting vol.19

名古屋初開催

Page 9: CloudStack BirthDay Party nakaya 20141106

9

Page 10: CloudStack BirthDay Party nakaya 20141106

10

Page 11: CloudStack BirthDay Party nakaya 20141106

今後の貢献予定

11

■ User Group Meeting• 名古屋ユーザ会 2015• 各地(名古屋・大阪・東京)のユーザ会への参加

■ Bug Report • 継続実施 (いつかはPatchや新機能をつくりたい)

■ Blog• http://cloudstack.jp/

技術系を中心に寄稿していきます■ ML Support

• 継続実施

Page 12: CloudStack BirthDay Party nakaya 20141106

12

ところで

Page 13: CloudStack BirthDay Party nakaya 20141106

13

10月末LTやってね

オファー

Page 14: CloudStack BirthDay Party nakaya 20141106

14

本日のお題

Page 15: CloudStack BirthDay Party nakaya 20141106

15

エコシステム

Page 16: CloudStack BirthDay Party nakaya 20141106

16

CloudStack+

OpenVNet

Page 17: CloudStack BirthDay Party nakaya 20141106

17

Page 18: CloudStack BirthDay Party nakaya 20141106

18

VM Instance

OpenVNetNetwork

Virtualization

構想SDN

&Scaleout

Page 19: CloudStack BirthDay Party nakaya 20141106

19

OpenVNetさわったことがない

Page 20: CloudStack BirthDay Party nakaya 20141106

20

Page 21: CloudStack BirthDay Party nakaya 20141106

21

やってみた!CloudStackOpenVNet

Integration

Page 22: CloudStack BirthDay Party nakaya 20141106

22

OpenVNetとは

Page 23: CloudStack BirthDay Party nakaya 20141106

23

・株式会社あくしゅ(様) axsh・Wakame-vdc スピンオフ・2013/3〜・ネットワーク仮想化・オープンソース (LGPLv3)・OpenFlow 1.3・エッジオーバレイ・MAC2MAC / GRE Tunnnel・分散スイッチ / 分散ルータ

Page 24: CloudStack BirthDay Party nakaya 20141106

24

http://www.slideshare.net/yasuhiro_yamazaki/openvnet-updates-201311-in-tremaday04

Page 25: CloudStack BirthDay Party nakaya 20141106

25

https://github.com/axsh/openvnet/

Page 26: CloudStack BirthDay Party nakaya 20141106

26

結論

Page 27: CloudStack BirthDay Party nakaya 20141106

27

なんとか同居できました

Page 28: CloudStack BirthDay Party nakaya 20141106

28

構成

CentOS 6.4 / KVM

Open vSwitch 1.10

VM VMCloudStackAgent

OpenVNetAgent

ACS4.4.1

20141028112732

Page 29: CloudStack BirthDay Party nakaya 20141106

29

Open vSwitch 1.10

VM VMCloudStackAgent

OpenVNetAgent

フローテーブルの制御(isolation)

AVMの管理Open vSwitchとvPort接続

Page 30: CloudStack BirthDay Party nakaya 20141106

30

Open vSwitch

VNet1 VNet2

VM

VM

VM VMVM

VM

VLANなしでネットワーク隔離(L2スライス)

Page 31: CloudStack BirthDay Party nakaya 20141106

31

インテグレーションのポイント

Page 32: CloudStack BirthDay Party nakaya 20141106

32

・Apache CloudStack 4.4.1・Basic Network・CloudStack-Agent Config

/etc/cloudstack/agent/agent.properties:

network.bridge.type=openvswitchlibvirt.vif.driver=com.cloud.hypervisor.kvm.resource.OvsVifDriver

Page 33: CloudStack BirthDay Party nakaya 20141106

33

・VMを作成しMAC,IP,OVSの接続ポートを調べておく→OpenVNetのフロー制御に必要

Page 34: CloudStack BirthDay Party nakaya 20141106

34

mysql> SELECT instance_name,private_mac_address,private_ip_addressFROM cloud.vm_instance WHERE instance_name LIKE 'i-%';+---------------+---------------------+--------------------+| instance_name | private_mac_address | private_ip_address|+---------------+---------------------+--------------------+| i-2-6-VM | 06:69:7a:00:00:35 | 10.0.5.52 || i-2-8-VM | 06:7f:5e:00:00:3f | 10.0.5.62 |+---------------+---------------------+--------------------+2 rows in set (0.00 sec)

mysql>

・VMのMAC,IP (DBから)

Page 35: CloudStack BirthDay Party nakaya 20141106

35

・VMのMAC,IP (APIから)

listVirtualMachines

Response Tagsinstancename

:nic(*)

:ipaddressmacaddress

:

Page 36: CloudStack BirthDay Party nakaya 20141106

36

[root@kvm01 ~]# virsh listId Name State

----------------------------------------------------1 v-4-VM running2 s-5-VM running3 r-7-VM running4 i-2-6-VM running5 i-2-8-VM running

[root@kvm01 ~]# virsh dumpxml i-2-6-VM | grep"<target dev='vnet“

<target dev='vnet9'/>[root@kvm01 ~]#

・OVSの接続ポート

Page 37: CloudStack BirthDay Party nakaya 20141106

37

・OpenVNetに仮想ネットワークのデータを登録する

vnctl networks add --uuid nw-ovnet1 --display-name ovnet1 --ipv4-network 10.0.5.0 --ipv4-prefix 24 --network-mode virtual

vnctl datapaths add --uuid dp-node1 --display-name node1 --node-id node1 --dpid0x00004e6d2b508f4c

vnctl interfaces add --uuid if-ovnet9 --mac-address 06:69:7a:00:00:35 --network-uuidnw-ovnet1 --ipv4-address 10.0.5.52 --port-name vnet9

vnctl interfaces add --uuid if-ovnet10 --mac-address 06:7f:5e:00:00:3f --network-uuidnw-ovnet1 --ipv4-address 10.0.5.62 --port-name vnet10

vnctl interfaces add --uuid if-ovnet1 --mac-address 52:54:00:74:00:00 --network-uuidnw-ovnet1 --ipv4-address 10.0.5.8 --port-name if-ovnet1

vnctl interfaces add --uuid if-dhcp1 --mac-address 52:54:00:74:00:10 --network-uuidnw-ovnet1 --ipv4-address 10.0.5.9 --mode simulated

vnctl network-services add --interface-uuid if-dhcp1 --display-name 'our dhcp server' --type "dhcp"

vnctl datapaths networks add dp-node1 nw-ovnet1 --broadcast-mac-address 08:00:27:10:01:01 --interface-uuid if-ovnet1

Page 38: CloudStack BirthDay Party nakaya 20141106

38

・OpenVNetに仮想ネットワークのデータを登録する

vnctl interfaces add--uuid if-ovnet9--mac-address 06:69:7a:00:00:35--network-uuid nw-ovnet1--ipv4-address 10.0.5.52--port-name vnet9

Page 39: CloudStack BirthDay Party nakaya 20141106

39

できあがったフローテーブル[root@kvm01 ~]# ovs-ofctl dump-flows br2NXST_FLOW reply (xid=0x4):cookie=0x900000000000000, duration=162.553s, table=0, n_packets=0, n_bytes=0, idle_age=162, priority=1,tun_id=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=0, n_packets=0, n_bytes=0, idle_age=162, priority=2,in_port=CONTROLLER actions=write_metadata:0x4040000000000/0x40c0000000000cookie=0x500000000000005, duration=162.337s, table=0, n_packets=0, n_bytes=0, idle_age=162, priority=2,in_port=5 actions=write_metadata:0x700040000000002/0xff000c007fffffffcookie=0x5000000fffffffe, duration=162.373s, table=0, n_packets=0, n_bytes=0, idle_age=162, priority=2,in_port=LOCAL actions=write_metadata:0x40000000000/0xc0000000000cookie=0x500000000000004, duration=162.337s, table=0, n_packets=0, n_bytes=0, idle_age=162, priority=2,in_port=4 actions=write_metadata:0x700040000000001/0xff000c007fffffffcookie=0x900000000000000, duration=162.553s, table=0, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=write_metadata:0x80000000000/0xc0000000000cookie=0x900000000000000, duration=162.553s, table=3, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x400000000000002, duration=161.957s, table=4, n_packets=0, n_bytes=0, idle_age=161, priority=30,tun_id=0x80000002 actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0x900000000000000, duration=162.553s, table=4, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=6, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0xc00001300000004, duration=162.129s, table=7, n_packets=0, n_bytes=0, idle_age=162, priority=30,dl_src=52:54:00:74:00:10 actions=write_metadata:0x700000000000004/0xff0000007fffffffcookie=0x900000000000000, duration=162.553s, table=7, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=8, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=9, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=10, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x200000000000001, duration=162.422s, table=10, n_packets=0, n_bytes=0, idle_age=162, priority=30,metadata=0x700000000000003/0xff0000007fffffff,dl_dst=08:00:27:10:01:01 actions=load:0xffffffffffff->NXM_OF_ETH_DST[],write_metadata:0x8000000280000000/0xffffffff80000000cookie=0xc00001300000001, duration=162.129s, table=11, n_packets=0, n_bytes=0, idle_age=162, priority=50,arp,arp_sha=06:69:7a:00:00:35 actions=dropcookie=0xc00001300000002, duration=162.129s, table=11, n_packets=0, n_bytes=0, idle_age=162, priority=50,arp,arp_sha=06:7f:5e:00:00:3f actions=dropcookie=0xc00001300000004, duration=162.129s, table=11, n_packets=0, n_bytes=0, idle_age=162, priority=50,arp,arp_sha=52:54:00:74:00:10 actions=dropcookie=0xc00001200000002, duration=161.957s, table=11, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,dl_dst=06:7f:5e:00:00:3f,nw_dst=10.0.5.62 actions=write_metadata:0x8000000280000000/0xffffffff80000000cookie=0xc00001200000004, duration=161.957s, table=11, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,dl_dst=52:54:00:74:00:10,nw_dst=10.0.5.9 actions=write_metadata:0x8000000280000000/0xffffffff80000000cookie=0xc00001200000004, duration=161.957s, table=11, n_packets=0, n_bytes=0, idle_age=161, priority=30,arp,dl_dst=52:54:00:74:00:10,arp_tpa=10.0.5.9 actions=write_metadata:0x8000000280000000/0xffffffff80000000cookie=0xc00001200000001, duration=161.957s, table=11, n_packets=0, n_bytes=0, idle_age=161, priority=30,arp,dl_dst=06:69:7a:00:00:35,arp_tpa=10.0.5.52 actions=write_metadata:0x8000000280000000/0xffffffff80000000cookie=0xc00001200000001, duration=161.957s, table=11, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,dl_dst=06:69:7a:00:00:35,nw_dst=10.0.5.52 actions=write_metadata:0x8000000280000000/0xffffffff80000000cookie=0xc00001200000002, duration=161.957s, table=11, n_packets=0, n_bytes=0, idle_age=161, priority=30,arp,dl_dst=06:7f:5e:00:00:3f,arp_tpa=10.0.5.62 actions=write_metadata:0x8000000280000000/0xffffffff80000000cookie=0xc00001300000002, duration=162.129s, table=11, n_packets=0, n_bytes=0, idle_age=162, priority=50,dl_src=06:7f:5e:00:00:3f actions=dropcookie=0xc00001300000001, duration=162.129s, table=11, n_packets=0, n_bytes=0, idle_age=162, priority=50,dl_src=06:69:7a:00:00:35 actions=dropcookie=0xc00001300000004, duration=162.129s, table=11, n_packets=0, n_bytes=0, idle_age=162, priority=50,dl_src=52:54:00:74:00:10 actions=dropcookie=0x900000000000000, duration=162.553s, table=11, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0xc00001200000001, duration=161.957s, table=12, n_packets=0, n_bytes=0, idle_age=161, priority=90,arp,metadata=0x8000000200000000/0xffffffff00000000,arp_spa=10.0.5.52 actions=dropcookie=0xc00001200000001, duration=161.957s, table=12, n_packets=0, n_bytes=0, idle_age=161, priority=90,ip,metadata=0x8000000200000000/0xffffffff00000000,nw_src=10.0.5.52 actions=dropcookie=0xc00001200000004, duration=161.957s, table=12, n_packets=0, n_bytes=0, idle_age=161, priority=90,ip,metadata=0x8000000200000000/0xffffffff00000000,nw_src=10.0.5.9 actions=dropcookie=0xc00001200000002, duration=161.957s, table=12, n_packets=0, n_bytes=0, idle_age=161, priority=90,ip,metadata=0x8000000200000000/0xffffffff00000000,nw_src=10.0.5.62 actions=dropcookie=0xc00001200000002, duration=161.957s, table=12, n_packets=0, n_bytes=0, idle_age=161, priority=90,arp,metadata=0x8000000200000000/0xffffffff00000000,arp_spa=10.0.5.62 actions=dropcookie=0xc00001200000004, duration=161.957s, table=12, n_packets=0, n_bytes=0, idle_age=161, priority=90,arp,metadata=0x8000000200000000/0xffffffff00000000,arp_spa=10.0.5.9 actions=dropcookie=0x200000000000001, duration=162.422s, table=12, n_packets=0, n_bytes=0, idle_age=162, priority=1,metadata=0x8000000280000003 actions=write_metadata:0x300080000000002cookie=0x900000000000000, duration=162.553s, table=12, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=13, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0xc00001200000004, duration=161.957s, table=15, n_packets=0, n_bytes=0, idle_age=161, priority=30,arp,metadata=0x700000000000004/0xff0000007fffffff,dl_src=52:54:00:74:00:10,arp_spa=10.0.5.9,arp_sha=52:54:00:74:00:10 actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0xc00001200000001, duration=161.957s, table=15, n_packets=0, n_bytes=0, idle_age=161, priority=30,arp,metadata=0x700000000000001/0xff0000007fffffff,dl_src=06:69:7a:00:00:35,arp_spa=10.0.5.52,arp_sha=06:69:7a:00:00:35 actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0xc00001200000002, duration=161.957s, table=15, n_packets=0, n_bytes=0, idle_age=161, priority=30,arp,metadata=0x700000000000002/0xff0000007fffffff,dl_src=06:7f:5e:00:00:3f,arp_spa=10.0.5.62,arp_sha=06:7f:5e:00:00:3f actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0x900000000000000, duration=162.553s, table=15, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0xc00001200000001, duration=161.957s, table=15, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,metadata=0x700000000000001/0xff0000007fffffff,dl_src=06:69:7a:00:00:35,nw_src=10.0.5.52 actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0xc00001200000001, duration=161.957s, table=15, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,metadata=0x700000000000001/0xff0000007fffffff,dl_src=06:69:7a:00:00:35,nw_src=0.0.0.0 actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0xc00001200000002, duration=161.957s, table=15, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,metadata=0x700000000000002/0xff0000007fffffff,dl_src=06:7f:5e:00:00:3f,nw_src=0.0.0.0 actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0xc00001200000002, duration=161.957s, table=15, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,metadata=0x700000000000002/0xff0000007fffffff,dl_src=06:7f:5e:00:00:3f,nw_src=10.0.5.62 actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0xc00001200000004, duration=161.957s, table=15, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,metadata=0x700000000000004/0xff0000007fffffff,dl_src=52:54:00:74:00:10,nw_src=0.0.0.0 actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0xc00001200000004, duration=161.957s, table=15, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,metadata=0x700000000000004/0xff0000007fffffff,dl_src=52:54:00:74:00:10,nw_src=10.0.5.9 actions=write_metadata:0x300000000000002/0xff0000007fffffffcookie=0x900000000000000, duration=162.553s, table=16, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=17, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=18, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x400000000000002, duration=161.957s, table=20, n_packets=0, n_bytes=0, idle_age=161, priority=40,arp,metadata=0x300080000000002/0xff000c007fffffff actions=dropcookie=0x400000000000002, duration=161.957s, table=20, n_packets=0, n_bytes=0, idle_age=161, priority=30,metadata=0x300000000000002/0xff0000007fffffff actions=dropcookie=0x200000000000001, duration=162.422s, table=20, n_packets=0, n_bytes=0, idle_age=162, priority=90,dl_dst=08:00:27:10:01:01 actions=dropcookie=0x200000000000001, duration=162.422s, table=20, n_packets=0, n_bytes=0, idle_age=162, priority=90,dl_src=08:00:27:10:01:01 actions=dropcookie=0x900000000000000, duration=162.553s, table=20, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x400000000000002, duration=162.086s, table=21, n_packets=0, n_bytes=0, idle_age=162, priority=1,arp,metadata=0x300080000000002/0xff000c007fffffff actions=learn(table=43,idle_timeout=36000,priority=35,cookie=0x400000000000002,metadata=0x300040000000002,NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[])cookie=0x400000000000002, duration=162.099s, table=21, n_packets=0, n_bytes=0, idle_age=162, priority=3,arp,tun_id=0,metadata=0x300080000000002/0xff000c007fffffff actions=learn(table=43,idle_timeout=36000,priority=35,cookie=0x400000000000002,metadata=0x300040000000002,NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],output:NXM_OF_IN_PORT[])cookie=0x900000000000000, duration=162.553s, table=21, n_packets=0, n_bytes=0, idle_age=162, priority=2,arp,tun_id=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=21, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=30, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=31, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=32, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=33, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=34, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=35, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=36, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=37, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0xc00001200000001, duration=161.957s, table=40, n_packets=0, n_bytes=0, idle_age=161, priority=40,ip,metadata=0x300000000000002/0xff0000007fffffff,nw_dst=10.0.5.52 actions=load:0x6697a000035->NXM_OF_ETH_DST[]cookie=0xc00001200000002, duration=161.957s, table=40, n_packets=0, n_bytes=0, idle_age=161, priority=40,ip,metadata=0x300000000000002/0xff0000007fffffff,nw_dst=10.0.5.62 actions=load:0x67f5e00003f->NXM_OF_ETH_DST[]cookie=0xc00001200000004, duration=161.957s, table=40, n_packets=0, n_bytes=0, idle_age=161, priority=40,ip,metadata=0x300000000000002/0xff0000007fffffff,nw_dst=10.0.5.9 actions=load:0x525400740010->NXM_OF_ETH_DST[]cookie=0x900000000000000, duration=162.553s, table=40, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0xc00004100000004, duration=161.957s, table=41, n_packets=0, n_bytes=0, idle_age=161, priority=20,ip,metadata=0x300000000000002/0xff0400007fffffff,dl_src=52:54:00:74:00:10 actions=CONTROLLER:65535cookie=0xc00004100000004, duration=161.957s, table=41, n_packets=0, n_bytes=0, idle_age=161, priority=30,ip,metadata=0x300000000000002/0xff0400007fffffff,dl_src=52:54:00:74:00:10,nw_dst=10.0.5.0/24 actions=CONTROLLER:65535cookie=0x900000000000000, duration=162.553s, table=41, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x400000000000002, duration=161.957s, table=42, n_packets=0, n_bytes=0, idle_age=161, priority=30,metadata=0x300000000000002/0xff0000007fffffff actions=dropcookie=0x200000000000001, duration=162.422s, table=42, n_packets=0, n_bytes=0, idle_age=162, priority=90,dl_dst=08:00:27:10:01:01 actions=dropcookie=0x200000000000001, duration=162.422s, table=42, n_packets=0, n_bytes=0, idle_age=162, priority=90,dl_src=08:00:27:10:01:01 actions=dropcookie=0x900000000000000, duration=162.553s, table=42, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=43, n_packets=0, n_bytes=0, idle_age=162, priority=30,dl_dst=ff:ff:ff:ff:ff:ff actions=dropcookie=0xc00001200000002, duration=161.957s, table=43, n_packets=0, n_bytes=0, idle_age=161, priority=60,metadata=0x300000000000002/0xff0000007fffffff,dl_dst=06:7f:5e:00:00:3f actions=write_metadata:0x700000000000002/0xff0000007fffffffcookie=0xc00001200000001, duration=161.957s, table=43, n_packets=0, n_bytes=0, idle_age=161, priority=60,metadata=0x300000000000002/0xff0000007fffffff,dl_dst=06:69:7a:00:00:35 actions=write_metadata:0x700000000000001/0xff0000007fffffffcookie=0xc00001200000004, duration=161.957s, table=43, n_packets=0, n_bytes=0, idle_age=161, priority=60,metadata=0x300000000000002/0xff0000007fffffff,dl_dst=52:54:00:74:00:10 actions=write_metadata:0x700000000000004/0xff0000007fffffffcookie=0x900000000000000, duration=162.553s, table=43, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0xc00007100000002, duration=162.26s, table=45, n_packets=0, n_bytes=0, idle_age=162, priority=90,metadata=0x700000000000002/0xff0000007fffffff actions=dropcookie=0xc00007100000001, duration=162.26s, table=45, n_packets=0, n_bytes=0, idle_age=162, priority=90,metadata=0x700000000000001/0xff0000007fffffff actions=dropcookie=0xc00007100000004, duration=162.26s, table=45, n_packets=0, n_bytes=0, idle_age=162, priority=90,metadata=0x700000000000004/0xff0000007fffffff actions=dropcookie=0xe00001100000000, duration=162.809s, table=45, n_packets=0, n_bytes=0, idle_age=162, priority=90,arp actions=dropcookie=0x900000000000000, duration=162.553s, table=45, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=46, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x800002200000001, duration=161.883s, table=50, n_packets=0, n_bytes=0, idle_age=161, priority=30,udp,metadata=0x300000000000002/0xff0000007fffffff,nw_src=0.0.0.0,nw_dst=255.255.255.255,tp_src=68,tp_dst=67 actions=write_metadata:0x700000000000004/0xff0000007fffffffcookie=0x900000000000000, duration=162.553s, table=50, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0xc00001200000004, duration=161.957s, table=50, n_packets=0, n_bytes=0, idle_age=161, priority=30,arp,metadata=0x300000000000002/0xff0000007fffffff,arp_tpa=10.0.5.9,arp_op=1,arp_tha=00:00:00:00:00:00 actions=write_metadata:0x700000000000004/0xff0000007fffffffcookie=0x400000000000002, duration=161.957s, table=51, n_packets=0, n_bytes=0, idle_age=161, priority=1,metadata=0x300000000000002/0xff0000007fffffff actions=output:5,output:4cookie=0x900000000000000, duration=162.553s, table=51, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=52, n_packets=0, n_bytes=0, idle_age=162, priority=10,metadata=0x80000000000/0xc0000000000 actions=dropcookie=0x900000000000000, duration=162.553s, table=52, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=53, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=70, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=71, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=72, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=73, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x200000000000001, duration=162.422s, table=74, n_packets=0, n_bytes=0, idle_age=162, priority=1,metadata=0x300000000000002/0xff0000007fffffff actions=write_metadata:0x700000000000003/0xff0000007fffffffcookie=0x900000000000000, duration=162.553s, table=74, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=80, n_packets=0, n_bytes=0, idle_age=162, priority=2,dl_dst=ff:ff:ff:ff:ff:ff actions=dropcookie=0x900000000000000, duration=162.553s, table=80, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x200000000000001, duration=162.422s, table=81, n_packets=0, n_bytes=0, idle_age=162, priority=1,metadata=0x8000000200000000/0xffffffff00000000 actions=write_metadata:0x8000000300000000/0xffffffff00000000cookie=0x900000000000000, duration=162.553s, table=81, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=82, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=84, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=85, n_packets=0, n_bytes=0, idle_age=162, priority=1,tun_id=0x10000001 actions=dropcookie=0x900000000000000, duration=162.553s, table=85, n_packets=0, n_bytes=0, idle_age=162, priority=1,tun_id=0x80000000/0x80000000 actions=dropcookie=0x900000000000000, duration=162.553s, table=85, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=86, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x800000000000001, duration=161.883s, table=90, n_packets=0, n_bytes=0, idle_age=161, priority=30,udp,metadata=0x700000000000004/0xff0000007fffffff,tp_src=68,tp_dst=67 actions=CONTROLLER:65535cookie=0xc00006100000004, duration=162.26s, table=90, n_packets=0, n_bytes=0, idle_age=162, priority=30,icmp,metadata=0x700000000000004/0xff0000007fffffff,icmp_type=8 actions=CONTROLLER:65535cookie=0x500000000000005, duration=162.337s, table=90, n_packets=0, n_bytes=0, idle_age=162, priority=10,metadata=0x700000000000002/0xff0000007fffffff actions=output:5cookie=0x500000000000004, duration=162.337s, table=90, n_packets=0, n_bytes=0, idle_age=162, priority=10,metadata=0x700000000000001/0xff0000007fffffff actions=output:4cookie=0xc00005100000004, duration=162.26s, table=90, n_packets=0, n_bytes=0, idle_age=162, priority=30,arp,metadata=0x700000000000004/0xff0000007fffffff,arp_op=2 actions=CONTROLLER:65535cookie=0xc00001100000004, duration=162.26s, table=90, n_packets=0, n_bytes=0, idle_age=162, priority=30,arp,metadata=0x700000000000004/0xff0000007fffffff,arp_op=1 actions=CONTROLLER:65535cookie=0x900000000000000, duration=162.553s, table=90, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=91, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=dropcookie=0x900000000000000, duration=162.553s, table=92, n_packets=0, n_bytes=0, idle_age=162, priority=0 actions=drop[root@kvm01 ~]#

Page 40: CloudStack BirthDay Party nakaya 20141106

40

Open vSwitch

VNet1 VNet2

VM

VM

VM VMVM

VM

完全に隔離されるので外部ネットワーク接続設定しないと,どこからもVMにアクセスできない。

Client

FlowTable

Page 41: CloudStack BirthDay Party nakaya 20141106

41

・VMにシリアルでログインし疎通確認:OK

[root@kvm01 ~]# virsh console i-2-6-VMConnected to domain i-2-6-VMEscape character is ^]

CentOS release 5.5 (Final)Kernel 2.6.18-194.el5 on an x86_64

vm1 login: rootPassword:Last login: Sat Nov 1 20:56:13 on ttyS0[root@vm1 ~]# ping 10.0.5.62PING 10.0.5.62 (10.0.5.62) 56(84) bytes of data.64 bytes from 10.0.5.62: icmp_seq=1 ttl=64 time=1.06 ms64 bytes from 10.0.5.62: icmp_seq=2 ttl=64 time=0.841 ms

--- 10.0.5.62 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1000msrtt min/avg/max/mdev = 0.841/0.952/1.064/0.115 ms[root@vm1 ~]#

Page 42: CloudStack BirthDay Party nakaya 20141106

42

OpenVNet詳しくはblogへ

Page 43: CloudStack BirthDay Party nakaya 20141106

43

OpenVNet(Wakame)UserGroup※英語推奨(日本語でもOK)

Page 44: CloudStack BirthDay Party nakaya 20141106

44

今回できたこと[Apache CloudStack]・4.4.1 インストール (リリースおめでとう)・Open vSwitch

[OpenVNet]・ゼロから24時間で稼働・OpenVNetとの手動での連携(同居)・L2スライス (isolation)・DHCP

Page 45: CloudStack BirthDay Party nakaya 20141106

45

手がついていないこと[OpenVNet]・複数ノード構成・VNet間ルーティング・外部ネットワークとの通信(GW)・セキュリティグループ・VxLAN・スケールアウト・シームレスな連携(汗)

Page 46: CloudStack BirthDay Party nakaya 20141106

46

ありがとうございました