Network và multi-tenancy

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 40 - 41)

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

2.1 Giới thiệu OpenStack

2.1.6 Network và multi-tenancy

Ngoài các mạng vật lý kết nối các node khác nhau, trong OpenStack, còn có 2 loại mạng: Mạng ngƣời dùng (tenant network) và Mạng nhà cung cấp (provider network)

Mạng nhà cung cấp là một mạng nằm ngoài cụm và cho phép kết nối ra bên ngoài, bằng cách đi qua node mạng. Một instance ảo thậm chí có thể phân bổ (và sau đó giải phóng, khi không cần thiết) một floating IP trên mạng này cho phép hiển thị ra bên ngoài. Mạng của nhà cung cấp đƣợc tạo bởi ngƣời quản trị OpenStack.

Thay vào đó, mạng ngƣời dùng (còn gọi là mạng tự phục vụ) đƣợc hình thành bởi ngƣời dùng đám mây để kết nối bên trong các dự án. Tuy nhiên, nó thiếu kết nối với các mạng bên ngoài nhƣ internet, trừ khi nó sử dụng bộ định tuyến ảo kết hợp cổng trên mạng của nhà cung cấp. Theo mặc định, các mạng đối tƣợng thuê hoàn toàn bị cô lập và dƣờng nhƣ không đƣợc chia sẻ với các dự án khác. Trong giai đoạn tạo ra một instance, một IP cố định đƣợc lấy từ mạng này (sẽ không thể sửa đổi đƣợc một khi tạo, do kết quả của sự trừu tƣợng hóa neutron đối với cổng). Hơn nữa, cần lƣu ý rằng instance nhận IP từ máy chủ DHCP (thực sự có thể là quá trình dnsmasq [20] đƣợc tạo bởi DHCP agent) đƣợc cấu hình để cung cấp sao cho IP luôn luôn giống hệt nhau.

Neutron OpenStack hỗ trợ các loại dƣới đây cho tenant network.

Flat: Tất cả các instances nằm trong cùng một mạng, và có thể chia sẻ với máy chủ. Không hề sử dụng VLAN tagging hay hình thức tách biệt về network khác

VLAN: Cho phép các user tạo nhiều provider hoặc project network sử dụng VLAN IDs (chuẩn 802.1Q tagged) tƣơng ứng với VLANs trong mạng vật lý. Điều này cho phép các instances giao tiếp với nhau trong môi trƣờng đám mây. Chúng có thể giao tiếp với servers, firewalls, load balancers vật lý và các hạ tầng network khác trên cùng một VLAN layer 2

GRE và VXLAN: VXLAN và GRE là các giao thức đóng gói tạo nên overlay networks để kích hoạt và kiểm soát việc truyền thông giữa các máy ảo

(instances). Một router đƣợc yêu cầu để cho phép lƣu lƣợng đi ra luồng bên ngoài tenant network GRE hoặc VXLAN. Router cũng có thể yêu cầu để kết nối một tenant network với mạng bên ngoài (ví dụ Internet). Router cung cấp khả năng kết nối tới instances trực tiếp từ mạng bên ngoài sử dụng các địa chỉ floating IP.

Local: trong loại mạng này, các instance nằm trong các máy Compute cục bộ và cách ly với bất kỳ mạng bên ngoài nào.

Bên trong một node, các luồng của tenant đƣợc phân tách bằng các VLAN ID đƣợc gán bên trong. Sau đó, để thực hiện liên lạc giữa các node vật lý, các luồng của tenant đƣợc phân tách, ví dụ, bằng VLAN ID, VXLAN ID hoặc GRE ID do ngƣời dùng định nghĩa, tùy thuộc vào kỹ thuật cách ly tenant đƣợc chọn. Cần lƣu ý rằng dù bất cứ cơ chế cách ly tenant nào đƣợc sử dụng, bên trong một node OpenStack việc sử dụng các Vlan ID vẫn có thể tạo ra bằng cách gán tự động. Thật vậy, mặc dù một kỹ thuật đƣờng hầm đƣợc sử dụng cho các tenant network, các Vlan ID vẫn quen với việc cô lập lƣu lƣợng của tenant trong node. Tuy nhiên, dựa trên ý nghĩa của kỹ thuật này (VLAN, VXLAN, GRE, v.v.), multi-tenant đã đạt đƣợc, các cơ chế tiếp theo đƣợc yêu cầu để cho những ngƣời dùng khác nhau có các mạng chồng chéo. Để làm điều đó, các virtual router cho các tenant network sẽ vẫn đƣợc sử dụng vì các quy trình hoạt động nhƣ một máy chủ DHCP, đƣợc triển khai trong nhiều namespace network. Network namespace là khái niệm cho phép bạn cô lập môi trƣờng mạng network trong một host. Namespace phân chia việc sử dụng các khác niệm liên quan tới network nhƣ devices, địa chỉ addresses, ports, định tuyến và các quy tắc tƣờng lửa vào trong một hộp (box) riêng biệt, chủ yếu là ảo hóa mạng trong một máy chạy một kernel duy nhất. Mỗi network namespaces có bản định tuyến riêng, các thiết lập iptables riêng cung cấp cơ chế NAT và lọc đối với các máy ảo thuộc namespace đó. Linux network namespaces cũng cung cấp thêm khả năng để chạy các tiến trình riêng biệt trong nội bộ mỗi namespace. Namespace tên có thể đảm bảo sự cô lập L3, tạo ra khả năng cho nhiều ngƣời dùng khác nhau phải chồng chéo địa chỉ IP. Do đó, tính đa dụng đạt đƣợc bằng cách sử dụng các kỹ thuật nhƣ gắn thẻ Vlan và/hoặc tạo đƣờng hầm (VXLAN, GRE), trong khi cách ly L3 đƣợc cấp bằng cách sử dụng nhiều Linux network namespace. Tuy nhiên, cần phải biết rằng Neutron cung cấp nhiều trừu tƣợng mạng để cho phép ngƣời dùng minh bạch với bất kỳ hoặc tất cả các chi tiết cấp thấp này đƣợc yêu cầu để cung cấp và tăng cƣờng đa nhiệm trong hệ thống phân tán này.

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 40 - 41)

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

(84 trang)