1. Ảo hóa hệ thống lưu trữ
Ảo hóa máy chủ là một công nghệ được ra đời nhằm khai thác triệt để khả năng làm việc của các phần cứng trong một hệ thống máy chủ. Nó hoạt động như một tầng trung gian giữa hệ thống phần cứng máy tính và phần mềm chạy trên nó. Ý tưởng của công nghệ ảo hóa máy chủ là từ một máy vật lý đơn lẻ có thể tạo thành nhiều máy ảo độc lập. Ảo hóa cho phép tạo nhiều máy ảo trên một máy chủ vật lý, mỗi một máy ảo cũng được cấp phát tài nguyên phần cứng như máy thật gồm có Ram, CPU, Card mạng, ổ cứng, các tài nguyên khác và hệ điều hành riêng. Khi chạy ứng dụng, người sử dụng không nhận biết được ứng dụng đó chạy trên lớp phần cứng ảo.
Ảo hóa hệ thống lưu trữ có ba dạng mô hình sau đây:
– Host-based: Trong mô hình này, ngăn cách giữa lớp ảo hóa và ổ đĩa vật lý là driver điều khiển của các ổ đĩa. Phần mềm ảo hóa sẽ truy xuất tài nguyên (các ổ cứng vật lý) thông qua sự điều khiển và truy xuất của lớp Driver này.
– Storage-device based: Trong dạng này, phần mềm ảo hóa giao tiếp trực tiếp với ổ cứng. Ta có thể xem như đây là 1 dạng firmware đặc biệt, được cài trực tiếp vào ổ cứng. 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. Dịch vụ ảo hóa được cung cấp cho các Server thông qua một thiết bị điều khiển gọi là Primary Storage Controller.
– Network-based: Trong mô hình này, việc ảo hóa sẽ được thực thi trên một thiết bị mạng, ở đây có thể là một thiết bị switch hay một máy chủ. Các switch hay máy chủ này kết nối với các trung tâm lưu trữ (SAN). Từ các switch hay server này, các ứng dụng kết nối vào được giao tiếp với trung tâm dữ liệu bằng các “ổ cứng” mô phỏng do switch hay máy chủ tạo ra dựa trên trung tâm dữ liệu thật. Đây cũng là mô hình hay gặp nhất trên thực tế.
2. Ảo hóa hệ thống mạng
Ả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ẽ được phân chia thành các channel và gắn với một máy chủ hoặc một thiết bị nào đó.
Có nhiều phương pháp để thực hiện việc ảo hóa hệ thống mạng. Các phương pháp này tùy thuộc vào các thiết bị hỗ trợ, tức là các nhà sản xuất thiết bị đó, ngoài ra còn phụ thuộc vào hạ tầng mạng sẵn có, cũng như nhà cung cấp dịch vụ mạng (ISP).Sau đây chúng tôi sẽ giới thiệu một vài mô hình ảo hóa hệ thống mạng:
– Ảo hóa lớp mạng (Virtualized overlay network): Trong mô hình này, nhiều hệ thống mạng ảo sẽ cùng tồn tại trên một lớp nền tài nguyên dùng chung. Các tài nguyên đó bao gồm các thiết bị mạng như router, switch, các dây truyền dẫn, NIC (network interface card). Việc thiết lập nhiều hệ thống mạng ảo này sẽ cho phép sự trao đổi thông suốt giữa các hệ thống mạng khác nhau, sử dụng các giao thức và phương tiện truyền tải khác nhau, ví dụ như mạng Internet, hệ thống PSTN, hệ thống Voip.
– Mô hình ảo hóa của Cisco: đó là phân mô hình ảo hóa ra làm 3 khu vực, với các chức năng chuyên biệt. Mỗi khu vực sẽ có các liên kết với các khu vực khác để cung cấp các giải pháp đến tay người dùng 1 cách thông suốt:
+ Khu vực quản lý truy cập (Access Control): Có nhiệm vụ chứng thực người dùng muốn đăng nhập để sử dụng tài nguyên hệ thống, qua đó sẽ ngăn chặn các truy xuất không hợp lệ của người dùng; ngoài ra khu vực này còn kiểm tra, xác nhận và chứng thực việc truy xuất của người dùng trong vào các vùng hoạt động (như là VLan, Access list).
+ Khu vực đường dẫn (Path Isolation): Nhiệm vụ của khu vực này là duy trì liên lạc thông qua tầng Network, vận chuyển liên lạc giữa các vùng khác nhau trong hệ thống. Trong các vùng này sử dụng giao thức khác nhau, như MPLs và VRF, do đó cần một cầu nối để liên lạc giữa chúng. Ngoài ra, khu vực này có nhiệm vụ liên kết (maping) giữa các đường truyền dẫn với các vùng hoạt động ở hai khu vực cạnh nó là Access Control và services Edge.
+ Khu vực liên kết với dịch vụ (Services Edge): Tại đây sẽ áp dụng những chính sách phân quy ền, cũng như bảo mật ứng với từng vùng hoạt động cụ thể; đồng thời qua đó cung cấp quyền truy cập đến dịch vụ cho người dùng. Các dịch vụ có thể ở dạng chia sẻ hay phân tán, tùy thuộc vào môi trường phát triển ứng dụng và yêu cầu của người dung
3. Ả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 và cho phép phân phối lại ứng dụng phù hợp với nhu cầu user. 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, ứ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ó khá nhiều chương trình ảo hóa ứng dụng như Citrix XenApp, Microsoft Application Virtualization, VMware ThinApp … với hai loại công nghệ chủ yếu sau:
– 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 sử dụng.
4. Ảo hóa hệ thống máy chủ
Ảo hóa hệ thống máy chủ cho phép ta có thể chạy nhiều máy ảo trên một máy chủ vật lý, đem lại nhiều lợi ích như tăng tính di động, dễ dàng thiết lập với các máy chủ ảo, giúp việc quản lý, chia sẻ tài nguyên tốt hơn, qu ản lý luồng làm việc phù hợp với nhu cầu, tăng hiệu suất làm việc của một máy chủ vật lý.
Xét về kiến trúc hệ thống, các mô hình ảo hóa hệ thống máy chủ có thể ở hai dạng sau:
– Host-based: Kiến trúc này sử dụng một lớp hypervisor chạy trên nền tảng hệ điều hành, sử dụng các dịch vụ được hệ điều hành cung cấp để phân chia tài nguyên tới các máy ảo. Ta xem hypervisor này là một lớp phần mềm riêng biệt, do đó các hệ điều hành khách của máy ảo sẽ nằm trên lớp hypervisor rồi đến hệ điều hành của máy chủ và cuối cùng là hệ thống phần cứng… Một số hệ thống hypervisor dạng Hosted có thể kể đến như VMware Server, VMware Workstation, Microsoft Virtual Server…
– Hypervisor-based: hay còn gọi là bare-metal hypervisor. Trong kiến trúc này, lớp phần mềm hypervisor chạy trực tiếp trên nền tảng phần cứng của máy chủ, không thông qua bất kì một hệ điều hành hay một nền tảng nào khác. Qua đó, các hypervisor này có khả năng điều khiển, kiểm soát phần cứng của máy chủ. Đồng thời, nó cũng có khả năng quản lý các hệ điều hành chạy trên nó. Nói cách khác, các hệ điều hành sẽ nằm trên các hypervisor dạng bare-metal rồi đến hệ thống phần cứng. Một số ví dụ về các hệ thống Bare-metal hypervisor như là Oracle VM, VMware ESX Server, IBM’s POWER Hypervisor, Microsoft’s Hyper-V, Citrix XenServer…
(Lê Nhật, Cục Ứng dụng CNTT)