SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
1




Open vSwitchの使い方とか
2




自己紹介
• 菊田 宏(きくた こう)
• 某社研究開発職
• Twitter : @kotto_hihihi
 →ほぼROM
• Open vSwitchを触り始めたキッカケ
 →OpenFlowスイッチを探していたら見つけた
3




今日話すこと
• Open vSwitchの概要
• Open vSwitchの基本的な使い方
 ▫ 各コンポーネントの関係性
• Open vSwitchのデータ構造
4




Open vSwitchとは
•   OSSの仮想スイッチ
•   Linux標準のbridgeと互換性あり
•   開発者の大半はNicira社の人
•   ハードにポーティングすることを意識している
5




Open vSwitchで何ができる?
• 転送機能   :Bridge, VLAN, STP, LACP, GRE, GRE over IPsec,
          CAPWAP
• 管理機能   :NetFlow, sFlow
• 制御機能   :OpenFlow1.0, 1.1, 1.2
6




Open vSwitchの歴史?
• 2010/03/15 v1.0.0リリース
  ▫ OpenFlow1.0.0に対応
  ▫ GRE対応
  →1.0.1まで
• 2011/04/05 v1.1.0リリース
  ▫ QoS対応
  ▫ Bonding対応
  ▫ OpenFlowのベンダ拡張(NXM)対応
  →1.1.2まで
• 2011/08/03 v1.2.0リリース
  ▫ とても性能が良くなったらしい
  →1.2.2まで
• 2011/12/09 v1.3.0リリース
  ▫   FlowTableが255個に(OpenFlow1.1.0の機能が使える?)
  ▫   STPに対応
  ▫   NXM機能拡張
• 2012/01/30 v1.4.0リリース
  ▫   NXM機能拡張

• ※0.9以前のドキュメントが見つけることができませんでした…
7




Open vSwitchインストール
前提:Ubuntu 10.04 server amd64
• パッケージインストール
  いろんなところでSSL対応したい場合はlibsslを入れる
  # apt-get install make pkg-config gcc autoconf libtool

• Open vSwitchのインストール
  # wget http://openvswitch.org/releases/openvswitch-1.4.0.tar.gz
  # tar zxvf openvswitch-1.4.0.tar.gz
  # cd openvswitch-1.4.0
  # ./boot.sh
  # ./configure --with-linux=/lib/modules/`uname -r`/build
  # make
  # make install
  # insmod datapath/linux/openvswitch_mod.ko


• ovsdbの作成
  # mkdir -p /usr/local/etc/openvswitch
  # ovsdb-tool create /usr/local/etc/openvswitch/conf.db ¥
                      vswitchd/vswitch.ovsschema
8




Open vSwitch起動
• ovsdb-server起動
  SSL対応したい場合はlibsslを入れる
  # ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock ¥
             --remote=db:Open_vSwitch,manager_options ¥
             --pidfile --detach

• vswitchdの起動
  # ovs-vsctl --no-wait init
  # ovs-vswitchd --pidfile --detach
9




基本的な使い方
• Bridge作成
  # ovs-vsctl add-br br0
  # ovs-vsctl add-port br0 eth1
  # ovs-vsctl add-port br0 eth2


• 設定の確認
  # ovs-vsctl list-br
  br0
  # ovs-vsctl list-ports br0
  eth1
                                                br0
  eth2
                                     eth1                eth2


                                  10.0.0.1/24         10.0.0.2/24
10




Open vSwitch設定の流れ
① ovs-vsctlコマンドがovsdb-serverに設定情報を送信する
② ovsdb-serverがovs-vswitchdに設定情報を送信する
③ ovs-vswitchdがopenvswitch_modを設定する
④ ovs-vswitchdがovsdb-serverに設定結果を送信する
⑤ ovsdb-serverがovsdbに設定情報、設定結果を登録する
  →設定情報は①と②の間に書き込んでいるかもしれない
⑥ ovsdb-serverがovs-vsctlコマンドに設定結果を送信する
                                                   設定情報はovsdbで持つ。
                                                  ovsdbの実態はovsdb-toolで
                                 ovs-vsctl        作成したconf.dbファイル。
                                  ①    ⑥
                                             JSON-RPC
                            ②
            ovs-vswitchd        ovsdb-server     ⑤      ovsdb
                            ④
                ③

          openvswitch_mod
11




 少し脱線
  設定済みのovsdbファイルをコピーすると同じ環境が作れる


                    ovsdbファイルをコピー

                                                                            ovsdb-server,
       ovsdb               ovsdb               ovsdb               ovsdb ovs-vswitchdを起動

 ovsdb-server        ovsdb-server        ovsdb-server        ovsdb-server
                                                                                コピー元と
 ovs-vswitchd        ovs-vswitchd        ovs-vswitchd        ovs-vswitchd 同じ環境になる

       br0                 br0                 br0                 br0


eth1         eth2   eth1         eth2   eth1         eth2   eth1         eth2
12




 もう少しだけ脱線
  ovs-vswitchdとovsdb-server間をTCP/IP or SSLで接続して、複数のOpen
 vSwitchホストをovsdb専用ホストで集中管理することもできる




  ovsdb               ovsdb               ovsdb               ovsdb               ovsdb

 専用ホスト          ovsdb-server        ovsdb-server        ovsdb-server        ovsdb-server



                ovs-vswitchd        ovs-vswitchd        ovs-vswitchd        ovs-vswitchd

Open vSwitch          br0                 br0                 br0                 br0
  ホスト群
               eth1         eth2   eth1         eth2   eth1         eth2   eth1         eth2
13




libvirtとの連携
brctlコマンドを使うことができればよい
• bridge-utilsをインストールする
  # apt-get install bridge-utils
• ovs-brcompatdを起動する
  # cd openvswitch-1.4.0
  # insmod openvswitch-1.4.0/datapath/linux/brcompat_mod.ko
  # ovs-brcompatd --pidfile --detach

• brctlコマンドが使えるようになる
  # brctl addbr br1
  # brctl addif br1 eth1
  # brctl addif br1 eth2

• brctlコマンドで設定した結果がovs-vsctlコマンドで確認できる
  # ovs-vsctl list-br
  br1
  # ovs-vsctl list-ports br1
  eth1
  eth2
14




   brctlコマンド利用時の設定の流れ
   ①    brctlコマンドがbrcompat_modを設定する
   ②    brcompat_modがovs-brcompatdに設定情報を通知する
   ③    ovs-brcompatdがovs-vsctlコマンドを実行する
   ④    以降、ovs-vsctlコマンド利用時と同じ




brctl                                           ovs-vsctl
                              ③                  ④    ⑨
  ①
                                                            JSON-RPC
                                           ⑤
         ovs-brcompatd     ovs-vswitchd        ovsdb-server     ⑧      ovsdb
                                           ⑦
            ②                     ⑥

brcompat_mod             openvswitch_mod
15




  OpenFlowスイッチとして使う
   • 最初からOpenFlowのフローエントリベースで動作している
#ovs-ofctl dump-flows br0
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=2058.998s, table=0, n_packets=183, n_bytes=29257, priority=0 actions=NORMAL


   • フローエントリを削除すると通信できなくなる
#ovs-ofctl del-flows br0
#ovs-ofctl dump-flows br0
NXST_FLOW reply (xid=0x4):
16




OpenFlowスイッチとして使う
• ovs-ofctlコマンドでフローエントリが書ける
 # ovs-ofctl add-flow br0 ¥
 in_port=1,dl_type=0x0800,nw_src=10.0.0.1,nw_dst=10.0.0.2,actions=output:2
 # ovs-ofctl add-flow br0 ¥
 in_port=2,dl_type=0x0800,nw_src=10.0.0.2,nw_dst=10.0.0.1,actions=output:1
 →フィルタリングにも使える


• フローエントリを書くときに使えるfield
 in_port, dl_vlan, dl_vlan_pcp, dl_src, dl_dst, dl_type, nw_src, nw_dst, nw_proto, nw_tos,
 nw_ecn, nw_ttl, tp_src, tp_dst, icmp_type, icmp_code, table, vlan_tci, ip_frag, arp_sha,
 arp_tha, ipv6_src, ipv6_dst, ipv6_label, nd_target, nd_sll, nd_tll, tun_id, regX

 →OpenFlow 1.1, 1.2に9割対応しているらしい
17




   ovs-ofctlでフローエントリ設定の流れ
   ① ovs-ofctlコマンドがovs-vswitchdに設定情報を送信する
   ② ovs-vswitchdがopenvswitch_modを設定する




brctl                       ovs-ofctl      ovs-vsctl
                                ①
                                                       JSON-RPC

        ovs-brcompatd     ovs-vswitchd    ovsdb-server            ovsdb
                                ②

brcompat_mod            openvswitch_mod
18




コントローラから制御する
• OpenFlowコントローラと接続する
 # ovs-vsctl set-controller br0 tcp:172.0.0.10:6633


• OpenFlowコントローラが設定されるとL2SWとして動作するための
  フローエントリが消える
 # ovs-ofctl dump-flows br0
 NXST_FLOW reply (xid=0x4):

 →以降、コントローラの制御で動作する。

              コントローラ



               ovs-vswitchd

                    br0


             eth1         eth2
19




Open vSwitchのデータ構造
ovsdb-clientを使ってovsdbのデータ構造を見る

 どんなDBがあるか?                 どんなtableがあるか?
  # ovsdb-client list-dbs   # ovsdb-client list-tables Open_vSwitch
  Open_vSwitch              Table
                            ------------
                            Capability
                            SSL
                            Bridge
                            Controller
                            NetFlow
                            Port
                            Mirror
                            Queue
                            QoS
                            Interface
                            Open_vSwitch
                            sFlow
                            Manager
20




Open vSwitchのデータ構造
各tableのcolumnと設定可能な値の定義
# ovsdb-client list-columns Open_vSwitch Bridge
Column         Type
------------- ------------------------------------------------------------------------------
status      {"key":"string","max":"unlimited","min":0,"value":"string"}
fail_mode {"key":{"enum":["set",["secure","standalone"]],"type":"string"},"min":0}
other_config {"key":"string","max":"unlimited","min":0,"value":"string"}
_version "uuid"
name         "string"
datapath_type "string"
netflow      {"key":{"refTable":"NetFlow","type":"uuid"},"min":0}
ports       {"key":{"refTable":"Port","type":"uuid"},"max":"unlimited","min":0}
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
flood_vlans {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"max":4096,"min":0}
_uuid        "uuid"
controller {"key":{"refTable":"Controller","type":"uuid"},"max":"unlimited","min":0}
datapath_id {"key":"string","min":0}
stp_enable "boolean"
mirrors       {"key":{"refTable":"Mirror","type":"uuid"},"max":"unlimited","min":0}
sflow       {"key":{"refTable":"sFlow","type":"uuid"},"min":0}
21




Open vSwitchのデータ構造
                 Open_vSwitch
             1             1       1           1


 0,*                 0,*                     0,1                        0,*

Manager            Capability                 SSL                   Bridge
                                                         1 1              1     1
                                                                    1


       0,1                                              0,*                         0,*      0,1

 NetFlow                                            Mirror                    Controller   sFlow
                                                    1
                           0,*         0,*

                       Port
                               1        1                0,1
                               *
                                                        QoS
                    Interface                             1
                                                              0,*

                                                    Queue
22




Open vSwitchのデータ構造
実際の設定はどうなっているか
ovs-vsctlコマンドで確認
# ovs-vsctl list bridge
_uuid           : 333ad8b8-7486-40ab-9d29-5051144734c2
controller        : [311d4af1-6d48-4b75-85ed-17e67a94cfb0]
datapath_id          : "000000151769d908"
datapath_type           : ""
external_ids         : {}
fail_mode          : []
flood_vlans         : []
mirrors          : []
name            : "br0"
netflow          : []
other_config          : {}
ports          : [65f57564-d408-42ac-84f7-7c6a4b433a5e, 86ecd3a9-7776-4567-83a3-ae19b9e4b46e,
f490bdfa-8424-475a-9949-d10e2d3b8820]
sflow          : []
status         : {}
stp_enable          : false
23




ovsdbに直接設定
ovs-vsctlコマンドでfail_modeにsecureを設定してみる
# ovs-vsctl set Bridge br0 fail_mode=secure

# ovs-vsctl list Bridge
_uuid           : 333ad8b8-7486-40ab-9d29-5051144734c2
controller        : [34d55998-475b-47d4-aa72-a37cfa6d294a]
datapath_id          : "000000151769d908"
datapath_type           : ""
external_ids         : {}
fail_mode          : secure
flood_vlans         : []
mirrors          : []
name            : "br0"
netflow          : []
other_config          : {}
ports          : [65f57564-d408-42ac-84f7-7c6a4b433a5e, 86ecd3a9-7776-4567-83a3-ae19b9e4b46e,
f490bdfa-8424-475a-9949-d10e2d3b8820]
sflow          : []
status         : {}
stp_enable          : false
24




まとめ
• Open vSwitchの基本的な使い方を紹介
• Open vSwitchを構成するコンポーネントの関係性を紹介
• Open vSwitchのデータ構造を紹介
25




(参考)Open_vSwitchテーブル構造
# ovsdb-client list-columns Open_vSwitch Open_vSwitch
Column          Type
--------------- ------------------------------------------------------------------------------------------
_uuid         "uuid"
system_type {"key":"string","min":0}
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
capabilities {"key":"string","max":"unlimited","min":0,"value":{"refTable":"Capability","type":"uuid"}}
system_version {"key":"string","min":0}
_version        "uuid"
manager_options {"key":{"refTable":"Manager","type":"uuid"},"max":"unlimited","min":0}
other_config {"key":"string","max":"unlimited","min":0,"value":"string"}
statistics {"key":"string","max":"unlimited","min":0,"value":"string"}
cur_cfg        "integer"
ssl        {"key":{"refTable":"SSL","type":"uuid"},"min":0}
ovs_version {"key":"string","min":0}
next_cfg        "integer"
db_version {"key":"string","min":0}
bridges       {"key":{"refTable":"Bridge","type":"uuid"},"max":"unlimited","min":0}
26




(参考)Bridgeテーブル構造
# ovsdb-client list-columns Open_vSwitch Bridge
Column         Type
------------- ------------------------------------------------------------------------------
status      {"key":"string","max":"unlimited","min":0,"value":"string"}
fail_mode {"key":{"enum":["set",["secure","standalone"]],"type":"string"},"min":0}
other_config {"key":"string","max":"unlimited","min":0,"value":"string"}
_version "uuid"
name         "string"
datapath_type "string"
netflow      {"key":{"refTable":"NetFlow","type":"uuid"},"min":0}
ports       {"key":{"refTable":"Port","type":"uuid"},"max":"unlimited","min":0}
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
flood_vlans {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"max":4096,"min":0}
_uuid        "uuid"
controller {"key":{"refTable":"Controller","type":"uuid"},"max":"unlimited","min":0}
datapath_id {"key":"string","min":0}
stp_enable "boolean"
mirrors       {"key":{"refTable":"Mirror","type":"uuid"},"max":"unlimited","min":0}
sflow       {"key":{"refTable":"sFlow","type":"uuid"},"min":0}
27




(参考)Portテーブル構造
# ovsdb-client list-columns Open_vSwitch Port
Column           Type
--------------- -------------------------------------------------------------------------------------------------------
bond_fake_iface "boolean"
status        {"key":"string","max":"unlimited","min":0,"value":"string"}
other_config {"key":"string","max":"unlimited","min":0,"value":"string"}
bond_mode          {"key":{"enum":["set",["active-backup","balance-slb","balance-tcp","stable"]],"type":"string"},"min":0}
_version        "uuid"
interfaces {"key":{"refTable":"Interface","type":"uuid"},"max":"unlimited"}
name           "string"
bond_updelay "integer"
vlan_mode         {"key":{"enum":["set",["access","native-tagged","native-untagged","trunk"]],"type":"string"},"min":0}
lacp         {"key":{"enum":["set",["active","off","passive"]],"type":"string"},"min":0}
mac           {"key":"string","min":0}
_uuid          "uuid"
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
trunks         {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"max":4096,"min":0}
statistics {"key":"string","max":"unlimited","min":0,"value":"integer"}
fake_bridge "boolean"
tag         {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"min":0}
bond_downdelay "integer"
qos          {"key":{"refTable":"QoS","type":"uuid"},"min":0}
28




(参考)Interfaceテーブル構造
# ovsdb-client list-columns Open_vSwitch Interface
Column              Type
---------------------- ----------------------------------------------------------------
status            {"key":"string","max":"unlimited","min":0,"value":"string"}
link_resets          {"key":"integer","min":0}
link_speed            {"key":"integer","min":0}
duplex             {"key":{"enum":["set",["full","half"]],"type":"string"},"min":0}
admin_state             {"key":{"enum":["set",["down","up"]],"type":"string"},"min":0}
ofport            {"key":"integer","min":0}
_version            "uuid"
other_config           {"key":"string","max":"unlimited","min":0,"value":"string"}
name               "string"
link_state          {"key":{"enum":["set",["down","up"]],"type":"string"},"min":0}
type             "string"
mtu               {"key":"integer","min":0}
mac               {"key":"string","min":0}
cfm_mpid               {"key":"integer","min":0}
cfm_fault            {"key":"boolean","min":0}
_uuid              "uuid"
external_ids          {"key":"string","max":"unlimited","min":0,"value":"string"}
options            {"key":"string","max":"unlimited","min":0,"value":"string"}
ingress_policing_rate {"key":{"minInteger":0,"type":"integer"}}
statistics         {"key":"string","max":"unlimited","min":0,"value":"integer"}
cfm_remote_mpids            {"key":"integer","max":"unlimited","min":0}
ingress_policing_burst {"key":{"minInteger":0,"type":"integer"}}
lacp_current           {"key":"boolean","min":0}
29




(参考)QoSテーブル構造
# ovsdb-client list-columns Open_vSwitch QoS
Column        Type
------------ ---------------------------------------------------------------------------------------------------------------
-----------------------
queues
{"key":{"maxInteger":4294967295,"minInteger":0,"type":"integer"},"max":"unlimited","min":0,"value":{
"refTable":"Queue","type":"uuid"}}
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
_uuid       "uuid"
type       "string"
other_config {"key":"string","max":"unlimited","min":0,"value":"string"}
_version "uuid"
30




(参考)Queueテーブル構造
# ovsdb-client list-columns Open_vSwitch Queue
Column        Type
------------ -----------------------------------------------------------------
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
_uuid       "uuid"
dscp       {"key":{"maxInteger":63,"minInteger":0,"type":"integer"},"min":0}
other_config {"key":"string","max":"unlimited","min":0,"value":"string"}
_version "uuid"
31




(参考)Controllerテーブル構造
# ovsdb-client list-columns Open_vSwitch Controller
Column              Type
---------------------- ---------------------------------------------------------------------------
_uuid              "uuid"
external_ids          {"key":"string","max":"unlimited","min":0,"value":"string"}
status            {"key":"string","max":"unlimited","min":0,"value":"string"}
local_netmask           {"key":"string","min":0}
_version            "uuid"
is_connected           "boolean"
controller_burst_limit {"key":{"minInteger":25,"type":"integer"},"min":0}
max_backoff            {"key":{"minInteger":1000,"type":"integer"},"min":0}
controller_rate_limit {"key":{"minInteger":100,"type":"integer"},"min":0}
local_ip           {"key":"string","min":0}
local_gateway          {"key":"string","min":0}
connection_mode            {"key":{"enum":["set",["in-band","out-of-band"]],"type":"string"},"min":0}
inactivity_probe        {"key":"integer","min":0}
target            "string"
role             {"key":{"enum":["set",["master","other","slave"]],"type":"string"},"min":0}
32




(参考)Managerテーブル構造
# ovsdb-client list-columns Open_vSwitch Manager
Column           Type
---------------- --------------------------------------------------------------------------
_uuid          "uuid"
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
status        {"key":"string","max":"unlimited","min":0,"value":"string"}
max_backoff {"key":{"minInteger":1000,"type":"integer"},"min":0}
_version        "uuid"
is_connected "boolean"
connection_mode {"key":{"enum":["set",["in-band","out-of-band"]],"type":"string"},"min":0}
inactivity_probe {"key":"integer","min":0}
target        "string"
33




(参考)Capabilityテーブル構造
# ovsdb-client list-columns Open_vSwitch Capability
Column Type
-------- -----------------------------------------------------------
_uuid "uuid"
details {"key":"string","max":"unlimited","min":0,"value":"string"}
_version "uuid"
34




(参考)SSLテーブル構造
# ovsdb-client list-columns Open_vSwitch SSL
Column           Type
----------------- -----------------------------------------------------------
certificate     "string"
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
_uuid          "uuid"
private_key        "string"
ca_cert         "string"
bootstrap_ca_cert "boolean"
_version         "uuid"
35




(参考)Mirrorテーブル構造
# ovsdb-client list-columns Open_vSwitch Mirror
Column          Type
--------------- ------------------------------------------------------------------------------------
_uuid         "uuid"
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
select_vlan {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"max":4096,"min":0}
select_src_port {"key":{"refTable":"Port","refType":"weak","type":"uuid"},"max":"unlimited","min":0}
_version        "uuid"
select_all "boolean"
name          "string"
statistics {"key":"string","max":"unlimited","min":0,"value":"integer"}
select_dst_port {"key":{"refTable":"Port","refType":"weak","type":"uuid"},"max":"unlimited","min":0}
output_port {"key":{"refTable":"Port","refType":"weak","type":"uuid"},"min":0}
output_vlan {"key":{"maxInteger":4095,"minInteger":1,"type":"integer"},"min":0}
36




(参考)NetFlowテーブル構造
# ovsdb-client list-columns Open_vSwitch NetFlow
Column            Type
------------------- ------------------------------------------------------------------
_uuid            "uuid"
external_ids        {"key":"string","max":"unlimited","min":0,"value":"string"}
targets         {"key":"string","max":"unlimited"}
add_id_to_interface "boolean"
_version          "uuid"
active_timeout {"key":{"minInteger":-1,"type":"integer"}}
engine_id          {"key":{"maxInteger":255,"minInteger":0,"type":"integer"},"min":0}
engine_type          {"key":{"maxInteger":255,"minInteger":0,"type":"integer"},"min":0}
37




(参考)sFlowテーブル構造
# ovsdb-client list-columns Open_vSwitch sFlow
Column        Type
------------ -----------------------------------------------------------
_uuid        "uuid"
external_ids {"key":"string","max":"unlimited","min":0,"value":"string"}
targets {"key":"string","max":"unlimited"}
agent       {"key":"string","min":0}
header       {"key":"integer","min":0}
_version "uuid"
sampling {"key":"integer","min":0}
polling {"key":"integer","min":0}

Mais conteúdo relacionado

Mais procurados

OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1Etsuji Nakai
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
L3HA-VRRP-20141201
L3HA-VRRP-20141201L3HA-VRRP-20141201
L3HA-VRRP-20141201Manabu Ori
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方Toru Makabe
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるKohei Tokunaga
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月VirtualTech Japan Inc.
 
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateAvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateHiroki Ishikawa
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)VirtualTech Japan Inc.
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月VirtualTech Japan Inc.
 
OpenStack マルチノード環境構築
OpenStack マルチノード環境構築OpenStack マルチノード環境構築
OpenStack マルチノード環境構築HommasSlide
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Sho Shimizu
 
OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会Yuki Obara
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始めtetsusat
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVRToru Makabe
 
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409稔 小林
 

Mais procurados (20)

OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
L3HA-VRRP-20141201
L3HA-VRRP-20141201L3HA-VRRP-20141201
L3HA-VRRP-20141201
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
 
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについてeBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
 
OpenvswitchでVPS
OpenvswitchでVPSOpenvswitchでVPS
OpenvswitchでVPS
 
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateAvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
 
TripleO Deep Dive 1.1
TripleO Deep Dive 1.1TripleO Deep Dive 1.1
TripleO Deep Dive 1.1
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
 
OpenStack マルチノード環境構築
OpenStack マルチノード環境構築OpenStack マルチノード環境構築
OpenStack マルチノード環境構築
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
 
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409
 

Semelhante a Openv switchの使い方とか

Thebasicintroductionofopenvswitch
ThebasicintroductionofopenvswitchThebasicintroductionofopenvswitch
ThebasicintroductionofopenvswitchRamses Ramirez
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Diverajdeep
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2Fei Ji Siao
 
Openstack openswitch basics
Openstack openswitch basicsOpenstack openswitch basics
Openstack openswitch basicsnshah061
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchTe-Yen Liu
 
Open v switch20150410b
Open v switch20150410bOpen v switch20150410b
Open v switch20150410bRichard Kuo
 
OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale testAliasgar Ginwala
 
Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouverMason Mei
 
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge MigrationJames Denton
 
Install ovs on local pc
Install ovs on local pcInstall ovs on local pc
Install ovs on local pcApplistarVN
 
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OpenvSwitch
 
Introduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDNIntroduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDNHungWei Chiu
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitchSim Janghoon
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep diveTrinath Somanchi
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDNOpenStack Korea Community
 
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDNSungman Jang
 

Semelhante a Openv switchの使い方とか (20)

Thebasicintroductionofopenvswitch
ThebasicintroductionofopenvswitchThebasicintroductionofopenvswitch
Thebasicintroductionofopenvswitch
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2
 
Openstack openswitch basics
Openstack openswitch basicsOpenstack openswitch basics
Openstack openswitch basics
 
Demystifying openvswitch
Demystifying openvswitchDemystifying openvswitch
Demystifying openvswitch
 
OpenStack sdn
OpenStack sdnOpenStack sdn
OpenStack sdn
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
 
Neutron Deep Dive
Neutron Deep Dive Neutron Deep Dive
Neutron Deep Dive
 
Open v switch20150410b
Open v switch20150410bOpen v switch20150410b
Open v switch20150410b
 
OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale test
 
Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouver
 
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
 
Install ovs on local pc
Install ovs on local pcInstall ovs on local pc
Install ovs on local pc
 
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOcean
 
Introduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDNIntroduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDN
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
 

Último

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 

Último (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 

Openv switchの使い方とか

  • 2. 2 自己紹介 • 菊田 宏(きくた こう) • 某社研究開発職 • Twitter : @kotto_hihihi →ほぼROM • Open vSwitchを触り始めたキッカケ →OpenFlowスイッチを探していたら見つけた
  • 3. 3 今日話すこと • Open vSwitchの概要 • Open vSwitchの基本的な使い方 ▫ 各コンポーネントの関係性 • Open vSwitchのデータ構造
  • 4. 4 Open vSwitchとは • OSSの仮想スイッチ • Linux標準のbridgeと互換性あり • 開発者の大半はNicira社の人 • ハードにポーティングすることを意識している
  • 5. 5 Open vSwitchで何ができる? • 転送機能 :Bridge, VLAN, STP, LACP, GRE, GRE over IPsec, CAPWAP • 管理機能 :NetFlow, sFlow • 制御機能 :OpenFlow1.0, 1.1, 1.2
  • 6. 6 Open vSwitchの歴史? • 2010/03/15 v1.0.0リリース ▫ OpenFlow1.0.0に対応 ▫ GRE対応 →1.0.1まで • 2011/04/05 v1.1.0リリース ▫ QoS対応 ▫ Bonding対応 ▫ OpenFlowのベンダ拡張(NXM)対応 →1.1.2まで • 2011/08/03 v1.2.0リリース ▫ とても性能が良くなったらしい →1.2.2まで • 2011/12/09 v1.3.0リリース ▫ FlowTableが255個に(OpenFlow1.1.0の機能が使える?) ▫ STPに対応 ▫ NXM機能拡張 • 2012/01/30 v1.4.0リリース ▫ NXM機能拡張 • ※0.9以前のドキュメントが見つけることができませんでした…
  • 7. 7 Open vSwitchインストール 前提:Ubuntu 10.04 server amd64 • パッケージインストール いろんなところでSSL対応したい場合はlibsslを入れる # apt-get install make pkg-config gcc autoconf libtool • Open vSwitchのインストール # wget http://openvswitch.org/releases/openvswitch-1.4.0.tar.gz # tar zxvf openvswitch-1.4.0.tar.gz # cd openvswitch-1.4.0 # ./boot.sh # ./configure --with-linux=/lib/modules/`uname -r`/build # make # make install # insmod datapath/linux/openvswitch_mod.ko • ovsdbの作成 # mkdir -p /usr/local/etc/openvswitch # ovsdb-tool create /usr/local/etc/openvswitch/conf.db ¥ vswitchd/vswitch.ovsschema
  • 8. 8 Open vSwitch起動 • ovsdb-server起動 SSL対応したい場合はlibsslを入れる # ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock ¥ --remote=db:Open_vSwitch,manager_options ¥ --pidfile --detach • vswitchdの起動 # ovs-vsctl --no-wait init # ovs-vswitchd --pidfile --detach
  • 9. 9 基本的な使い方 • Bridge作成 # ovs-vsctl add-br br0 # ovs-vsctl add-port br0 eth1 # ovs-vsctl add-port br0 eth2 • 設定の確認 # ovs-vsctl list-br br0 # ovs-vsctl list-ports br0 eth1 br0 eth2 eth1 eth2 10.0.0.1/24 10.0.0.2/24
  • 10. 10 Open vSwitch設定の流れ ① ovs-vsctlコマンドがovsdb-serverに設定情報を送信する ② ovsdb-serverがovs-vswitchdに設定情報を送信する ③ ovs-vswitchdがopenvswitch_modを設定する ④ ovs-vswitchdがovsdb-serverに設定結果を送信する ⑤ ovsdb-serverがovsdbに設定情報、設定結果を登録する →設定情報は①と②の間に書き込んでいるかもしれない ⑥ ovsdb-serverがovs-vsctlコマンドに設定結果を送信する 設定情報はovsdbで持つ。 ovsdbの実態はovsdb-toolで ovs-vsctl 作成したconf.dbファイル。 ① ⑥ JSON-RPC ② ovs-vswitchd ovsdb-server ⑤ ovsdb ④ ③ openvswitch_mod
  • 11. 11 少し脱線 設定済みのovsdbファイルをコピーすると同じ環境が作れる ovsdbファイルをコピー ovsdb-server, ovsdb ovsdb ovsdb ovsdb ovs-vswitchdを起動 ovsdb-server ovsdb-server ovsdb-server ovsdb-server コピー元と ovs-vswitchd ovs-vswitchd ovs-vswitchd ovs-vswitchd 同じ環境になる br0 br0 br0 br0 eth1 eth2 eth1 eth2 eth1 eth2 eth1 eth2
  • 12. 12 もう少しだけ脱線 ovs-vswitchdとovsdb-server間をTCP/IP or SSLで接続して、複数のOpen vSwitchホストをovsdb専用ホストで集中管理することもできる ovsdb ovsdb ovsdb ovsdb ovsdb 専用ホスト ovsdb-server ovsdb-server ovsdb-server ovsdb-server ovs-vswitchd ovs-vswitchd ovs-vswitchd ovs-vswitchd Open vSwitch br0 br0 br0 br0 ホスト群 eth1 eth2 eth1 eth2 eth1 eth2 eth1 eth2
  • 13. 13 libvirtとの連携 brctlコマンドを使うことができればよい • bridge-utilsをインストールする # apt-get install bridge-utils • ovs-brcompatdを起動する # cd openvswitch-1.4.0 # insmod openvswitch-1.4.0/datapath/linux/brcompat_mod.ko # ovs-brcompatd --pidfile --detach • brctlコマンドが使えるようになる # brctl addbr br1 # brctl addif br1 eth1 # brctl addif br1 eth2 • brctlコマンドで設定した結果がovs-vsctlコマンドで確認できる # ovs-vsctl list-br br1 # ovs-vsctl list-ports br1 eth1 eth2
  • 14. 14 brctlコマンド利用時の設定の流れ ① brctlコマンドがbrcompat_modを設定する ② brcompat_modがovs-brcompatdに設定情報を通知する ③ ovs-brcompatdがovs-vsctlコマンドを実行する ④ 以降、ovs-vsctlコマンド利用時と同じ brctl ovs-vsctl ③ ④ ⑨ ① JSON-RPC ⑤ ovs-brcompatd ovs-vswitchd ovsdb-server ⑧ ovsdb ⑦ ② ⑥ brcompat_mod openvswitch_mod
  • 15. 15 OpenFlowスイッチとして使う • 最初からOpenFlowのフローエントリベースで動作している #ovs-ofctl dump-flows br0 NXST_FLOW reply (xid=0x4): cookie=0x0, duration=2058.998s, table=0, n_packets=183, n_bytes=29257, priority=0 actions=NORMAL • フローエントリを削除すると通信できなくなる #ovs-ofctl del-flows br0 #ovs-ofctl dump-flows br0 NXST_FLOW reply (xid=0x4):
  • 16. 16 OpenFlowスイッチとして使う • ovs-ofctlコマンドでフローエントリが書ける # ovs-ofctl add-flow br0 ¥ in_port=1,dl_type=0x0800,nw_src=10.0.0.1,nw_dst=10.0.0.2,actions=output:2 # ovs-ofctl add-flow br0 ¥ in_port=2,dl_type=0x0800,nw_src=10.0.0.2,nw_dst=10.0.0.1,actions=output:1 →フィルタリングにも使える • フローエントリを書くときに使えるfield in_port, dl_vlan, dl_vlan_pcp, dl_src, dl_dst, dl_type, nw_src, nw_dst, nw_proto, nw_tos, nw_ecn, nw_ttl, tp_src, tp_dst, icmp_type, icmp_code, table, vlan_tci, ip_frag, arp_sha, arp_tha, ipv6_src, ipv6_dst, ipv6_label, nd_target, nd_sll, nd_tll, tun_id, regX →OpenFlow 1.1, 1.2に9割対応しているらしい
  • 17. 17 ovs-ofctlでフローエントリ設定の流れ ① ovs-ofctlコマンドがovs-vswitchdに設定情報を送信する ② ovs-vswitchdがopenvswitch_modを設定する brctl ovs-ofctl ovs-vsctl ① JSON-RPC ovs-brcompatd ovs-vswitchd ovsdb-server ovsdb ② brcompat_mod openvswitch_mod
  • 18. 18 コントローラから制御する • OpenFlowコントローラと接続する # ovs-vsctl set-controller br0 tcp:172.0.0.10:6633 • OpenFlowコントローラが設定されるとL2SWとして動作するための フローエントリが消える # ovs-ofctl dump-flows br0 NXST_FLOW reply (xid=0x4): →以降、コントローラの制御で動作する。 コントローラ ovs-vswitchd br0 eth1 eth2
  • 19. 19 Open vSwitchのデータ構造 ovsdb-clientを使ってovsdbのデータ構造を見る どんなDBがあるか? どんなtableがあるか? # ovsdb-client list-dbs # ovsdb-client list-tables Open_vSwitch Open_vSwitch Table ------------ Capability SSL Bridge Controller NetFlow Port Mirror Queue QoS Interface Open_vSwitch sFlow Manager
  • 20. 20 Open vSwitchのデータ構造 各tableのcolumnと設定可能な値の定義 # ovsdb-client list-columns Open_vSwitch Bridge Column Type ------------- ------------------------------------------------------------------------------ status {"key":"string","max":"unlimited","min":0,"value":"string"} fail_mode {"key":{"enum":["set",["secure","standalone"]],"type":"string"},"min":0} other_config {"key":"string","max":"unlimited","min":0,"value":"string"} _version "uuid" name "string" datapath_type "string" netflow {"key":{"refTable":"NetFlow","type":"uuid"},"min":0} ports {"key":{"refTable":"Port","type":"uuid"},"max":"unlimited","min":0} external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} flood_vlans {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"max":4096,"min":0} _uuid "uuid" controller {"key":{"refTable":"Controller","type":"uuid"},"max":"unlimited","min":0} datapath_id {"key":"string","min":0} stp_enable "boolean" mirrors {"key":{"refTable":"Mirror","type":"uuid"},"max":"unlimited","min":0} sflow {"key":{"refTable":"sFlow","type":"uuid"},"min":0}
  • 21. 21 Open vSwitchのデータ構造 Open_vSwitch 1 1 1 1 0,* 0,* 0,1 0,* Manager Capability SSL Bridge 1 1 1 1 1 0,1 0,* 0,* 0,1 NetFlow Mirror Controller sFlow 1 0,* 0,* Port 1 1 0,1 * QoS Interface 1 0,* Queue
  • 22. 22 Open vSwitchのデータ構造 実際の設定はどうなっているか ovs-vsctlコマンドで確認 # ovs-vsctl list bridge _uuid : 333ad8b8-7486-40ab-9d29-5051144734c2 controller : [311d4af1-6d48-4b75-85ed-17e67a94cfb0] datapath_id : "000000151769d908" datapath_type : "" external_ids : {} fail_mode : [] flood_vlans : [] mirrors : [] name : "br0" netflow : [] other_config : {} ports : [65f57564-d408-42ac-84f7-7c6a4b433a5e, 86ecd3a9-7776-4567-83a3-ae19b9e4b46e, f490bdfa-8424-475a-9949-d10e2d3b8820] sflow : [] status : {} stp_enable : false
  • 23. 23 ovsdbに直接設定 ovs-vsctlコマンドでfail_modeにsecureを設定してみる # ovs-vsctl set Bridge br0 fail_mode=secure # ovs-vsctl list Bridge _uuid : 333ad8b8-7486-40ab-9d29-5051144734c2 controller : [34d55998-475b-47d4-aa72-a37cfa6d294a] datapath_id : "000000151769d908" datapath_type : "" external_ids : {} fail_mode : secure flood_vlans : [] mirrors : [] name : "br0" netflow : [] other_config : {} ports : [65f57564-d408-42ac-84f7-7c6a4b433a5e, 86ecd3a9-7776-4567-83a3-ae19b9e4b46e, f490bdfa-8424-475a-9949-d10e2d3b8820] sflow : [] status : {} stp_enable : false
  • 24. 24 まとめ • Open vSwitchの基本的な使い方を紹介 • Open vSwitchを構成するコンポーネントの関係性を紹介 • Open vSwitchのデータ構造を紹介
  • 25. 25 (参考)Open_vSwitchテーブル構造 # ovsdb-client list-columns Open_vSwitch Open_vSwitch Column Type --------------- ------------------------------------------------------------------------------------------ _uuid "uuid" system_type {"key":"string","min":0} external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} capabilities {"key":"string","max":"unlimited","min":0,"value":{"refTable":"Capability","type":"uuid"}} system_version {"key":"string","min":0} _version "uuid" manager_options {"key":{"refTable":"Manager","type":"uuid"},"max":"unlimited","min":0} other_config {"key":"string","max":"unlimited","min":0,"value":"string"} statistics {"key":"string","max":"unlimited","min":0,"value":"string"} cur_cfg "integer" ssl {"key":{"refTable":"SSL","type":"uuid"},"min":0} ovs_version {"key":"string","min":0} next_cfg "integer" db_version {"key":"string","min":0} bridges {"key":{"refTable":"Bridge","type":"uuid"},"max":"unlimited","min":0}
  • 26. 26 (参考)Bridgeテーブル構造 # ovsdb-client list-columns Open_vSwitch Bridge Column Type ------------- ------------------------------------------------------------------------------ status {"key":"string","max":"unlimited","min":0,"value":"string"} fail_mode {"key":{"enum":["set",["secure","standalone"]],"type":"string"},"min":0} other_config {"key":"string","max":"unlimited","min":0,"value":"string"} _version "uuid" name "string" datapath_type "string" netflow {"key":{"refTable":"NetFlow","type":"uuid"},"min":0} ports {"key":{"refTable":"Port","type":"uuid"},"max":"unlimited","min":0} external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} flood_vlans {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"max":4096,"min":0} _uuid "uuid" controller {"key":{"refTable":"Controller","type":"uuid"},"max":"unlimited","min":0} datapath_id {"key":"string","min":0} stp_enable "boolean" mirrors {"key":{"refTable":"Mirror","type":"uuid"},"max":"unlimited","min":0} sflow {"key":{"refTable":"sFlow","type":"uuid"},"min":0}
  • 27. 27 (参考)Portテーブル構造 # ovsdb-client list-columns Open_vSwitch Port Column Type --------------- ------------------------------------------------------------------------------------------------------- bond_fake_iface "boolean" status {"key":"string","max":"unlimited","min":0,"value":"string"} other_config {"key":"string","max":"unlimited","min":0,"value":"string"} bond_mode {"key":{"enum":["set",["active-backup","balance-slb","balance-tcp","stable"]],"type":"string"},"min":0} _version "uuid" interfaces {"key":{"refTable":"Interface","type":"uuid"},"max":"unlimited"} name "string" bond_updelay "integer" vlan_mode {"key":{"enum":["set",["access","native-tagged","native-untagged","trunk"]],"type":"string"},"min":0} lacp {"key":{"enum":["set",["active","off","passive"]],"type":"string"},"min":0} mac {"key":"string","min":0} _uuid "uuid" external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} trunks {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"max":4096,"min":0} statistics {"key":"string","max":"unlimited","min":0,"value":"integer"} fake_bridge "boolean" tag {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"min":0} bond_downdelay "integer" qos {"key":{"refTable":"QoS","type":"uuid"},"min":0}
  • 28. 28 (参考)Interfaceテーブル構造 # ovsdb-client list-columns Open_vSwitch Interface Column Type ---------------------- ---------------------------------------------------------------- status {"key":"string","max":"unlimited","min":0,"value":"string"} link_resets {"key":"integer","min":0} link_speed {"key":"integer","min":0} duplex {"key":{"enum":["set",["full","half"]],"type":"string"},"min":0} admin_state {"key":{"enum":["set",["down","up"]],"type":"string"},"min":0} ofport {"key":"integer","min":0} _version "uuid" other_config {"key":"string","max":"unlimited","min":0,"value":"string"} name "string" link_state {"key":{"enum":["set",["down","up"]],"type":"string"},"min":0} type "string" mtu {"key":"integer","min":0} mac {"key":"string","min":0} cfm_mpid {"key":"integer","min":0} cfm_fault {"key":"boolean","min":0} _uuid "uuid" external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} options {"key":"string","max":"unlimited","min":0,"value":"string"} ingress_policing_rate {"key":{"minInteger":0,"type":"integer"}} statistics {"key":"string","max":"unlimited","min":0,"value":"integer"} cfm_remote_mpids {"key":"integer","max":"unlimited","min":0} ingress_policing_burst {"key":{"minInteger":0,"type":"integer"}} lacp_current {"key":"boolean","min":0}
  • 29. 29 (参考)QoSテーブル構造 # ovsdb-client list-columns Open_vSwitch QoS Column Type ------------ --------------------------------------------------------------------------------------------------------------- ----------------------- queues {"key":{"maxInteger":4294967295,"minInteger":0,"type":"integer"},"max":"unlimited","min":0,"value":{ "refTable":"Queue","type":"uuid"}} external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} _uuid "uuid" type "string" other_config {"key":"string","max":"unlimited","min":0,"value":"string"} _version "uuid"
  • 30. 30 (参考)Queueテーブル構造 # ovsdb-client list-columns Open_vSwitch Queue Column Type ------------ ----------------------------------------------------------------- external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} _uuid "uuid" dscp {"key":{"maxInteger":63,"minInteger":0,"type":"integer"},"min":0} other_config {"key":"string","max":"unlimited","min":0,"value":"string"} _version "uuid"
  • 31. 31 (参考)Controllerテーブル構造 # ovsdb-client list-columns Open_vSwitch Controller Column Type ---------------------- --------------------------------------------------------------------------- _uuid "uuid" external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} status {"key":"string","max":"unlimited","min":0,"value":"string"} local_netmask {"key":"string","min":0} _version "uuid" is_connected "boolean" controller_burst_limit {"key":{"minInteger":25,"type":"integer"},"min":0} max_backoff {"key":{"minInteger":1000,"type":"integer"},"min":0} controller_rate_limit {"key":{"minInteger":100,"type":"integer"},"min":0} local_ip {"key":"string","min":0} local_gateway {"key":"string","min":0} connection_mode {"key":{"enum":["set",["in-band","out-of-band"]],"type":"string"},"min":0} inactivity_probe {"key":"integer","min":0} target "string" role {"key":{"enum":["set",["master","other","slave"]],"type":"string"},"min":0}
  • 32. 32 (参考)Managerテーブル構造 # ovsdb-client list-columns Open_vSwitch Manager Column Type ---------------- -------------------------------------------------------------------------- _uuid "uuid" external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} status {"key":"string","max":"unlimited","min":0,"value":"string"} max_backoff {"key":{"minInteger":1000,"type":"integer"},"min":0} _version "uuid" is_connected "boolean" connection_mode {"key":{"enum":["set",["in-band","out-of-band"]],"type":"string"},"min":0} inactivity_probe {"key":"integer","min":0} target "string"
  • 33. 33 (参考)Capabilityテーブル構造 # ovsdb-client list-columns Open_vSwitch Capability Column Type -------- ----------------------------------------------------------- _uuid "uuid" details {"key":"string","max":"unlimited","min":0,"value":"string"} _version "uuid"
  • 34. 34 (参考)SSLテーブル構造 # ovsdb-client list-columns Open_vSwitch SSL Column Type ----------------- ----------------------------------------------------------- certificate "string" external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} _uuid "uuid" private_key "string" ca_cert "string" bootstrap_ca_cert "boolean" _version "uuid"
  • 35. 35 (参考)Mirrorテーブル構造 # ovsdb-client list-columns Open_vSwitch Mirror Column Type --------------- ------------------------------------------------------------------------------------ _uuid "uuid" external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} select_vlan {"key":{"maxInteger":4095,"minInteger":0,"type":"integer"},"max":4096,"min":0} select_src_port {"key":{"refTable":"Port","refType":"weak","type":"uuid"},"max":"unlimited","min":0} _version "uuid" select_all "boolean" name "string" statistics {"key":"string","max":"unlimited","min":0,"value":"integer"} select_dst_port {"key":{"refTable":"Port","refType":"weak","type":"uuid"},"max":"unlimited","min":0} output_port {"key":{"refTable":"Port","refType":"weak","type":"uuid"},"min":0} output_vlan {"key":{"maxInteger":4095,"minInteger":1,"type":"integer"},"min":0}
  • 36. 36 (参考)NetFlowテーブル構造 # ovsdb-client list-columns Open_vSwitch NetFlow Column Type ------------------- ------------------------------------------------------------------ _uuid "uuid" external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} targets {"key":"string","max":"unlimited"} add_id_to_interface "boolean" _version "uuid" active_timeout {"key":{"minInteger":-1,"type":"integer"}} engine_id {"key":{"maxInteger":255,"minInteger":0,"type":"integer"},"min":0} engine_type {"key":{"maxInteger":255,"minInteger":0,"type":"integer"},"min":0}
  • 37. 37 (参考)sFlowテーブル構造 # ovsdb-client list-columns Open_vSwitch sFlow Column Type ------------ ----------------------------------------------------------- _uuid "uuid" external_ids {"key":"string","max":"unlimited","min":0,"value":"string"} targets {"key":"string","max":"unlimited"} agent {"key":"string","min":0} header {"key":"integer","min":0} _version "uuid" sampling {"key":"integer","min":0} polling {"key":"integer","min":0}