Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Multitenant

    Multi-Tenant trong Data Center là gì?


    Trong Data Center hiện đại, 10 khách hàng có thể dùng chung một hệ thống switch vật lý nhưng vẫn cảm thấy như mỗi người đang sở hữu một mạng riêng. Đó chính là tư tưởng cốt lõi của Multi-Tenancy.

    Tenant có thể hiểu là một khách hàng, một công ty, một phòng ban, một ứng dụng hoặc một môi trường độc lập như Production/Development. Multi-Tenant là kiến trúc cho phép nhiều tenant chia sẻ chung hạ tầng vật lý nhưng được cách ly với nhau về mặt logic. 1. Ví dụ đơn giản


    Một Cloud Provider có một Data Center phục vụ ba khách hàng:
    Shared Data Center Fabric
    ─────────────────────────────

    Tenant A Tenant B Tenant C
    Ngân hàng Bệnh viện Công ty ABC

    10.10.0.0/16 10.10.0.0/16 10.10.0.0/16
    │ │ │
    └──────────── Shared Leaf-Spine ──────────────────┘

    Điểm thú vị là cả ba tenant thậm chí có thể sử dụng cùng dải IP 10.10.0.0/16 mà không xung đột, nếu được đặt trong các VRF khác nhau.

    Có thể hình dung giống như một chung cư:

    Data Center = tòa nhà

    Tenant = từng căn hộ

    Điện, nước, thang máy và hạ tầng được dùng chung, nhưng mỗi căn hộ vẫn là một không gian riêng.
    2. Multi-Tenant giải quyết vấn đề gì?


    Nếu không có Multi-Tenancy, cách đơn giản nhất để cách ly ba khách hàng là xây ba hệ thống mạng riêng:
    Tenant A → Switch A → Router A

    Tenant B → Switch B → Router B

    Tenant C → Switch C → Router C

    Cách này cách ly rất tốt nhưng tốn:
    • switch;
    • router;
    • firewall;
    • rack;
    • nguồn điện;
    • cáp;
    • cổng uplink;
    • công sức vận hành.

    Multi-Tenant thay đổi tư duy đó thành:
    Shared Fabric

    Spine1 ----------- Spine2
    | \ / |
    | \ / |
    Leaf1 Leaf2 Leaf3 Leaf4
    | | | |
    Tenant A Tenant B Tenant A Tenant C

    Physical Infrastructure được chia sẻ, Logical Infrastructure được tách biệt.

    Đây chính là điểm quan trọng nhất cần nhớ.
    3. VXLAN giúp Multi-Tenant như thế nào?


    Hình trên mô tả một kiến trúc:

    BGP EVPN + VXLAN

    Trong đó có hai lớp cần phân biệt. Underlay Fabric


    Underlay là mạng IP thực sự kết nối các Leaf và Spine.

    Ví dụ:
    Leaf ───── Spine
    \ /
    \ /
    ─ Spine

    Underlay chỉ cần đảm bảo:
    IP Reachability giữa các VTEP.

    OSPF, IS-IS hoặc eBGP thường được sử dụng ở lớp này.

    Underlay về cơ bản không cần biết server phía dưới thuộc Tenant A hay Tenant B.
    4. Overlay mới là nơi tạo ra các mạng Tenant


    Phía trên Underlay là:

    VXLAN Overlay

    Các Leaf Switch đóng vai trò:

    VTEP – VXLAN Tunnel Endpoint

    Ví dụ server của Tenant A nằm ở hai Leaf khác nhau:
    Server A1
    |
    Leaf1/VTEP
    |
    |======== VXLAN Tunnel ========|
    |
    Leaf4/VTEP
    |
    Server A2

    Leaf1 đóng Ethernet frame của Server A1 vào VXLAN rồi truyền qua IP Fabric.

    Leaf4 decapsulate VXLAN và chuyển frame tới Server A2.

    Vì vậy, đối với Tenant A:
    Server A1 ---------------- Server A2

    trông giống như đang nằm trong cùng một mạng logic, mặc dù phía dưới chúng có thể cách nhau qua nhiều thiết bị Layer 3.
    5. VNI là chìa khóa quan trọng của Multi-Tenancy


    VXLAN sử dụng VNI – VXLAN Network Identifier để nhận diện mạng logic.

    VNI có độ dài 24 bit, cung cấp khoảng:

    16 triệu VNI

    so với VLAN ID 12 bit chỉ có khoảng 4094 VLAN khả dụng.

    Ví dụ:
    Tenant A

    VLAN 10

    VNI 10010

    Tenant B có thể có:
    VLAN 10

    VNI 20010

    Mặc dù cả hai đều sử dụng VLAN 10 ở một vị trí nào đó trong thiết kế, chúng thuộc hai VXLAN segment khác nhau.
    Tenant A Tenant B

    VLAN 10 VLAN 10
    │ │
    VNI 10010 VNI 20010
    │ │
    └─────── ISOLATED ────────┘

    Traffic của Tenant A không tự nhiên "nhảy" sang Tenant B.
    6. VRF giúp cách ly Layer 3


    VNI chủ yếu chưa phải toàn bộ câu chuyện Multi-Tenant.

    Khi cần routing, chúng ta thường kết hợp thêm:

    VRF – Virtual Routing and Forwarding

    Ví dụ:
    Tenant A
    VRF-A
    10.10.10.0/24
    10.10.20.0/24

    Tenant B:
    Tenant B
    VRF-B
    10.10.10.0/24
    10.10.20.0/24

    Hai bên có thể sử dụng địa chỉ IP hoàn toàn giống nhau vì mỗi VRF có routing table riêng:
    VRF-A Routing Table
    10.10.10.0/24
    10.10.20.0/24

    VRF-B Routing Table
    10.10.10.0/24
    10.10.20.0/24

    Đây là khả năng cực kỳ quan trọng đối với Cloud Provider và Multi-Tenant Data Center.
    7. L2VNI và L3VNI


    Khi học EVPN-VXLAN ở mức CCNP Data Center trở lên, cần phân biệt hai khái niệm này.

    L2VNI đại diện cho một Layer 2 Broadcast Domain:
    VLAN 10

    L2VNI 10010

    Trong khi L3VNI gắn với VRF và phục vụ Layer 3 connectivity của tenant:
    Tenant A

    VRF-A

    L3VNI 50001

    Có thể hình dung:
    Tenant A
    VRF-A

    L3VNI 50001
    / \
    / \
    VLAN 10 VLAN 20
    │ │
    L2VNI 10010 L2VNI 10020

    Một tenant có thể có rất nhiều VLAN/L2VNI nhưng chúng cùng thuộc một VRF.
    8. EVPN đóng vai trò gì?


    Nếu VXLAN tạo ra các đường hầm overlay thì BGP EVPN cung cấp Control Plane để các VTEP trao đổi thông tin như:
    • MAC address;
    • IP address;
    • VNI;
    • IP Prefix;
    • thông tin reachability của endpoint.

    Có thể nhớ đơn giản:
    VXLAN xây "đường hầm", EVPN giúp các VTEP biết "ai đang ở đâu".

    Nhờ vậy Fabric không phải phụ thuộc quá nhiều vào cơ chế flood-and-learn truyền thống.
    9. Đọc lại hình trên theo tư duy này


    Hình có thể được chia thành:
    UNDERLAY FABRIC
    Spine / Leaf Network


    IP Connectivity

    ─────────────────────────

    VXLAN Overlay

    VTEP VTEP VTEP
    │ │ │
    ─────────────────────────
    Overlay Services
    │ │ │
    Tenant A Tenant B Tenant C

    Như vậy, Leaf-Spine Fabric không nhất thiết phải xây riêng cho từng khách hàng.

    Các tenant cùng sử dụng Fabric nhưng được phân tách bằng những cơ chế như:

    VLAN → L2VNI → VRF/L3VNI → VXLAN/EVPN
    10. Multi-Tenant không đồng nghĩa chỉ với VXLAN


    Đây là điểm dễ nhầm.

    Multi-Tenancy là kiến trúc, còn VXLAN/EVPN là một trong những công nghệ rất phù hợp để triển khai kiến trúc đó.

    Tùy môi trường, việc phân tách tenant còn có thể sử dụng:
    • VLAN
    • VRF
    • MPLS VPN
    • VXLAN/EVPN
    • ACL
    • Firewall
    • Micro-segmentation
    • Cisco ACI Tenant/VRF/Bridge Domain/EPG

    Trong Cisco ACI, khái niệm Tenant thậm chí được đưa trực tiếp vào object model của hệ thống.
    Một câu để nhớ khi học CCNP/CCIE Data Center
    Multi-Tenancy = Share the physical infrastructure, isolate the logical networks.

    Hay nói theo cách dễ nhớ hơn:
    Dùng chung "đường", nhưng mỗi tenant có "làn đường" và không gian mạng riêng.

    Và trong một EVPN-VXLAN Fabric, Underlay tạo IP connectivity, VXLAN tạo Overlay, VNI phân biệt các mạng logic, VRF cách ly Layer 3, còn BGP EVPN phân phối thông tin reachability giữa các VTEP.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X