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

ảo hóa máy chủ và ứng dụng tại trường cao đẳng sư phạm thái nguyên

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 (1.93 MB, 81 trang )


S
ố hóa bởi Trung tâm Học liệu

i
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG




NGUYỄN VIỆT DŨNG




ẢO HÓA MÁY CHỦ VÀ ỨNG DỤNG TẠI
TRƢỜNG CAO ĐẲNG SƢ PHẠM THÁI NGUYÊN

Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01



LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH




Ngƣời hƣớng dẫn khoa học: TS. Phạm Thế Quế






THÁI NGUYÊN - 2013

S
ố hóa bởi Trung tâm Học liệu

i
LỜI CAM ĐOAN

Luận văn này do tôi độc lập nghiên cứu và thực hiện dưới sự hướng dẫn trực
tiếp của thầy giáo TS. Phạm Thế Quế
Các ý tưởng và kết quả nghiên cứu của các tác giả khác được sử dụng trong
luận văn này đều được trích dẫn và liệt kê đầy đủ trong phần tài Tiệu tham khảo
Tôi hoàn toàn chịu trách nhiệm về lời cam đoan này.
Thái Nguyên, ngày 15 tháng 9 năm 2013
Tác giả luận văn


Nguyễn Việt Dũng



S
ố hóa bởi Trung tâm Học liệu

ii
LỜI CẢM ƠN


Tôi xin được gửi lời cảm ơn sâu sắc tới thầy Phạm Thế Quế đã tận tình
hướng dẫn tôi trong suốt quá trình thực hiện luận văn này.
Tôi xin cám ơn tập thể các thầy giáo, cô giáo của Đại học Công nghệ thông
tin & truyền thông - Đại học Thái Nguyễn và Viện Công nghệ thông tin- Truyền
thông đã trang bị cho tôi những kiến thức nền tảng cần thiết.
Tôi xin cám ơn gia đình và bạn bè đã hỗ trợ và động viên để tôi có thể hoàn
thành luận văn này.
Mặc dù đã có nhiều cố gắng trong quá trình thực hiện, luận văn chắc chắn
vẫn còn nhiều thiếu sót. Tôi rất mong nhận được những ý kiến đóng góp của mọi
người về nội dung luận văn để có thể tiếp tục phát triển hướng nghiên cứu này
trong tương lai.

Thái Nguyên, ngày 15 tháng 9 năm 2013
Tác giả luận văn


Nguyễn Việt Dũng














S
ố hóa bởi Trung tâm Học liệu

iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
THUẬT NGỮ vi
DANH MỤC HÌNH VẼ vii
MỞ ĐẦU 1
Chƣơng 1. TỔNG QUAN VỀ ẢO HOÁ MÁY CHỦ 3
1.1. Khái niệm ảo hóa máy chủ 3
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ý (host machine / host hadware) 5
1.2.2. Các phần mềm ảo hóa (virtual software) 5
1.2.3. Máy ảo (virtual machine) 6
1.2.4. Hệ điều hành khách(guest operating system) 6
1.3. Giới thiệu các kiến trúc & các mức độ ảo hóa 6
1.4. Các kiến trúc ảo hóa 7
1.4.1. Kiến trúc ảo hóa Hosted-based 7
1.4.2. Kiến trúc ảo hóa Hypervisor-based 8
1.4.3. Kiến trúc ảo hóa Hybrid 11
1.5. Các mức độ ảo hóa 12
1.5.1. Ảo hóa toàn phần - Full Virtualization 12
1.5.2. Paravirtualization - Ảo hóa song song 13
1.5.3. Ảo hóa hệ điều hành 15
1.5.4. Ảo hóa ứng dụng 16
1.6. Ưu điểm, nhược điểm của ảo hoá máy chủ 17

1.6.1. Ưu điểm 17
1.6.2. Nhược điểm 18
1.7. An toàn, bảo mật khi triển khai ảo hóa máy chủ 19
1.7.1. Giải quyết sự cố 19
1.7.2. Vấn đề bảo mật 19

S
ố hóa bởi Trung tâm Học liệu

iv
CHƢƠNG 2. CÔNG NGHỆ ẢO HOÁ MÁY CHỦ VỚI VMWARE ESX SERVER . 20
2.1. Một số công nghệ ảo hoá máy chủ 20
2.1.1. Công nghệ ảo hoá Virtuozzo Containers của Parallels 20
2.1.2. Công nghệ ảo hoá XenServer của Citrix 22
2.1.3. Công nghệ ảo hoá Hyper - V của Microsoft 24
2.2. Cấu trúc Vmware Esx Server 27
2.2.1. Hệ điều hành điều khiển (Console Operating System) 29
2.2.2. Vmkernel (lõi điều khiển chính) 29
2.2.3. The ESX Boot Process (Qúa trình khởi động máy chủ ESX) 30
2.2.4. Phần cứng ảo (HardwareVirtualization) 31
2.2.5. Tính năng Của ESX Server 31
Chƣơng 3. XÂY DỰNG MÔ HÌNH ỨNG DỤNG ẢO HÓA MÁY CHỦ TẠI
TRƢỜNG CAO ĐẲNG SƢ PHẠM THÁI NGUYÊN 38
3.1. Giới thiệu về trường Cao đẳng Sư phạm Thái Nguyên 38
3.2. Nhu cầu sử dụng & hiện trạng hệ thống thông tin của trường Cao đẳng Sư
phạm Thái Nguyên 38
3.2.1. Nhu cầu sử dụng 38
3.2.2. Hiện trạng hệ thống thông tin trường Cao đẳng Sư phạm Thái Nguyên 40
3.3. Giải pháp triển khai ứng dụng ảo hóa máy chủ vào hệ thống thông tin trường
Cao đẳng Sư phạm Thái Nguyên 42

3.3.1. Mục tiêu giải pháp 42
3.3.2. Mô hình giải pháp triển khai 42
3.4. Yêu cầu 44
3.5. Triển khai hệ thống 45
3.5.1. Cài đặt Vmware ESX Server 45
3.5.2. Cấu hình mạng cho máy chủ ESX Server 46
3.5.3. Quản lý từ xa bằng VM vSphere client 49
3.5.4. Khởi tạo máy ảo 50
3.5.5 . Quản lý và theo dõi các máy ảo 56

S
ố hóa bởi Trung tâm Học liệu

v
3.5.6. Triển khai các máy chủ cho hệ thống 59
3.5.7. Đánh giá hiệu quả công tác triển khai hệ thống 68
KẾT LUẬN 70
1. Kết quả đạt được 70
2. Những hạn chế 70
3. Hướng phát triển 70
TÀI LIỆU THAM KHẢO 71


S
ố hóa bởi Trung tâm Học liệu

vi
THUẬT NGỮ

Console Operating System

CPU (Control Proccessing Unit)
Distributed Power Manager
Full virtualization
Hardware-Assisted virtualization
HCL (Hardware Compatibility List)
Hypervisor
Hyper-V
Host
I/O
Intel - VT
ISA (Instruction Set Architecture)
Lilo
Live Migration
Migration
OS (Operating System)
Paravitualization
Para-virtualization
Single point of failure
The ESX Boot Process
Update Manager
Virtualization
Vmkernel
VM (Virtual Machine)

Hệ điều hành điều khiển
Bộ vi xử lý
Quản lý phân phối điện năng
Ảo hóa toàn phần
Ảo hóa có hỗ trợ của phần cứng
Danh sách phần cứng tương thích

Trình điều phối ảo hóa
Công nghệ ảo hóa Microsoft
Máy chủ, máy lưu trữ
Vào/Ra
Công nghệ ảo hóa Intel
Kiến trúc tập lệnh
Bộ nạp khởi động ứng dụng
Di trú nóng
Sự di trú
Hệ điều hành
Cận ảo hóa
Cận ảo hóa
Điểm nút sự cố
Qúa trình khởi động máy chủ ESX
Quản lý nâng cấp
Ảo hóa
Lõi điều khiển chính
Máy ảo


S
ố hóa bởi Trung tâm Học liệu

vii
DANH MỤC HÌNH VẼ

Hình 1.1: Một Server vật lý trong hệ thống ảo hóa 3
Hình 1.2: Các thành phần của một hệ thống ảo hóa 5
Hình 1.3: Mô hình Hosedt-based 7
Hình 1.4: Kiến trúc Hypervisor-based 9

Hình 1.5: Kiến trúc Monolithic Hypervisor 10
Hình 1.6: Kiến trúc Microkernelized Hypervisor 11
Hình 1.7: Kiến trúc ảo hóa Hybrid 12
Hình 1.8: Ảo Hóa Toàn Phần - Full Virtualization 13
Hình 1.9: Ảo hóa song song (Paravirtualization) 14
Hình 1.10: Mô hình Application Streaming của Citrix 16
Hình 2.1: Kiến trúc ảo hoá Virtuozzo Containers 20
Hình 2.2: Thống kê tình hình sử dụng tài nguyên của các máy ảo trên
cùng hệ thống (Cửa sổ Parallels Management Console) 22
Hình 2.3: Cửa sổ làm việc XenServer 23
Hình 2.4: Kiến trúc Hyper - V 26
Hình 2.5: Cấu trúc của ESX Server. 28
Hình 2.6: Sơ đồ tương tác trong ESX Server 28
Hình 2.7: Sơ đồ phân phối card mạng 31
Hình 2.8: Sơ đồ hoạt động của VMFS 32
Hình 2.9: Sơ đồ hoạt động của Vmware High Availability 33
Hình 2.10: Mô hình hoạt động của VMmonitor 34
Hình 2.11: Mô hình hoạt động của Vmware Consolidated Backup 35
Hình 2.12: Mô hình hoạt động của DRS 36
Hình 2.13: Mô hình hoạt động của Vmware vsphere data recovery 37
Hình 2.14: Mô hình VirtualCenter Manager 37
Hình 3.1: Sơ đồ khái quát hiện trạng hệ thống thông tin của Trường CĐSP
Thái Nguyên 40

S
ố hóa bởi Trung tâm Học liệu

viii
Hình 3.2: Mô hình triển khai ứng dụng ảo hóa máy chủ vào hệ thống thông tin
trường Cao đẳng Sư phạm Thái Nguyên 43

Hình 3.3: Màn hình khởi động cài đặt Vmware ESX 5.0 45
Hình 3.4: Màn hình nhập mật khẩu quản trị máy chủ ESX 45
Hình 3.5: Màn hình kết thúc quá trình cài đặt ESX 46
Hình 3.6: Màn hình chạy khởi động máy chủ ESX 46
Hình 3.7: Màn hình đăng nhập máy chủ ESX 47
Hình 3.8: Cấu hình thông số mạng cho máy chủ ESX 47
Hình 3.9: Cấu hình địa chỉ IP tĩnh, subnet mask và deafault gateway 48
Hình 3.10: Màn hình thoát và lưu các thiết lập thay đổi cho máy chủ ESX 48
Hình 3.11: Chương trình Vsphere Client 49
Hình 3.12: Giao diện kết nối Esx Server 50
Hình 3.13: Khởi tạo máy ảo 50
Hình 3.14: Hộp thoại chọn kiểu cấu hình 51
Hình 3.15: Hộp thoại đặt tên Server 51
Hình 3.16: Hộp thoại chọn nơi lưu trữ 52
Hình 3.17: Hộp thoại chọn hệ điều hành 52
Hình 3.18: Hộp thoại chọn dung lượng ổ cứng 53
Hình 3.19: Hộp thoại cấu hình đã chọn 53
Hình 3.20: Kết thúc cấu hình máy ảo 54
Hình 3.21: Khởi động máy ảo 55
Hình 3.22: Kết nối với image hệ điều hành 56
Hình 3.23: Tổng quan hệ thống 56
Hình 3.24: Hoạt động của máy ảo 57
Hình 3.25: Quá trình phân phối tài nguyên tới các máy ảo 57
Hình 3.26: Sơ đồ quá trình hoạt động của CPU 58
Hình 3.27: Tình trạng phần cứng 58
Hình 3.28: Cửa sổ Databases trong Microsoft SQL Server 59

S
ố hóa bởi Trung tâm Học liệu


ix
Hình 3.29: Thực hiện Restore Cơ sở dữ liệu vào Microsoft SQL Server 60
Hình 3.30: Cơ sở dữ liệu chạy phần mềm Eduman 60
Hình 3.31: Cửa sổ khởi động Eduman trên máy Client 62
Hình 3.32: Cửa sổ đăng nhập hệ thống 63
Hình 3.33: Cửa sổ làm việc của Eduman với User Admin 63
Hình 3.34: Đăng nhập phần mềm với user P.Daotao 64
Hình 3.35: Cài đặt các component cần thiết 64
Hình 3.36: Giao diện Mdeamon Mail Server 65
Hình 3.37 : Tạo người dùng trong máy chủ mail 65
Hình 3.38: Gởi mail từ user1 66
Hình 3.39: Kiểm tra thư tại user2 66
Hình 3.40: Cài đặt các component cần thiết 67
Hình 3.41: Chọn các component 67
Hình 3.42: Kiểm tra Web Server 68









S
ố hóa bởi Trung tâm Học liệu

1
MỞ ĐẦU
Trong vài thập niên trở lại đây, nhân loại chứng kiến sự phát triển như vũ

bão của ngành CNTT. Có thể nói CNTT hiện nay đã phát triển rất sâu rộng vào mọi
lĩnh vực của cuộc sống. Con người hiện nay sử dụng CNTT để giải trí, giao tiếp &
giải quyết các công việc hàng ngày. CNTT phát triển đã giúp cho trí tuệ nhân loại
được nâng lên một tầm cao mới. Người ta có thể tập hợp được trí tuệ toàn cầu thông
qua các hệ thống mạng xã hội, các hệ thống kết nối mở chạy trên nền mạng Internet.
Cơ sở để thực hiện được những điều đó là các máy chủ được kết nối với nhau trên
mạng Internet. Các máy chủ được sử dụng để cung cấp cho người sử dụng tất cả các
dịch vụ cần thiết từ các ứng dụng phổ biến như Web, Mail, FTP, DNS… đến các
ứng dụng riêng biệt. Ngày nay, không khó để tìm ra một hệ thống máy chủ của một
tổ chức, một doanh nghiệp. Bởi vì đối với nhiều đơn vị, máy chủ là bộ phận thiết
yếu để đảm bảo sự hoạt động và nâng cao hiệu suất của tổ chức.
Mỗi máy chủ thường chỉ phục vụ một dịch vụ duy nhất cho người dùng, vì
thế khi nhu cầu mở rộng các dịch vụ cung cấp tăng lên thì đồng hành với nó là việc
tăng số lượng các máy chủ trong một tổ chức. Một hệ thống máy chủ lớn đòi hỏi
phải mất một chi phí lớn trong việc duy trì hoạt động. Hơn nữa, với sự phát triển rất
nhanh của ngành CNTT hiện nay, các máy tính và máy chủ có dung lượng nhớ và
khả năng xử lý ngày càng lớn hơn và mạnh hơn. Điều đó sẽ gây lãng phí lớn nếu
đầu tư một máy chủ mới chỉ để cung cấp một dịch vụ.
Với xu thế toàn cầu hóa, việc cắt giảm chi phí và tối ưu hóa hệ thống là một
yêu cầu cấp thiết đối với các cơ quan, tổ chức, doanh nghiệp. Có nhiều phương
pháp để thực hiện tối ưu hóa hệ thống máy chủ, trong đó ảo hóa máy chủ là một
trong những phương pháp được nhắc đến rất nhiều trong thời gian gần đây. Ảo hóa
máy chủ là phương pháp có thể áp dụng ở mọi hệ thống máy chủ mà không phát
sinh thêm chi phí đầu tư. Nó là một biện pháp rất tốt trong việc tối ưu hóa hệ thống
với việc hợp nhất các nguồn tài nguyên của máy chủ.
Ảo hóa máy chủ mang lại những lợi ích sau:
 Tiết kiệm được chi phí đầu tư, chi phí duy trì hệ thống
 Tiết kiệm không gian đặt máy chủ và năng lượng tiêu thụ.
 Giảm thời gian khôi phục sự cố.


S
ố hóa bởi Trung tâm Học liệu

2
 Tạo lập được môi trường kiểm tra chạy thử ứng dụng mà không cần đầu tư
thêm hệ thống mới.
 Dễ dàng trong việc mở rộng hệ thống.
 Tạo lập sự tương thích đối với việc sử dụng các chương trình cũ.
Ngoài những lợi ích trên, ảo hóa máy chủ là công nghệ có thể cho phép tạo
lập các siêu máy tính (các máy tính với năng lực xử lý không lồ) bằng cách hợp
nhất các hệ thống máy chủ vào một máy logic.
Với những lợi ích cùng khả năng ứng dụng to lớn của công nghệ “Áo hóa
máy chủ”, tôi quyết định chọn đề tài “Ảo hóa máy chủ và ứng dụng tại trường Cao
Đẳng Sư Phạm Thái Nguyên” để làm luận văn cao học của mình, góp phần giúp
tôi học tập nâng cao trình độ chuyên môn, phục vụ cho bản thân và cơ quan nơi tôi
đang công tác.








S
ố hóa bởi Trung tâm Học liệu

3
Chƣơng 1
TỔNG QUAN VỀ ẢO HOÁ MÁY CHỦ


1.1. Khái niệm ảo hóa máy chủ
Ả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.

Hình 1.1: Một Server vật lý trong hệ thống ảo hóa
Các bộ xử lý của hệ thống máy tính lớn được thiết kế hỗ trợ công nghệ ảo
hoá và cho phép chuyển các lệnh hoặc tiến trình nhạy cảm của các máy ảo có thể
ảnh hưởng trực tiếp đến tài nguyên hệ thống cho hệ điều hành chủ xử lý, sau đó lớp
ảo hóa sẽ mô phỏng kết quả để trả về cho máy ảo. Tuy nhiên không phải tất cả cảc
bộ xử lý đều hỗ trợ ảo hóa. Các bộ xử lý cũ trên máy để bàn không có hỗ trợ chức

S
ố hóa bởi Trung tâm Học liệu

4
năng này. Ngày nay hai nhà sản xuất bộ xử lý lớn trên thế giới là Intel và AMD đều
cố gắng tích hợp công nghệ ảo hóa vào trong các sản phẩm của họ. Các bộ xử lý có
ứng dụng ảo hóa thường là Intel VT(Virtual Technology) hoặc AMD Pacifica.
Sử dụng công nghệ ảo hóa đã đem đến cho người dùng sự tiện ích. Việc có
thể chạy nhiều hệ điều hành đồng thời trên cùng một máy tính thuận tiện cho việc
học tập ngiên cứu và đánh giá một sản phẩm hệ điều hành hay một phần mềm tiện
ích nào đó. 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ế và 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.
Ảo hóa máy chủ thực sự không được quan tâm cho đền những năm gần đây.
Do còn nhiều vấn đề về công nghệ và người dùng chưa thực sự quan tâm tới lợi ích
cũng như còn thiếu một đội ngũ am hiểu về công nghệ này nên việc áp dụng nó vào
hệ hệ thống là rất dè dặt. Nhưng khi đối mặt với thực trạng khủng hoảng của nền
kinh tế toàn cầu thì bất kì một cơ quan, tổ chức, doanh nghiệp nào cũng cần chú tâm
để tìm một giải pháp tiết kiệm hơn. Đây cũng là lúc công nghệ ảo hóa tìm được chỗ
đứng vững chắc cho mình trong lĩnh vực công nghệ thông tin trên thế giới.
Hiện nay có nhiều nhà cung cấp các sản phẩm máy chủ và phần mềm điều
khiển chú tâm đầu tư nghiên cứu và phát triển công nghệ này như là HP, IBM,
Microsoft và Vmware. Nhiều dạng ảo hóa được đưa ra và có thể chia thành hai dạng
chính là ảo hóa cứng và ảo hóa mềm. Từ hai dạng trên, sau này mới phát triển thành
nhiều loại ảo hóa có chức năng và cấu trúc khác nhau như VMM-Hypervisor,
VMM, Hybrid…
Ảo hóa cứng còn được gọi là phân thân máy chủ. Dạng ảo hóa này cho phép
tạo nhiều máy ảo trên môt máy chủ vật lý. Mỗi máy ảo chạy hệ điều hành riêng và
được cấp phát các tài nguyên phần cứng như số xung nhịp CPU, ổ cứng và bộ nhớ
Các tài nguyên của máy chủ có thể được cấp phát động một cách linh động 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 thành một máy chủ duy nhất và các máy chủ trước đây bây giờ đóng vai
trò là máy ảo ứng dụng chạy trên nó.
Ảo hóa mềm còn gọi là phân thân hệ điều hành. Nó thực ra chỉ là sao chép
bản sao của một hệ điều hành chính làm nhiều hệ điều hành con và cho phép các
máy ảo ứng dụng có thể chạy trên nó. Như vậy, nếu hệ điều hành chủ là Linux thì

S
ố hóa bởi Trung tâm Học liệu

5

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 một bản quyền cho một hệ điều hành và có thể sử
dụng cho các máy ảo còn lại. Nhược điểm của nó là không thể sử dụng nhiều hệ
điều hành khác nhau trên cùng một máy chủ.
1.2. Các thành phần của một hệ thống ảo hóa
Một hệ thống ảo hóa bao gồm những thành phần sau:
 Tài nguyên vật lý (host machine, host hardware).
 Các phần mềm ảo hóa (virtual software) cung cấp và quản lý môi trường
làm việc của các máy ảo.
 Máy ảo (virtual machine): Các máy được cài trên phần mềm ảo hóa.
 Hệ điều hành: Là hệ điều hành được cài trên máy ảo.

Hình 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ý (host machine / host hadware)
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. Các phần mềm ảo hóa (virtual software)
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ó

S
ố hóa bởi Trung tâm Học liệu

6
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 (virtual machine)
Thuật ngữ máy ảo được dùng chung khi miêu tả cả máy ảo (lớp 3) và hệ điều
hành ảo (lớp 4). Máy ảo thực chất là một phần cứng ảo, một môi trường hay một
phân vùng trên ổ đĩa. Trong môi trường này có đầy đủ thiết bị phần cứng như một
máy thật . Đây là một kiểu phần mềm ảo hóa dựa trên phần cứng vật lý. Các hệ
điều hành khách mà chúng ta cài trên các máy ảo này không biết phần cứng mà nó
nhìn thấy là phần cứng ảo.
1.2.4. Hệ điều hành khách(guest operating system)
Hệ điều hành khách được xem như một phần mềm (lớp 4) được cài đặt trên
một máy ảo (lớp 3) giúp ta có thể sử dụng dễ dàng và xử lý các sự cố trong môi
trường ảo hóa. Nó giúp người dùng có những thao tác giống như đang thao tác trên
một lớp phần cứng vật lý thực sự.
Khi có đủ các thành phần trên, người dùng có thể xây dựng cho mình một hệ
thống ứng dụng ảo hóa. Ngoài việc lựa chọn phần cứng cho thích hợp, người dùng
còn cần cân nhắc xem phải sử dụng phần mềm ảo hóa gì hoặc loại ảo hóa nào. Điều
này rất quan trọng trong việc tối ưu hóa hiệu suất làm việc cho hệ thống.
1.3. Giới thiệu các kiến trúc & các mức độ ảo hóa
Xét về kiến trúc hệ thống, các kiến trúc ảo hóa hệ thống máy chủ có thể chia
thành các dạng dạng chính sau:
 Host-based
 Hypervisor-based (còn gọi là bare-metal hypervisor, nó được chia nhỏ ra
làm hai loại là Monothic Hypervisor và Microkernel Hypervisor)
 Hybrid.
Ngoài ra, tùy theo từng sản phẩm ảo hóa được triển khai (như Vmware,
Microsoft HyperV, Citrix XEN Server) mà mức độ ảo hóa cụ thể sẽ khác nhau. Các
mức độ ảo hóa bao gồm:
 Ảo hóa toàn phần (Full-virtualization): Hệ điều hành khách (Các hệ điều
hành cài trên máy chủ ảo) không bị thay đổi, và chúng hoạt động như trên phần
cứng thật sự.


S
ố hóa bởi Trung tâm Học liệu

7
 Ảo hóa song song (Paravirtualization): Các hệ điều hành khách sẽ bị
thay đổi để hoạt động tốt hơn với phần cứng. Tuy nhiên dạng này thường có
hạn chế là hỗ trợ khá ít các loại hệ điều hành khách.
 Ảo hóa Hệ điều hành.
 Ảo hóa ứng dụng.
Sau đây ta sẽ đi tìm hiểu chi tiết về các kiến trúc và mức độ ảo hóa máy chủ,
đồng thời xem xét khái niệm Hypervisor là gì.
1.4. Các kiến trúc ảo hóa
1.4.1. 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ủ.

Hình 1.3: Mô hình Hosedt-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:
 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…)
 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.

S
ố hóa bởi Trung tâm Học liệu


8
 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.
 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
1.4.2. 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:


S
ố hóa bởi Trung tâm Học liệu

9

Hình 1.4: 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:
 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…)
 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ó.
 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ị
 Các 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.
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 (PowerVM), Microsoft's Hyper-V
(xuất xưởng tháng 6 năm 2008), Citrix XenServer…

S

ố hóa bởi Trung tâm Học liệu

10
a. 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.

Hình 1.5: Kiến trúc Monolithic Hypervisor








S

ố hóa bởi Trung tâm Học liệu

11
b. 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.

Hình 1.6: Kiến trúc Microkernelized Hypervisor
1.4.3. 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ế độ 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).

S
ố hóa bởi Trung tâm Học liệu

12

Hình 1.7: Kiến trúc ảo hóa Hybrid

1.5. Các mức độ ảo hóa
1.5.1. Ả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à
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.

S
ố hóa bởi Trung tâm Học liệu

13

Hình 1.8: Ảo Hóa Toàn Phần - Full Virtualization
1.5.2. Paravirtualization - Ảo hóa song song
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).
Ảo hóa song song đ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 ảo hóa song song đượ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 song song.

S
ố hóa bởi Trung tâm Học liệu

14













Hình 1.9: Ảo hóa song song (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 ảo hóa song song 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 đó.
Ưu điểm thứ hai của ảo hóa song song song 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 song song 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ở, ảo hóa song song 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 ảo hóa song song là một


S
ố hóa bởi Trung tâm Học liệu

15
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.5.3. Ả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

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.

×