Motivation cho OpenvSwitch

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu triển khai và đánh giá hiệu năng của các giải pháp networking nâng cao cho hệ thống ảo hoá sử dụng openstack (Trang 42 - 45)

CHƢƠNG 2 GIỚI THIỆU OPENSTACK VÀ OPENVSWITCH

2.2 OpenvSwitch

2.2.1 Motivation cho OpenvSwitch

Trình ảo hoá muốn linh hoạt kết nối lƣu lƣợng giữa các VM và bên ngoài. Trên các trình ảo hóa dựa trên Linux, điều này có nghĩa là sử dụng bộ chuyển đổi L2 sẵn có (Linux bridge), nhanh và đáng tin cậy. Do đó, cần thiết khi hỏi tại sao Open vSwitch đƣợc sử dụng.

Câu trả lời là Open vSwitch đƣợc nhắm tới mục tiêu triển khai ảo hóa nhiều máy chủ, một cách thức mà các công nghệ trƣớc đó không đáp ứng. Các môi trƣờng này thƣờng đƣợc xác định bởi các end-point cực kỳ năng động, việc duy trì logic trừu tƣợng và tích hợp (đôi khi) với đƣa phần cứng chuyển đổi với mục đích đặc biệt.

Sau đây là các tính năng của Open vSwitch [39]:

 Cho phép giao tiếp giữa các VM thông qua NetFlow, sFlow (R), IP Flow Information Export (IPFIX), Switched Port Analyzer (SPAN), Remote Switched Port Analyzer (RSPAN) và các cổng ánh xạ tunnel thông qua Generic Routing Encapsulation (GRE).

 Link aggregation thông qua Link Aggregation Control Protocol LACP (IEEE 802.1AX-2008)

 Mô hình VLAN chuẩn 802.1Q với trunking

 Multicast snooping

 IETF Tự động đính kèm SP M và hỗ trợ LLDP cần thiết

 BFD and 802.1ag link monitoring

 STP (IEEE 802.1D-1998) và RSTP (IEEE 802.1D-2004)

 Fine-grained QoS control

 Hỗ trợ HFSC qdisc

 Kiểm soát lƣu lƣợng trên mỗi VM interface

 NIC-bonding với cân bằng tải theo MAC, active-backup và L4 hashing

 Hỗ trợ giao thức OpenFlow (bao gồm nhiều phần mở rộng cho ảo hóa)

 Hỗ trợ IPv6

 Nhiều giao thức tunneling (GRE, VXLAN, STT và Geneve, với sự hỗ trợ của IPsec)

 Giao thức cấu hình từ xa với thông qua C và Python

 Tùy chọn công cụ chuyển tiếp kernel và user-space

 Multi-table forwarding pipeline with flow-caching engine

 Lớp chuyển tiếp trừu tƣợng để dễ dàng chuyển sang nền tảng phần mềm và phần cứng mới

2.2.2 OpenvSwitch

Open vSwitch là một dự án nguồn mở của một bộ chuyển mạch phân tán ảo đa lớp, cho phép thực hiện trình ảo hóa các lớp mạng. Điều này phục vụ cho nhiều máy ảo chạy trên một hoặc nhiều node vật lý bổ sung. Với sự trợ giúp của các bridge ảo, các máy ảo có thể giao tiếp với nhau trên cùng một node vật lý, cùng với khả năng kết nối của máy ảo với các cổng của bridge ảo cho phép hoạt động theo cách giống với kết nối của máy chủ vật lý với các cổng vật lý trên một chuyển mạch Lớp 2. Để giao tiếp bên ngoài hypervisor node, các bridge này kết nối các máy ảo với mạng vật lý. Trong OpenStack, mỗi node neutron và cả node Compute (Nova) đều đang chạy Open vSwitch để cung cấp các dịch vụ mạng ảo hóa [23].

OVS phụ thuộc vào 2 yếu tố trong khi chuyển tiếp gói giữa các máy chủ gồm:

virtual network bridges và các quy tắc của chúng. OVS có 3 thành phần chính gồm mô-đun máy chủ (ovsdb-server), chƣơng trình deamon (ovs-vswitchd) và một kernel mô-đun.

 ovs-vswitchd - Open vSwitch deamon (Slow Path): đây là mô-đun phần mềm thƣờng chạy trong các máy ngƣời dùng cho phép giao tiếp với cụm điều khiển (control cluster), nó thƣờng bao gồm các mô-đun quản lý mạng và một SDN controller, cho phép cấu hình mạng và chƣơng trình đƣa vào đƣờng dẫn nhanh của kernel.

 ovsdb-server - Open vSwitch database server, nơi mà các cấu hình và chính sách chuyển mạch của OVS đƣợc lƣu trữ.

 openvswitch_mod.ko - kernel module (Fast Path): đây thƣờng là gói phần mềm thƣờng chạy trên hệ điều hành hoặc hypervisor kernel để thực sự thực hiện xử lý gói.

nh 2.7: Tổng quan kiến trúc Open vSwitch

Open vSwitch là một phần mềm chuyển mạch hỗ trợ OpenFlow.

 OpenFlow controller chịu trách nhiệm hƣớng dẫn cho kernel module (fast- path) biết làm sao xử lý các loại gói khác nhau, hay còn gọi là flows. Một flow mô tả hành động mà kernel module thực hiện để xử lý các gói tin của cùng một loại nhƣ thế nào, hay còn đƣợc gọi là action. Các kiểu hành động bao gồm chuyển tiếp tới port khác, thay đổi vlan tag... Quá trình tìm kiếm flow khớp với gói tin nhận đƣợc gọi là flow matching.

 Nhằm mục đích đạt hiệu năng tốt, một phần của flows đƣợc cache trong kernel module, và phần còn lại ở vswitchd.

 Một gói tin đi vào Open vSwitch kernel module sau khi nó đƣợc nhận trên một card mạng. Nếu gói tin khớp với flow nào đó trong kernel module thì kernel module sẽ thực thi các actions tƣơng ứng mô tả trong flow entry. Nếu không (flow missing), kernel module sẽ gửi gói tin lên kernel module và tiến trình flow-matching khác đƣợc xử lý tại đây. Sau khi ovs-vswitchd xác định làm sao để xử lý gói tin, nó gửi trả gói tin lại cho kernel module cùng với yêu cầu xử lý. Đồng thời, vswitchd cũng yêu cầu kernel module cache lại flow để xử lý các gói tin tƣơng tự sau đó

nh 2.8: Xử lý gói trong Open vSwitch

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu triển khai và đánh giá hiệu năng của các giải pháp networking nâng cao cho hệ thống ảo hoá sử dụng openstack (Trang 42 - 45)

Tải bản đầy đủ (PDF)

(84 trang)