Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)Nghiên cứu và ứng dụng công nghệ ảo hóa máy chủ (Luận văn thạc sĩ)
Trang 1LỜ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
Chuyên ngành: Hệ thống thông tin
Trang 2LỜ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
Trang 3MỤ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
Trang 42.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
Trang 5DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
dụng
SAN Storage Area Networking Mạng lưu trữ
VMM Virtual machine monitor
Trang 6DANH 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
Trang 7DANH 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
Trang 8Hì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
Trang 9MỞ ĐẦ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
Trang 10- 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
Trang 114 Đố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
Trang 12Chươ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
Trang 13má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à
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
Trang 14Về 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
Trang 15để 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ứ
Trang 162- 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:
Trang 172- 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
Trang 18Sau đâ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
Trang 19Microkernelized 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.4 Hì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ế độ
Trang 20hạ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à
Trang 21bộ 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 đó
Trang 22Ư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
Trang 23mộ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]
Trang 24Mô 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
Trang 25cà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
Trang 26nguyên này sẽ được phân chia thành các channel và gắn với một máy chủ hoặc một thiết bị nào đó
Có nhiều phương pháp để thực hiện việc ảo hóa hệ thống mạng Các phương pháp này tùy thuộc vào các thiết bị hỗ trợ, tức là các nhà sản xuất thiết bị
đó, ngoài ra còn phụ thuộc vào hạ tầng mạng sẵn có, cũng như nhà cung cấp dịch
vụ mạng (ISP) Sau đây chúng tôi sẽ giới thiệu một vài mô hình ảo hóa hệ thống mạng:
- Ảo hóa lớp mạng (Virtualized overlay network): Trong mô hình này, nhiều hệ thống mạng ảo sẽ cùng tồn tại trên một lớp nền tài nguyên dùng chung Các tài nguyên đó bao gồm các thiết bị mạng như router, switch, các dây truyền dẫn, NIC (network interface card) Việc thiết lập nhiều hệ thống mạng ảo này sẽ cho phép sự trao đổi thông suốt giữa các hệ thống mạng khác nhau, sử dụng các giao thức và phương tiện truyền tải khác nhau, ví dụ như mạng Internet,
hệ thống PSTN, hệ thống Voip
Mô hình ảo hóa của Cisco: đó là phân mô hình ảo hóa ra làm 3 khu vực, với các chức năng chuyên biệt Mỗi khu vực sẽ có các liên kết với các khu vực khác để cung cấp các giải pháp đến tay người dùng 1 cách thông suốt
- Khu vực quản lý truy cập (Access Control): Có nhiệm vụ chứng thực người dùng muốn đăng nhập để sử dụng tài nguyên hệ thống, qua đó sẽ ngăn chặn các truy xuất không hợp lệ của người dùng; ngoài ra khu vực này còn kiểm tra, xác nhận và chứng thực việc truy xuất của người dùng trong vào các vùng hoạt động (như là VLan, Access list)
- Khu vực đường dẫn (Path Isolation): Nhiệm vụ của khu vực này là duy trì liên lạc thông qua tầng Network, vận chuyển liên lạc giữa các vùng khác nhau trong hệ thống Trong các vùng này sử dụng giao thức khác nhau, như MPLs và VRF, do đó cần một cầu nối để liên lạc giữa chúng Ngoài ra, khu vực này có nhiệm vụ liên kết (maping) giữa các đường truyền dẫn với các vùng hoạt động ở hai khu vực cạnh nó là Access Control và Services Edge
Trang 27- Khu vực liên kết với dịch vụ (Services Edge): Tại đây sẽ áp dụng những chính sách phân quyền, cũng như bảo mật ứng với từng vùng hoạt động cụ thể; đồng thời qua đó cung cấp quyền truy cập đến dịch vụ cho người dùng Các dịch
vụ có thể ở dạng chia sẻ hay phân tán, tùy thuộc vào môi trường phát triển ứng dụng và yêu cầu của người dùng
e) Ảo hóa hệ thống máy chủ
Ảo hóa hệ thống máy chủ cho phép ta có thể chạy nhiều máy ảo trên một máy chủ vật lý, đem lại nhiều lợi ích như tăng tính di động, dễ dàng thiết lập với các máy chủ ảo, giúp việc quản lý, chia sẻ tài nguyên tốt hơn, quản lý luồng làm việc phù hợp với nhu cầu, tăng hiệu suất làm việc của một máy chủ vật lý [3] [7]
Ả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ó
Lợi thế của ảo hóa máy chủ:
- Ảo hóa máy chủ cho phép tận dụng được hết nguồn tài nguyên sẵn có trên máy chủ vật lý và giảm được số lượng máy chủ vật lý cần thiết
- Các máy chủ ảo hoạt động độc lập, không có sự tranh chấp tài nguyên và đảm bảo an toàn, bảo mật
- Các ứng dụng trên máy chủ ảo đó có thể dễ dàng di chuyển sang máy chủ khác, khi một máy chủ ảo ngừng hoạt động sẽ tránh được thời gian downtime của ứng dụng
Nhƣợc điểm của ảo hóa máy chủ:
- Tài nguyên cung cấp cho mỗi máy chủ ảo cần tính toán cẩn thận Nếu tài nguyên được cấp ít hơn so với tài nguyên yêu cầu của ứng dụng thì ứng dụng không chạy được hoặc hiệu suất hoạt động kém
- Chi phí cho các phần mềm ảo hóa, ứng dụng quản lý và chuyên môn quản
lý công nghệ ảo hóa máy chủ là vấn đề đáng quan tâm của các doanh nghiệp nhỏ khi muốn ảo hóa máy chủ
Trang 281.4 Lợi ích, tính đa dạng của việc ảo hóa
- Giúp tận dụng tối đa tài nguyên phần cứng của máy chủ vật lí, tiết kiệm chi phí đầu tư hệ thống Tài nguyên (RAM, vi xử lý,…) của server ảo được sử dụng nhiều hơn (so với server cài một hệ điều hành/ứng dụng) với nhiều hệ điều hành và ứng dụng chia sẻ trên một tài nguyên server vật lý
- Ảo hóa là một khái niệm quan trọng trong xây dựng nền tảng bảo mật máy tính
- Máy ảo có thể được sử dụng để tạo ra hệ điều hành, hay môi trường thực thi với tài nguyên giới hạn, mang lại một lịch trình đúng, bảo đảm tài nguyên
- Máy ảo có thể cung cấp ảnh ảo của phần cứng, hay cấu hình phần cứng mà bạn không có (chẳng hạn như thiết bị SCSI, đa xử lý, ) Ảo hóa cũng có thể được
sử dụng để mô phỏng mạng hay các máy tính độc lập
- Máy ảo cho phép cơ chế sửa lỗi mạnh mẽ và giám sát hiệu năng Bạn có thể đặt vào một số công cụ ví dụ như là virtual machine monitor (VMM) Hệ điều hành
có thể sửa lỗi mà không làm mất mát hiệu suất, hay thiết lập những kịch bản sửa lỗi phức tạp hơn Khi một server ngưng hoạt động (do phần cứng hoặc ứng dụng, hoặc
do hoạt động bảo trì), vẫn có thể tránh được thời gian downtime của ứng dụng bằng cách di chuyển chúng đến một server khác Điều này đảm bảo độ sẵn sàng cao của ứng dụng
- Máy ảo có thể được sử dụng để chạy nhiều hệ điều hành cùng một lúc: các phiên bản khác nhau hay thậm chí các hệ điều hành khác nhau
- Máy ảo có thể cách ly với những gì nó chạy, vì thế nó có thể ngăn chặn thiếu sót và lỗi Bạn có thể chủ động đặt lỗi vào phần mềm để nghiên cứu cách xử
lý tuần tự của nó Máy ảo làm cho phần mềm di chuyển dễ dàng hơn, vì thế những ứng dụng trợ giúp và hệ thống có tính di động
- Máy ảo là công cụ tuyệt vời để thử nghiệm lý thuyết Từ khi chúng cung cấp sự cách ly, chúng có thể làm việc an toàn hơn Chúng đóng gói toàn bộ trạng thái của hệ thống đang chạy Người sử dụng có thể lưu trạng thái, khảo sát nó, sửa đổi nó, nạp lại nó và v.v
Trang 29- Ảo hóa có thể khởi tạo hệ điều hành có sẵn để chạy trên những bộ nhớ đa
xử lý được chia sẻ
- Máy ảo có thể được sử dụng để tạo ra các kịch bản test tùy ý, và có thể dẫn đến vài ý tưởng rất sáng tạo, chất lượng, hiệu quả
1.5 Ứng dụng của Ảo hóa
Việc ứng dụng công nghệ ảo hóa vào hạ tầng công nghệ là yếu tố quan trọng giúp thúc đẩy sự phát tiển ứng dụng công nghệ thông tin trong các cơ quan, sử dụng công nghệ để tăng năng suất lao động
Ứng dụng trong máy chủ Nếu nhiều máy chủ vận hành ứng dụng mà chỉ tiêu thụ một phần nhỏ tài nguyên sẵn có, thì công nghệ máy ảo có thể được sử dụng để cho phép nhiều ứng dụng chạy song song trên một máy chủ duy nhất, ngay cả khi các ứng dụng này cần tới những phiên bản hệ điều hành hay middleware khác nhau
Hợp nhất cho các môi trường triển khai và thử nghiệm Mỗi máy ảo đóng vai trò như một môi trường riêng, điều này sẽ giảm bớt rủi ro và tạo điều kiện để các chuyên gia phát triển nhanh chóng tái xây dựng các cấu hình hệ điều hành khác nhau hoặc so sánh các phiên bản ứng dụng được thiết kế cho các hệ điều hành khác nhau Ngoài ra, chuyên gia phát triển cũng có thể kiểm tra các phiên bản phát triển sớm của một ứng dụng trong một máy ảo mà không sợ làm mất đi tính ổn định của
hệ thống đối với những người dùng khác
Kết luận chương 1:
Công nghệ ảo hóa xâm nhập vào nhiều lĩnh vực và có nhiều ứng dụng to lớn cho sự phát triển của ngành công nghệ thông tin trong những năm qua Việc ứng dụng ảo hóa đang là một xu thế tất yếu Hiện nay công nghệ ảo hóa tồn tại ở khắp mọi nơi, từ những công ty nhỏ đến các trung tâm dữ liệu với hàng nghìn máy tính truy cập Ảo hóa, hiểu theo cách đơn giản là công nghệ giúp tạo ra các máy tính ảo dựa trên phần cứng máy tính thật Thay vì mỗi phần ứng chỉ tạo ra một máy tính, thì giờ đây bạn có thể tạo ra nhiều máy ảo, có chức năng hoàn toàn giống máy thật
Trang 30Chương 2 - CÔNG NGHỆ ẢO HOÁ MÁY CHỦ
2.1 Một số công nghệ ảo hoá máy chủ
2.1.1 Công nghệ ảo hoá Virtuozzo Containers của Parallels
Virtuozzo Containers: của hãng Parallels là một giải pháp ảo hóa khai thác
đầy đủ năng lực của hạ tầng công nghệ thông tin bằng cách gia tăng việc tận dụng tài nguyên dư thừa của các máy chủ hiện hữu gấp 2 - 3 lần so với các công nghệ khác Trong bối cảnh mà ngân sách đầu tư cho công nghệ thông tin ngày càng eo hẹp như hiện nay thì việc khai thác hạ tầng hiện có ở mức độ cao nhất có thể đồng nghĩa với việc tiết kiệm chi phí không chỉ trong khâu bảo hưỡng và năng lượng mà còn cả phần vốn tái đầu tư cho việc mua sắm máy chủ mới [14]
Parallels Virtuozzo Containers: cung cấp một lớp ảo hóa chịu trách nhiệm
phân bổ tài nguyên hệ thống cho tất cả các máy ảo - được gọi là container Lớp ảo hóa này chỉ tiêu tốn khoảng 2% năng lực xử lý từ đó giúp tăng tỷ lệ máy ảo trên mỗi máy chủ vật lý, hiệu năng máy chủ gần như không đổi so với khi chạy độc lập
0.8 Hình 2.1 Kiến trúc ảo hoá VirtuozzoContainers
Tổng quan về Parallels Virtuozzo Containers
Một số đặc tính:
Phân vùng thông minh: Mỗi máy ảo chứa liên kết ánh xạ đến phiên bản hệ
điều hành
Trang 31Quản lý tài nguyên linh hoạt: việc phân bổ tài nguyên hệ thống được thực
thi tự động hoặc bởi quản trị viên
Quản lý tập trung: tiến trình vận hành, bảo trì, nâng cấp đều được thực hiện
một cách tập trung thông qua công cụ quản lý
Di trú trực tiếp (Linux Only): di chuyển linh hoạt các containers giữa các
máy chủ vật lý
Công cụ quản lý:
Parallels Virtuozzo Containers: Cung cấp các công cụ quản lý hướng tới 3
yếu tố là dễ sử dụng, quản lý tập trung và đa chức năng
Parallels Virtual Automation: Tiền thân là Parallels Infrastructure Manager
cho phép quản trị viên quản lý hầu hết các ứng dụng ảo hóa bao gồm Parallels Virtuozzo Containers (Windows and Linux), Parallels Server Bare Metal (standard and advanced editions), Parallels Server for Mac and Parallels Server for Mac Bare Metal Edition thông qua giao diện web
Parallels Management Console là một thành phần được tự động cài đặt
chung với Parallels Virtuozzo Containers Với PMC, quản trị viên có thể thực hiện các tác vụ:
Tạo container mới và cài đặt hệ điều hành
Cấu hình và chỉnh sửa các thông số của container
Quản lý các OS và Application template
Giám sát, phát hiện và khắc phục nhanh các sự cố xảy ra
2.1.2 Công nghệ ảo hoá XenServer của Citrix
Xen là một hypervisor cung cấp dịch vụ cho phép nhiều hệ điều hành máy tính thực thi trên cùng phần cứng máy tính một cách đồng thời Viện nghiên cứu máy tính trường Đại học Cambridge đã phát triển phiên bản đầu tiên của Xen Từ năm 2010, cộng đồng Xen phát triển và duy trì Xen là phần mềm miễn phí, bản quyền thuộc GNU General Public License (GPLv2) Xen khả dụng cho các kiến trúc máy tính IA-32, x86-64, Itanium và ARM
Trang 32Trong hệ thống Xen, Xen hypervisor là lớp phần mềm thấp nhất và ưu tiên nhất Lớp này hỗ trợ một hoặc hơn các hệ điều hành guest, ghi lịch trình trên các CPU vật lý Hệ điều hành guest đầu tiên, được gọi trong thuật ngữ Xen là domain0 (dom0) thực thi một cách tự động khi hypervisor boot và nhận những quyền quản lý đặc biệt và truy cập trực tiếp vào mọi phần cứng vật lý, mặc định Quản trị viên hệ thống có thể đăng nhập vào dom0 trong yêu cầu quản lý bất kỳ hệ điều hành guest
bổ sung nào, được gọi là user domain (domU) trong thuật ngữ Xen
Domain dom0 là một phiên bản được thay đổi của Linux, NetBSD hay Solaris đặc trưng User domain có thể hoặc là một bản copy không thay đổi của mã nguồn mở hoặc là hệ điều hành bản quyền, như là Microsoft Windows, nếu bộ xử lý của host hỗ trợ ảo hóa x86, ví dụ như Intel VT-x và AMD-V, hay được thay đổi, hệ điều hành ảo hóa song song với trình điều khiển đặc biệt hỗ trợ các tính năng được tăng cường của Xen
Citrix XenServer là một nền tảng quản lý máy chủ ảo hóa hoàn chỉnh, được xây dựng trên trên nền tảng Xen Hypervisor mạnh mẽ Công nghệ Xen được các chuyên gia trong ngành thừa nhận rộng rãi là một phần mềm ảo hóa nhanh nhất và
an toàn nhất XenDesktop được thiết kế để quản lý các máy chủ ảo Windows và Linux một cách hiệu quả nhất và cung cấp giải pháp hợp nhất máy chủ với chi phí hợp lí và đảm bảo tính liên tục trong các hoạt động kinh doanh [7]
0.9 Hình 2.2 Cửa sổ làm việc XenServer
Trang 33• Vận hành và Quản lý
Thực thi các tác vụ của trung tâm dữ liệu một cách tự động bằng các sử dụng các tính năng của phiên bản miễn phí của XenServer trong môi trường vận hành trực tiếp XenConvert, XenMotion và XenCenter cung cấp đầy đủ các tính năng cần thiết giúp doanh nghiệp quản lý trung tâm dữ liệu ảo hóa
• Lợi ích:
Là một giải pháo ảo hóa máy chủ thực thụ, XenServer giúp doanh nghiệp đạt được lợi ích kinh tế từ đám mây thông qua việc tự động hóa các trung tâm dữ liệu, tăng cường hiệu quả giám sát và quản lý, với độ tin cậy cao và đảm bảo tính liên tục trong kinh doanh, khả năng tân dụng điện toán đám mây như một giải pháp mở rộng
cơ sở hạ tầng của doanh nghiệp XenServer giúp doanh nghiệp:
Tự động hóa trung tâm dữ liệu và hợp lý hóa quy trình vận hành
Thích nghi với yêu cầu ngày càng cao về hiệu quả quản lý CNTT
Giảm thời gian chết ngoài kế hoạch
Tăng sức mạnh cho hệ thống điện toán đám mây của doanh nghiệp
• Sự khác biệt của Citrix XenServer
- Giá trị ảo hóa tốt nhất: Cung cấp hỗ trợ miễn phí sức mạnh công nghệ từ nhà cung cấp giải pháp ảo hóa máy chủ hàng đầu, công nghệ của Xen Hypervisor giúp chuyển đối chi phí hợp nhất máy chủ doanh nghiệp thành vốn đầu tư thiết bị, không gian, hệ thống năng lượng và làm mát
Trang 34- Tính năng đẳng cấp doanh nghiệp: Quản lý tập trung và chuyển đổi máy chủ ảo trực tiếp giúp doanh nghiệp quản lý môi trường một cách dễ dàng và thông minh hơn trong khi tối ưu hóa các nguồn lực và giảm thời gian chết ngoài kế hoạch
- Dễ dàng thiết lập và Quản trị: XenServer có thể được cài đặt và vận hành trong vòng 10 phút và nó có kiến trúc quản lý và giao diện điều khiển độc đáo, giúp doanh nghiệp quản lý tập trung hàng trăm máy chủ ảo chỉ với 4 MB dung lượng lưu trữ
2.1.3 Công nghệ ảo hoá Hyper – V của Microsoft
Trước đây được biết đến với cái tên Windows Server Virtualization và tên
mã Viridian, Hyper-V là công nghệ ảo hóa server thế hệ mới của Microsoft và là thành phần quan trọng trong hệ điều hành Windows Server 2008
Hyper-V chính là công nghệ ảo hóa thế hệ kế tiếp dựa trên hypervisor, khai thác phần cứng server 64-bit thế hệ mới Người dùng (chủ yếu là doanh nghiệp) không cần phải mua thêm phần mềm để khai thác các tính năng ảo hoá Kiến trúc
mở của Hyper-V cho phép các nhóm phát triển nội bộ và các nhà phát triển phần mềm của hãng thứ ba cải tiến công nghệ này và các công cụ [2] [4]
Với Hyper-V, Microsoft cung cấp một nền tảng ảo hóa mạnh và linh hoạt, có thể đáp ứng nhu cầu ảo hóa mọi cấp độ cho môi trường doanh nghiệp (DN)
Trang 35Máy ảo không có quyền truy cập đến BXL vật lý, mà chỉ “nhìn thấy” BXL được hypervisor cấp cho Máy ảo cũng chỉ sử dụng được thiết bị ảo, mọi yêu cầu đến thiết bị ảo sẽ được chuyển qua
VMBus đến thiết bị ở partition cha Thông tin hồi đáp cũng được chuyển qua VMBus Nếu thiết bị ở partition cha cũng là thiết bị ảo, nó sẽ được chuyển tiếp cho đến khi gặp thiết bị thực ở partition gốc Toàn bộ tiến trình trong suốt đối với HĐH khách
Hyper-V được tích hợp sẵn trong HĐH Windows Server, và hypervisor móc trực tiếp đến các luồng xử lý của BXL, nhờ vậy việc vận hành máy ảo hiệu quả hơn
so với kiến trúc ảo hoá trước đây
0.10 Hình 2.3 Công nghệ Hyper -V
b) Các tính năng chính trong Hyper-V
Broad operating system support: Khả năng hỗ trợ đa dạng hệ điều hành máy
khách bao gồm cả 32-bit lẫn 64-bit và đa dạng về nền tảng máy chủ như Windows, Linux và những hệ điều hành khác