1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu về virtual machine (nguyên lý hệ điều hành)

14 14 0

Đ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

Tiêu đề Tìm Hiểu Về Virtual Machine
Tác giả Lê Minh Thuận, Triệu Thanh Tùng
Người hướng dẫn Nguyễn Thị Hậu
Trường học Đại Học Quốc Gia Hà Nội
Chuyên ngành Nguyên Lý Hệ Điều Hành
Thể loại Báo Cáo Bài Tập Lớn
Định dạng
Số trang 14
Dung lượng 369,82 KB

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

Nội dung

I.Giớithiệuchung 2 1.Đặtvấnđề 2 2.GiớithiệuvềVirtualMachine 2 II.TìmhiểuvềVirtualMachine 2 1.Địnhnghĩa 2 2.Lịchsửpháttriển 3 3.MộtsốloạiVirtualMachineđiểnhình 4 4.Phầncứnghỗtrợ 4 III.Côngnghệtriểnkhai 5 1.CáchthứchoạtđộngcủaVirtualMachine 5 2.CáchthứchoạtđộngcủaVirtualization 5 3.Kháiniệmcơbảnvềhypervisorvàcáchthứchoạtđộngcủahypervisor 5 4.CácloạicơbảncủaHypervisor. 6 IV.VaitròvàứngdụngcủaVirtualMachine 6 1.Vaitrò 6 2.Ứngdụng 7 V.Sosánhvớicáccôngnghệảohóakhác 8 1.MộtsốphầnmềmVirtualMachinephổbiến 8 2.MộtsốcôngnghệkhácdùngVirtualization 9 3.SosánhcôngnghệContainerizationvàVirtualization 9 a.Cácđiểmgiốngvàkhác 9 b.Ưuđiểmvànhượcđiểm 10 c.Nhậnxét 11 VI.Kếtluận 11 1.TổngkếtvềVirtualMachine 11 2.TriểnvọngvàtươnglaicủaVirtualMachine 12 Tàiliệuthamkhảo 13

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

BÁO CÁO BÀI TẬP LỚN

MÔN HỌC: NGUYÊN LÝ HỆ ĐIỀU HÀNH

CHỦ ĐỀ: VIRTUAL MACHINE

Giảng viên :

Mã học phần :

Nhóm 5:

Nguyễn Thị Hậu INT2214 02

Lê Minh Thuận – 21020409 Triệu Thanh Tùng – 21020799

Trang 2

Mục lục

3 Khái niệm cơ bản về hypervisor và cách thức hoạt động của hypervisor 5

3 So sánh công nghệ Containerization và Virtualization 9

2 Triển vọng và tương lai của Virtual Machine 12

Trang 3

I Giới thiệu chung

1 Đặt vấn đề

Ở thời đại số hóa ngày nay, công nghệ đã trở thành một phần không thể thiếu trong cuộc sống của con người Sự phát triển của ứng dụng và phần mềm mới đang đặt ra nhiều thách thức về hiệu suất, bảo mật và quản lý hệ thống đối với các doanh nghiệp Ngoài ra, giáo dục về công nghệ thông tin cũng đang có nhu cầu ngày càng cao Trong bối cảnh này, Virtual Machine (VM) đã nổi lên như một giải pháp linh hoạt và tiết kiệm tài nguyên Bài báo cáo dưới đây của nhóm 5 sẽ cung cấp một cái nhìn tổng quan về virtual machine Trong nội dung báo cáo, chúng tôi sẽ đi sâu vào khái niệm, lịch sử phát triển, công nghệ triển khai, phần cứng hỗ trợ đặc trưng, đồng thời đưa ra các ví dụ về hệ thống tiêu biểu, so sánh đánh giá và ứng dụng của Virtual Machine trong thực tế

2 Giới thiệu về Virtual Machine

Virtual Machine là một công nghệ giúp tạo ra một môi trường máy tính

ảo trên một máy tính thật sử dụng phần mềm ảo hóa Điều này cho phép chạy nhiều hệ điều hành và ứng dụng trên cùng một máy tính vật lý, giúp tối ưu hóa sử dụng tài nguyên hệ thống Ngoài ra, Virtual Machine cũng có thể giúp cải thiện hiệu suất, độ tin cậy, bảo mật và quản lý của hệ thống máy tính Virtual Machine đang được sử dụng rộng rãi trong nhiều lĩnh vực, từ công nghệ thông tin đến khoa học, y tế và giáo dục

II Tìm hiểu về Virtual Machine

1 Định nghĩa

Máy ảo - Virtual Machine là một phần mềm giả lập các tài nguyên phần cứng của một máy tính và cho phép nhiều hệ điều hành, ứng dụng chạy trên cùng một máy tính vật lý Một máy ảo sẽ chạy như một tiến trình trên máy gốc mà không ảnh hướng đến hệ thống vật lý

Trang 4

2 Lịch sử phát triển

Khái niệm về máy ảo (VM) bắt nguồn từ những năm 1960, khi IBM phát triển hệ thống điều hành CP/CMS cho máy tính trung tâm của họ, System/360 CP/CMS cho phép nhiều hệ thống điều hành chạy đồng thời trên cùng một máy trung tâm, bằng cách sử dụng một hypervisor để cung cấp một lớp trừu tượng giữa phần cứng và các hệ thống điều hành

Trong những năm 1960, IBM phát triển hệ thống điều hành CP/CMS cho máy tính trung tâm của họ, System/360 Với mục tiêu tối đa hóa khả năng

sử dụng phần cứng và tăng hiệu suất hệ thống, IBM đã áp dụng công nghệ máy ảo (VM) bằng cách sử dụng một hypervisor để cung cấp một lớp trừu tượng giữa phần cứng và các hệ thống điều hành, cho phép nhiều hệ thống điều hành chạy đồng thời trên cùng một máy trung tâm

Trong những năm 1970, VM đầu tiên cho máy tính cá nhân được phát triển bởi một công ty có tên là Digital Research, cho hệ điều hành CP/M của

họ Điều này cho phép CP/M chạy trên nhiều loại phần cứng khác nhau, bằng cách cung cấp một lớp máy ảo giữa hệ điều hành và phần cứng

Trong những năm 1980, công nghệ VM trở nên phổ biến hơn với sự phát triển của Java Virtual Machine (JVM) bởi Sun Microsystems JVM cho phép các chương trình Java chạy trên bất kỳ nền tảng nào đã cài đặt JVM, mà không cần phải biên dịch lại

Trong những năm 1990, công nghệ VM tiếp tục phát triển, với việc giới thiệu Microsoft Virtual Machine (MSVM) cho Windows MSVM cho phép các chương trình Java chạy trên các nền tảng Windows, và sau đó được thay thế bằng Microsoft NET Framework, bao gồm Common Language Runtime (CLR) máy ảo

Trong thập kỷ 2000, dự án Xen bắt đầu và trở thành một nền tảng mã nguồn mở hỗ trợ máy ảo, tập trung vào hiệu suất cao Năm 2013, Docker ra đời, tập trung vào việc tạo ra và quản lý các container, mang lại sự linh hoạt hơn so với máy ảo truyền thống Hiện tại, vào thập kỷ 2020s, công nghệ

Trang 5

Kubernetes (k8s) đóng vai trò quan trọng trong việc quản lý các container và

tự động hóa triển khai ứng dụng trên các hạ tầng máy tính

Ngày nay, máy ảo được sử dụng rộng rãi trong môi trường đám mây tính, nơi cho phép nhiều máy chủ ảo chạy trên một máy chủ vật lý duy nhất, tiết kiệm chi phí và linh hoạt tăng cao Công nghệ ảo hóa cũng được áp dụng vào máy tính

để bàn, cho phép nhiều hệ điều hành chạy đồng thời trên cùng một máy tính

3 Một số loại Virtual Machine điển hình

- Process Virtual Machine (Máy ảo tiến trình): là một môi trường thực thi được tạo ra bởi phần mềm giả lập, nó được sử dụng để chạy chương trình mà không cần phải biên dịch lại mã nguồn thành mã máy tùy thuộc vào nền tảng cụ thể, một ví dụ điển hình cho trường hợp này là Java virtual machine

- System Virtual Machine (Máy ảo hệ thống): được ảo hóa hoàn toàn thay thế cho một máy tính vật lý Nền tảng hệ thống hỗ trợ chia sẻ các tài nguyên vật lý của máy chủ giữa nhiều máy ảo, mỗi máy ảo chạy bản sao riêng của hệ điều hành Ví dụ như VirtualBox là phần mềm cho phép người dùng tạo và quản lý nhiều máy ảo trên cùng một máy tính vật lý

4 Phần cứng hỗ trợ

- CPU hỗ trợ ảo hóa: CPU phải có tính năng ảo hóa để hỗ trợ cho việc chạy các máy ảo Bộ vi xử lý hỗ trợ ảo hóa (virtualization support) là một yếu tố quan trọng Các công nghệ như Intel VT-x hoặc AMD-V cung cấp hỗ trợ ảo hóa tốt hơn, giúp tối ưu hóa hiệu suất của VM

- RAM: Tổng dung lượng RAM phải đủ cho toàn bộ các máy ảo được chạy trên một máy chủ vật lý Nếu không đủ RAM có thể làm giảm hiệu suất

- Network Interface Cards (NICs): Máy chủ cần có đủ số lượng card mạng để kết nối đến mạng vật lý, giúp cho các máy ảo có thể kết nối

Trang 6

mạng Đôi khi, VM có thể cần hỗ trợ các tính năng đặc biệt của mạng

ảo, do đó cần một card mạng ảo tương thích

- Dung lượng ổ đĩa: Phải có đủ bộ nhớ để cài đặt và lưu trữ hệ điều hành

và các ứng dụng của máy ảo

- GPU: Điều này là cần thiết nếu các máy ảo cần xử lý đồ họa hoặc tạo ra hiệu ứng hình ảnh 3D

III Công nghệ triển khai

1 Cách thức hoạt động của Virtual Machine

Virtual Machine chạy dưới dạng như một tiến trình trong cửa sổ ứng dụng, tương tự như các ứng dụng khác trên hệ điều hành của máy chủ vật lý Virtual Machine dùng công nghệ Virtualization để tạo ra môi trường ảo bên trong một máy tính vật lý Các ứng dụng và hệ điều hành chạy trên Virtual Machine như thể chúng đang chạy trên một máy tính độc lập

2 Cách thức hoạt động của Virtualization

Với Virtualization, một thiết bị, hệ điều hành hay bộ lưu trữ dữ liệu sẽ tách biệt khỏi phần mềm hoặc phần cứng bên dưới Virtualization dùng một lớp phần mềm mỏng được gọi là hypervisor sẽ tái tạo lại các phần cứng hoặc phần mềm bên dưới cho các phần cứng hoặc phần mềm trừu tượng - cái được dùng cho máy ảo Điều này cho phép máy tính vật lý tách hệ điều hành

và ứng dụng khỏi phần cứng của nó và giúp nó có thể tự phân thành nhiều máy ảo độc lập

Sau đó, mỗi máy ảo này có thể chạy trên các hệ điều hành và ứng dụng của riêng chúng một cách độc lập trong khi vẫn chia sẻ tài nguyên ban đầu từ máy chủ do hypervisor quản lý

3 Khái niệm cơ bản về hypervisor và cách thức hoạt động của

hypervisor

- Hypervisor là một loại phần mềm, còn được gọi là “Virtual Machine Manager”, được sử dụng để tạo và quản lý các máy ảo trên cùng một máy tính vật lý Hypervisor cho phép các Virtual Machine chạy độc

Trang 7

lập với nhau, mỗi Virtual Machine có thể chạy hệ điều hành và các ứng dụng khác nhau

- Hypervisor quản lý và chia sẻ các tài nguyên vật lý của máy chủ, bao gồm CPU, bộ nhớ, bộ điều khiển bộ đĩa, card mạng, v.v., giữa các máy ảo Mỗi VM được cung cấp một phần tài nguyên cụ thể

- Hypervisor cho phép quản lý và giám sát các VM, bao gồm việc khởi độ, tắt, di chuyển và sao chép chúng Nó cũng có thể cung cấp các tính năng bảo mật như cách ly mạng và kiểm soát quyền truy cập

Tóm lại Hypervisor sẽ chỉ đạo và phân bổ tài nguyên cho từng máy ảo khác nhau, đảm bảo chúng không làm gián đoạn và không xung đột lẫn nhau giúp tối ưu hóa sử dụng tài nguyên phần cứng và cho phép ứng dụng khác nhau chạy trên cùng một máy chủ vật lý

4 Các loại cơ bản của Hypervisor.

- Loại 1 (bare-metal): Chạy trực tiếp trên phần cứng vật lý chứ không gián tiếp qua hệ điều hành trung gian Có hiệu suất cao hơn loại 2 và quản lý tài nguyên chính xác hơn, tuy nhiên thì cài đặt phức tạp hơn

- Loại 2 (hosted): Hoạt động dưới dạng một ứng dụng chạy trên hệ điều hành (host operating system) của máy tính chủ Khi type 2 được khởi động, nó tương tác với hệ điều hành chủ và yêu cầu quyền truy cập vào phần cứng của máy Sau đó, nó sử dụng tài nguyên vật lý và hệ điều hành của host để tạo ra các máy ảo Các máy ảo này chạy như các ứng dụng bình thường trên hệ điều hành chủ

IV Vai trò và ứng dụng của Virtual Machine

1 Vai trò

- Phát triển phần mềm: Virtual machine là một môi trường lý tưởng để phát

triển phần mềm vì nó cho phép các nhà phát triển kiểm tra ứng dụng trên nhiều hệ điều hành khác nhau trên cùng một máy tính Các nhà phát triển

Trang 8

có thể tạo ra nhiều virtual machine để kiểm tra ứng dụng trên các phiên bản khác nhau của hệ điều hành một cách nhanh chóng và dễ dàng

- Kiểm thử và phát triển ứng dụng: VM cung cấp môi trường thử nghiệm

an toàn cho việc phát triển và kiểm thử ứng dụng Nhà phát triển có thể tạo ra nhiều môi trường khác nhau để kiểm tra sự tương tác của ứng dụng với các cài đặt và hệ điều hành khác nhau

- Sao chép và di chuyển dễ dàng: VM có thể được sao chép, di chuyển hoặc

lưu trữ dưới dạng file Điều này đồng nghĩa với việc dễ dàng tạo bản sao, di chuyển VM giữa các máy chủ khác nhau, hoặc sử dụng các công cụ quản lý

VM để triển khai ứng dụng

- Bảo mật: Virtual machine giúp tăng cường bảo mật vì mỗi virtual

machine hoạt động độc lập với nhau và với hệ thống vật lý Do đó, sự cô lập này giúp ngăn chặn virus, phần mềm độc hại hoặc các lỗi khác từ việc tác động đến toàn bộ hệ thống

- Truy cập từ xa: Virtual machine cho phép người dùng truy cập vào các

ứng dụng và dữ liệu từ xa một cách dễ dàng, chỉ cần kết nối internet và đăng nhập vào hệ thống

- Tối ưu hóa tài nguyên: Virtual machine giúp tối ưu hóa tài nguyên phần

cứng bằng cách chia sẻ tài nguyên giữa các virtual machine khác nhau, giúp tăng cường khả năng sử dụng và giảm chi phí đầu tư cho phần cứng

2 Ứng dụng

- Điện toán đám mây: Trong hơn 10 năm qua, Virtual Machine đã trở thành đơn vị điện toán cơ bản trên cloud, cho phép hàng chục loại ứng dụng và khối lượng công việc khác nhau chạy và mở rộng quy mô

- Hỗ trợ DevOps: Virtual Machine là một cách hiệu quả để hỗ trợ các nhà phát triển doanh nghiệp cấu hình các mẫu Virtual Machine với các cài đặt cho quy trình thử nghiệm và phát triển phần mềm của họ VM cũng góp phần vào quy trình tự động hóa từ môi trường Dev đến môi trường Product

Trang 9

- Phát triển ứng dụng đa nền tảng: Với các loại Process Virtual Machine như JVM, PVM, lập trình viên có thể code một lần và biên dịch ra mã bytecode, sử dụng trên các nền tảng khác nhau, tăng hiệu suất công việc

- Học tập và đào tạo: VMs cho phép người học thực hành trên môi trường

ảo hoàn toàn cô lập, điều này đảm bảo rằng bất kỳ lỗi hoặc vấn đề nào xảy ra trong quá trình học tập không ảnh hưởng đến hệ thống hoạt động chính của máy tính

- Kiểm tra phần mềm độc hại: Máy ảo rất hữu ích cho những nghiên cứu phần mềm độc hại, sự ảo hóa sẽ ngăn chặn phần mềm độc hại lây lan sang máy chủ

- Chạy phần mềm không tương thích: Máy ảo có thể cung cấp nhiều phiên bản hệ điều hành khác nhau để có thể chạy các phần mềm lỗi thời hoặc không tương thích

V So sánh với các công nghệ ảo hóa khác

1 Một số phần mềm Virtual Machine phổ biến

- Microsoft Hyper – V: Là nền tảng ảo hóa tích hợp trong hệ điều hành Windows Server của Microsoft, cho phép người dùng chạy nhiều máy

ảo trên cùng một máy chủ vật lý

- VMware vSphere: Là một trong những hệ thống ảo hóa được sử dụng phổ biến nhất trong doanh nghiệp, cung cấp các tính năng bảo mật, độ tin cậy và hiệu suất cao

- VirtualBox: Là một phần mềm miễn phí và mã nguồn mở cho phép người dùng tạo và quản lý các máy ảo trên cùng một máy tính Nó được phát triển bởi Oracle và hỗ trợ nhiều hệ điều hành như Windows, macOS, Linux và Solaris VirtualBox cung cấp các tính năng như snapshot, cloning, và tích hợp với các ứng dụng khác để tăng hiệu quả làm việc

Trang 10

- UTM: Là một ứng dụng mã nguồn mở được sử dụng để tạo máy ảo trên các thiết bị macOS UTM hỗ trợ nhiều loại hệ điều hành, bao gồm Windows, Linux, macOS và các phiên bản khác của hệ điều hành

2 Một số công nghệ khác dùng Virtualization

- Storage Virtualization: Là công nghệ giúp quản lý và kết hợp các tài nguyên lưu trữ khác nhau thành một tài nguyên duy nhất để sử dụng hiệu quả Thông qua việc ảo hóa các tài nguyên lưu trữ, storage virtualization giúp tăng tính linh hoạt, khả năng mở rộng và tiết kiệm chi phí cho hệ thống lưu trữ

- Networking Virtualization: Là công nghệ giúp ảo hóa các phần mềm và phần cứng mạng, giúp các máy tính trong hệ thống mạng truy cập tài nguyên mạng của nhau một cách hiệu quả

- Desktop Virtualization: Là công nghệ giúp tạo ra các desktop ảo, cho phép người dùng truy cập và quản lý ứng dụng và tài nguyên từ bất kỳ đâu thông qua một máy tính hoặc thiết bị di động Desktop virtualization

có thể giúp tăng tính linh hoạt và khả năng quản lý của các hệ thống máy tính, đồng thời giảm chi phí cho doanh nghiệp

3 So sánh công nghệ Containerization và Virtualization

a Các điểm giống và khác

- Giống nhau:

Cả hai công nghệ Containerization và Virtualization đều là ảo hóa, nghĩa là chúng phụ thuộc vào mô hình tương tự và cùng giải quyết vấn đề chạy ứng dụng phần mềm và ứng dụng trong môi trường ảo hóa Các công nghệ này cho phép tạo ra nhiều môi trường độc lập trên cùng một máy chủ vật lý và tăng tính linh hoạt, độ tin cậy và quản lý tài nguyên hiệu quả hơn

- Khác nhau: Tuy nhiên, hai công nghệ này có sự khác nhau về mặt bản chất:

Containerization hoạt động trên một mức độ cao hơn của hệ điều

Trang 11

trên cùng một hệ điều hành, chia sẻ tài nguyên phần cứng của máy chủ vật

lý một cách hiệu quả hơn Các container chạy trên một kernel hệ điều hành chung và chia sẻ các tài nguyên của hệ thống, bao gồm thư viện, chương trình thực thi, tệp cấu hình và thư mục

Virtualization hoạt động bằng cách tạo ra các máy ảo độc lập với phần cứng vật lý, mỗi máy ảo chạy trên một hệ điều hành riêng biệt và có thể chứa các ứng dụng và dữ liệu khác nhau Các máy ảo này cần tài nguyên phần cứng của máy chủ vật lý để hoạt động, bao gồm CPU, RAM,

ổ cứng,

b Ưu điểm và nhược điểm

- Containerization:

+ Ưu điểm:

● Tăng tốc độ phát triển: Container có kích thước nhỏ và nhẹ, do đó chúng rất nhanh chóng để sửa đổi và thử nghiệm lại => giúp các nhóm phát triển phần mềm có thể nhanh phát triển và triển khai sản phẩm nhanh chóng và hiệu quả

● Có tính linh hoạt và hệ sinh thái mạnh mẽ: Các nhà phát triển có thể chia

sẻ các container của mình cho cộng đồng để sử dụng và tái sử dụng

+ Nhược điểm:

● Lỗ hổng hệ thống: Do các container sử dụng cùng một hệ thống phần cứng vật lý với các container khác nên nếu một container bị hacker tấn công thì hacker có thể dễ dàng truy cập vào các container khác hoặc truy cập vào hệ thống máy chủ vật lý

● Rủi ro bảo mật: Do các image của container có thể được chia sẻ công cộng nên có thể có rủi ro bảo mật nếu không được kiểm soát kỹ lưỡng

- Virtualization:

+ Ưu điểm:

● Tính cách ly và bảo mật đầy đủ: Do mỗi máy ảo chạy trên một môi trường hoàn toàn độc lập và cô lập hoàn toàn với các máy ảo khác chạy trên cùng

Ngày đăng: 10/12/2023, 23:40

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

TÀI LIỆU LIÊN QUAN

w