1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm

17 1,5K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 0,99 MB
File đính kèm File Thuyết Trình PPT.rar (754 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 n

Trang 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

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

Trang 2

MỤC LỤC

MỤC LỤC 2

NHẬN XÉT CỦA GIẢNG VIÊN 3

TỔNG QUAN 4

Đánh giá nhóm 4

I Giới thiệu ảo hóa 5

1 Ảo hóa là gì 5

2 Cấu tạo của một máy ảo 6

3 Các lợi ích chính của máy ảo 7

3.1 Chia nhỏ 7

3.2 Cô lập 8

3.3 Đóng gói 8

3.4 Độc lập với phần cứng 9

4 Hợp nhất 9

II Giới thiệu KVM 10

1 Giới thiệu chung về KVM 10

1.1 Linux as a VMM 10

1.2 Resource management 11

1.3 The KVM control interface 11

1.4 Emulation of hardware 11

2 Hoạt động của KVM 12

3 So sánh KVM và VSphere 13

III Triển khai thử nghiệm 17

IV Tổng kết, đánh giá 17

1 Tổng kết 17

2 Đánh giá 17

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN

Trang 4

TỔNG QUAN

Thông tin nhóm

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

Trang 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

Trang 6

- 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

(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

Trang 7

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

3.1 Chia 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

Trang 8

3.2 Cô 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

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

Trang 9

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 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,

Trang 10

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

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.1 Linux 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

Trang 11

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.2 Resource 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

1.3 The KVM control interface

Một khi modul nhân KVM được load vào, node /dev/kvm sẽ được sinh ra trong hệ thống tập tin Linux Đây là một node đặc biệt, nó cho phép kiểm soát hypervisor thông qua một tập hợp các ioctls Nó được sử dụng trong hệ điều hành như một interface cho các process đang chạy trong user-guest để giao tiếp với drive Ioctl() gọi hệ thống cho phép thực hiện một số hoạt động để tạo ra các máy ảo mới, phân chia bộ nhớ cho máy ảo, phân chia và khởi động các CPU ảo

1.4 Emulation of hardware

Để cung cấp phần cứng như ổ cứng, ổ đĩa CD hay card mạng cho máy ảo, KVM sử dụng QEMU Đây là tên gọi của một công cụ nền tảng ảo hóa, cho phép giả lập toàn bộ một nền

Trang 12

tảng máy tính bao gồm đồ họa, mạng, ổ đĩa và nhiều hơn nữa Mỗi một máy ảo khởi động một process QEMU được bắt đầu dưới chế độ user và kèm theo đó là các thiết bị được mô phỏng Khi một máy ảo thực hiện I/O, nó bị chặn bởi KVM và chuyển hướng đến các quá trình liên quan đến QEMU cho khách

2 Hoạt động của KVM

Hình dưới đây mô tả mô hình thực hiện của KVM Đây là một vòng lặp của các hành động diễn ra để vận hành các máy ảo Những hành động này được phân cách bằng 3 phương thức chúng ta đã đề cập trước đó: user-mode, kernel-mode, guest-mode

Như ta thấy:

- User – mode: Các modul KVM gọi đến sử dụng ioclt() để thực thi mã khách cho đến khi hoạt động I/O khởi xướng bởi guest hoặc một sự kiện nào đó bên ngoài xảy ra Sự kiện này có thể

là sự xuất hiện của một gói tin mạng, cũng có thể là trả lời của một gói tin mạng được gửi bởi các máy chủ trước đó Những sự kiện như vậy được biểu diễn như là tín hiệu dẫn đến sự gián đoạn của thực thi mã khách

- Kernel – mode: Kernel làm phần cứng thực thi các mã khách tự nhiên Nếu bộ xử lý thoát khỏi guest do cấp phát bộ nhớ hay I/O hoạt động, kernel thực hiện các nhiệm vụ cần thiết và tiếp tục luồng thực hiện Nếu các sự kiện bên ngoài như tín hiệu hoặc I/O hoạt động khởi xướng bởi các guest tồn tại, nó thoát tới user – mode

Trang 13

- Guest – mode: Đây là cấp độ phần cứng, nơi mà các lệnh mở rộng thiết lập của một CPU có khả năng ảo hóa được sử dụng để thực thi mã nguồn gốc, cho đến khi một lệnh được gọi như vậy cần sự hỗ trợ của KVM, một lỗi hoặc một gián đoạn bên ngoài

Khi một máy ảo chạy, có rất nhiều chuyển đổi giữa các chế độ Từ kernel – mode tới guest – mode và ngược lại rất nhanh, bởi vì chỉ có mã nguồn gốc được thực hiện trên phần cứng cơ bản Khi I/O hoạt động diễn ra các luồng thực thi tới user – mode, rất nhiều thiết bị ảo I/O được tạo ra, do vậy rất nhiều I/O thoát ra và chuyển sang chế độ user – mode chờ Hãy tưởng tượng mô phỏng một đĩa cứng và một guest đang đọc các block từ nó Sau đó QEMU mô phỏng các hoạt động bằng cách giả lập các hoạt động bằng các mô phỏng hành vi của các ổ đĩa cứng và bộ điều khiển nó được kết nối Để thực hiện các hoạt động đọc, nó đọc các khối tương ứng từ một tập tin lớp và trả về dữ liệu cho guest Vì vậy, user – mode giả lập I/O có xu hướng xuất hiện một nút cổ chai làm chậm việc thực hiện máy ảo

3 So sánh KVM và VSphere

(1) Hypervisor (còn gọi là ảo hóa phần cứng) Hypervisor có thể là phần cứng, phần mềm

hoặc là một bản firmware nào đó có thể chạy trực tiếp trên một hệ thống máy tính, có

chức năng cho nhiều máy ảo chạy trên nó

(2) 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

(3) 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

Trang 14

Intended users  Small-Medium

Business

 Personal

 Small-Medium Business

Awards

Top 50 Most Influential Channel Chiefs in 2014 Virtualization Review gave VMware Horizon View its

2014 Reader's Choice Award

in the Desktop Virtualization and VDI category

Notable Customers NYSE Euronext, Revlon,

Ducati.

TECHNICAL SPECIFICATIONS

Hypervisor Type Bare Metal (Type 1) Hosted (Type 2)

Virtualization Type

 Full Virtualization

 Hardware Assisted Virtualization

 Paravirtualization

 Full Virtualization

 Paravirtualization

Architecture  x86

 x64

 x86

 x64

 Power

Supported Storage

DAS FC FCoE NAS SSD for Swap USB

USB

VIRTUAL MACHINE LIMITS

Trang 15

RAM per VM 4000GB

Virtual Disks per VM 62

Virtual NICs per VM 10

Virtual CPUs per VM 128VCPUS

HOST SERVER LIMITS

VIRTUALIZATION MANAGEMENT

Management Features

 Configuration Mapping

 Dynamic Resource Allocation

 Failover

 Live Migration

 Thin Provisioning

 Asset Management

 Configuration Snapshots

 Live Migration

 Performance Metrics

 Storage Migration

 VM Migration

REQUIREMENTS

Supported Host Operating

Systems

 Free BSD

 MS DOS

 CentOS

 Fedora

 Red Hat Linux

 Ubuntu

Supported Guest Operating

 Mandrake Linux

 MS DOS

 Novell Linux Desktop

 CentOS

 Fedora

 Free BSD

 MS DOS

 Novell Linux

Ngày đăng: 05/10/2016, 19:10

HÌNH ẢNH LIÊN QUAN

Hình 1: So sánh giữa Hệ thống ảo hóa và Hệ thống không ảo hóa - Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Hình 1 So sánh giữa Hệ thống ảo hóa và Hệ thống không ảo hóa (Trang 5)
Hình 2: Cấu tạo của một máy ảo - Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Hình 2 Cấu tạo của một máy ảo (Trang 7)
Hình 4:Lợi ích cô lập khi dung máy ảo - Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Hình 4 Lợi ích cô lập khi dung máy ảo (Trang 8)
Hình 5: Lợi ích của việc đóng gói - Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Hình 5 Lợi ích của việc đóng gói (Trang 8)
Hình 6: Lợi ích khi độc lập với phần cứng - Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Hình 6 Lợi ích khi độc lập với phần cứng (Trang 9)
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 - Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
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 (Trang 10)
Hình dưới đây mô tả mô hình thực hiện của KVM. Đây là một vòng lặp của các hành động  diễn ra để vận hành các máy ảo - Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Hình d ưới đây mô tả mô hình thực hiện của KVM. Đây là một vòng lặp của các hành động diễn ra để vận hành các máy ảo (Trang 12)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w