Gửi lúc: 03/10/2009 14:02:34
Bookmark and Share

Tìm hiểu công nghệ ảo hóa

Ngày nay, nhiều nền tảng ảo hoá mới xuất hiện, trong đó có cả giải pháp phần mềm và phần cứng, Ảo hoá từ chip xử lý cho đến hạ tầng công nghệ thông tin (IT) đang được phát triển mạnh mẽ với kỳ vọng vào những lợi ích công nghệ này sẽ mang lại.


Giới thiệu
Ngày nay, nhiều nền tảng ảo hoá mới xuất hiện, trong đó có cả giải pháp phần mềm và phần cứng, Ảo hoá từ chip xử lý cho đến hạ tầng công nghệ thông tin (IT) đang được phát triển mạnh mẽ với kỳ vọng vào những lợi ích công nghệ này sẽ mang lại.
Ảo hóa cho phép giúp nhiều tổ chức có thể chia sẻ các tài nguyên IT theo cách tốn ít chi phí, làm cho cơ sở hạ tầng IT trở nên linh động và bảo đảm cung cấp tự động với những nhu cầu thiết yếu.
Tăng hiệu quả sử dụng các máy chủ là một lý do chủ yếu để giải thích tại sao công nghệ ảo hóa có được sức hấp dẫn trong môi trường doanh nghiệp. Giảm chi phí song vẫn đảm bảo có được một trung tâm dữ liệu hiệu quả, linh hoạt, tiết kiệm năng lượng và những nhu cầu về không gian là một yếu tố tích cực khác mà công nghệ ảo hóa mang lại.
Công nghệ ảo hoá không trực tiếp tăng cường vấn đề an toàn của các hệ thống IT, nhưng nó có thể cho phép tổ chức quản lý các hệ thống một cách hiệu quả hơn. Nó tạo nhiều thuận lợi trong việc cấu hình và quản lý hành vi người dùng bằng cách tăng hiệu suất máy chủ, quản lý hệ thống và xử lý tải trọng công việc một cách hợp lý.
Một lý do quan trọng nữa mà công nghệ ảo hóa thu hút được các tổ chức, đặc biệt là các doanh nghiệp là khả năng giảm nhu cầu về tài nguyên cho những ứng dụng và tăng sự tận dụng tài nguyên. Trong các lĩnh vực phân phối ứng dụng và máy khách, các chuyên gia IT sẽ tiết kiệm được chi phí quản trị khi việc bảo trì - hỗ trợ cho các ứng dụng và môi trường máy khách được tập trung và dễ dàng quản lý.
Công nghệ ảo hoá được tính đến khi có nhu cầu hợp nhất phần cứng. Tình trạng phần cứng lỗi thời, tràn trung tâm dữ liệu quá tải, tốn điện năng… là một số vấn đề điển hình tồn tại trong các thiết bị vật lý. Ở các thiết bị ảo hoá không tồn tại những hiện tượng này. Từ khía cạnh đó, công nghệ ảo hoá cũng sẽ được ứng dụng và phát triển  nhanh chóng.
Kỹ thuật ảo hoá đã không còn xa lạ với thực tế kể từ khi hãng VMware (Mỹ) giới thiệu sản phẩm VMware Workstation đầu tiên vào năm 1999. Sản phẩm đó ban đầu được thiết kế để hỗ trợ phát triển và kiểm tra phần mềm, nó đã trở nên phổ biến nhờ khả năng tạo ra những máy tính ảo chạy đồng thời nhiều hệ điều hành khác nhau trên cùng một máy tính thực.
Máy ảo là gì?
Ý tưởng chính phía sau công nghệ ảo hóa máy chủ là từ một máy thực đơn lẻ có thể tạo ra nhiều máy ảo độc lập. Mỗi máy ảo như vậy đều có một thiết lập thành các hệ thống riêng lẻ: hệ điều hành riêng và các ứng dụng riêng.
Về mặt nguyên lý, máy tính ảo hay máy ảo (Virtual Machine - VM) là bản sao của nền tảng phần cứng. Thành phần VMM (Virtual Machine Monitor) với chức năng giám sát máy ảo chạy trực tiếp trên phần cứng thực cho phép tạo ra nhiều máy ảo và mỗi máy ảo làm việc với hệ điều hành riêng. Ý tưởng xuất phát của máy ảo là nhằm tạo môi trường làm việc cho nhiều người dùng để chia sẻ tài nguyên của hệ thống máy tính lớn (MF).
Nguyên lý làm việc của máy ảo trên máy tính cá nhân (PC) cũng giống như máy ảo trên MF: một môi trường phần mềm bao gồm hệ điều hành và các ứng dụng hoàn toàn chạy bên trong nó. Máy ảo cho phép người dùng chạy một hệ điều hành nào đó bên trong một hệ điều hành khác trên cùng hệ thống PC, chẳng hạn như chạy Linux trong máy ảo trên PC chạy Windows 2000. Trong máy ảo, người dùng có thể thực hiện hầu hết giao tác như với PC thật. Đặc biệt, một máy ảo có thể được "đóng gói" trong một tệp và có thể chuyển từ PC này sang PC khác mà không cần quan tâm đến sự tương thích phần cứng. Các máy ảo là những thực thể chạy trên máy thực, cách ly với hệ thống "chủ” chứa chúng.
Một vấn đề đặt ra là yêu cầu máy ảo mô phỏng chính xác máy thực. Máy thực có các tài nguyên phần cứng như bộ nhớ, thanh ghi... và các tệp lệnh tác động trực tiếp đến tài nguyên phần cứng này (như thay đổi thanh ghi, cờ...) thuộc nhóm lệnh "nhạy cảm" (vì có ảnh hưởng đến tất cả tiến trình đang làm việc, bao gồm cả VMM). Hệ điều hành chạy trực tiếp trên máy thực được phép thực thi các lệnh "nhạy cảm" này.
Ở hệ thống máy tính lớn (MF), VMM chạy trên phần cứng máy thực theo chế độ ưu tiên, còn máy ảo làm việc ở chế độ giới hạn. Khi máy ảo có yêu cầu các lệnh thông thường, VMM sẽ chuyển tiếp chúng đến bộ xử lý để thực thi trực tiếp, còn các lệnh đặc biệt "nhạy cảm" sẽ bị chặn lại. VMM sẽ thực thi lệnh với bộ xử lý trên máy thực hoặc mô phỏng kết quả rồi trả về cho máy ảo. Đây là cơ chế nhằm cách ly máy ảo với máy thực để đảm bảo an toàn cho hệ thống.
Các bộ xử lý của hệ thống MF được thiết kế hỗ trợ cơ chế ảo hoá và cho phép "bẫy" các lệnh nhạy cảm để chuyển cho VMM xử lý, nhưng các bộ xử lý dành cho PC (x86) lại không có khả năng này.
Khi tạo một máy ảo, trước tiên phải bắt đầu bằng việc tạo ổ cứng ảo. Có thể tạo một ổ cứng ảo với kích thước cố định hay linh động. Mặc định dung lượng của ổ là 16 GByte, nhưng có thể thiết lập lại kích thước này vào bất cứ lúc nào khi cần. Nên sử dụng tùy chọn thích hợp nhất cho máy chủ ảo để có thể triển khai thuận tiện.
Tiếp theo cần nhập tên cho máy ảo mà chúng ta muốn tạo ra. Tên phải được mô tả phù hợp với mục đích sử dụng. Cũng phải chọn loại bộ tương hợp (adapter) mạng để máy ảo sử dụng kết nối mạng...
Mô phỏng những thành phần thực
Về mặt lý thuyết, nhân hệ điều hành (Operating System - OS) làm việc ở lớp 0 (ring 0) với chức năng cao nhất và là cấp truy cập sâu nhất. Bộ xử lý x86 truyền thống không thể chạy OS ảo ở lớp 0 vì cần phải chạy phần mềm quản lý các máy ảo (hypervisor).
Kiến trúc x86 còn có 3 lớp nữa với chức năng giảm dần. Để đảm bảo tính ổn định, các OS hiện nay giới hạn ứng dụng làm việc ở lớp chức năng thấp nhất - lớp 3 (đây là lý do mà Windows XP có độ ổn định cao hơn so với DOS - hệ điều hành cho phép các ứng dụng làm việc ở lớp 0). Vì vậy, giải pháp hiển nhiên là OS của máy ảo được phân bổ ở 2 lớp còn lại.
Vấn đề là có một số mã lệnh x86 chỉ làm việc ở lớp 0. Để làm việc ở các lớp cao hơn, OS phải được viết lại hay biên dịch lại để tránh các lệnh này. Giải pháp như vậy phổ biến trong thế giới Linux (IBM dùng kỹ thuật tương tự để chạy Linux trên MF), nhưng nó yêu cầu phải có mã nguồn OS và phải có lập trình viên am hiểu hệ điều hành.
Để chạy OS nguyên bản ở ngoài lớp 0, hypervisor phải bẫy các lệnh bị cấm và mô phỏng chúng. Đây là giải pháp của VMware và môi trường mô phỏng DOS của Windows XP. Vấn đề là sự mô phỏng sử dụng nhiều nguồn lực tính toán và làm giảm hiệu suất hoạt động của hệ thống.
Để giải quyết vấn đề này, Intel đã đưa ra kiến trúc VT (tên mã trước đây là Vanderpool và Silverdale), còn AMD (hãng sản xuất chip lớn thứ hai thế giới) cũng có kiến trúc Pacifica tương đương, bổ sung lớp ưu tiên bên dưới lớp 0. Cần lưu ý rằng, công nghệ chip Pacifica của AMD cho phép PC và máy chủ tạo ra những hệ thống ảo riêng rẽ với các phần mềm khác nhau. Hai kiến trúc VT và Pacifica đưa thêm các mã lệnh mới chỉ làm việc ở lớp mới này ("lớp 1") dành cho hypervisor. Với cách đó, OS chạy trên máy ảo không cần phải điều chỉnh và ảnh hưởng hiệu suất của việc mô phỏng cũng giảm. Tuy vậy, vấn đề hiệu suất chưa được giải quyết triệt để: mỗi OS đều coi nó có toàn quyền truy cập tài nguyên hệ thống như bộ nhớ và đường truyền dữ liệu (bus I/O), trong khi đó hypervisor phải phân bổ truy cập những tài nguyên thực để đảm bảo các chương trình và dữ liệu không bị lẫn lộn giữa các OS. Hiện thời việc ảo hoá các tài nguyên hệ thống và thiết bị I/O đã được tính đến và có khả năng các phiên bản VT và Pacifica trong tương lai sẽ cho phép OS ảo làm việc trực tiếp với phần cứng.
Tính đa dạng của ảo hoá
Ảo hóa đem đến cho người dùng sự tiện lợi là có thể chạy nhiều OS đồng thời trên cùng PC, nhưng khả năng của ảo hoá còn hơn thế và hiện thời nó đã bước sang phạm vi lớn hơn: máy chủ và hệ thống mạng. Đây là khung cảnh mà ảo hoá có thể phát huy đầy đủ sức mạnh của mình.
Ảo hoá máy chủ không phải là vấn đề mới, nhưng nó thật sự được quan tâm chỉ trong vòng 2 năm trở lại đây. Ý nghĩa quan trọng của việc ảo hoá máy chủ là nó cho phép khai thác triệt để nguồn lực của các máy chủ (chúng thường hoạt động không hết thời gian, chưa vận hành liên tục với hiệu suất 100%), tổ chức linh hoạt hệ thống máy chủ (đặc biệt là các trung tâm dữ liệu), tiết kiệm thời gian và chi phí đầu tư cũng như quản trị.
Có nhiều công ty lớn đang tham gia vào lĩnh vực ảo hoá và đưa ra nhiều giải pháp mới, bao gồm: ảo hoá máy chủ, ảo hoá hệ điều hành, ảo hoá mạng, ảo hoá lưu trữ và ảo hoá ứng dụng, trong đó 2 cách đầu là phổ biến nhất - tương ứng được gọi là ảo hoá cứng và ảo hoá mềm.
Ảo hoá máy chủ tạo nhiều máy ảo trên một máy chủ thực. Mỗi máy ảo chạy OS riêng và được cấp phát riêng số xung nhịp CPU, dung lượng lưu trữ và băng thông mạng. Các tài nguyên của máy chủ có thể được cấp phát động một cách linh hoạt tùy theo nhu cầu của từng máy ảo. Giải pháp này cho phép hợp nhất các hệ thống máy chủ cồng kềnh. Công ty Microsoft cũng đã cung cấp giấy phép ảo cho giải pháp ảo hoá cứng: Windows Server 2003 R2 bản 1 máy chủ đơn, cho phép cài trên 1 máy thực thêm 4 máy ảo.
Ảo hoá hệ điều hành sử dụng bản sao của một OS để tạo các máy chủ ảo ngay trên OS đó. Như vậy, nếu OS "chủ” là Linux thì cách ảo hoá này sẽ cho phép tạo thêm nhiều bản Linux làm việc trên cùng máy. Cách này có ưu điểm là chỉ cần 1 giấy phép OS, nhưng có điểm hạn chế là không thể chạy được nhiều OS khác nhau trên cùng một máy chủ.
Bảo mật và ảo hóa
Công nghệ ảo hóa trong một số tổ chức đã trở thành một phần không nhỏ của cơ sở hạ tầng IT. Các môi trường ảo hóa sẽ dần trở thành phổ biến hơn như những giải pháp hoạt động mang tính liên tục và khắc phục khó khăn nảy sinh, điển hình là trong lĩnh vực tài chính. Điều này hoàn toàn thích đáng vì một số giải pháp như vậy nằm trong môi trường bán trực tiếp và dễ bị coi nhẹ trong quá trình đảm bảo an toàn IT và nâng cấp cơ sở hạ tầng của nó.
Khi triển khai công nghệ ảo hoá, cần phải áp dụng những giải pháp bảo vệ phù hợp để đối phó với các nguy cơ mất an toàn tiềm ẩn, cụ thể là:
- Nếu máy chủ bị thao túng bởi ý đồ không tốt thì sẽ kéo theo hậu quả xấu đối với các máy ảo cấu hình trên nó và các máy người dùng liên quan.
- Đặc quyền tối thiểu là một kỹ thuật bảo vệ cần được xem xét áp dụng. Nó làm giảm giao diện bị tấn công và nên được sử dụng trong cả môi trường ảo hoá và môi trường vật lý.
- Cài đặt và nâng cấp phần mềm chống virus trên các máy tính ảo và máy chủ. Cần nhớ rằng, các máy tính ảo cũng có thể bị lây nhiễm phần mềm độc hại giống như các máy thực.
- Xem xét mức độ cần thiết sử dụng mật mã để bảo vệ thông tin khi truyền đi. Cách đảm bảo an toàn tốt nhất là mã hoá thông tin nhạy cảm lưu chuyển giữa máy chủ, các máy ảo và các máy người dùng.
- Không sử dụng máy chủ để duyệt Internet vì rất dễ dẫn đến những vấn đề nghiêm trọng và tổn thất dịch vụ.
- Cố định hệ điều hành chủ và dừng ngay hoặc vô hiệu hóa các dịch vụ không cần thiết. Nên duy trì hệ điều hành nhỏ gọn để bảo đảm vùng giao diện bị tấn công ở mức tối thiểu.
- Máy chủ cần được bảo vệ để khi các máy ảo trên đó không trực tuyến thì người dùng không có thẩm quyền sẽ không thể can thiệp được vào tệp liên quan.
- Thực hiện kiểm tra bản ghi sự kiện hoạt động nói chung và sự kiện bảo mật nói riêng trên cả máy chủ và máy ảo. Không nên bỏ qua kiểm tra trong các môi trường máy ảo. Các bản ghi như vậy cần được lưu trữ an toàn để phục vụ cho việc thẩm định về sau.
- Bảo đảm card giao diện mạng được chuyên dụng hóa cho mỗi máy ảo. Điều này có thể làm giảm các vấn đề chia sẻ tài nguyên, đáp ứng lưu lượng theo yêu cầu và các máy ảo được cách ly tốt hơn.
- Phần dành riêng (partition) tạo ranh giới đĩa cứng có thể được sử dụng để cách ly và bảo đảm cho mỗi máy ảo hoạt động trên partition chuyên dụng của nó. Nếu một máy ảo vượt ra ngoài các giới hạn thông thường thì các partition chuyên dụng sẽ hạn chế sự ảnh hưởng trên các máy ảo khác.
Việc bảo mật cho công nghệ ảo hóa cần được xem xét và giải quyết thấu đáo trên cơ sở hiểu biết đúng đắn các khía cạnh ảo hoá. Công nghệ mới mẻ này đặt ra nhiều thách thức cho ngành IT và đặc biệt là lĩnh vực an toàn thông tin.
Thị trường Công nghệ ảo hoá
Theo trung tâm dữ liệu quốc tế IDC, đầu tư trong công nghệ ảo hóa sẽ đạt đến 15 tỷ USD trong năm 2009. 40% các OS mới sẽ được triển khai trên các máy tính ảo tính đến năm 2010.
Có 83% trung tâm dữ liệu tại Trung Quốc và 73% ở  Ấn Độ hiện chưa dùng công nghệ này. Tuy vậy, các nhà cung cấp dịch vụ và phần mềm ảo hóa ở châu Á sẽ sớm đạt được doanh số 1,35 tỷ USD trong 2 năm 2009-2010.
Theo hãng nghiên cứu toàn cầu Springboard, thị trường ảo hóa ở châu Á đang tăng trưởng 42% mỗi năm. Tại những quốc gia phát triển như Singapore, có khoảng 40% doanh nghiệp đã trang bị kỹ thuật này. Phó chủ tịch Springboard là Michael Barnes nhận định rằng: “Ảo hóa đang trở thành một tính năng bắt buộc và số tổ chức triển khai ở cấp độ máy chủ sẽ tăng nhanh trong năm 2008”.
Một nửa số giám đốc thông tin tham gia khảo sát của Springboard cho biết, họ sẽ ứng dụng ảo hóa trong vòng 18 tháng đến 2 năm nữa. Tuy nhiên, họ cũng lo ngại công nghệ này vẫn chưa hoàn hảo, sẽ phải đối mặt với những thách thức về quản lý và bảo mật. Có thể khi những người có trách nhiệm hiểu rõ hơn về tác dụng của ảo hóa, thì họ sẽ biết cách khai thác nó thành công trong môi trường công nghệ thông tin của tổ chức mình. Một điều rõ ràng là nhờ ảo hóa, các tổ chức sẽ không phải làm việc trong những môi trường có quá nhiều máy móc xung quanh.



Theo hãng nghiên cứu thị trường Gartner, ảo hóa cùng kỹ thuật vi xử lý đa lõi, điện toán cục bộ, điện toán diện rộng và mạng xã hội ảo sẽ là 5 công nghệ làm thay đổi hoàn toàn ngành công nghiệp IT từ nay đến năm 2012.
Vừa qua tại Việt Nam, các công ty lớn như Microsoft, IBM, HP, Intel... đã quảng bá về các sản phẩm, dịch vụ, giải pháp ảo hóa với những cam kết rằng công nghệ đó là sự phát triển cho tương lai, nó giúp các tổ chức nâng cao hiệu quả IT với chi phí thấp nhất. Tuy nhiên, phần lớn các chuyên gia IT nước ta vẫn còn ít hiểu biết về lĩnh vực này.
Hãng Microsoft đã đưa ra bộ ba sản phẩm Windows Server (WS) 2008, SQL Server 2008, Visual Studio (VS) 2008, được thiết kế để cung cấp một nền tảng hiệu quả nhằm ảo hóa công việc. Tích hợp tính năng Windows Virtualization cộng với System Center Virtual Machine Manager, WS 2008 có hy vọng trở thành một nguồn lực mới trong thị trường ảo hóa vốn đang thuộc về VMWare.
Về phần cứng, Intel giới thiệu 2 sản phẩm vi xử lý Pentium 4 - 672 và 662 lõi đơn, dành cho các máy tính để bàn được tích hợp các công nghệ ảo hóa, cho phép chạy nhiều hệ điều hành trên một máy tính. Còn IBM đưa ra các dòng máy tính như máy chủ System X mới hỗ trợ các giải pháp ảo hóa đi kèm với các công cụ đo lường ảo hóa... Công ty HP cũng đã có 2 sản phẩm lưu trữ ảo mới là tủ đĩa EVA 4400 và thiết bị lưu trữ MSA 2000, được thiết kế đặc biệt cho các tổ chức cỡ vừa ở Việt Nam.
Dù công nghệ ảo hóa đã thâm nhập vào nước ta hơn một năm và hiện đã có khách hàng sử dụng, nhưng theo đánh giá chung của các tập đoàn IT nói trên thì lĩnh vực này tại Việt Nam vẫn đang ở mức sơ khai.
Lý do khiến ảo hóa chưa tìm được chỗ đứng tại Việt Nam có thể là do các tổ chức chưa nhận thức được sự cần thiết tiết kiệm chi phí cho hạ tầng thiết bị, nhân lực, diện tích sử dụng, điện năng.... Mặt khác, những người có trách nhiệm có tâm lý muốn bỏ tiền mua máy móc, thiết bị, phương tiện thực hơn là đầu tư cho các tài sản vô hình.
Tuy vậy, những người đã và đang sử dụng công nghệ ảo hoá đều không thấy sự khác biệt lớn khi thao tác trên các máy ảo so với các máy thực. Hơn nữa, việc quản lý, bảo mật và bảo toàn ứng dụng có khía cạnh dễ hơn. Nếu bị hỏng hóc, chỉ cần sao lại máy ảo trước một thời điểm nào đó là có thể hoàn trả nguyên trạng một cách nhanh chóng, và cũng có thể sao lên một máy tính thực khác mà không phụ thuộc vào phần cứng của nó.
Một số chuyên gia IT nước ngoài nhận định, Việt Nam hiện thời rất phát triển và đang trong quá trình xây dựng cơ sở hạ tầng IT. Chắc chắn, sau đó Việt Nam sẽ phải chú trọng vào việc bảo dưỡng những gì có được. Nếu ngay bây giờ những người có trách nhiệm không đầu tư vào ảo hóa thì Việt Nam sẽ phải chịu chi phí bảo dưỡng rất cao, hay rơi vào tình trạng làm xong rồi sửa nếu không đầu tư công nghệ ảo hóa để bắt kịp sự phát triển của thế giới.

ThS. Nguyễn Hữu Nghị