VMware vSphere 4: Tổng quan virtual network (P.1)

Ngay từ những phiên bản đầu tiên Vmware đã khẳng định được vị thế của mình trong làng công nghệ ảo hóa. Không đơn thuần mà Vmware được đánh giá cao như thế nó là sự nỗ lực nghiên cứu phát triển không ngừng trong lĩnh vực ảo hóa máy chủ. Hạ tầng Virtual Network của Vmware tiềm tàng các đặc tính mạnh mẽ nhất hỗ trợ tối đa cho các thiết kế hạ tầng network enterprise. Chúng có thể được quản lý riêng lẻ trên từng cá thể host của môi trường ảo cũng như  quản lý tập trung nhất thông qua sản phẩm Vmware vCenter.

Nhìn chung hạ tầng network của Vmware gồm các thành phần như hình sau:

image

Tình từ trên xuống có các thành phần như sau:

Nic ảo (card mạng ảo) là thiết bị network giao tiếp chính giữa các VMs với hạ tầng network bên dưới cả ảo lẫn physical. Trong quá trình dài phát triển của mình VMware cho ra đời nhiều phiên bản, dòng Nic ảo khác nhau cho môi trường ảo như

  • Vlance ( một dạng cacrd hỗ trợ cho các dòng OS cũ chỉ support 10Mbps
  • VMxnet là một dòng card hỗ trợ tối ưu hóa network cho các VMs nhưng đòi hỏi phải cài đặt driver trong Vmware Tools
  • Flexible là một định nghĩa card khá đặc biệt nếu sử dụng nó thì bạn đầu boot và sử dụng network sẽ hoạt động như Vlance khi thiết lập vmware tools và cái đặt các driver vmware thì sẽ hoạt động ở dạng VMxnet
  • E1000: tiếp theo đó là sự ra đời cho dòng Nic E1000 nó là kết quả của quá trình giả lập hoạt động cấu trúc của card Intel 82545EM Gigabit Ethernet NIC. Tuy nhiên driver của thiết bị này không có sẵn trên tất cả OS mà chỉ có trên các phiên bản từ Linux versions 2.4.19, Windows XP Professional x64 Edition và  Windows Server 2003 (32-bit) trở lên.
  • Về sau là sự phát triển của dòng VMxnet là VMxnet2 và VMxnet3 ngoài nâng cao khả năng hiệu suất còn có một số tính năng đặc biệt khác như jumbo frames , hardware offloads…

P/s: một VM tối đa được add 10 Nic ảo

Bản thân Host ESX/ESXi cũng sẽ có một hoặc nhiều Nic ảo để dành cho hoạt động giao tiếp với bên ngoài như vCenter. Trong các phiên bản trước thì đối với trường hợp này sẽ có 2 khái niệm:

Service Console: thực chất chỉ là tên một tên gọi bản chất của nó là một OS thu nhỏ gồm nhiều thành phần service: firewall, Simple Network, Management Protocol (SNMP) agents, web server…phục vụ cho nhu cầu tương tác với ESX và VMs được đóng gói sẵn trong các phiên bản trước nhằm cung cấp các giao diện quản lý trực tiếp trên host. Nhưng vì trong quá trình vận hành chúng trở nên không cần thiết nên đuợc lược bỏ đi trong các phiên bản sau này (từ bản 4 là không còn).

VMKernel: là lõi điều khiển chính cho toàn bộ hoat động bên dưới của các VMS hỗ trợ tương tác với phần cứng như quản lý lịch CPU, quản lý memory cũng như các tiến trình xử lý network bên trong các vswitch VMkernel bản thân nó cũng có một IP riêng dùng cho việc liên lạc với vCenter, vMotion, Fault tolerance, quản lý từ xa….

Lớp kế tiếp trong môi trường mạng ảo của Vmware là thành phần quan trong nhất nó chính là hệ thống các switch ảo. Mặc định mỗi host ESX/ESXi sẽ có một hệ thống switch riêng gọi là Virtual Standard Switch (vSwitch)

image

Mỗi host sẽ có một bộ vSwitch trong bộ đó sẽ có nhiều switch ảo. Trên mỗi vSwitch sẽ có nhiều port ngoài port cho service console và vmkernel dành cho host thì các port còn lại dành cho máy ảo nên còn gọi là VM port tuy nhiên trên các vSwitch để có thể plug Nic ảo vào vSwitch chúng ta cần thiết lập nên các nhóm port (Port Group) để có thể tùy nhu cầu mà thiết lập các policy khác nhau cho các nhóm port khác nhau ( I/O, Vlan, failover…) ngoài ra để đi ra được môi trường mạng bên ngoài thì mỗi vSwitch cần có ít nhất một Nic thật hay còn gọi là uplink mỗi vSwitch có thể mang theo nhiều uplink để failover, Load Balancing (tập hợp các uplink lúc này gọi là Nic Teaming) tuy nhiên chú ý là một NC thật chỉ  thuộc một vSwitch. Một số tác dụng của vSwitch như sau:

  • Kết nối các máy ảo trong cung một host
  • Kết nối giữa các máy ảo khác host với sự hỗ trợ của các uplink
  • Kết nối giữa các máy ảo và máy vật lý trong hệ thống mạng
  • Phuc vụ cho các truy cập Service console (chỉ trên ESX)
  • Phục vụ VMkernel phục vụ mục đích  VMotion, iSCSI, NFS, hoặc fault tolerance logging và quản lý trên ESXi.

image

Trên cơ bản vSwitch hoạt động không khác gì các switch thông thường tuy nhiên chúng không hỗ trợ các giao thức STP, VTP. Vì trong môi trường mạng thật nhiệm vụ của switch là kết nối và mở rộng thêm hạ tầng tuy nhiên trong môi trường ảo thì các switch ảo trên đó có thể có hằng trăm port nên việc kết nối các switch lại để mở rộng hạ tầng là không cần thiết. Đồng nghĩa việc các switch ảo này nằm ở lớp access cuối cùng không kết nối thêm switch nào nữa nên không xảy ra loop mà không xảy ra loop thì không cần STP đồng thời cũng chẳng có môi trường để cần sử dụng giao thức VTP. Nhưng vẫn hỗ trợ Vlan nhưng theo một phương thức khác điền hình là 3 loại thiêt kế:

    • Virtual switch tagging (VST mode)
    • Virtual machine guest tagging (VGT mode)
    • External switch tagging (EST mode)

Tuy nhiên việc sử dụng vSwitch trong môi trường mạng thật tế đã đem đến nhiều phiến phức trên mỗi host phải cấu hình từng bộ vSwitch, port group… để đảm bảo tính chung nhất cho toàn hệ thống đảm bảo cho các tính năng Migration do đó bài toán đặt ra là chúng ta cần một hệ thống vDS có thể quản lý tập trung được. Và để giải quyết bài toán tập trung này VMware đã xây dựng lên một khái niệm switch mới và chỉ có thể cấu hình và phân phôi từ vCenter Server gọi là Virtual Distributed Switch (vDS). Cấu hình sẽ được lưu trong database và phân phối đến từng host qui định.

image

So Sánh vSwitch và vDS

Ngoài việc khác nhau ở mặt quản lý tập trung thì hoạt bên trong giữa vSwitch và vDS vẫn có một số giống và khác nhau:

Giống nhau:

  • Đều làm việc ở Layer 2
  • Hỗ trợ việc đóng gói và vận chuyển vlan
  • Có thể có một hay nhiều uplink (Nic teaming)
  • Quản lý I/O chiều ra cho các luu thông traffic

Khác nhau (chỉ trên vDS):

  • Hỗ trợ quản lý I/O cả hai chiều
  • Quản lý tập trung qua giao diện quản lý của vCenter Server
  • Hỗ trợ Private vLan (PVLANS)

image

Ngoài ra còn một loại switch ảo đặc biệt thuộc hãng thứ 3 là Cisco phát triển đưa vào hoạt động trong môi trường ảo của VMware gọi là Cisco Nexus 1000 loại này cũng tương tự như vDS đều có thể quản lý tập trung. Tuy nhiên đây là sản phẩm dựa trên nền tảng network của Cisco nên nó mang lại những khác biệt vượt trội về policy, security, QoS…

image

(mời đón xem P2)

Posted on 30/10/2011, in VMware and tagged , , , , , , , , , , . Bookmark the permalink. 6 bình luận.

  1. Bài viết rất hay.

    Mình có 1 số thắc mắc sau:

    – Trong bài viết bạn có nói đến các giao thức VTP và SPT ( ý bạn có phải là STP – Spanning tree protocol ?). Mình thấy trong tài liệu VMware nói vSwitch ko cần STP nhưng vẫn có trunking khi 1 virtual port cần truy cập vào nhiều VLAN. Vậy trunking ở đây có phải là VTP.

    – Các VM trên 1 server không kết nối đến cùng 1 vSwitch thì khi cần kết nối với nhau phải làm sao? Có lẽ phải cấu hình để kết nối với nhau trên 1 Switch/Router thật ngoài server.

    – Theo mình VMkernel không “song song” với Service Console OS mà nó là “trái tim” của hệ thống VMWare và nằm ở tầng thấp nhất, ngay trên phần cứng. Console OS và các VM khác nằm ở trên nó.

    • “- Trong bài viết bạn có nói đến các giao thức VTP và SPT ( ý bạn có phải là STP – Spanning tree protocol ?). Mình thấy trong tài liệu VMware nói vSwitch ko cần STP nhưng vẫn có trunking khi 1 virtual port cần truy cập vào nhiều VLAN. Vậy trunking ở đây có phải là VTP.”

      hehe sry bữa đó khuya “đường xa mắt mờ” sẽ update ngay đúng là khúc đó mình nói đến VTP và STP. Nhưng có lẽ bạn hơi rối trong vấn đề này thứ nhất Trunking là khái niệm không liên can đến STP vì STP là giao thức sinh ra để giải quyết bài toán loop trên hệ thống switch layer 2 khi mà hệ thống thiết kế gồm nhiều switch kết nối với nhau và tồn tại các vòng loop. Nhưng hệ thống vswitch lảo chúng không cần kết nối với nhau thì không còn khái niệm loop mà không còn thì không cần hỗ trợ STP. Còn truking và VTP là hai khái niệm độc lập chúng không phụ thuộc lẫn nhau. Một cái là hỗ trợ đồng nhất và distributed cũng như quản lý tập trung vlan database (VTP) còn trunking là khái niệm đường liên kết giữa 2 switch cho phép forward các gói tin thuộc các Vlan khác nhau qua lại giữa các switch trên hệ thống. Nên khi thiết kế để các gói tin vlan trên vSwitch forward ra được các VMs trên host khác hoặc các máy vật lý khác bạn phải cấu hình trunk giữa vswitch (card mạng phải hỗ trợ) và physical switch bên ngoài. Ngoài ra thiết kế network nhiều Vlan còn một số phương thức khác khá dài mình dừng đây vậy :).

      “- Các VM trên 1 server không kết nối đến cùng 1 vSwitch thì khi cần kết nối với nhau phải làm sao? Có lẽ phải cấu hình để kết nối với nhau trên 1 Switch/Router thật ngoài server.”

      Uhm các server không nằm cùng vswitch hoặc Vlan cần thiết kế các uplink (Nic thật) đi ra các physical switch hoặc các thiết bị lớp 3 để có thể liên lạc network được với nhau giữa các VMs này

      “- Theo mình VMkernel không “song song” với Service Console OS mà nó là “trái tim” của hệ thống VMWare và nằm ở tầng thấp nhất, ngay trên phần cứng. Console OS và các VM khác nằm ở trên nó.”

      Giải thích theo bạn là đúng không sai gì mình chỉ ghi đơn giản thôi không muốn sâu quá kernel nhiều người đọc lại lằng ngoằng ^^. Service Console thực chất chỉ là tên một tên gọi bản chất của nó là một OS thu nhỏ gồm nhiều thành phần service: firewall, Simple Network, Management Protocol (SNMP) agents, web server…phục vụ cho nhu cầu tương tác với ESX và VMs. Còn VMkernel thực sự là lõi điều khiển chính cho toàn bộ hoat động bên dưới của các VMS hỗ trợ tương tác với phần cứng như quản lý lịch CPU, quản lý memory cũng như các tiến trình xử lý network bên trong các vswitch

  2. Thanks for your reply,

    Đúng là mình lơ mơ nghĩ VTP là 1 giao thức trunking (cũng tại bọn Cisco đặt tên cho nó rất dễ nhầm: VLAN Trunking Protocol).

    Theo mình đối thủ chính của vSphere không chỉ là Hyper-V mà còn cả Citrix XenServer.

  3. Khổ m thế. Chẳng hiểu gì cả mà lại phải tìm hiểu để sư dụng. chẳng ai dạy, đọc tai liệu mãi mà chẳng hiểu gì cả, chẳng biết bất đầu từ đâu. hnay mới tìm dc tài liệu tiếng việt mà vẫn chẳng hiểu. không biết ý nghĩa, chức năng, tiện ích, nhược điểm, nguy hiểm, liên quan đến các phần mềm khác, xây dựng, cách dùng, quản lý……

  4. Bài viêt rât hay và bổ ich cảm ơn tác giả rât nhiều

  1. Pingback: VMware vSphere 4: Tổng quan virtual netowrk (P.2) « Lê Tôn Phát

Bình luận về bài viết này