Tải bản đầy đủ (.pdf) (70 trang)

Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.65 MB, 70 trang )

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG

LỜI CAM ĐOAN
---------------------------------Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả
nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công
trình nào khác.

Tác giả

Phạm Thanh Duy
Phạm Thanh Duy

NGHIÊN CỨU VÀ ỨNG DỤNG
CÔNG NGHỆ ẢO HÓA MÁY CHỦ

Chuyên ngành:

Hệ thống thông tin

Mã số:

8480104

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN VĂN TAM

HÀ NỘI - 2018



i

LỜI CẢM ƠN
Lời đầu tiên em xin gửi lời cảm ơn đến toàn thể các thầy, cô giảng viên Học
viện Công nghệ Bưu chính Viễn thông đã tận tình chỉ bảo em trong suốt thời gian
học tập tại nhà trường.
Em xin gửi lời cảm ơn sâu sắc đến PGS.TS. Nguyễn Văn Tam, người đã trực
tiếp hướng dẫn, tạo mọi điều kiện thuận lợi và tận tình chỉ bảo cho em trong suốt
thời gian làm luận văn tốt nghiệp.
Bên cạnh đó, để hoàn thành luận văn này, em cũng đã nhận được rất nhiều sự
giúp đỡ của các bạn sinh viên trong trường Cao đẳng Y tế Hà Đông cho phần thực
nghiệm, những lời động viên quý báu của các bạn bè, gia đình và đồng nghiệp. Em
xin chân thành cảm ơn.
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc
rằng luận văn khó tránh khỏi thiếu sót. Em rất mong nhận được sự thông cảm và chỉ
bảo tận tình của quý thầy cô và các bạn.

Học viên

Phạm Thanh Duy


ii

MỤC LỤC
LỜI CAM ĐOAN ...................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ i
MỤC LỤC ................................................................................................................. ii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT .......................................... iv
DANH MỤC CÁC BẢNG ........................................................................................v

DANH MỤC CÁC HÌNH ....................................................................................... vi
MỞ ĐẦU ....................................................................................................................1
Chƣơng 1 - TỔNG QUAN VỀ CÔNG NGHỆ ẢO HÓA ......................................4
1.1. Giới thiệu về công nghệ ảo hóa.......................................................................4
1.1.1. Khái niệm, định nghĩa ................................................................................4
1.1.2. Quá trình phát triển.....................................................................................4
1.2. Các thành phần của một hệ thống ảo hóa......................................................5
1.2.1. Tài nguyên vật lý ........................................................................................5
1.2.2. Phần mềm ảo hóa .......................................................................................5
1.2.3. Máy ảo ........................................................................................................5
1.3 Phân loại công nghệ ảo hóa .............................................................................7
1.3.1. Phân loại theo kiến trúc ..............................................................................7
1.3.2. Phân loại theo mức ...................................................................................12
1.3.3. Phân loại theo đối tượng ảo hóa ...............................................................14
1.4. Lợi ích, tính đa dạng của việc ảo hóa ...........................................................19
1.5. Ứng dụng của Ảo hóa ....................................................................................21
Kết luận chương 1: ...............................................................................................21
Chƣơng 2 - CÔNG NGHỆ ẢO HOÁ MÁY CHỦ ................................................22
2.1. Một số công nghệ ảo hoá máy chủ................................................................22
2.1.1. Công nghệ ảo hoá Virtuozzo Containers của Parallels ............................22
2.1.2. Công nghệ ảo hoá XenServer của Citrix ..................................................23
2.1.3. Công nghệ ảo hoá Hyper – V của Microsoft ............................................26


iii

2.2. Cấu trúc Vmware Esx Server ........................................................................31
2.2.1. Hệ điều hành điều khiển (Console Operating System) ...........................33
2.2.2. Vmkernel (lõi điều khiển chính) ..............................................................34
2.2.3. The ESX Boot Process (Quá trình khởi động máy chủ ESX) ..................34

2.2.4. Phần cứng ảo (HardwareVirtualization) ..................................................35
2.2.5. Tính Năng Của ESX Server .....................................................................36
Kết luận chương 2: ...............................................................................................44
Chƣơng 3 - XÂY DỰNG MÔ HÌNH ỨNG DỤNG ẢO HÓA MÁY CHỦ TẠI
TẠI TRƢỜNG CAO ĐẲNG Y TẾ HÀ ĐÔNG ....................................................45
3.1. Hiện trạng hệ thống thông tin trường Cao đẳng Y tế Hà Đông ..................45
3.2. Ứng dụng ảo hóa máy chủ vào hệ thống thông tin trường Cao đẳng Y tế
Hà Đông ................................................................................................................46
3.2.1. Giải pháp tổng thể ....................................................................................46
3.2.2. Giải pháp triển khai ..................................................................................46
3.2.3. Thiết kế và thực thi hệ thống ứng dụng với Vmware ESX Server ..........48
3.3. Đánh giá hiệu quả của hệ thống ứng dụng với máy chủ ảo và máy chủ
thực ........................................................................................................................54
3.3.1. Mô hình và kịch bản thử nghiệm..............................................................54
3.3.2. Kết quả thử nghiệm đánh giá ...................................................................56
Kết luận chương 3: ...............................................................................................58
KẾT LUẬN ..............................................................................................................59
TÀI LIỆU THAM KHẢO ......................................................................................61


iv

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
Từ viết tắt

Tiếng Anh

Bộ xử lý

BXL

COS
CPU

Tiếng Việt

Console Operating
System
Central Processing Unit

HĐH

Hệ điều hành điều khiển
Bộ xử lý trung tâm
Hệ Điều Hành

I/O

In/Out

Nhập/Xuất

LILO

Linux Loader

MF

Mainframe

Bộ nạp khởi động ứng

dụng
Hệ thống máy tính lớn

PC

Personal Computer

Máy tính cá nhân

OS

Operating System

Hệ điều hành

SAN

Storage Area Networking

Mạng lưu trữ

VM

Virtual machine

Máy ảo

VMM

Virtual machine monitor



v

DANH MỤC CÁC BẢNG
Bảng 1. Thử nghiệm 1 …. .........................................................................................56
Bảng 2. Thử nghiệm 2…. ..........................................................................................56
Bảng 3. Thử nghiệm 3….. .........................................................................................56
Bảng 4. Thử nghiệm 4…. ..........................................................................................56


vi

DANH MỤC CÁC HÌNH

Hình 1.1. Mô hình Hosted-based ................................................................................7
Hình 1.2. Kiến trúc Hypervisor-based ........................................................................9
Hình 1.3. Kiến trúc Monolithic Hypervisor ..............................................................10
Hình 1.4. Kiến trúc Microkernelized Hypervisor .....................................................11
Hình 1.5. Kiến trúc ảo hóa Hybrid ............................................................................12
Hình 1.6. Ảo hóa Paravirtualization ..........................................................................13
Hình 1.7. Mô hình Application Streaming của Citrix ...............................................16
Hình 2.1. Kiến trúc ảo hoá VirtuozzoContainers ......................................................22
Hình 2.2. Cửa sổ làm việc XenServer .......................................................................24
Hình 2.3. Công nghệ Hyper -V .................................................................................27
Hình 2.4. Các sản phẩm ảo hóa của VMware ...........................................................32
Hình 2.5. Sơ đồ tương tác trong ESX Server ............................................................33
Hình 2.6. Sơ đồ phân phối card mạng .......................................................................36
Hình 2.7. VMotion & Storage Vmotion ...................................................................38
Hình 2.8. VMware Consolidated Backup (VCB) .....................................................39

Hình 2.9. Vcenter update Manager ...........................................................................40
Hình 2.10. Virtual Center (VC) & Infrastructure Client (VI Client) của Vmware ...41
Hình 2.11. vCenter Convert ......................................................................................43
Hình 3.1. Mô hình ảo hóa..........................................................................................47
Hình 3.2. Load cài đặt VMWare ESX trên Server HP Proliant ................................48
Hình 3.3. Nhập mật khẩu quản trị hệ thống ..............................................................49
Hình 3.4. Màn hình điều khiển của VMWare ESX sau khi cài xong .......................49
Hình 3.5. Màn hình Configure VMWare ESX .........................................................50
Hình 3.6. Set IP cho máy chủ vật lý..........................................................................50
Hình 3.7. Ping giữa máy Client và máy chủ vật lý ...................................................51
Hình 3.8. Phần mềm VMWare vSphere ...................................................................51
Hình 3.9. Tạo máy chủ ảo .........................................................................................52


vii

Hình 3.10. Cài đặt hệ điều hành vào máy chủ ảo......................................................52
Hình 3.11. Các máy ảo đã được tạo ra ......................................................................53
Hình 3.12. Chạy các ứng dụng trên máy chủ ảo .......................................................53
Hình 3.13a. Thời gian tính trong phần mềm thi ........................................................54
Hình 3.13b. Thời gian tính trong phần mềm thi .......................................................55
Hình 3.14. Đồ thị kết quả thử nghiệm .......................................................................57
Hình 3.15. Số máy PC lỗi kết nối khi tăng số lượng bài thi .....................................57


1

MỞ ĐẦU
1. Lý do chọn đề tài
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.


2


- 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.
- Hệ thống các máy chủ luôn làm việc ở trạng thái rỗi nên hiệu quả sử dụng
tài nguyên (bộ xử lý và bộ nhớ) thường rất thấp, gây lãng phí rất lớn. Để tăng hiệu
quả sử dụng tài nguyên tức là khai thác tối đa năng lực máy chủ, tạo ra môi trường
làm việc cho nhiều người cùng chia sẻ máy chủ, ý tưởng này có từ thời mainframe
nay gọi là “ảo hóa”. Trên cơ sở phân tích trên, học viên chọn đề tài “Nghiên cứu và
ứng dụng công nghệ ảo hóa máy chủ “ để tìm hiểu, nghiên cứu.

2. Tổng quan về vấn đề nghiên cứu
Việc ra đời của công nghệ ảo hóa đã dẫn đến những động lực phát triển và
các mục tiêu mới cho các nhà cung cấp sản phẩm ảo hóa cho phù hợp với nhu cầu
thị trường và yêu cầu thực tiễn.
- Nhưng không ngừng lại ở đó, những khả năng và lợi ích của ảo hoá còn
hơn thế, nơi gặt hái được nhiều thành công và tạo nên thương hiệu của công nghệ
ảo hóa đó chính là trong môi trường hệ thống máy chủ ứng dụng và hệ thống mạng.
- Nghiên cứu nhằm trang bị kiến thức cơ bản về ảo hóa để có thể tiếp cận các
đề tài nghiên cứu khoa học đang được nhiều nhà khoa học quan tâm như ảo hóa
mạng máy tính, ảo hóa trên điện toán đám mây, ảo hóa máy chủ, SDN …
- Ý nghĩa thực tiễn của đề tài: Xây dựng mô hình, giải pháp triển khai ứng
dụng máy chủ ảo cho cơ quan, doanh nghiệp.
- Luận văn sẽ là tài liệu tham khảo về công nghệ ảo hóa và ứng dụng.

3. Nhiệm vụ nghiên cứu
Tìm hiểu và nắm được các công nghệ, phương pháp, các kỹ thuật của công
nghệ ảo hóa. Nhiệm vụ chính của luận văn là nghiên cứu về công nghệ ảo hóa nhằm
áp dụng vào ảo hóa máy chủ và ứng dụng tại trường Cao Đẳng Y Tế Hà Đông.



3

4. Đối tƣợng, phạm vi nghiên cứu
- Lý thuyết về Công nghệ ảo hóa.
- Các mô hình, kiến trúc ảo hóa.

5. Phƣơng pháp nghiên cứu
- Phương pháp tài liệu: Nghiên cứu các tài liệu liên quan đến công nghệ ảo
hóa, cung cấp tài nguyên trong nền tảng máy chủ chia sẻ,các công nghệ nền tẳng
của ảo hóa, Ảo hóa dựa trên Vmware vsphere, Hyper – V.
- Phương pháp thực nghiệm: Cài đặt, cấu hình Vmware ESX, Cài đặt ứng
dụng trên máy chủ ESX Server tại trường Cao Đẳng Y Tế Hà Đông.

6. Nội dung của luận văn
Bao gồm 3 chương
Chương 1: Trình bày tổng quan, các khái niệm về ảo hóa, một số loại ảo hóa
và ứng dụng.
Chương 2: Các công nghệ ảo hóa máy chủ, trình bày và nắm bắt các công
nghệ ảo hóa máy chủ hiện hành các phương pháp ảo hóa.
Chương 3: Áp dụng mô hình ảo hóa VNWare, ảo hóa máy chủ và một số thử
nghiệm thực tế tại trường Cao đẳng Y tế Hà Đông.
Phần kết luận tóm tắt lại các nội dung đã trình bày, kết quả và huớng phát
triển của luận văn.


4

Chƣơng 1 - TỔNG QUAN VỀ CÔNG NGHỆ ẢO HÓA

1.1. Giới thiệu về công nghệ ảo hóa
1.1.1. Khái niệm, định nghĩa
- Ảo hóa có tên tiếng Anh là "Virtualization" - Là một thuật ngữ trong ngành
công nghiệp máy tính ra đời từ những năm 60 [6] [11] [2]. Ảo hóa là một công nghệ
được thiết kế để tạo ra 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ó. Bằng cách đưa ra một khái niệm logic về tài nguyên máy
tính hơn là một khái niệm vật lí, các giải pháp ảo hóa có thể thực hiện rất nhiều việc
có ích.
- Có thể nói công nghệ ảo hóa là một công nghệ tạo ra một phiên bản ảo từ
một thiết bị lưu trữ, một thiết bị mạng cho đến một hệ điều hành. Mục đích của
công nghệ ảo hóa là đơn giản hóa việc quản lý nhưng lại đạt hiệu quả cao hơn về
khả năng, tốc độ làm việc cũng như nâng cao khả năng mở rộng hệ thống.
- Ảo hóa hệ thống máy chủ tức là ta tiến hành phân chia một server thành
nhiều server ảo hoặc kết hợp nhiều máy chủ vật lý thành một máy chủ logic, đối
với người sử dụng họ nhận biết và sử dụng các server ảo giống như một máy vật
lý độc lập có đủ các tài nguyên cần thiết (bộ vi xử lý, bộ nhớ, kết nối mạng, …),
trong khi các server ảo không hề có những tài nguyên độc lập như vậy, nó chỉ sử
dụng tài nguyên được gán từ máy chủ vật lý. Ở đây, bản chất thứ nhất là các server
ảo sử dụng tài nguyên của máy chủ vật lý, bản chất thứ hai là các server ảo có thể
hoạt động như một server vật lý độc lập.

1.1.2. Quá trình phát triển
- Thuật ngữ “Ảo Hóa” ra đời năm 1990 trên những máy tính có khả năng xử
lý lớn, ban đầu nó chỉ là những phương pháp phân chia tài chuyên 1 cách hợp lý để
chạy các ứng dụng khác nhau, từ đó thuật ngữ “Ảo Hóa” phát triển cho đến nay.
- Tiên phong cho công nghệ ảo hóa này là từ hãng IBM với hệ thống máy ảo
VM/370 nổi tiếng được công bố vào năm 1972. Đến năm 1999 Vmware giới thiệu
sản phẩm Vmware workstation. Sản phẩm này ban đầu được thiết kế để hỗ trợ việc
phát triển và kiểm tra phần mềm và đã trở nên phổ biến nhờ khả năng tạo những



5

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. Khác với chế độ khởi động kép là những máy tính được cài nhiều hệ điều
hành và có thể chọn lúc khởi động nhưng mỗi lúc chỉ làm việc được với một hệ điều
hành [15].
- VMWARE, được EMC (hãng chuyên về lĩnh vực lưu trữ) mua lại vào
tháng 12 năm 2003, đã mở rộng tầm hoạt động từ PC (desktop) đến máy chủ
(server) và hiện hãng vẫn giữ vai trò thống lĩnh thị trường ảo hoá nhưng không "độc
tôn" mà phải cạnh tranh với sản phẩm nguồn mở Xen, Virtualization Engine 2.0 của
IBM, Virtual Server của Microsoft, Virtuozzo của SWSoft và Virtual Iron của Iron
Software. Và "ảo hoá” cũng không còn bó hẹp trong 1 lĩnh vực mà mở rộng cho
toàn bộ hạ tầng CNTT, từ phần cứng như chip xử lý cho đến hệ thống máy chủ và
cả hệ thống mạng.

1.2. Các thành phần của một hệ thống ảo hóa
1.2.1. Tài nguyên vật lý
Các tài nguyên vật lý trong môi trường ảo hóa cung cấp tài nguyên mà các
máy ảo sẽ sử dụng tới. Một môi trường tài nguyên lớn có thể cung cấp được cho
nhiều máy ảo chạy trên nó và nâng cao hiệu quả làm việc của các máy ảo. Các tài
nguyên vật lý có thể kể đến là là ổ đĩa cứng, ram, card mạng….

1.2.2. Phần mềm ảo hóa
Lớp phần mềm ảo hóa này cung cấp sự truy cập cho mỗi máy ảo đến tài
nguyên hệ thống. Nó cũng chịu trách nhiệm lập kế hoạch và phân chia tài nguyên
vật lý cho các máy ảo. Phần mềm ảo hóa là nền tảng của một môi trường ảo hóa. Nó
cho phép tạo ra các máy ảo cho người sử dụng, quản lý các tài nguyên và cung cấp
các tài nguyên này đến các máy ảo. Ngoài ra phần mềm ảo hóa còn cung cấp giao
diện quản lý và cấu hình cho các máy ảo.


1.2.3. Máy ảo
Ý 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.


6

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 [11].
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


7

để 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.

1.3 Phân loại công nghệ ảo hóa
1.3.1. Phân loại theo kiến trúc
a) Kiến trúc ảo hóa Hosted-based
Còn gọi là kiến trúc hosted hypervisor, 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. Nếu ta xem hypervisor này là một
lớp phần mềm riêng biệt, thì các hệ điều hành khách của máy ảo sẽ nằm trên lớp thứ
3 so với phần cứng máy chủ.

0.1Hình 1.1. Mô hình Hosted-based

Ta có thể thấy, một hệ thống ảo hóa sử dụng Mô hình Hosted-based được
chia làm 4 lớp hoạt động như sau:
1- Nền tảng phần cứng: Bao gồm các thiết bị nhập xuất, thiết bị lưu trữ (Hdd,
Ram), bộ vi xử lý CPU, và các thiết bị khác (các thiết bị mạng, vi xử lý đồ họa, âm
thanh…)



8

2- Hệ điều hành Host: Hệ điều hành này thực hiện việc liên lạc trực tiếp với
phần cứng, qua đó cung cấp các dịch vụ và chức năng thông qua hệ điều hành này.
3- Hệ thống virtual machine monitor (hypervisor): Chạy trên nền tảng hệ
điều hành Host, các hệ thống này lấy tài nguyên và dịch vụ do hệ điều hành host
cung cấp, thực hiện việc quản lý, phân chia trên các tài nguyên này.
4- Các ứng dụng máy ảo: Sử dụng tài nguyên do hypervisor quản lý.
Mối liên lạc giữa phần cứng và trình điều khiển thiết bị trên hệ điều hành
trong kiểu ảo hóa VMM được mô tả như sau:
- Bước đầu tiên mô phỏng phần cứng: Lớp ảo hóa hypervisor sẽ tạo ra một
phân vùng trên ổ đĩa cho các máy ảo. Phân vùng này bao gồm các phần cứng ảo
như ổ đĩa, bộ nhớ….
- Hypervisor xây dựng mối liên lạc giữa lớp ảo hóa với hệ điều hành: Khi
một máy ảo truy xuất tài nguyên thì lớp hypervisor sẽ thay thế máy ảo đó gởi các
yêu cầu tới hệ điều hành máy chủ để yêu cầu thực hiện.
- Khi hệ điều hành nhận được các yêu cầu này. Nó liên lạc với trình điều
khiển thiết bị phần cứng.
- Các trình điều khiển thiết bị phần cứng liên lạc đến các phần cứng trên máy
thực. Quá trình này sẽ xảy ra ngược lại khi có các trả lời từ các phần cứng đến hệ
điều hành chủ. Một số hệ thống hypervisor dạng Hosted-base có thể kể đến như
Vmware Server, Microsoft Virtual PC, máy ảo Java …
b) Kiến trúc ảo hóa Hypervisor-based
Còn gọi là kiến trúc bare-metal hypervisor. Trong mô hình 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ẽ

chạy trên một lớp nằm phía trên các hypervisor dạng bare-metal. Hình vẽ sau sẽ
minh họa cụ thể hơn cho vấn đề này:


9

0.2Hình 1.2. Kiến trúc Hypervisor-based

Ta có thể thấy, một hệ thống ảo hóa máy chủ sử dụng nền tảng Bare-metal
hypervisor bao gồm 3 lớp chính:
1- Nền tảng phần cứng: Bao gồm các thiết bị nhập xuất, thiết bị lưu trữ (Hdd,
Ram), bộ vi xử lý CPU, và các thiết bị khác (các thiết bị mạng, vi xử lý đồ họa, âm
thanh…)
2- Lớp nền tảng ảo hóa Virtual Machine Monitor (còn gọi là hypervisor),
thực hiện việc liên lạc trực tiếp với nền tảng phần cứng phía dưới, quản lý và phân
phối tài nguyên cho các hệ điều hành khác nằm trên nó.
3- Các ứng dụng máy ảo: Các máy ảo này sẽ lấy tài nguyên từ phần cứng,

thông qua sự cấp phát và quản lý của hypervisor.
Khi một hệ điều hành thực hiện truy xuất hoặc tương tác tài nguyên phần
cứng trên hệ điều hành chủ thì công việc của một Hypervisor sẽ là:
- Hypervisor mô phỏng phần cứng nó làm cho các hệ điều hành tưởng rằng
mình đang sử dụng tài nguyên vật lý của hệ thống thật.
- Hypervisor liên lạc với các trình điều khiển thiết bị
- Trình điều khiển thiết bị phần cứng liên lạc trực tiếp đến phần cứng vật lý.
- Mô hình Hypervisor - Base có 2 dạng là Monothic Hypervisor và
Microkernel Hypervisor.


10


Sau đây sẽ là 2 mô hình Monothic Hypervisor và Microkernel Hypervisor để
hiểu rõ hơn về cách hoạt động và vận hành.
Monolithic Hypervisor
Monolithic Hypervisor là một hệ điều hành máy chủ. Nó chứa những trình
điều khiển (Driver) hoạt động phần cứng trong lớp Hypervisor để truy cập tài
nguyên phần cứng bên dưới. Khi các hệ điều hành chạy trên các máy ảo truy cập
phần cứng thì sẽ thông qua lớp trình điều khiển thiết bị của lớp hypervisor.
Mô hình này mang lại hiệu quả cao, nhưng cũng giống như bất kì các giải
pháp khác, bên cạnh mặt ưu điểm thì nó cũng còn có những nhược điểm. Vì trong
quá trình hoạt động, nếu lớp trình điều khiển thiết bị phần cứng của nó bị hư hỏng
hay xuất hiện lỗi thì các máy ảo cài trên nó đều bị ảnh hưởng và nguy hại. Thêm
vào đó là thị trường phần cứng ngày nay rất đa dạng, nhiều chủng loại và do nhiều
nhà cung cấp khác nhau, nên trình điều khiển của Hypervisor trong loại ảo hóa này
có thể sẽ không thể hỗ trợ điều khiển hoạt động của phần cứng này một cách đúng
đắn và hiệu suất chắc chắn cũng sẽ không được như mong đợi. Một trình điều khiển
không thể nào điều khiển tốt hoạt động của tất cả các thiết bị nên nó cũng có những
thiết bị phần cứng không hỗ trợ. Những điều này cho thấy rằng việc phụ thuộc quá
nhiều vào các loại thiết bị dẫn tới sự hạn chế việc phát triển công nghệ này.

0.3Hình 1.3. Kiến trúc Monolithic Hypervisor


11

Microkernelized Hypervisor
Microkernelized Hypervisor là một kiểu ảo hóa giống như Monolithic
Hypervisor. Điểm khác biệt giữa hai loại này là trong Microkernelized trình điều
khiển thiết bị phần cứng bên dưới được cài trên một máy ảo và được gọi là trình
điều khiển chính, trình điều khiển chính này tạo và quản lý các trình điều khiển con

cho các máy ảo. Khi máy ảo có nhu cầu liên lạc với phần cứng thì trình điều khiển
con sẽ liên lạc với trình điều khiển chính và trình điều khiển chính này sẽ chuyển
yêu cầu xuống lớp Hypervisor để liên lạc với phần cứng.

0.4Hình 1.4. Kiến trúc Microkernelized Hypervisor

c) Kiến trúc ảo hóa Hybrid
Hybrid là một kiểu ảo hóa mới hơn và có nhiều ưu điểm. Trong đó lớp ảo
hóa hypervisor chạy song song với hệ điều hành máy chủ. Tuy nhiên trong cấu trúc
ảo hóa này, các máy chủ ảo vẫn phải đi qua hệ điều hành máy chủ để truy cập phần
cứng nhưng khác biệt ở chỗ cả hệ điều hành máy chủ và các máy chủ ảo đều chạy
trong chế độ hạt nhân. Khi một trong hệ điều hành máy chủ hoặc một máy chủ ảo
cần xử lý tác vụ thì CPU sẽ phục vụ nhu cầu cho hệ điều hành máy chủ hoặc máy
chủ ảo tương ứng. Lý do khiến Hyrbird nhanh hơn là lớp ảo hóa chạy trong chế độ


12

hạt nhân (chạy song song với hệ điều hành), trái với Virtual Machine Monitor lớp
ảo hóa chạy trong trong chế độ người dùng (chạy như một ứng dụng cài trên hệ điều
hành).

0.5Hình 1.5. Kiến trúc ảo hóa Hybrid

1.3.2. Phân loại theo mức
a) Ảo hóa toàn phần - Full Virtualization.
Đây là loại ảo hóa mà ta không cần chỉnh sửa hệ điều hành khách (guest OS)
cũng như các phần mềm đã được cài đặt trên nó để chạy trong môi trường hệ điều
hành chủ (host OS). Khi một phần mềm chạy trên guest OS, các đoạn code của nó
không bị biến đổi mà chạy trực tiếp trên host OS và phần mềm đó như đang được

chạy trên một hệ thống thực sự. Bên cạnh đó, ảo hóa toàn phần có thể gặp một số
vấn đề về hiệu năng và hiệu quả trong sử dụng tài nguyên hệ thống.
Trình điều khiển máy ảo phải cung cấp cho máy ảo một “ảnh” của toàn bộ hệ
thống, bao gồm BIOS ảo, không gian bộ nhớ ảo, và các thiết bị ảo. Trình điều khiển
máy ảo cũng phải tạo và duy trì cấu trúc dữ liệu cho các thành phần ảo (đặc biệt là


13

bộ nhớ), và cấu trúc này phải luôn được cập nhật cho mỗi một truy cập tương ứng
được thực hiện bởi máy ảo.

b) Paravirtualization - Ảo hóa cận toàn phần
Là một phương pháp ảo hóa máy chủ mà trong đó, thay vì mô phỏng một
môi trường phần cứng hoàn chỉnh, phần mềm ảo hóa này là một lớp mỏng dồn các
truy cập các hệ điều hành máy chủ vào tài nguyên máy vật lý cơ sở, sử dụng môt
kernel đơn để quản lý các Server ảo và cho phép chúng chạy cùng một lúc (có thể
ngầm hiểu, một Server chính là giao diện người dùng được sử dụng để tương tác
với hệ điều hành).
Paravirtualization đem lại tốc độ cao hơn so với ảo hóa toàn phần và hiệu
quả sử dụng các nguồn tài nguyên cũng cao hơn. Nhưng nó yêu cầu các hệ điều
hành khách chạy trên máy ảo phải được chỉnh sửa. Điều này có nghĩa là không phải
bất cứ hệ điều hành nào cũng có thể chạy Paravirtualization được (trái với Ảo hóa
toàn phần). XP Mode của Windows 7 là một ví dụ điển hình về ảo hóa cận toàn
phần.

0.6Hình 1.6. Ảo hóa Paravirtualization

Phương pháp ảo hóa này có hai ưu điểm. Thứ nhất, giảm chi phí hoạt động
do số lượng mã rất ít. Lớp phần mềm của Paravirtualization hoạt động giống một

cảnh sát giao thông, nó cho phép một hệ điều hành chủ truy cập các tài nguyên vật
lý của phần cứng, đồng thời ngăn không cho các hệ điều hành chủ khác truy cập các
nguồn tài nguyên đó.


14

Ưu điểm thứ hai của Paravirtualization là nó không giới hạn các trình điều
khiển thiết bị trong phần mềm ảo hóa; thực tế là ảo hóa cận toàn phần không hề có
các trình điều khiển thiết bị. Thay vào đó, nó sử dụng các trình điều khiển thiết bị
có trong một hệ điều hành chủ, gọi là máy chủ đặc quyền. Nó cho phép các công ty
tận dụng hiệu suất phần cứng các máy chủ, chứ không bị giới hạn phần cứng mà các
trình điều khiển phải sẵn có trong phần mềm ảo hóa này như trong ảo hóa mô phỏng
phần cứng.
Tuy nhiên, phương pháp ảo hóa này cũng có một nhược điểm lớn. Do ít quan
trọng và dồn truy cập vào một phần cứng cơ sở, yêu cầu các hệ điều hành chủ phải
được thay đổi để tương tác với giao diện của nó. Công việc này chỉ có thể được
thực hiện khi truy cập mã nguồn của hệ điều hành.
Do đó, nhược điểm này sẽ được giảm thiểu khi sử dụng các máy chủ có các
con chip mới trong cơ sở hạ tầng sản xuất. Một ví dụ của Paravirtualization là một
sản phẩm nguồn mở mới có tên gọi Xen, được công ty thương mại XenSource bảo
trợ. Xen cũng xuất hiện trong các nguồn phân phối Linux gần đây từ Red Hat và
Novell, và có trong nhiều nguồn phân phối cộng đồng Linux như Debian và
Ubuntu. XenSource cũng tự bán các sản phẩm dựa trên Xen. Một phần mềm tiềm
năng khác là Virtual Iron, một giải pháp dựa trên Xen.

1.3.3. Phân loại theo đối tượng ảo hóa
a) Ảo hóa hệ điều hành
Một hệ điều hành được vận hành ngay trên một hệ điều hành chủ đã tồn tại
và có khả năng cung cấp một tập hợp các thư viện tương tác với các ứng dụng,

khiến cho mỗi ứng dụng truy xuất tài nguyên phần cứng cảm thấy như truy xuất
trực tiếp máy chủ vật lý. Từ phối cảnh của ứng dụng, nó được nhận thấy và tương
tác với các ứng dụng chạy trên hệ điều hành ảo, và tương tác với hệ điều hành ảo
mặc dù nó kiểm soát tài nguyên hệ điều hành ảo. Nói chung, không thể thấy các ứng
dụng này hoặc các tài nguyên hệ điều hành đặt trong hệ điều hành ảo khác.
Phương pháp ảo hóa này đặc biệt hữu dụng nếu nhà cung cấp muốn mang lại
cho cộng đồng người sử dụng khác nhau các chức năng khác nhau của hệ thống trên


15

một một máy chủ duy nhất. Đây là một phương pháp lý tưởng cho các công ty máy
chủ Web. Họ sử dụng ảo hóa container (OS ảo) để khiến cho một trang Web chủ
“tin rằng” trang web này kiểm soát toàn bộ máy chủ. Tuy nhiên trên thực tế mỗi
trang Web chủ chia sẻ cùng một máy với các trang Web khác, mỗi trang Web này
lại có một container riêng.
Ảo hóa hệ điều hành yêu cầu rất ít tài nguyên hệ thống, do đó bảo đảm hầu
hết tài nguyên máy sẵn có cho các ứng dụng chạy trên container. Tuy nhiên ảo hóa
hệ điều hành vẫn có một số nhược điểm. Nhược điểm đầu tiên và lớn nhất là
phương pháp này thường giới hạn sự lựa chọn hệ điều hành. Sự container hóa nghĩa
là các container cung cấp một hệ điều hành tương tự như hệ điều hành chủ và thậm
chí thống nhất về phiên bản và các bản vá lỗi.
Như chúng ta có thể tưởng tượng, có thể xảy ra vấn đề nếu nhà cung cấp
muốn chạy các ứng dụng khác nhau trên các container, do các ứng dụng thường
được chứng thực cho một phiên bản hệ điều hành và các bản vá lỗi. Do đó, ảo hóa
hệ điều hành thích hợp nhất với cấu hình thuần nhất, trong các tình huống này ảo
hóa hệ điều hành là sự lựa chọn hoàn hảo.

b) Ảo hóa ứng dụng
Thông thường khi muốn sử dụng một phần mềm nào đó như office, design

người dùng hay có suy nghĩ rằng cần phải tốn thời gian cài đặt phần mềm đó lên
trên máy tính, cụ thể hơn là lên hệ điều hành đang sử dụng. Điều này tốn khá nhiều
thời gian, nhất là nếu áp dụng trên những doanh nghiệp lớn, có cả ngàn máy tính, và
đồng thời vấn đề quản lý các phần mềm này như ai truy xuất, thời gian truy xuất
cho phép ra sao trở thành một thách thức thật sự.
Do đó khái niệm ảo hóa ứng dụng ra đời. 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. Ảo hóa ứng dụng sẽ giúp tách
rời sự phụ thuộc giữa nền tảng phần cứng, hệ điều hành và ứng dụng với nhau [13].


16

Mô hình hoạt động
Có khá nhiều tổ chức đã tham gia vào quá trình ảo hóa ứng dụng với các mô
hình khác nhau. Có thể kể đến như Citrix với mô hình Application Streaming,
Microsoft với mô hình Microsoft Application Virtualization. Ở đây chúng ta sẽ tìm
hiểu về mô hình Application Streaming của Citrix.

0.7 Hình 1.7. Mô hình Application Streaming của Citrix

Kỹ thuật streaming cho phép người quản lý có thể “đẩy” và quản lý các ứng
dụng trên nền tảng hệ điều hành Windows đến bất cứ người dùng nào theo yêu cầu.
Cụ thể hơn: thông qua các đường truyền dữ liệu được dành riêng, các ứng dụng
được tải về thiết bị của người dùng, sau đó chạy trên một môi trường giả lập. Các
thành phần của hệ thống application streaming này bao gồm:
- Application Profiler: Tại đây các application được đóng gói, kèm với nó là
các thông tin như tài nguyên cần thiết để chạy ứng dụng, các quy tắc khi triển khai
trên thiết bị người dùng, các thành phần của ứng dụng…
- Application Hub: Sau khi đã được đóng gói kèm theo các thông tin cần

thiết, các ứng dụng hay phần mềm được lưu trữ tại đây.
Một đặc điểm với kỹ thuật này là: Các ứng dụng được lưu trữ tại bộ nhớ cục
bộ tại các máy tính cuối của người dùng, và được sử dụng như các phần mềm được


17

cài đặt theo cách truyền thống. Nhưng thật sự nó không được cài đặt, mà là chạy
trên lớp đệm là môi trường ảo hóa nằm ngay trên hệ điều hành.

c) Ả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
thiết bị lưu trữ vật lý. Các thiết bị này có thể là băng từ, ổ cứng hay kết hợp cả 2
loại. Việc làm này mang lại các ích lợi như việc tăng tốc 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, việc mô phỏng
các thiết bị 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.
Ả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ế.

d) Ả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


×