Outils pour utilisateurs

Outils du site


systeme:ovs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
systeme:ovs [2015/01/25 15:25] – créée rootsysteme:ovs [2017/08/11 21:16] (Version actuelle) root
Ligne 1: Ligne 1:
 ====== OpenVSwitch (OVS) ====== ====== OpenVSwitch (OVS) ======
 +===== Doc =====
  
 Tuto : http://openvswitch.org/support/config-cookbooks/ Tuto : http://openvswitch.org/support/config-cookbooks/
Ligne 6: Ligne 7:
   * [[http://openvswitch.org/support/config-cookbooks/qos-rate-limiting/|Rate-Limiting VM Traffic Using QoS Policing]]   * [[http://openvswitch.org/support/config-cookbooks/qos-rate-limiting/|Rate-Limiting VM Traffic Using QoS Policing]]
   * [[http://openvswitch.org/support/config-cookbooks/port-tunneling/|Connecting VMs Using Tunnels]]   * [[http://openvswitch.org/support/config-cookbooks/port-tunneling/|Connecting VMs Using Tunnels]]
 +
 +===== Exemple =====
 +  * Démarrer le service openvswitch (fedora) : 
 +<code>
 +$ systemctl start openvswitch.service
 +</code>
 +
 +  * Créer un bridgre ''bridge1'' :
 +<code>
 +$ ovs-vsctl add-br bridge1
 +</code>
 +
 +  * Activer le bridge nouvellement créé :
 +<code>
 +$ ifconfig bridge1 up
 +</code>
 +
 +  * Ajouter l'interface ''wls34'' au bridge ''bridge1'' (Attention on pert le réseau à partir de ce moment là) :
 +<code>
 +$ ovs-vsctl add-port bridge1 wls34
 +</code>
 +
 +  * On reset l'interface ''wls34'' :
 +<code>
 +$ ifconfig eth0 0
 +</code>
 +
 +  * On configure une ip pour le switch (dans notre exemple en DHCP) :
 +<code>
 +$ dhclient bridge1
 +$ route del default gw 192.168.1.1 wls34
 +$ route del 192.168.1.1 wls34
 +</code>
 +ou à la main :
 +<code>
 +$ ifconfig br-int 192.168.1.46 netmask 255.255.255.0
 +$ route add default gw 192.168.1.1 bridge1 
 +$ route del default gw 192.168.1.1 wls34
 +$ route del 192.168.1.1 wls34
 +</code>
 +
 +Après la modification des ''route'' on récupère le réseau.
 +
 +Table de routage :
 +<code>
 +$ route -n
 +Table de routage IP du noyau
 +Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
 +0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 bridge1
 +192.168.1.0     0.0.0.0         255.255.255.0            0        0 bridge1
 +</code>
 +
 +  * Affichage de la vue :
 +<code>
 +$ ovs-vsctl show
 +109065b0-a911-48ad-a0ad-4fa6785c0552
 +    Bridge "bridge1"
 +        Port "wls34"
 +            Interface "wls34"
 +        Port "bridge1"
 +            Interface "bridge1"
 +                type: internal
 +    ovs_version: "2.3.1"
 +</code>
 +
 +  * Créer 2 interfaces de type ''tap'' nommées ''vport1'' et ''vport2'' :
 +<code>
 +$ ip tuntap add mode tap vport1
 +$ ip tuntap add mode tap vport2
 +$ ifconfig  vport1 up
 +$ ifconfig  vport2 up
 +</code>
 +
 +Vous pouvez également utiliser ''tunctl'' pour créer une interface de type ''tap'' :
 +<code>
 +$ tunctl –t tap0 –u root
 +</code>
 +
 +    * Ajoutons ces 2 interfaces ''vport1'' et ''vport2'' au switch ''bridge1'' (''--'' permet de lui spécifier plusieurs commandes à la suite) : 
 +<code>
 +$ ovs-vsctl add-port bridge1 vport1 -- add-port bridge1 vport2
 +</code>
 +
 +On peut maintenant venir brancher par exemple deux VM sur les ports ''vport1'' et ''vport2''.
 +
 +  * Nous voyons maintenant notre switch composée des interfaces ''vport1'', ''vport2'' et ''wls34'' :
 +<code>
 +$ ovs-vsctl show
 +109065b0-a911-48ad-a0ad-4fa6785c0552
 +    Bridge "bridge1"
 +        Port "vport1"
 +            Interface "vport1"
 +        Port "bridge1"
 +            Interface "bridge1"
 +                type: internal
 +        Port "vport2"
 +            Interface "vport2"
 +        Port "wls34"
 +            Interface "wls34"
 +    ovs_version: "2.3.1"
 +</code>
 +
 +  * informations sur les port/VLAN et MAC de ''bridge1'' :
 +<code>
 +ovs-appctl fdb/show bridge1 
 + port  VLAN  MAC                Age
 +    3      e0:a1:d7:ab:62:78   76
 +    3      d4:3d:7e:f3:22:ea   74
 +    3      e0:a1:d7:39:cf:e0    5
 +LOCAL      00:21:5d:5f:05:f8    5
 +</code>
 +
 +  * On peut voir la vitesse réseau négociée entre les VM et les ports du switch ''bridge1'' :
 +<code>
 +ovs-ofctl show bridge1
 +OFPT_FEATURES_REPLY (xid=0x2): dpid:000000215d5f05f8
 +n_tables:254, n_buffers:256
 +capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
 +actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
 + 3(wls34): addr:00:21:5d:5f:05:f8
 +     config:     0
 +     state:      0
 +     speed: 0 Mbps now, 0 Mbps max
 + 4(vport1): addr:8a:b8:20:e9:9e:56
 +     config:     0
 +     state:      LINK_DOWN
 +     current:    10MB-FD COPPER
 +     speed: 10 Mbps now, 0 Mbps max
 + 5(vport2): addr:ce:18:f9:2f:46:f6
 +     config:     0
 +     state:      LINK_DOWN
 +     current:    10MB-FD COPPER
 +     speed: 10 Mbps now, 0 Mbps max
 + LOCAL(bridge1): addr:00:21:5d:5f:05:f8
 +     config:     0
 +     state:      0
 +     speed: 0 Mbps now, 0 Mbps max
 +OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0
 +</code>
 +
 +  * Packets :
 +<code>
 +$ ovs-ofctl dump-flows bridge1
 +NXST_FLOW reply (xid=0x4):
 + cookie=0x0, duration=3986.626s, table=0, n_packets=5660, n_bytes=1785393, idle_age=0, priority=0 actions=NORMAL
 +</code>
 +
 +  * Lister les switchs :
 +<code>
 +$ ovs-vsctl list Bridge
 +_uuid               : 21680110-ef3b-4145-b5d2-17662e97c3cc
 +controller          : []
 +datapath_id         : "000000215d5f05f8"
 +datapath_type       : ""
 +external_ids        : {}
 +fail_mode           : []
 +flood_vlans         : []
 +flow_tables         : {}
 +ipfix               : []
 +mirrors             : []
 +name                : "bridge1"
 +netflow             : []
 +other_config        : {}
 +ports               : [423dd0b4-e9f1-415c-8d2e-5b1420f3fbad, 837fd7e1-160d-4de1-a78d-521165766f38, 951efaa1-cd8f-4b5a-99cc-d81a78c3aafb, dfa58c1e-6ccb-4b1f-b310-089663148935]
 +protocols           : []
 +sflow               : []
 +status              : {}
 +stp_enable          : false
 +</code>
 +
 +  * Lister les ports du switch :
 +<code>
 +$ ovs-vsctl list Port
 +_uuid               : 423dd0b4-e9f1-415c-8d2e-5b1420f3fbad
 +bond_active_slave   : []
 +bond_downdelay      : 0
 +bond_fake_iface     : false
 +bond_mode           : []
 +bond_updelay        : 0
 +external_ids        : {}
 +fake_bridge         : false
 +interfaces          : [d88afbae-18f3-46b3-a1c6-6a52032fb1f9]
 +lacp                : []
 +mac                 : []
 +name                : "vport1"
 +other_config        : {}
 +qos                 : []
 +statistics          : {}
 +status              : {}
 +tag                 : []
 +trunks              : []
 +vlan_mode           : []
 +
 +_uuid               : 951efaa1-cd8f-4b5a-99cc-d81a78c3aafb
 +bond_active_slave   : []
 +bond_downdelay      : 0
 +bond_fake_iface     : false
 +bond_mode           : []
 +bond_updelay        : 0
 +external_ids        : {}
 +fake_bridge         : false
 +interfaces          : [b9d5a333-12c2-4c75-90cf-7db30138241b]
 +lacp                : []
 +mac                 : []
 +name                : "vport2"
 +other_config        : {}
 +qos                 : []
 +statistics          : {}
 +status              : {}
 +tag                 : []
 +trunks              : []
 +vlan_mode           : []
 +
 +_uuid               : 837fd7e1-160d-4de1-a78d-521165766f38
 +bond_active_slave   : []
 +bond_downdelay      : 0
 +bond_fake_iface     : false
 +bond_mode           : []
 +bond_updelay        : 0
 +external_ids        : {}
 +fake_bridge         : false
 +interfaces          : [6547e7b6-1dd2-4b59-9a1b-f4639fd020e1]
 +lacp                : []
 +mac                 : []
 +name                : "bridge1"
 +other_config        : {}
 +qos                 : []
 +statistics          : {}
 +status              : {}
 +tag                 : []
 +trunks              : []
 +vlan_mode           : []
 +
 +_uuid               : dfa58c1e-6ccb-4b1f-b310-089663148935
 +bond_active_slave   : []
 +bond_downdelay      : 0
 +bond_fake_iface     : false
 +bond_mode           : []
 +bond_updelay        : 0
 +external_ids        : {}
 +fake_bridge         : false
 +interfaces          : [532efcf6-eee5-4b3d-b6fe-986f2089676c]
 +lacp                : []
 +mac                 : []
 +name                : "wls34"
 +other_config        : {}
 +qos                 : []
 +statistics          : {}
 +status              : {}
 +tag                 : []
 +trunks              : []
 +vlan_mode           : []
 +</code>
 +
 +  * Lister les interfaces :
 +<code>
 +$ ovs-vsctl list Interface
 +_uuid               : 532efcf6-eee5-4b3d-b6fe-986f2089676c
 +admin_state         : up
 +bfd                 : {}
 +bfd_status          : {}
 +cfm_fault           : []
 +cfm_fault_status    : []
 +cfm_flap_count      : []
 +cfm_health          : []
 +cfm_mpid            : []
 +cfm_remote_mpids    : []
 +cfm_remote_opstate  : []
 +duplex              : []
 +external_ids        : {}
 +ifindex             : 3
 +ingress_policing_burst: 0
 +ingress_policing_rate: 0
 +lacp_current        : []
 +link_resets         : 0
 +link_speed          : []
 +link_state          : up
 +mac                 : []
 +mac_in_use          : "00:21:5d:5f:05:f8"
 +mtu                 : 1500
 +name                : "wls34"
 +ofport              : 3
 +ofport_request      : []
 +options             : {}
 +other_config        : {}
 +statistics          : {collisions=0, rx_bytes=93328146, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_over_err=0, rx_packets=95891, tx_bytes=8789787, tx_dropped=0, tx_errors=0, tx_packets=59516}
 +status              : {driver_name=iwlwifi, driver_version="3.17.8-300.fc21.x86_64", firmware_version="8.83.5.1 build 33692"}
 +type                : ""
 +
 +_uuid               : 6547e7b6-1dd2-4b59-9a1b-f4639fd020e1
 +admin_state         : up
 +bfd                 : {}
 +bfd_status          : {}
 +cfm_fault           : []
 +cfm_fault_status    : []
 +cfm_flap_count      : []
 +cfm_health          : []
 +cfm_mpid            : []
 +cfm_remote_mpids    : []
 +cfm_remote_opstate  : []
 +duplex              : []
 +external_ids        : {}
 +ifindex             : 6
 +ingress_policing_burst: 0
 +ingress_policing_rate: 0
 +lacp_current        : []
 +link_resets         : 1
 +link_speed          : []
 +link_state          : up
 +mac                 : []
 +mac_in_use          : "00:21:5d:5f:05:f8"
 +mtu                 : 1500
 +name                : "bridge1"
 +ofport              : 65534
 +ofport_request      : []
 +options             : {}
 +other_config        : {}
 +statistics          : {collisions=0, rx_bytes=643639, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_over_err=0, rx_packets=2264, tx_bytes=1331489, tx_dropped=0, tx_errors=0, tx_packets=3928}
 +status              : {driver_name=openvswitch}
 +type                : internal
 +
 +_uuid               : d88afbae-18f3-46b3-a1c6-6a52032fb1f9
 +admin_state         : up
 +bfd                 : {}
 +bfd_status          : {}
 +cfm_fault           : []
 +cfm_fault_status    : []
 +cfm_flap_count      : []
 +cfm_health          : []
 +cfm_mpid            : []
 +cfm_remote_mpids    : []
 +cfm_remote_opstate  : []
 +duplex              : full
 +external_ids        : {}
 +ifindex             : 7
 +ingress_policing_burst: 0
 +ingress_policing_rate: 0
 +lacp_current        : []
 +link_resets         : 0
 +link_speed          : 10000000
 +link_state          : down
 +mac                 : []
 +mac_in_use          : "8a:b8:20:e9:9e:56"
 +mtu                 : 1500
 +name                : "vport1"
 +ofport              : 4
 +ofport_request      : []
 +options             : {}
 +other_config        : {}
 +statistics          : {collisions=0, rx_bytes=0, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_over_err=0, rx_packets=0, tx_bytes=0, tx_dropped=0, tx_errors=0, tx_packets=0}
 +status              : {driver_name=tun, driver_version="1.6", firmware_version=""}
 +type                : ""
 +
 +_uuid               : b9d5a333-12c2-4c75-90cf-7db30138241b
 +admin_state         : up
 +bfd                 : {}
 +bfd_status          : {}
 +cfm_fault           : []
 +cfm_fault_status    : []
 +cfm_flap_count      : []
 +cfm_health          : []
 +cfm_mpid            : []
 +cfm_remote_mpids    : []
 +cfm_remote_opstate  : []
 +duplex              : full
 +external_ids        : {}
 +ifindex             : 8
 +ingress_policing_burst: 0
 +ingress_policing_rate: 0
 +lacp_current        : []
 +link_resets         : 0
 +link_speed          : 10000000
 +link_state          : down
 +mac                 : []
 +mac_in_use          : "ce:18:f9:2f:46:f6"
 +mtu                 : 1500
 +name                : "vport2"
 +ofport              : 5
 +ofport_request      : []
 +options             : {}
 +other_config        : {}
 +statistics          : {collisions=0, rx_bytes=0, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_over_err=0, rx_packets=0, tx_bytes=0, tx_dropped=0, tx_errors=0, tx_packets=0}
 +status              : {driver_name=tun, driver_version="1.6", firmware_version=""}
 +type                : ""
 +</code>
 +
 +  * Supprimer le port ''wls34'' :
 +<code>
 +$ ovs-vsctl add-port bridge1 wls34
 +</code>
 +
 +Supprimer le bridgre ''bridge1'' :
 +<code>
 +$ ovs-vsctl del-br bridge1
 +</code>
 +
 +===== VLANs =====
 +  * Ajoute le port ''vport0'' à ''bridge1'' avec numéro de vlan 100 :
 +<code>
 +$ ovs-vsctl add-port bridge1 vport0 tag=100
 +</code>
 +
 +  * Ajoute le port ''vport1'' à ''bridge1'' avec numéro de vlan 200 :
 +<code>
 +$ ovs-vsctl add-port bridge1 vport1 tag=200
 +</code>
systeme/ovs.1422199517.txt.gz · Dernière modification : 2015/01/25 15:25 de root