Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
1. TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BM KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
-----∞|∞-----
BÁO CÁO ĐỒ ÁN
Môn: CÁC CÔNG NGHỆ NỀN
Đề tài: TÌM HIỂU GIẢI PHÁP ẢO HÓA MÃ
NGUỒN MỞ KVM VÀ TRIỂN KHAI THỬNGHIỆM
GV hướng dẫn: Thầy Nguyễn Tấn Cầm
SV thực hiện: Lê Thị Tài Ngân
Trần Diệu Đức Hạnh
Nguyễn Đức Tài
Phùng Quốc Việt
Phạm Minh Phụng
Hồ Chí Minh, Tháng 05 Năm 2015
3. NHẬN XÉT CỦA GIẢNG VIÊN
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
4. TỔNG QUAN
Thông tin nhóm
Họ và tên MSSV Email
Lê Thị Tài Ngân 13520535 13520535@gm.uit.edu.vn
Trần Diệu Đức Hạnh 13520246 13520246@gm.uit.edu.vn
Nguyễn Đức Tài 13520730 13520730@gm.uit.edu.vn
Phùng Quốc Việt 13521036 13521036@gm.uit.edu.vn
Phạm Minh Phụng 13520646 13520646@gm.uit.edu.vn
Đánh giá nhóm
MSSV Họ Tên Công việc được
giao
Tỷ lệ
%
công
việc
hoàn
thành
Nhận xét
1352053
5
Lê Thị Tài Ngân - Soạn slide.
- I: Giới thiệu ảo
hóa
- Kiểm tra và sắp
xếp nội dung.
98 Thực hiện tốt nhiệm vụ
Đi họp nhóm đầy đủ
Tích cực đóng góp ý kiến
1352024
6
Trần Diệu Đức Hạnh - Tìm kiếm tài
liệu
- Kiểm tra sắp
xếp nội dung
95 Thực hiện tốt nhiệm vụ
Đi họp nhóm đầy đủ
Tích cực tìm kiếm giải pháp
& thông tin
1352073
0
Nguyễn Đức Tài - Đăng ký đề tài.
- II.3: So sánh
KVM và
Vsphere
- III: Triển khai
thử nghiệm
- Nộp đồ án
98 Thực hiện tốt nhiệm vụ
Đi họp nhóm đầy đủ
1352103
6
Phùng Quốc Việt - II.1: Giới thiệu
chung về KVM
- II.2: Hoạt động
của KVM
- Kiểm tra và sắp
xếp nội dung.
97 Thực hiện tốt nhiệm vụ
Đi họp nhóm đầy đủ
1352064
6
Phạm Minh Phụng 0
5. I. Giới thiệu ảo hóa
- Ngày nay công nghệ ảo hóa đã trở nên phổ biến và được ứng dụng rất nhiều trong các doanh
nghiệp, nhất là các doanh nghiệp lớn
- Dưới đây là hình ảnh cho thấy sự khác nhau giữa một hệ thống x86 (hoặc x64) không sử
dụng phần mềm ảo hóa và một hệ thống x86 (hoặc x64) có sử dụng phần mềm ảo hóa.
Hình 1: So sánh giữa Hệ thống ảo hóa và Hệ thống không ảo hóa
1. Ảo hóa là gì
- Hệ thống máy tính x86 hoặc x64 ngày nay được thiết kế để chạy duy nhất một hệ điều hành
và các ứng dụng chạy trên nó đa phần chiếm rất ít tài nguyên của hệ thống, nhất là CPU (chỉ
sử dụng khoảng 3% - 10% số ít sử dụng 30%). Điều này dẫn đến tài nguyên của hệ thống dư
thừa rất nhiều và không được tận dụng hết.
- Với các thiết kế Multi core hiện tại sự phí phạm tài nguyên còn cao hơn nhiều, nhất là trong
các hệ thống máy chủ với nhiều CPU và mỗi CPU có nhiều core.
- Để tận dụng nguồn tài nguyên dư thừa này người ta thường cài nhiều ứng dụng trên một máy
chủ thật, điều này dẫn đến việc dễ xảy ra xung đột giữa các ứng dụng với nhau và khi một ứng
dụng xảy ra lỗi thì nó sẽ liên quan tới tất cả các ứng dụng khác.
- Với công nghệ ảo hóa, chúng ta có thể chạy nhiều máy tính ảo trên một máy tính vật lý và
chúng chia sẻ tài nguyên phần cứng với nhau, giúp tận dụng được tài nguyên dư thừa của hệ
thống. Điều này cũng có nghĩa là chúng ta có thể chạy nhiều hệ điều hành khác nhau
6. (Windows 2000, Windows 2003, Windows 2008, Windows 2012, Linux, Ubuntu,...) đồng thời
trên cùng một máy vật lý.
- Ảo hóa là công nghệ được thiết kế để tạo ra tầng trung gian giữa hệ thống phần cứng máy
chủ và phần mềm chạy trên nó. Công nghệ ảo hóa máy chủ là từ một máy vật ký đơn lẻ có thể
tạo thành nhiều máy ảo độc lập. Mỗi máy ảo đều có một thiết lập nguồn hệ thống riêng rẽ, hệ
điều hành và các ứng dụng riêng. Người dùng không cần quan tâm tới hệ thống đang ở đâu,
các hoạt động tính toán, xử lý dữ liệu xảy ra như thế nào. Người dùng chỉ cần gửi yêu cầu và
nhận kết quả Có 2 hình thức ảo hóa máy chủ:
+ Virtualization Management layer: Đây là hình thức ảo hóa ban đầu của máy chủ. Thường
gọi là Hosted. Chức năng ảo hóa được xây dựng trên một nền OS thông dụng. Một số sản
phẩm thông dụng: Microsoft's Virtual PC, and VMWare's Workstation
+ Dedicated Virtualization: Hình thức ảo hóa này thường được gọi là "bare-metal", được
chạy trực tiếp trên phần cứng của máy chủ. Vì vậy sẽ giúp sử dụng tài nguyên máy chủ tối
ưu hơn là hình thức Hosted, tốc độ xử lý nhanh hơn. Các sản phẩm thông dụng: ESX, Xen,
and Hyper-V
2. Cấu tạo của một máy ảo
- Mỗi máy ảo là một hệ thống hoàn chỉnh gói gọn trong một tập hợp các tập tin (set of
software files)
- Mỗi máy ảo (Virtual Machine - VM) cótrên hệ thống bên trái được thể hiện như hình bên
phải gồm các thành phần phần cứng (như: CPU, RAM, NIC, HBA, Disk,...), hệ điều hành
(Operating System) và các ứng dụng (Applications) như một máy tính theo kiến trúc
x86/x644
Hình 2: Cấu tạo của một máy ảo
3. Các lợi ích chính của máy ảo
7. 3.1Chia nhỏ
- Với công nghệ ảo hóa chúng ta có thể chạy nhiều máy ảo trên một máy thật với các hệ điều
hành khác nhau, điều này có nghĩa là chúng ta có thể tách từng dịch vụ ra đề cài trên từng
máy ảo.
- VD: Khi chưa sử dụng ảo hóa, để tận dụng sức mạnh của Server chúng ta cài các dịch vụ như
AD, Web, FTP, SQL trên cùng một máy thì giờ đây chúng ta có thể tách riêng chúng ra để cài
trên 4 máy ảo khác nhau (AD và SQL cài trên hai máy ảo Windows, Web và FTP cài trên 2
máy ảo Linux)
Hình 3: Lợi ích chia nhỏ của máy ảo
3.2Cô lập
Khi mỗi dịch vụ quan trọng được cài trên một máy ảo riêng biệt thì nếu xảy ra lỗi một dịch vụ
thì không ảnh hưởng gì tới các dịch vụ chạy trên các máy ảo khác. Thậm chí hệ điều hành
chạy dịch vụ đó hư hỏng nặng và không thể phục hồi lại được thì cũng không ảnh hưởng gì.
Trong trường hợp này chúng ta chỉ phải cài lại và triển khai lại máy ảo (VM) và dịch vụ bị lỗi.
8. Hình 4:Lợi ích cô lập khi dung máy ảo
3.3Đóng gói
Một máy ảo chạy trên nền tảng ảo hóa thực chất là một tập hợp các tập tin cấu hình và dữ liệu
(set of software files), điều này dẫn đến việc cho phép chúng ta có thể chép toàn bộ các tập tin
này ra ngoài để đưa sang một hệ thống ảo hóa khác để chạy hoặc backup chúng (khi backup
chúng ta thực hiện backup cả hệ điều hành, dịch vụ và dữ liệu của máy ảo này) và khi có sự
cố xảy ra thì chúng ta có thể phục hồi lại tất cả mà không cần cài đặt và cấu hình cũng như
chép lại dữ liệu (điều này không thể thực hiện được khi chạy trên máy thật)
Hình 5: Lợi ích của việc đóng gói
3.4Độc lập với phần cứng
Với công nghệ ảo hóa, một máy ảo có thể di chuyển từ một môi trường ảo hóa này (Server cài
phần mềm ảo hóa) sang môi trường ảo hóa khác tương tự để chạy mà không gây ra bất cứ khó
khăn nào (Thậm chí chúng ta có thể chuyển đổi máy ảo từ môi trường ảo hóa này sang môi
trường ảo hóa khác có kiến trúc khác bằng các công cụ được hỗ trợ hoặc bằng thủ công). Điều
này giúp chúng ta dễ dàng nâng cấp phần cứng (vật lý) mà không cần cài lại các máy ảo (thậm
chí với chức năng Migrate của VMware khi tiến hành nâng cấp phần cứng thì các máy ảo vẫn
9. chạy và phục vụ công việc bình thường - người dùng không cảm nhận được các VMs đang
được chuyển từ Server vật lý này sang Server vật lý khác)
Hình 6: Lợi ích khi độc lập với phần cứng
4. Hợp nhất
- Để việc tận dụng tài nguyên tốt hơn và để đảm bảo các máy ảo không bị tắt khi máy thật bị
lỗi, người ta đưa ra mô hình hợp nhất các máy chủ vật lý
- Trong mô mình này khi một máy chủ vật lý gặp sự cố, các máy ảo sẽ được di chuyển qua các
máy thật khác và chúng vẫn tiếp tục hoạt động (Quá trình này diễn ra bằng với thời gian khởi
động lại máy ảo)
- Để triển khai được mô hình này thì ngoài các server vật lý ra chúng ta còn phải trang bị thêm
một thiết bị lưu trự chuyên dụng (Storage - SAN), hoặc sử dụng các phần mềm để mô phỏng
SAN như: FreeNAS, Openfiler hoặc VSA của VMware,...
Hình 7: Mô hình hợp nhất các máy chủ vật lý để chạy các máy ảo
II. Giới thiệu KVM
1. Giới thiệu chung về KVM
Tải bản FULL (16 trang): https://bit.ly/2TM5y7k
Dự phòng: fb.com/TaiHo123doc.net
10. KVM ban đầu được phát triển bởi Qumranet – một công ty nhỏ, sau đó được Redhat mua lại
vào tháng 9 năm 2008. Ta có thể thấy KVM là thế hệ tiếp theo của công nghệ ảo hóa. KVM
được sử dụng mặc định từ bản RHEL (Redhat Enterprise Linux) từ phiên bản 5.4 và phiên bản
Redhat Enterprise Virtualization dành cho Server.
Qumranet phát hành mã của KVM cho cộng đồng mã nguồn mở. Hiện nay, các công ty nổi
tiếng như IBM, Intel và AMD cũng đã cộng tác với dự án. Từ phiên bản 2.6.20, KVM trở
thành một phần của hạt nhân Linux.
1.1Linux as a VMM
Linux có tất cả các cơ chế của một VMM cần thiết để vận hành các máy ảo. Chính vì vậy, các
nhà phát triển không xây dựng lại mà chỉ thêm vào đó một vài thành phần để hỗ trợ ảo hóa.
KVM được triển khai như một modul hạt nhân có thể được nạp vào để mở rộng Linux bởi
những khả năng này.
Trong một môi trường Linux thông thường mỗi process chạy hoặc sử dụng user-mode hoặc
kernel-mode. KVM đưa ra một chế độ thứ 3, đó là guest-mode. Nó dựa trên CPU có khả năng
ảo hóa với kiến trúc Intel VT hoặc AMD SVM, một process trong guest-mode bao gồm cả
kernel-mode và user-mode.
1.2Resource management
Các nhà phát triển KVM hướng tới tái sử dụng nhiều mã nguồn có thể. Do đó họ chủ yếu sửa
đổi việc quản lý bộ nhớ Linux cho phép ánh xạ bộ nhớ vật lý vào không gian địa chỉ ảo. Do
đó họ bổ sung thêm các bản shadow, điều này rất cần thiết trong những ngày đầu cảu ảo hóa
x86, khi Intel và AMD không phát hành EPT tương ứng với NPT.
Trong những hệ điều hành hiện nay, có rất nhiều process hơn so với số CPU sẵn có để chạy
chúng. Việc lập lịch (Scheduler) của một hệ điều hành để đưa ra 1 trật tự cho mỗi process
được giao cho một trong những CPU sẵn có. Bằng cách này, tất cả các process đang chạy sẽ
chia sẻ thời gian tính toán. Kể từ khi các nhà phát triển KVM muốn tái sử dụng hầu hết các cơ
chế của Linux, họ đơn giản chỉ hướng đến mỗi máy ảo như một process, dựa vào đó lập lịch,
gán sức mạnh tính toán cho các máy ảo.
3875054