Tham dự Tech Lounge

Tham dự Tech Lounge


Ảo... "Ảo hóa" là gì?

TDNC
26/11/2012 9:57Phản hồi: 94
Ảo... "Ảo hóa" là gì?
virtualization-benefits.jpg

Đối với những người hay sử dụng máy tính, chắc hẳn bạn đã từng nghe đến các cụm từ như tạo máy ảo, tạo ổ đĩa ảo hay RAM ảo… trong đó cái chúng ta thường thấy và sử dụng nhất đó chính là tạo máy ảo để chạy song song hai hệ điều hành. Nói chung, tất cả những cái đó đều được gọi là công nghệ ảo hóa (Virtualization), nói nôm na là tạo ra thêm một phiên bản phụ (phiên bản ảo) của một số phần mềm, linh kiện trong máy tính hay thậm chí là ảo hóa toàn bộ chiếc máy tính luôn. Hôm nay chúng ta sẽ tìm hiểu về công nghệ ảo hóa và các lợi ích của nó.

Như mình đã nói, ảo hóa là tạo ra thêm một phiên bản ảo của thứ gì đó trong máy tính. Có rất nhiều thứ có thể được ảo hóa, từ tạo ổ đĩa ảo, RAM ảo, ổ cứng ảo, máy chủ ảo cho đến cả hệ điều hành cũng ảo. Vì công nghệ ảo hóa khá phức tạp và có nhiều nhánh nhỏ nên để cho dễ hiểu, mình sẽ chỉ tập trung nói về một số loại mà chúng ta hay sử dụng nhất mà thôi.

Lợi ích của ảo hóa
Cái hay của ảo hóa là nó giúp cho chúng ta có thể chạy được nhiều thứ hơn trên một chiếc máy tính duy nhất, từ đó tiết kiệm chi phí mua sắm thiết bị mới cho gia mình hay cho doanh nghiệp. Ví dụ bạn là một lập trình viên và xài máy Mac, một số phần mềm lập trình chỉ có thể chạy trên Windows, thay vì tốn thêm mớ tiền để mua một cái máy Win nữa thì bạn chỉ việc tạo máy ảo Windows chạy ngay bên trong máy Mac là có thể sử dụng song song cùng lúc 2 hệ điều hành chỉ với 1 cái máy tính duy nhất. Đối với các nhà quản trị mạng, công nghệ ảo hóa giúp người ta có thể tận dụng hết tài nguyên máy tính, tài nguyên mạng của hệ thống để đem lại hiệu quả xử lý cao hơn.

Các loại ảo hóa

1. Hệ điều hành ảo (tạo máy ảo)
Đây là cái chúng ta hay thấy nhất. Ta có thể tạo ra nhiều máy ảo trên một chiếc máy tính duy nhất và đặc biệt là có thể chạy song song cùng lúc 2 hệ điều hành. Có thể là Mac chạy song song Windows, Win XP và Win 7, Win 7 và Win 8, Windows và Linux… Việc chuyển đổi qua lại giữa 2 hệ điều hành cũng đơn giản giống như chuyển qua lại giữa 2 cửa sổ trên máy tính, bạn cũng có thể chia sẻ dữ liệu giữa máy thực và máy ảo với nhau hoàn toàn dễ dàng.

Để tạo máy ảo, ta cần có một phần mềm chuyên dụng. Có rất nhiều phần mềm giúp ta tạo máy ảo, ví dụ như trên Win thì có VMware, VirtualBox, Virtual PC… Trên Mac thì cũng có VMware Fusion và Parallels. Cách cài đặt cũng rất đơn giản, ví dụ như VMware, bạn chỉ việc cài VMware vào máy tính, tải file ảnh của hệ điều hành thứ hai về, sau đó làm theo hướng dẫn trong đó là OK.

Xem thêm:
Do nó cũng là một hệ điều hành (gần như hoàn chỉnh) nên máy ảo cũng cần có CPU, RAM, ổ cứng cũng như các linh kiện phần cứng có liên quan. Ở đây máy ảo sẽ dùng chung các phần cứng đó với máy tính của bạn. Nghĩa là giờ đây thay vì chỉ chạy một hệ điều hành thì máy tính của bạn phải gồng mình lên để chạy đến 2 cái hệ điều hành cùng lúc, lúc đó máy sẽ chạy ì ạch hơn. Vì vậy nếu cấu hình máy của bạn quá yếu thì không nên dùng máy ảo quá nhiều. Thường khi tạo thêm máy ảo thì nó sẽ cắt ra khoảng vài GB RAM dùng cho máy ảo đó, CPU dùng chung và ổ cứng cũng phải chia ra thêm một khoảng kha khá để chứa hệ điều hành thứ 2 này.

mac-win.jpg
Cài máy Windows 8 ảo lên máy Mac

2. Ảo hóa phần cứng
Trên đây là cách tạo máy ảo phổ thông mà chúng ta hay dùng nhất. Ngoài ra, ở phân khúc cao cấp hơn người ta còn có thêm một cách nữa đó là dùng Hypervisor (còn gọi là ảo hóa phần cứng). Hypervisor có thể là phần cứng, phần mềm hoặc là một bản firmware nào đó có thể chạy trực tiếp trên một hệ thống máy tính, có chức năng cho nhiều máy ảo chạy trên nó.

Điểm khác biệt của Hypervisor so với cách dùng phần mềm tạo máy ảo đó là nó không cần phải có hệ điều hành chủ trước đó. Ở cách đầu tiên ta phải có một máy tính chạy hệ điều hành trước, sau đó cài phần mềm máy ảo rồi mới tạo máy ảo được. Trong khi đó Hypervisor không cần có hệ điều hành, nó có thể chạy trực tiếp trên phần cứng luôn. Bạn có thể xem hình minh họa bên dưới để hiểu rõ hơn.

40747-virtualized-clients-figure-1.gif
Ảnh: Intel.com

Có nhiều loại ảo hóa phần cứng:

Quảng cáo



Ảo hóa toàn phần
Toàn bộ phần cứng của máy tính sẽ được ảo hóa hết để một hệ điều hành ảo khác có thể chạy trên đó một cách đầy đủ và bình thường, không bị thay đổi hay chỉnh sửa. Khi được ảo hóa toàn phần thì máy ảo có thể truy cập và sử dụng hết mọi tính năng của từng phần cứng một, bao gồm cả BIOS, driver, các lệnh nhập/xuất dữ liệu, truy cập bộ nhớ... Ứng dụng của ảo hóa toàn phần bao gồm: chia sẻ một máy tính cho nhiều người sử dụng cùng lúc, cách ly các tài khoản người dùng với nhau cũng như để tăng cường tính bảo mật, độ ổn định và hiệu suất làm việc của một hệ thống máy tính.

Ảo hóa một phần
Khác với ảo hóa toàn phần, ảo hóa một phần chỉ tiến hành ảo hóa một số phần cứng nhất định của máy tính nên nó không đủ tài nguyên để vận hành một hệ điều hành ảo hoàn chỉnh, thay vào đó nó chỉ cho phép chúng ta chạy một số phần mềm mà thôi. Ưu điểm của áo hóa một phần là nó dễ triển khai hơn ảo hóa toàn phần, nó tỏ ra cực kỳ hữu ích khi người ta chỉ muốn dùng máy ảo để chạy một phần mềm quan trọng nào đó, họ sẽ dùng ảo hóa một phần để tạo ra đủ tài nguyên cần thiết để chạy nó mà không cần phải ảo hóa cả một hệ thống phức tạp. Nếu dùng ảo hóa toàn phần chỉ để chạy một phần mềm duy nhất thì coi như là ta đã lãng phí tài nguyên máy tính một cách vô ích.

Ảo hóa song song
Khái niệm này khá rắc rối nên mình cũng không muốn giải thích quá sâu, nói một cách tóm gọn thì ảo hóa song song khác với 2 loại ảo hóa kể trên ở chỗ nó không mô phỏng phần cứng để chạy hệ điều hành ảo mà thay vào đó nó sẽ tạo một một lớp giao diện phần mềm (hay một tập lệnh API) để các hệ điều hành ảo và hypervisor có thể giao tiếp với nhau, và xem API đó như là ngôn ngữ chung giữa 2 phía, mục đích là để giảm thiểu thời gian cần thiết mỗi khi thi hành các câu lệnh trên hệ thống. Bạn có thể tìm hiểu kỹ hơn về ảo hóa song song tại đây.

CPU hỗ trợ ảo hóa
Để tăng cường hiệu quá ảo hóa, người ta còn nhờ đến một thành phần rất quan trọng trong hệ thống đó là CPU. Những con CPU hỗ trợ ảo hóa từ bên trong CPU được thiết kế đặc biệt để chúng có thể hỗ trợ bạn tối đa trong việc tạo và chạy các máy ảo. Vì tính năng này có liên quan trực tiếp đến phần cứng (cụ thể là CPU) nên bạn cần phải kiếm tra xem CPU của mình có hỗ trợ sẵn chức năng ảo hóa hay không, không phải CPU nào cũng hỗ trợ ảo hóa từ phần cứng của nó, để kiểm tra, bạn có thể tải về phần mềm Intel Processor Identification Utility (dành cho CPU Intel) hoặc AMD Virtualization Compatibility Tool (dành cho AMD).

Quảng cáo



Một số phần máy ảo ví dụ như XP Mode (tạo Win XP chạy song song trong Win 7) đòi hỏi CPU của bạn phải hỗ trợ ảo hóa, bạn có thể xem chi tiết những dòng CPU hỗ trợ ảo hóa của Intel tại đây (cột Intel VT-x). May mắn là hầu hết các CPU Sandy Bridge và Ivy Bridge ra mắt gần đây đều hỗ trợ chức năng ảo hóa VT-x từ Intel.

Screen Shot 2013-01-06 at 12.10.29 AM.png

3. Ổ đĩa ảo:
Nếu bạn nào thường tải game hay đĩa phim DVD về xem trên máy tính thì sẽ quen với khái niệm này. Khi máy tính của chúng ta có gắn ổ quang (hay DVD) thì trong My Computer sẽ xuất hiện thêm một ổ đĩa, đó là ổ đĩa thực. Tuy nhiên, một số file game, phần mềm và phim DVD tải về thường có dạng file ảnh (*.ISO, *.IMG…), muốn đọc được các file này mà không cần ghi ra đĩa, bạn phải cài thêm phần mềm đọc file *.ISO hoặc là cài ổ đĩa ảo. Nhiệm vụ của ổ đĩa ảo là nó sẽ giúp cho máy tính có thể đọc được các file ảnh nói trên mà chúng ta không cần phải ghi ra đĩa, và thậm chí máy của bạn cũng không cần gắn ổ quang luôn.

Sau khi tạo ổ đĩa ảo (rất dễ) thì trong My Computer sẽ suất hiện thêm một ổ đĩa ảo và nó giống hệt ổ đĩa thực của bạn. Trên Windows bạn có thể dùng các phần mềm để tạo ổ đĩa ảo như Alcohol hay DAEMON Tools.

o dia ao copy.jpg

4. Desktop ảo:
Cái này thường thấy trong hệ thống máy chủ của các doanh nghiệp, công ty. Ví dụ, trong công ty người ta có một máy chủ trung tâm, chứa toàn bộ dữ liệu, phần mềm và các chương trình cần thiết để các nhân viên có thể sử dụng. Tuy nhiên do có quá nhiều nhân viên, họ có thể ngồi ở phòng riêng hay nhà riêng, người ta không thể đầu tư cho mỗi người một cái máy tính đầy đủ như thế (vì sẽ rất tốn kém), thay vào đó người ta tạo ra cái gọi là Desktop ảo.

Bạn có thể hiểu như thế này: một máy chủ trung tâm có thể tạo ra nhiều Desktop ảo (giống như Desktop máy tính của bạn vậy). Mỗi một nhân viên sẽ được cấp một Desktop ảo của máy chủ đó và cái hay của nó là người ta có thể ngồi làm việc từ xa, dùng một máy tính khác hay thậm chí là các thiết bị di động như điện thoại hay tablet để truy cập vào Desktop ảo và bắt đầu làm việc. Họ có thể sử dụng mọi phần mềm và dữ liệu có trên Desktop ảo, tất cả các dữ liệu sẽ được xử lý và lưu trữ từ xa ngay trên máy chủ trung tâm. Người nhân viên không cần phải có một máy tính quá cao cấp để có thể làm việc với máy chủ trên. Như vậy, nhờ có Dekstop ảo mà chỉ cần một máy chủ, ta có thể phân phát cho nhiều người làm việc cùng lúc trên máy tính đó mà vẫn đảm bảo được tính hiệu quả và độ an toàn của dữ liệu.

5. RAM ảo:
Các hệ thống máy chủ cũng rất hay dùng RAM ảo. RAM ảo được tạo ra từ việc gộp chung toàn bộ số RAM thực đang có trong các máy tính của một Data Center và tạo thành một "cục" RAM (memory pool) chung cho toàn hệ thống. Các máy tính con trong hệ thống máy chủ hay các ứng dụng con có thể truy cập và sử dụng số RAM ảo mày mà không bị giới hạn về mặt phần cứng và có thể dùng số RAM đó để làm bộ nhớ cache tốc độ cao hay làm bộ nhớ cho CPU và GPU. Ưu điểm của RAM ảo là nó cho phép các ứng dụng có thể tận dụng được số RAM cực kỳ lớn, giảm thiểu tình trạng "thắt nghẽn cổ chai" do thiếu RAM và tăng hiệu suất máy tính, tận dụng số RAM nhàn rỗi trong hệ thống máy chủ.

Đó là RAM ảo trên máy chủ, còn máy tính cá nhân thì sao? Có luôn, nhất là các máy Windows, người dùng máy tính Windows thường có cái cách là dùng một phần ổ cứng chia ra để làm RAM ảo, mục đích là để giảm tải gánh nặng xử lý trên RAM thật khi RAM thật không đủ để xử lý các ứng dụng.

000.jpg
Cài RAM ảo cho máy tính Windows

6. Máy chủ ảo (VPS - Virtual Private Server):
Là nhiều máy chủ ảo chạy trên một máy chủ thực. Một máy chủ có thể tạo ra nhiều máy chủ ảo để vận hành các website. Nói nôm na thì nó giống như việc bạn tạo máy ảo trên máy tính của mình vậy. Bạn có thể tạo ra nhiều máy ảo chạy nhiều hệ điều hành trên chiếc máy tính của mình thì người quản trị mạng cũng có thể tạo ra nhiều máy chủ ảo chạy nhiều hệ điều hành khác nhau trên cùng một máy chủ thực. Ưu điểm của VPS là nó giúp người ta có thể tiết kiệm đáng kể chi phí dùng để đầu tư cho việc mua, thuê server.

Lấy ví dụ bạn cần thuê một máy chủ để vận hàng website của mình. Vì là website nhỏ nên không cần có một máy chủ quá mạnh, nếu bạn đi thuê hẳn một server thực (Dedicated Server) thì sẽ rất tốn kém và cũng ít khi dùng hết tài nguyên sức mạnh của máy chủ đó. Vì vậy người ta mới dùng tới VPS. Giống như tạo máy ảo, VPS sẽ chia nhỏ sức mạnh của một máy chủ thực và tạo thành nhiều máy chủ nhỏ hơn, nhờ đó mà bạn sẽ tiết kiệm được tiền thuê server, đồng thời người quản trị mạng có thể tận dụng nguồn tài nguyên cúa máy chủ mình một cách tốt hơn, cùng là một máy chủ nhưng có thể tạo ra nhiều VPS để cho nhiều người thuê mướn cùng lúc.

Tham khảo: Wikipedia (1), (2). Hình ảnh: SVT
94 bình luận
Chia sẻ

Xu hướng

ào hóa trên server rất tuyệt vời có thể chạy nhiều OS cùng lúc
Mềk có rất nhiều bạn ảo trên internet, có được tính không? 😁


PS. Ngày xưa toàn chơi Android ảo trên PC. Ảo vật.
@Black Mamba yêu ảo tình thật :D
@Black Mamba Thế giới ảo luôn song song với thế giới thật mừ.

--Gửi từ đây đến đó--
thanks nhiều. Bài viết hay và đầy đủ
mrdat_k1
TÍCH CỰC
11 năm
Mới biết mỗi vụ ram ảo, ổ đĩa ảo với cài song song 2 hdh. Xem bài này có thể đc mở mang tầm mắt và giúp ta có cái nhìn tổng quát nữa 😃

Sent from my GT-I9100G using Tinhte.vn
Biết cái này từ kì trước thì có phải ok k..^^..
Ảo... là ảo tung chảo
ngày xưa cày game offline cái ổ đĩa ảo quan trọng vô cùng
Bài viết tuyệt vời đúng là có những cái bây giờ mới bít thế nào là ảo hóa toàn phần.. một phần... song song.., cám ơn bác TDNC nhìu
Đang học Network, mấy cái ảo ảo này buộc phải rành và nắm vững 😁
Đọc cái này thấy mệt mệt... 😕
Thang0206
ĐẠI BÀNG
11 năm
Ai có link ảo hoá XP trên Win 8 không? cho mình với?
@Thang0206 Hình như trên win 8 có sẵn Hyper - V. Bạn có thể dùng hyper-v để cài đặt 1 win xp ảo
nếu bàn về ảo hóa trpng phát triển web, bài viết còn thiếu về trình duyệt, có lẽ người viết nên tìm hiểu thêm để bổ sung 😁



vài site hiện nay cung cấp dịch vụ trình duyệt ảo nhưng với giá khá chát (với dân VN nói riêng), có tuốt tuồn tuột các phiên bản browser từ thuở sơ khai đến hiện nay :D; nếu dùng free thì chỉ đc xài khoảng... 30p trong khi mỗi lần tạo trình diễn ảo nó bảo có thể mất tới... 15p để tạo 😔
Mấy vụ RAM ảo, máy chủ ảo, chạy dual boot 2 OS... có nghe lâu rồi! Nhưng bài này nói rất chi tiết và dễ hiểu! Tks chủ thớt đã post để AE tìm hiểu!
phhdinh
ĐẠI BÀNG
11 năm
Bộ nhớ cache là SRAM, còn RAM trong máy tính mà mọi người hay nhắc đến là DRAM (DDRAM II, DDRAM III,..). SRAM có tốc độ lớn hơn rất nhiều DRAM và thường dùng làm bộ nhớ cache trong CPU.
Làm sao có thể "dùng số RAM đó để làm bộ nhớ cache tốc độ cao hay làm bộ nhớ cho CPU và GPU" được chứ @@!
mà cache thông thường chỉ cần 3-6-10 MB là đủ rồi, cần gì ....
@phhdinh Cache là từ chỉ chung 1 thứ/kỹ thuật lưu trữ tạm ("đệm") dữ liệu, có thể ở nhiều mức, nhiều lĩnh vực, do đó dùng từ cache ở đây là hoàn toàn đuungs.

Còn cái bạn nói là cache của CPU để giảm truy suất RAM ;)
duchuykun
ĐẠI BÀNG
11 năm
Ảo hóa ram dùng cơ chế thay trang của hệ điều hành. Rất phức tạp nhưng khá là hay. Cắm cái ram 1 GB máy vẫn chạy nhưng các bạn có biết tại sao mà nó chạy chậm, vì nó phải ảo hóa rồi dùng phân trang swap in swap out ra đĩa cứng nhiều lần nên rất chậm.
ngày trc chơi diablo, aoe, pes toàn xài ổ đĩa ảo. h học tiếng anh cũng xài nốt. trải nghiệm win 7 và win 8 cũng ảo. cuộc sống h thay đổi nhanh quá cũng thấy ảo 😁
đã like.
cảm ơn Bạn đã gôm lại 1 chủ đề ảo hóa.
đã gọi là ảo thì chả bao giờ = thật.
Trước học nhiều máy chủ máy trạm, thường dùng máy ảo có phải là ảo hóa không các cụ nhỉ

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019