Một số loại ảo hóa

Một phần của tài liệu (LUẬN văn THẠC sĩ) giải pháp xây dựng phòng thực hành về kỹ năng mạng dựa trên phần mềm mô phỏng mạng miễn phí GNS3 và công nghệ ảo hóa máy chủ mã nguồn mở citrix xenserver (Trang 36)

CHƯƠNG 2 CÔNG NGHỆ ẢO HÓA MÁYCHỦ

2.1. Tổng quan về công nghệ ảo hóa

2.1.3. Một số loại ảo hóa

Hình 2.2. Kiến trúc ảo hóa máy chủ [29]

Ảo hóa máy chủ là cách phân chia một máy chủ vật lý thành nhiều máy ảo khác nhau có tính chất như một máy chủ riêng biệt, chạy dưới dạng chia sẻ tài nguyên từ máy chủ vật lý ban đầu. Máy ảo được tạo ra bởi công nghệ ảo hóa, tùy thuộc vào công nghệ ảo hóa nào được sử dụng mà các máy ảo có các tính chất chia sẻ tài nguyên khác nhau.

Có rất nhiều công nghệ ảo hóa máy chủ khác nhau nhưng WMware vSphere, Microsoft Hyper-V, Citrix XenServer,... là những công nghệ ảo hóa máy chủ phổ biến hiện nay, mỗi công nghệ đều có những ưu nhược điểm riêng.

 Một số Ưu điểm của ảo hóa máy chủ [7]

 Sử dụng tối đa tài nguyên do nhiều máy chủ ảo có thể cùng chạy trên một máy chủ vật lý.

 Hợp nhất các máy chủ vật lý, giảm số lượng các máy chủ vật lý cần thiết, giảm không gian lưu trữ, giảm điện năng tiêu thụ và giảm chi phí đầu tư cũng như vận hành của hệ thống máy chủ vật lý.

 Giảm thời gian chết của máy chủ khi tiến hành bảo trì, nâng cấp hoặc phát sinh các trục trặc trong quá trình hoạt động của hệ thống máy chủ vật lý, dễ dàng mở rộng và nâng cấp, khả năng linh động và tính sẵn sàng cao.

giảm tài nguyên theo nhu cầu sử dụng của các máy chủ ảo.

 Thuận tiện cho học tập, nghiên cứu hoặc đánh giá hệ điều hành hay một ứng dụng nào đó.

 Tăng khả năng bảo mật cho toàn bộ hệ thống máy chủ.

 Một số Nhược điểm của ảo hóa máy chủ [7]

 Cần phải có chiến lược trong việc cấp phát tài nguyên cho các máy chủ ảo. Nếu tài nguyên được cấp phát ít so với thực tế thì hiệu suất ứng dụng sẽ không cao, gây ra mất hiệu quả và ngược lại.

 Yêu cầu các bộ vi xử lý hỗ trợ công nghệ ảo hóa.

 Các máy chủ có bộ vi xử lý 64 bit, tuy nhiên không phải toàn bộ các ứng dụng đều hoạt động được trên bộ vi xử lý 64 bit.

 Yêu cầu kiến thức, kỹ năng quản lý hạ tầng ảo hóa. 2.1.3.2. Ảo hóa hệ thống mạng

Hình 2.3. Mô hình ảo hóa hệ thống mạng [19]

Ảo hóa hệ thống mạng là một tiến trình hợp nhất tài nguyên, thiết bị mạng cả phần cứng lẫn phần mềm thành một hệ thống mạng ảo. Sau đó, các tài nguyên này sẽ phân chia thành các kênh khác nhau và gắn vào các thiết bị hoặc máy chủ theo yêu cầu sử dụng. Có nhiều phương pháp để thực hiện việc ảo hóa hệ thống mạng và tùy thuộc vào các nhà sản xuất ra thiết bị mạng. Ngoài ra, việc ảo hóa hệ thống mạng còn phụ thuộc vào hạ tầng mạng sẵn có và nhà cung cấp dịch vụ mạng.

Mô hình ảo hóa hệ thống mạng của Cisco [19]

Mô hình ảo hóa hệ thống mạng của Cisco được chia ra làm 3 khu vực với chức năng, nhiệm vụ khác nhau và được liên kết với nhau để cung cấp dịch vụ cho người dùng.

 Khu vực kiểm soát truy cập (Access Control): có nhiệm vụ chứng thực người dùng và các thiết bị đăng nhập vào hệ thống mạng, đồng thời cũng thực hiện từ chối truy cập đối với các truy cập không hợp lệ của người dùng và thiết bị. Khu vực này còn có nhiệm vụ kiểm tra, xác nhận và chứng thực các truy cập của người dùng và thiết bị vào các vùng hoạt động như là Vlan, Access list.

 Khu vực đường dẫn trong suốt (Path Isolation): khu vực này có nhiệm tạo ra và duy trì các đường vận chuyển lưu lượng logic độc lập, trong suốt trên hạ tầng mạng vật lý chia sẻ. Thực hiện việc vận chuyển các lưu lượng trên các đường vận chuyển đã tạo ra. Ngoài ra, khu vực này có nhiệm vụ ánh xạ (mapping) giữa các đường vận chuyển lưu lượng sử dụng các công nghệ khác nhau tới các vùng hoạt động ở hai khu vực Access Control và Services Edge.

 Khu vực liên kết với dịch vụ (Services Edge): cung cấp các dịch vụ truy cập dưới dạng chia sẻ hoặc dùng riêng tùy thuộc vào yêu cầu của người dùng. Áp dụng những chính sách như phân quyền, bảo mật tương ứng với từng vùng hoạt động cụ thể.

Hình 2.4. Mô hình ảo hóa hệ thống mạng của Cisco [19] 2.1.3.3. Ảo hóa hệ thống lưu trữ 2.1.3.3. Ảo hóa hệ thống lưu trữ

Ảo hóa hệ thống lưu trữ về cơ bản là sự mô phỏng, giả lập việc lưu trữ từ các hệ thống lưu trữ vật lý. Nói một cách khác, là tạo ra một hệ thống lưu trữ ảo độc lập với các ứng dụng từ hệ thống lưu trữ vật lý. Cho phép người quản trị thu thập, tổ chức, phân phối và quản lý tập hợp các tài nguyên lưu trữ không đồng nhất mà không quan tâm tới việc ứng dụng sử dụng tài nguyên lưu trữ như thế nào. Điều này giúp cải thiện việc sử dụng tài nguyên, tăng khả năng truy xuất dữ liệu, do việc phân chia các tác vụ đọc, viết trong mạng lưu trữ. Ngoài ra, ảo

hóa hệ thống lưu trữ vật lý cho phép tiết kiệm thời gian hơn thay vì phải định vị xem máy chủ nào hoạt động trên ổ cứng nào để truy xuất.

Hình 2.5. Ảo hóa hệ thống lưu trữ dạng Host-based

Có ba dạng mô hình ảo hóa hệ thống lưu trữ: Host-based, Storage-based và Network-based.

 Host-based: Driver điều khiển ngăn cách giữa lớp ảo hóa và thiết bị lưu trữ vật lý, nó sẽ chặn các yêu cầu đọc/ghi dữ liệu, thực hiện tìm kiếm thông tin về các thiết bị lưu trữ và chuyển hướng các yêu cầu tới các thiết bị lưu trữ. Lớp ảo hóa sẽ truy xuất tài nguyên lưu trữ thông qua driver điều khiển này. Mô hình này không yêu cầu phải thay đổi hạ tầng phần cứng, việc triển khai hạ tầng ảo hóa được thực hiện dễ dàng.

Hình 2.6. Ảo hóa hệ thống lưu trữ dạng Storage-based

 Storage-based: Mô hình này dựa trên công nghệ nhúng trong mảng lưu trữ và chỉ áp dụng trên các thiết bị lưu trữ của cùng một nhà sản xuất.

Ta có thể xem như đây là một dạng firmware đặc biệt, được cài trực tiếp vào thiết bị lưu trữ. Dạng này cho phép truy xuất nhanh nhất tới ổ cứng, nhưng cách thiết lập thường khó khăn và phức tạp hơn các mô hình khác.

 Network-based: Một phần mềm ảo hóa chạy trên thiết bị chuyên dụng hoặc thiết bị chuyển mạch thông minh. Cả hai thiết bị này được đặt giữa các máy chủ và hệ thống lưu trữ để thực hiện việc ánh xạ các yêu cầu đọc/ghi dữ liệu với thông tin mô tả về hệ thống lưu trữ sau đó thực hiện chuyển hướng các yêu cầu đọc/ghi dữ liệu tới thiết bị lưu trữ. Có hai loại thiết bị ảo hóa chuyên dụng đó là In-Band và Out-of-Band.

Hình 2.7. Ảo hóa hệ thống lưu trữ dạng Network-based

 Các thiết bị ảo hóa In-Band được đặt trên đường truyền dữ liệu dữ các máy chủ và các thiết bị lưu trữ. Các máy chủ thực hiện các yêu cầu đọc/ghi dữ liệu tới các thiết bị In-Band, các thiết bị này sẽ thực hiện yêu cầu đọc/ghi dữ liệu tới các thiết bị lưu trữ. Tất cả các yêu cầu đọc/ghi dữ liệu được thực hiện thông qua In-Band và các máy chủ không trực tiếp tương tác với các thiết bị lưu trữ.

 Thay vì xử lý trực tiếp các yêu cầu đọc/ghi dữ liệu, các thiết bị ảo hóa Out-of-Band chỉ thực hiện chức năng ánh xạ các yêu cầu đọc/ghi dữ liệu với các thông tin mô tả hệ thống lưu trữ. Do đó người dùng cần phải cài đặt phần mềm trên các máy chủ để quản lý các yêu cầu đọc/ghi dữ liệu.

2.1.3.4. Ảo hóa ứng dụng

Ảo hóa ứng dụng là một dạng công nghệ ảo hóa khác cho phép chúng ta tách rời mối liên kết giữa ứng dụng và hệ điều hành, cho phép phân phối lại ứng dụng phù hợp với nhu cầu của người dùng. Một ứng dụng được ảo hóa sẽ không được cài đặt lên máy tính một cách thông thường, mặc dù ở góc độ người sử dụng thì ứng dụng vẫn hoạt động một cách bình thường. Việc quản lý việc cập nhật phần mềm trở nên dễ dàng hơn, giải quyết sự đụng độ giữa các ứng dụng và việc thử nghiệm sự tương thích của chúng cũng trở nên dễ dàng hơn.

Hiện nay đã có rất nhiều công nghệ ảo hóa ứng dụng khác nhau như Citrix XenApp, Microsoft Application Virtualization, VMware ThinApp... với hai loại công nghệ phổ biến là: Application Streaming và Desktop Virtualization/Virtual Desktop Infrastructure.

 Application Streaming: Ứng dụng được chia thành nhiều đoạn mã và được truyền sang máy người sử dụng khi cần đến đoạn mã đó. Các đoạn mã này thường được đóng gói và truyền đi dưới giao thức HTTP, CIFS hoặc RTSP.

 Desktop Virtualization/Virtual Desktop Infrastructure (VDI): Ứng dụng sẽ được cài đặt và chạy trên một máy ảo. Một hạ tầng quản lý sẽ tự đông tạo ra các desktop ảo và cung cấp các desktop ảo này đến các đối tượng người dùng khác nhau.

Hình 2.8. Giải pháp ảo hóa ứng dụng của VMware [33] 2.1.3.5. Ảo hóa Desktop 2.1.3.5. Ảo hóa Desktop

Ảo hóa Desktop là công nghệ được sử dụng để tạo ra môi trường máy tính desktop từ các máy tính vật lý. Nói cách khác, ảo hóa Desktop là tập hợp công nghệ được tối ưu để phân phối desktop, dữ liệu và ứng dụng đến người dùng. Ảo

hóa Desktop được xem là một kiểu mô hình tính toán Client-Server bởi desktop được ảo hóa được lưu trữ tại các máy chủ trung tâm. Hệ điều hành, ứng dụng và dữ liệu được tách biệt khỏi phần cứng máy tính bên dưới, và đưa lên trung tâm dữ liệu, tại đó chúng có thể được quản lý tập trung và đảm bảo an toàn. Thay vì phải làm việc với hàng ngàn ảnh tĩnh của desktop, người quản trị có thể quản lý và cập nhật nhiều hệ điều hành, ứng dụng đồng thời, từ một điểm tập trung, sau đó phân phối chúng cho người dùng trong khi vẫn đảm bảo hiệu năng, an toàn, tính di động. Một số công nghệ ảo hóa Desktop như: VMware Horizon View, XenDesktop,...

Hình 2.9. Giải pháp ảo hóa Desktop của VMware [33] 2.1.4. Các kỹ thuật ảo hóa máy chủ [16, 7] 2.1.4. Các kỹ thuật ảo hóa máy chủ [16, 7]

Các hệ điều hành X86 được thiết kế để chạy trực tiếp trên nền tảng phần cứng, vì vậy mỗi hệ điều hành đều cho rằng nó có toàn quyền truy cập tới tài nguyên hệ thống. Kiến trúc X86 đưa ra mô hình phân mức ưu tiên (đặc quyền) với các mức Ring 0, 1, 2 và 3 để hệ điều hành và các ứng dụng có thể quản lý việc truy cập tới phần cứng máy tính. Các ứng dụng của người dùng sử dụng chạy ở Ring 3, hệ điều hành cần truy cập trực tiếp tới phần cứng và phải thực thi các chỉ thị ưu tiên do đó nó chạy ở mức Ring 0, mức có độ ưu tiên cao nhất. Việc ảo hóa kiến trúc X86 yêu cầu phải đặt một lớp ảo hóa bên dưới hệ điều hành để tạo và quản lý các máy ảo và phân phối các tài nguyên được chia sẻ.

Khi thực hiện ảo hóa kiến trúc X86, các chuyên gia mong muốn đặt lớp ảo hóa ở mức ưu tiên cao nhất Ring 0, tuy nhiên các hệ điều hành được thiết kế để chạy ở mức Ring 0 nay phải chuyển lên mức Ring 1 nhường cho lớp ảo hóa làm nảy sinh vấn đề, trong hệ điều hành có một số chỉ thị không thể thực hiện ảo hóa chỉ có thể làm việc ở mức Ring 0 (các chỉ thị nhạy cảm), khi được đẩy lên mức cao hơn thì cần phải viết lại hệ điều hành để tránh hoặc biên dịch lại các chỉ thị này, vì vậy phải yêu cầu có mã nguồn hệ điều hành và các lập trình viên am hiểu hệ điều hành.

Hình 2.10. Kiến trúc phân mức ưu tiên của bộ vi xử lý X86 [16]

Để giải quyết vấn đề này trong năm 1998, VMware đã phát triển kỹ thuật biên dịch nhị phân kết hợp với thực thi trực tiếp trên bộ vi xử lý cho phép chạy nhiều máy ảo trên một máy tính vật lý.

Có ba kỹ thuật xử lý các chỉ thị nhạy cảm và các chỉ thị ưu tiên để ảo hóa bộ vi xử lý trên kiến trúc X86.

 Full virtualization (Binary translation)

 OS assisted virtualization hoặc Paravirtualization  Hardware assisted virtualization

2.1.4.1. Kỹ thuật Full Virtualization

Kỹ thuật này đặt lớp ảo hóa (Virtual Machine Monitor hay Hypervisor) ở mức Ring 0 và đưa hệ điều hành trên các máy ảo (Hệ điều hành khách hay Guest OS) lên chạy ở mức Ring 1. Các hệ điều hành khách không nhận ra rằng chúng đang chạy trên một cấu hình phần cứng ảo. Lớp ảo hóa quản lý việc truy cập của các hệ điều hành khách tới tài nguyên phần cứng vật lý bằng cách che đi phần cứng từ hệ điều hành khách. Nó thực hiện mô phỏng các thành phần của hệ thống phần cứng và cung cấp cho hệ điều hành khách một bản ảnh ảo máy chủ vật lý tiêu chuẩn với đầy đủ các thiết bị. Lớp ảo hóa đảm bảo bất kỳ chỉ thị nào

từ hệ điều hành khách đều tác động đến các tham số hệ thống như chỉ thị ưu tiên để bộ vi xử lý được xử lý theo cách mà không làm ảnh hưởng đến hoạt động của các hệ điều hành khách khác. Lớp ảo hóa sẽ bẫy và thực hiện biên dịch các chỉ thị để các hệ điều hành khách nghĩ rằng nó đã kiểm soát hoàn toàn phần cứng máy chủ.

Hình 2.11. Kỹ thuật ảo hóa Full Virtualization [16]

 Ưu điểm của kỹ thuật ảo hóa Full Virtualization  Không cần chỉnh sửa hệ điều hành khách.

 Cung cấp cho hệ điều hành khách một bản ảnh ảo máy chủ vật lý tiêu chuẩn với đầy đủ các thiết bị.

 Nhược điểm của kỹ thuật ảo hóa Full Virtualization

 Hiệu suất hoạt động của hệ thống không được lý tưởng do việc mô phỏng các chỉ thị nhảy cảm sẽ tốn tài nguyên tính toán.

 Thiết kế phức tạp do phải thực hiện bẫy và mô phỏng các chỉ thị. Công nghệ ảo háo VMWare vSphere và Microsoft Virtual Server sử dụng cách tiếp cận kỹ thuật ảo hóa Full Virtualization.

2.1.4.2. Kỹ thuật OS assisted virtualization hoặc Paravirtualization

Kỹ thuật ảo hóa Paravirtualization đặt một lớp ảo hóa dưới mức Ring 0. Kỹ thuật này đề cập tới khả năng liên lạc giữa hệ điều hành khách với lớp ảo hóa để làm tăng hiệu suất hoạt động của hệ thống, kỹ thuật này thực hiện chỉnh sửa nhân của hệ điều hành khách. Nó không giống với cách tiếp cận biên dịch nhị phân, lớp ảo hóa không cần bẫy và biên dịch các chỉ thị ưu tiên giữa lớp hệ điều hành khách và phần cứng thật sự. Thay vào đó, các hệ điều hành khách được thay đổi để có thể trao đổi trực tiếp với các dịch vụ ảo hóa I/O và các thao tác ưu tiên khác. Do đó, kỹ thuật Paravirtualization có hiệu suất I/O lớn hơn so với kỹ thuật biên dịch nhị phân và hiệu suất của Paravirtualization phụ thuộc vào tải khi thực hiện. Kỹ thuật Paravirtualization không hỗ trợ các hệ điều hành không thể

chỉnh sửa như Windows XP,... nó có khả năng tương thích thấp Sự tương tác của các thiết bị trong môi trường ảo hóa sử dụng kỹ thuật Paravirtualization cũng tương tự như trong môi trường ảo hóa sử dụng kỹ thuật Full virtualization, các thiết bị trong môi trường ảo hóa Paravirtualization cũng dựa vào trình điều khiển các thiết bị của máy chủ vật lý. Sự khác biệt giữa kỹ thuật ảo hóa Paravirtualization và Full virtualization đó là Paravirtualization không mô phỏng tài nguyên phần cứng thay vào đó nó cung cấp một giao diện lập trình ứng dụng đặc biệt (API) để tổ chức các máy ảo.

Hình 2.12. Kỹ thuật ảo hóa ParaVirtualization [16]

 Ưu điểm của kỹ thuật ảo hóa ParaVirtualization  Cải thiện được hiệu suất hoạt động của hệ thống.

 Nhược điểm của kỹ thuật ảo hóa ParaVirtualization  Phải chỉnh sửa các hệ điều hành khách.

Các công nghệ ảo hóa Xen, Denali sử dụng cách tiếp cận kỹ thuật ảo hóa ParaVirtualization.

2.1.4.3. Kỹ thuật ảo hóa Hardware assisted virtualization

Intel và AMD là những nhà cung cấp đi đầu trong việc tích hợp các công

Một phần của tài liệu (LUẬN văn THẠC sĩ) giải pháp xây dựng phòng thực hành về kỹ năng mạng dựa trên phần mềm mô phỏng mạng miễn phí GNS3 và công nghệ ảo hóa máy chủ mã nguồn mở citrix xenserver (Trang 36)