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.

Announcement

Collapse
No announcement yet.

ẢO HÓA MẠNG & ẢO HÓA MÁY CHỦ

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ẢO HÓA MẠNG & ẢO HÓA MÁY CHỦ

    Phòng Kỹ Thuật VnPro

    Ảo hóa máy chủ

    Khi bạn nghĩ về một máy chủ, bạn nghĩ đến điều gì? Có phải là một máy tính với CPU nhanh? Nó có nhiều RAM không? Nó có được bắt vít vào các tủ hoặc giá đỡ (racks) trong một trung tâm dữ liệu?
    Khi bạn nghĩ về một máy chủ, có khi nào bạn thôi không nghĩ về các phần cứng mà suy nghĩ về hệ điều hành của nó, đang chạy ở đâu đó và được gọi là các máy ảo (Virtual Machine – VM)?
    Các câu trả lời đều là chính xác tùy theo quan điểm, nhưng trong phạm vi chương trình CCNA, chúng ta sẽ bỏ qua những chi tiết đó. Với mức CCNA, một máy chủ là nơi để chạy các ứng dụng, những người dùng kết nối với các ứng dụng thông qua mạng. Loạt vài viết này sẽ biểu thị máy chủ với biểu tượng nhìn giống một máy tính desktop (Cisco dùng nó để biểu thị cho server). Chủ đề tiếp theo sẽ giúp ta khám phá một vài quan điểm về server và giúp ta chuẩn bị cho phần thảo luận về điện toán đám mây.

    Thiết bị máy chủ Cisco
    Hãy suy nghĩ về các yếu tố của một máy chủ - đó là hình dạng và kích thước vật lý của nó. Nếu bạn tự lắp ráp một máy chủ cho riêng mình, nó sẽ trông như thế nào? Lớn như thế nào, rộng bao nhiêu, cao bao nhiêu, v.v. Thậm chí nếu bạn chưa bao giờ thấy một thiết bị có các đặc trưng của một máy chủ, hãy xem xét các tính năng đặc trưng của nó:
    • Không có KVM (Keyboard, Video display or Mouse): Đối với hầu hết các máy chủ, không có người dùng nào ngồi gần máy chủ; tất cả người dùng và quản trị viên kết nối với máy chủ qua mạng. Kết quả là, không cần cả bàn phím, màn hình hay chuột.
    • Giá đỡ máy chủ (các racks) trong trung tâm dữ liệu: Trong những năm đầu, một máy chủ là bất kỳ máy tính nào có CPU tương đối nhanh, dung lượng RAM lớn, v.v. Ngày nay, các công ty đặt nhiều máy chủ vào một phòng – một trung tâm dữ liệu – để tiết kiệm không gian. Vì thế, thiết kế ra các máy chủ phù hợp với các giá đỡ tiêu chuẩn giúp sử dụng không gian hiệu quả hơn - đặc biệt là khi bạn không người dùng không ngồi phía trước các máy chủ.
    Ví dụ, hình bên dưới cho chúng ta thấy một thiết bị máy chủ của Cisco. Trong khi bạn nghĩ về Cisco như một công ty mạng và viễn thông thì khoảng năm 2010, Cisco đã ra mắt các sản phẩm cho thị trường máy chủ, với các sản phẩm Cisco Unified Computing System (UCS). Hình ảnh cho thấy một thiết bị UCS B-Series (Blade series). Nó có thể gắn trên một giá đỡ (bằng các lỗ ở hai bên), với 8 khe cắm linh kiện (4 mỗi bên) sắp xếp theo chiều ngang. Nó cũng có 4 bộ nguồn cung cấp điện ở bên dưới.


    Hình Máy chủ Cisco UCS: B-Series (Blade)

    Các thiết bị máy chủ ngày nay có thể chứa nhiều con chip CPU, RAM, dung lượng lưu trữ và card mạng (NICs). Nhưng bạn sẽ phải nghĩ khác đi vềc hệ điều hành chạy trên server bởi vì công cụ được gọi là server virtualization (ảo hóa máy chủ).
    Cơ bản về ảo hóa máy chủ
    Hãy nghĩ về một máy chủ - một thiết bị - như một máy tính. Nó có thể là một trong những “blade” như trong Hình 15-1, hoặc một máy tính mạnh bạn mua từ cửa hàng máy tính... Theo truyền thống, khi bạn nghĩ về một máy chủ, một máy chủ sẽ chỉ chạy một hệ điều hành. Bên trong nó, các phần cứng bao gồm CPU, RAM, các bộ nhớ lưu trữ (như là đĩa cứng) kèm theo một hoặc nhiều card mạng. Một hệ điều hành có quyền chi phối và sử dụng toàn bộ các phần cứng bên trong một thiết bị máy chủ để chạy một hoặc nhiều ứng dụng. Hình bên dưới cho chúng ta thấy các thành phần cơ bản của một máy chủ vật lí.


    Hình Mô hình máy chủ vật lý: Các phần cứng vật lí, một hệ điều hành và các ứng dụng chạy trên nó.

    Với mô hình máy chủ vật lý được hiển thị trong hình, mỗi máy chủ vật lý chạy một HĐH và HĐH đó sử dụng tất cả phần cứng trong một máy chủ đó. Điều đó đúng trước khi có khái niệm ảo hóa máy chủ.
    Ngày nay, hầu hết các công ty chọn triển khai các máy chủ ảo hóa. Để làm được điều đó, họ mua các thiết bị server, lắp nó lên các giá đỡ và gắn thêm các phần cứng như CPU, RAM, bộ nhớ cho nó... Sau đó, nhiều hệ điều hành sẽ được cài lên nó, gọi là các instances. Các instatnce sẽ được tách rời khỏi các phần cứng (lí do nó được gọi là ảo hóa). Mỗi thiết bị phần cứng mà trước đây chúng ta gọi nó là máy chủ sẽ chạy nhiều instances của các hệ điều hành ở cùng một thời điểm. Với mỗi instance đó, ta gọi nó là máy ảo (Virtual Machine – VM)
    Một máy chủ vật lý cổ điển thường có có sức mạnh xử lí nhiều hơn cái bạn cần cho một hệ điều hành. Suy nghĩ về bộ xử lý trong giây lát, ta thấy CPU máy chủ hiện đại có nhiều lõi (bộ xử lý) trong một chip CPU.
    Mỗi lõi cũng có thể chạy nhiều luồng với một tính năng gọi là đa luồng (multithreading). Vì vậy, khi bạn đọc về một bộ xử lý Intel cụ thể với 8 lõi và đa luồng (thường là hai luồng trên mỗi lõi), tức là mỗi con chip CPU có thể thực thi 16 chương trình khác nhau cùng lúc. Trình ảo hóa - hypervisor (sẽ giới thiệu sau) có thể xem mỗi luồng có sẵn là một CPU ảo (vCPU) và cung cấp cho mỗi VM một số vCPU.
    Một VM, là một phiên bản có hệ điều hành được tách rời khỏi phần cứng nhưng vẫn phải chạy trên phần cứng. Nó có cấu hình là số tối thiểu vCPUs cần, RAM tối thiểu, v.v. Các hệ thống ảo hóa sau đó khởi động và chạy các VM trên các máy chủ vật lý sao cho tối ưu nhất về phần cứng và vẫn đảm bản các VM hoạt động ổn định. Vì vậy, tại bất kỳ thời điểm nào, mỗi VM đều đang chạy trên máy chủ vật lý, sử dụng một tập hợp CPU, RAM, đĩa cứng và các NIC trên máy chủ đó. Hình minh họa bên dưới cho ta thấy một máy chủ có khả năng ảo hóa, với bốn máy ảo riêng biệt đang chạy trên một máy chủ vật lý.



    Hình Bốn máy ảo đang chạy trên một máy chủ; Hypervisor sẽ quản lý phần cứng để cấp phát cho các VM.

    Để có thể triển khai ảo hóa, các thiết bị server vật lí (gọi là host trong lĩnh vực ảo hóa) sử dụng hypervisor (trình ảo hóa). Hypervisor quản lý và phân bổ phần cứng máy chủ (CPU, RAM, v.v.) cho mỗi VM dựa trên các thiết lập cho VM do người quản trị phân bố. Mỗi VM sẽ hoạt động như một máy chủ vật lí khép kín, với một một số lượng cụ thể vCPU, RAM, NICs và bộ nhớ lưu trữ. Chẳng hạn, nếu một VM được cấu hình để sử dụng 4 CPU, với 8 GB RAM, hypervisor sẽ phân bổ các phần cụ thể của CPU và RAM tùy theo nhu cầu của VM, với tối đa là mức mà quản trị viên thiết lập (giúp tối ưu hiệu suất phần cứng).
    Một số thương hiệu lớn nối tiếng trong lĩnh vực ảo hóa máy chủ:
    • VMware vCenter
    • Microsoft HyperV
    • Citrix XenServer
    • Red Hat KVM
    Ngoài các hypervisor, các công ty trên còn cung cấp các hệ thống ảo hóa hoàn chỉnh. Những hệ thống cho phép các quản trị viên có thể tạo các VMs, khởi động chúng, di chuyển chúng (theo cách thủ công và tự động) đến các máy chủ khác nhau hoặc tắt chúng. Ví dụ, khi cần phải bảo trì phần cứng đang chạy các VMs, kĩ thuật viên có có thể di chuyển VM đến thiết bị máy chủ khác (ngay cả trong khi các VM đang hoạt động) để có thể thực hiện bảo trì.
    Các Switch ảo (Virtual Switches) trên một host ảo hóa
    Các công cụ ảo hóa máy chủ cung cấp nhiều tùy chọn về cách kết nối các VM với mạng. Phần này sẽ không thảo luận về tất cả, nhưng sẽ giúp bạn có một khác niệm cơ bản trước khi suy nghĩ thêm về điện toán đám mây (cloud computing).
    Đầu tiên, máy chủ vật lí cần những gì để thực hiện chức năng kết nối mạng? Thông thường nó sẽ có một hoặc nhiều NICs, tốc độ của chúng có thể là 1 Gbps (tương đối chậm), ngày nay thường là 10 Gbps, và thậm chí có thể nhanh hơn (như là 40 Gbps).
    Tiếp theo, hãy nghĩ về VM. Thông thường, một hệ điều hành có một NIC, có thể nhiều hơn nữa. Để làm cho hệ điều hành hoạt động như bình thường, mỗi VM cũng sẽ có (ít nhất) một NIC, nhưng đối với VM, nó là card mạng ảo (virtual NIC). Virtual NIC có thể có các tên gọi khác nhau tùy. Ví dụ, trong các hệ thống ảo hóa VMware, card mạng ảo có tên vNIC.
    Cuối cùng, máy chủ phải kết hợp các các NIC vật lý với các vNIC được các VM sử dụng thành một loại mạng. Thông thường, mỗi máy chủ sử dụng một số concept chuyển mạch Ethernet nội bộ, thường được gọi là virtual switch, hoặc vSwitch. Hình 15-4 cho thấy một ví dụ, với bốn VM, mỗi VM sở hữu một vNIC. Máy chủ vật lý có hai NIC vật lý. Các vNIC và các NIC vật lý kết nối với một switch ảo nội bộ.


    Hình Cơ bản về mạng bên trong một thiết bị được ảo hóa với virtual switch.

    Điều thú vị là, vSwitch có thể được cung cấp bởi nhà cung cấp hypervisor hoặc bởi Cisco. Chẳng hạn, Cisco cung cấp switch ảo Nexus 1000VE (thay thế switch ảo Nexus 1000V cũ). Nexus 1000VE chạy hệ điều hành NX-OS được giới thiệu là dòng switch ảo dành cho các data center. Ngoài ra, Cisco cung cấp Cisco ACI Virtual Edge, một switch ảo khác, sẽ được giới thiệu sau.
    Các vSwitch được trong hình có cùng các tính năng mà bạn học được trong chương trình CCNA; Nếu sử dụng vSwitch từ Cisco (và có kiến thức CCNA), ta sẽ rất dễ dàng làm quen về các tính năng, cách cấu hình… Bao gồm:
    • Các cổng được kết nối với VM: vSwitch có thể cấu hình một cổng để VM sẽ ở một VLAN riêng hoặc chung VLAN với các VM khác, hoặc thậm chí có thể sử dụng tính năng VLAN trunking cho VM.
    • Các cổng được kết nối với các NIC vật lý: vSwitch sử dụng các NIC vật lý trong phần cứng máy chủ để chuyển mạch đồng thời với LAN switch vật lý bên ngoài. Các vSwitch có thể (và có khả năng) sử dụng tính năng VLAN trunking.
    • Cấu hình tự động: Cấu hình có thể dễ dàng thực hiện trên các phần mềm điều khiển các VM. Chúng được lập trình cho phép phần mềm ảo hóa có thể di chuyển VM giữa các máy chủ (hosts) và lập trình lại các vSwitches sao cho VM có khả năng kết nối mạng giống nhau bất kể ở đâu VM đang chạy.
    Mạng của trung tâm dữ liệu vật lí
    Mỗi máy chủ lưu trữ cần một kết nối vật lí. Nhìn lại hình trên, máy chủ đó, với hai NIC vật lý, cần phải kết nối chúng với một LAN switch trong trung tâm dữ liệu.
    Hình bên dưới cho thấy cách đấu nối cáp truyền thống trong một mạng LAN của data center. Mỗi hình chữ nhật cao nhất đại diện cho một rack bên trong một trung tâm dữ liệu, với các ô nhỏ tượng trưng cho các cổng NIC, kèm theo biểu thị về cáp.



    Hình Data Center truyền thống với switch vật lí dạng Top-of-Rack và End-of-Row


    Thông thường, mỗi máy chủ được kết nối với hai witch khác nhau trên đỉnh của rack (gọi là Top of Rack – ToR) để cung cấp khả năng dự phòng. Mỗi ToR switch hoạt động như một switch ở lớp access từ góc độ thiết kế (mô hình 3 lớp). Mỗi ToR switch sau đó được kết nối tới một EoR (End of Row) switch, nó sẽ hoạt động như một switch distribution và kết nối đến phần còn lại của mạng.
    Thiết kế trên là một cách quy hoạch cáp kết nối cổ điển. Một số công nghệ trung tâm dữ liệu yêu cầu các mô hình khác nhau, như là Application Centric Infrastructure (ACI). ACI đặt máy chủ và switch vào các racks, nhưng kết nối các switch với các mô hình khác – một mô hình được dùng để ACI có thể hoạt động.

    Quy trình làm việc với Data Center được ảo hóa
    Đến phần này, ta đã biết được các thông tin cơ bản và quan trọng để chuẩn bị thảo luận về điện toán đám mây. Ảo hóa máy chủ là một bước cải tiến lớn trong vận hành của các trung tâm dữ liệu, nhưng chỉ riêng ảo hóa không thể tạo ra một môi trường điện toán đám mây. Chúng ta hãy tiếp tục bàn về các công nghệ nền tảng trước khi ta có thể nói về cloud computing, như là quy trình làm việc với một data center được ảo hóa.
    Một số nhân viên IT, ta gọi họ là kĩ sư hệ thống, kĩ sư ảo hóa hoặc quản trị viên, mua và lắp đặt các host (server) mới. Họ thu thập các yêu cầu, kế hoạch về công suất cần thiết, tìm kiếm phần cứng, mua nó và lắp đặt nó. Ngày trước, họ chỉ quản lí các server và thực hiện công việc của một kĩ sư IT, nhưng bây giờ họ có thể làm việc với cả các công cụ ảo hóa.
    Các kĩ sư ảo hóa cũng cài đặt và tùy chỉnh công cụ ảo hóa. Ngoài các trình ảo hóa trên mỗi máy chủ, nhiều công cụ khác rất hữu ích khác trong việc quản lý và kiểm soát trung tâm dữ liệu ảo hóa. Chẳng hạn, một công cụ có thể cho các kĩ sư có cái nhình nhìn toàn cảnh trung tâm dữ liệu, với tất cả các máy ảo đang chạy ở đó, hiển thị lên các khả năng server có thể cung cấp để chạy các VM. Theo thời gian, kĩ sư máy chủ / ảo hóa thêm các máy chủ vật lý mới đến trung tâm dữ liệu, sau đó cấu hình hệ thống ảo hóa sử dụng nó và đảm bảo nó có thể hoạt động.
    Bây giờ, một khách hàng cần một “máy chủ”. Thực tế, khách hàng muốn có một VM (hoặc nhiều hơn) với các yêu cầu: số lượng vCPUs cụ thể, dung lượng RAM, v.v. Khách hàng sẽ gửi yêu cầu cho kĩ sư ảo hóa/kĩ sư server để thiết lập các VM, như trong hình bên dưới.

    Hình: Quy trình truyền thống: Khách hàng (con người) gửi yêu cầu cho các kĩ sư IT để yêu cầu một dịch vụ.

    Mô hình chỉ ra những gì xảy ra sau khi người dùng đưa ra yêu cầu mà có thể được giải thích như sau:
    • B1: Khác hàng thuộc 1 nhóm IT, như là 1 developer hoặc 1 thành viên trong nhóm nhân viên vận hành, muốn sử dụng dịch vụ, như là muốn có một VM mới.
    • B2: Các kĩ sư về phần ảo hóa/server sẽ phản hồi với các yêu cầu của người dùng. Các kĩ sư về phần ảo hóa/server sẽ dùng giao diện, hoặc nếu số lượng của VM nhiều, thì thường cho chạy chương trình gọi là “script” để tạo các VM một cách tối ưu nhất
    • B3: Bất kì khi nào các kĩ sư về phần ảo hóa nhấp chuột vào hoặc sử dụng “script”, phần mềm ảo hóa có thể tạo ra số lượng lớn các VM mới và khởi động chúng ở một số host bên trong data center.
    Quy trình được chỉ ra ở trên hoạt động tốt. Tuy nhiên, cách tiếp cận để cung cấp dịch vụ như thế đã làm phá vỡ một số tiêu chuẩn cơ bản của dịch vụ đám mây. Ví dụ, điện toán đám mây yêu cầu khả năng tự vận hành. Theo quy trình ở trên, nếu được nhìn với góc độ của dịch vụ đám mây, quá trình ở bước 2 không nên đòi hỏi con người để thực hiện các yêu cầu, thay vào đó các yêu cầu nên được thực hiện một cách tự động. Nếu bạn muốn có thêm các VM trong hạ tầng đám mây, bạn chỉ cần nhấp chuột vào giao diện và yêu cầu tạo thêm VM mới, đi lấy một cốc cà phê, VM của bạn sẽ được thiết lập và khởi động theo yêu cầu của bạn trong vòng vài phút.
    Tóm tắt lại một vài điểm quan trọng về data center được ảo hóa sẽ dẫn ta đến khái niệm điện toán đám mây:
    • Hệ điều hành tách rời với hệ phần cứng mà nó chạy trên đó, vì thế một VM có thể chạy trên bất kì server ở trong data center chỉ cần có đủ tài nguyên để chạy.
    • Các phần mềm ảo hóa có thể khởi động một cách tự động và di chuyển VM giữa các server với nhau trong data center
    • Mạng bao gồm luôn cả các Switch ảo và các Card mạng ảo bên trong mỗi host ( server)
    • Mạng có thể được lập trình bởi các phần mềm ảo hóa, cho phép các VM mới được cấu hình, khởi động, di chuyển khi cần thiết và tạm dừng với các thông số networking dược cấu hình một cách tự động.
Working...
X