Định nghĩa về Điện Toán Đám Mây Điện toán đám mây Thuật ngữ tiếng Anh: Cloud Computing, hay còn biết đến với tên gọi “Điện toán máy chủ ảo”: - Theo Wikipedia: Điện toán đám mây cloud c
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN -o0o -
TÍNH TOÁN LƯỚI
Tiểu luận:
Tìm hiểu công nghệ ảo hóa trong điện
toán đám mây
Giảng viên: PGS T.S Nguyễn Phi Khứ
Thực hiện: Trần Quang Huy - CH1101093 Niên khóa: Cao học khóa 6
Trang 2LỜI CẢM ƠN
Trước hết, tôi xin gửi lời lời cảm ơn chân thành đến Khoa Công Nghệ Phần Mềm, Khoa Mạng Máy Tính, trường Đại học Công Nghệ Thông Tin và các quí Thầy Cô đặc biệt là PGS TS Nguyễn Phi Khứ đã tận tình giảng dạy, giúp đỡ trong
suốt quá trình học bộ môn Điện toán lưới và Điện toán đám mây để tôi có thể
hiểu thêm và hoàn thành tiểu luận này
Mặc dù đã rất nỗ lực, cố gắng nhưng kiến thức còn hạn chế nên báo cáo cuối kì này chỉ dừng lại ở mức cơ bản của bộ môn này, mục đích chủ yếu của tiểu luận này
là tìm hiểu về công nghệ ảo hóa trong điện toán đám mây
Tôi rất mong nhận được sự góp ý đánh giá của quí Thầy Cô, của các bạn để tôi
có thể phát triển báo cáo này thêm hoàn chỉnh hơn
Một lần nữa, tôi xin chân thành cảm ơn!
Trang 3MỤC LỤC
CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 4
1.1 Định nghĩa về Điện Toán Đám Mây 4
1.2 Những vấn đề cơ bản 5
1.3 Các ưu điểm của Điện toán đám mây 5
CHƯƠNG 2: CÔNG NGHỆ ẢO HÓA TRONG ĐIỆN TOÁN ĐÁM MÂY 7
2.1 Ảo hóa là gì? 7
2.2 Tại sao phải ảo hóa? 8
2.3 Công nghệ máy ảo 9
2.4 Máy ảo và “điện toán đàn hồi” 14
2.5 Di cư máy ảo 14
2.6 Ảo hóa các ứng dụng trong doanh nghiệp 15
2.6.1 An ninh thông qua ảo hóa 16
2.6.2 Ảo hóa máy khách và trực tuyến ứng dụng 17
2.7 Hợp nhất máy chủ 18
2.8 Nhược điểm của ảo hóa 19
Tài liệu tham khảo: 20
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN
TOÁN ĐÁM MÂY
1.1 Định nghĩa về Điện Toán Đám Mây
Điện toán đám mây (Thuật ngữ tiếng Anh: Cloud Computing, hay còn biết đến với tên
gọi “Điện toán máy chủ ảo”):
- Theo Wikipedia:
Điện toán đám mây (cloud computing) là một mô hình về dịch vụ tính toán mà theo
đó, các tài nguyên, phần mềm được chia sẻ, cung cấp cho máy tính và các thiết bị khác như là một tiện ích, thông qua mạng Internet.[1]
- Theo NIST (Viện quốc gia về chuẩn hóa và công nghệ của Mỹ):
Điện toán đám mây là một mô hình xuất hiện ở khắp mọi nơi và dễ dàng, an toàn truy cập tới thông qua Internet bằng các dịch vụ của các nhà cung cấp để chia sẻ các tài nguyên thông tin, ví dụ như là: các tài nguyên về cấu hình, tài nguyên về mạng, tài nguyên máy chủ, tài nguyên lưu trữ, vv Các tài nguyên thông tin này cung cấp nhanh giống như các dịch vụ của Internet.[2]
- Theo Gartner:
“Một mô hình điện toán nơi mà khả năng mở rộng và linh hoạt về công nghệ thông tin được cung cấp như một dịch vụ cho nhiều khách hàng đang sử dụng các công nghệ trên Internet”.[3]
- Theo Ian Foster:
“Một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng (platform) và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet” [4]
Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách được
bố trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về độ phức tạp của các cơ
sở hạ tầng chứa trong nó Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải
có các kiến thức, kinh nghiệm về công nghệ đó, cũng như không cần quan tâm đến các cơ
sở hạ tầng phục vụ công nghệ đó
Ví dụ đơn giản, nếu một website được chứa trên một máy chủ, người dùng phải lựa chọn hệ điều hành để cài đặt (Linux/Windows/Mac), tiến hành các thiết lập để máy chủ và
Trang 5website có thể hoạt động Tuy nhiên, nếu trang web được chứa trên “đám mây”, người dùng sẽ không cần phải thực hiện thêm bất cứ điều gì khác Điều này cũng đảm bảo yếu tố đầu tư về phần cứng cũng được giảm tải ở mức tối đa
Hình 1.1: Sơ đồ điện toán đám mây, với các dịch vụ được cung cấp nằm bên trong “đám
mây” được truy cập từ các máy tính ở bên ngoài
Tài nguyên, dữ liệu, phần mềm và các thông tin liên quan đều được chứa trên các server (chính là các “đám mây”)
Nói một cách đơn giản nhất “ứng dụng điện toán đám mây” chính là những ứng dụng trực tuyến trên Internet Trình duyệt là nơi ứng dụng hiện hữu và vận hành còn dữ liệu được lưu trữ và xử lý ở máy chủ của nhà cung cấp ứng dụng đó
1.2 Những vấn đề cơ bản
Theo định nghĩa, các nguồn điện toán khổng lồ như phần mềm, dịch vụ, tài nguyên,… sẽ nằm tại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình hay văn phòng (trên mặt đất) để từ đó mọi người kết nối đến và sử dụng khi họ cần
Hiện nay, các nhà cung cấp đưa ra nhiều dịch vụ của cloud computing theo nhiều hướng khác nhau, đưa ra các chuẩn riêng cũng như cách thức hoạt động khác nhau Do đó, việc tích hợp các cloud để giải quyết một bài toán lớn của khách hàng vẫn còn là một vấn
đề khó khăn Chính vì vậy, các nhà cung cấp dịch vụ đang có xu hướng tích hợp các cloud lại với nhau thành “sky computing”, đưa ra các chuẩn chung để giải quyết các bài toán lớn của khách hàng
1.3 Các ưu điểm của Điện toán đám mây
Trang 6Những ưu điểm và thế mạnh dưới đây đã góp phần giúp "điện toán đám mây" trở
thành mô hình điện toán được áp dụng rộng rãi trên toàn thế giới
- Tốc độ xử lý nhanh, cung cấp cho người dùng những dịch vụ nhanh chóng và giá thành rẻ dựa trên nền tảng cơ sở hạ tầng tập trung (đám mây)
- Chi phí đầu tư ban đầu về cơ sở hạ tầng, máy móc và nguồn nhân lực của người sử dụng điện toán đám mây được giảm đến mức thấp nhất
- Không còn phụ thuộc vào thiết bị và vị trí địa lý, cho phép người dùng truy cập và
sử dụng hệ thống thông qua trình duyệt web ở bất kỳ đâu và trên bất kỳ thiết bị nào
mà họ sử dụng (chẳng hạn là PC hoặc là điện thoại di động…)
- Chia sẻ tài nguyên và chi phí trên một địa bàn rộng lớn, mang lại các lợi ích cho người dùng như:
Tập trung cơ sở hạ tầng tại một vị trí giúp người dùng không tốn nhiều giá thành đầu tư về trang thiết bị
Công suất xử lý nhanh hơn do tài nguyên được tập trung Ngoài ra, người dùng không cần phải đầu tư về nguồn nhân lực quản lý hệ thống
Khả năng khai thác và hiệu suất được cài thiện hơn 10-20% so với hệ thống máy tính cá nhân thông thường
- Với độ tin cậy cao, không chỉ giành cho người dùng phổ thông, điện toán đám mây phù hợp với các yêu cầu cao và liên tục của các công ty kinh doanh và các nghiên cứu khoa học Tuy nhiên, một vài dịch vụ lớn của điện toán đám mây đôi khi rơi vào trạng thái quá tải, khiến hoạt động bị ngưng trệ Khi rơi vào trạng thái này, người dùng không có khả năng để xử lý các sự cố mà phải nhờ vào các chuyên gia
từ đám mây tiến hành xử lý
- Khả năng mở rộng được, giúp cải thiện chất lượng các dịch vụ được cung cấp trên
“đám mây”
- Khả năng bảo mật được cài thiện do sự tập trung về dữ liệu
- Các ứng dụng của điện toán đám mây dễ dàng để sửa chữa hơn bởi lẽ chúng không được đặt cố định trên một máy tính nào Chúng cũng dễ dàng hỗ trợ và cài thiện về tính năng
- Tài nguyên sử dụng của điện toán đám mây luôn được quản lý và thống kê trên từng khách hàng và ứng dụng, theo từng ngày, từng tuần, từng tháng Điều này đảm bảo cho việc định lượng giá cả của mỗi dịch vụ do điện toán đám mây cung cấp để người dùng có thể lựa chọn phù hợp
Trang 7CHƯƠNG 2: CÔNG NGHỆ ẢO HÓA
TRONG ĐIỆN TOÁN ĐÁM MÂY
Điện toán đám mây (Cloud computing) có một tên gọi khác là điện toán máy chủ ảo, vậy nên, nếu phải lựa chọn một công nghệ có ảnh hưởng nhất trong mô hình điện toán
này, nó sẽ phải là ảo hóa (Virtualization) Ngày nay, bên cạnh việc là cơ sở cho nền tảng
điện toán đám mây, ảo hóa là cuộc cách mạng trong quá trình xây dựng và quản lý các trung tâm dữ liệu doanh nghiệp, mở đường cho các doanh nghiệp triển khai cơ sở hạ tầng
“đám mây tư nhân” trong trung tâm dữ liệu của họ
Hình 2.1 : Ảo hóa trong mô hình điện toán đám mây
2.1 Ảo hóa là gì?
Ảo hóa (Virtualization) là việc tạo ra những phiên bản ảo (chứ không phải thực tế)
của một cái gì đó Trong điện toán thì đó là việc tạo ra phiên bản ảo của các nền tảng phần cứng, hệ điều hành, một thiết bị lưu trữ hoặc tài nguyên mạng Việc này thực hiện được bằng cách là thiết kế ra một tầng trung gian giữa hệ thống phần cứng và phần mềm chạy trên nó
Công nghệ ảo hóa có thể chia ra làm các mảng chính [5][6]:
a Ảo hóa phần cứng :
Trang 8Ảo hóa phần cứng hay ảo hóa nền tảng hướng tới việc tạo ra một máy ảo có thể hoạt động như một máy tính thực với một hệ điều hành Phần mềm thực thi trên những máy này tách biệt với tài nguyên phần cứng bên dưới Trong ảo hóa phần cứng, thuật ngữ “host machine” nhắc đến một cỗ máy thật mà trên đó ảo hóa đang diễn ra Thuật ngữ “guest machine” nhắc đến một máy ảo
Các loại khác nhau của ảo hóa phần cứng bao gồm:
1 Ảo hóa toàn phần (Full virtualization) : Sự mô phỏng gần như hoàn toàn của phần cứng thực cho phép các phần mềm, thường là các hệ điều hành khách chạy trên đó mà không cần sửa đổi
2 Ảo hỏa cục bộ (Partial virtualization) : chỉ một số thứ của môi trường mục tiêu được mô phỏng Do đó một số chương trình khách cần phải sửa đổi
để chạy được trên môi trường này
3 Ảo hóa song song (Paravirtualization) : Môi trường phần cứng không được mô phỏng, tuy nhiên, các chương trình khách được thực thi trên miền cách ly của chúng, giống như chúng đang chạy trên một hệ thống riêng biệt
b Ảo hóa máy cá nhân :
Ảo hóa máy tính cá nhân (desktop) là khái niệm phân chia thành các máy logic từ máy vật lý
c Ảo hóa phần mềm :
- Ảo hóa hệ điều hành : lưu trữ nhiều môi trường ảo hóa trong một hệ điều hành duy nhất
- Ảo hóa ứng dụng và ảo hóa không gian làm việc : lưu trữ các ứng dụng cá nhân trong một môi trường tách biệt với hệ điều hành bên dưới Ảo hóa ứng dụng liên quan chặt chẽ tới các ứng dụng có tính “di động” (portable applications)
d Ảo hóa hệ thống lưu trữ :
Có thể bao gồm nhiều thiết bị vật lý khác nhau được ảo hóa thành một nguồn lưu trữ chung duy nhất
e Ảo hóa mạng :
Ảo hóa mạng, sự tạo thành của không gian địa chỉ mạng ảo hoặc các mạng con
f Ảo hóa dữ liệu :
Ảo hóa dữ liệu : biểu diễn dữ liệu như là một lớp trừu tượng, độc lập của các
hệ thống cơ sở dữ liệu
2.2 Tại sao phải ảo hóa?
“Một số trung tâm dữ liệu chỉ sử dụng 10% đến 30% năng lực xử lý hiện có của họ
Ảo hóa đã giúp nhiều tổ chức có thể chia sẻ các tài nguyên CNTT theo cách tốn ít giá
Trang 9thành nhất, làm cho cơ sở hạ tầng CNTT trở nên linh động và bảo đảm cung cấp một cách
tự động với những nhu cầu cần thiết” Nick van der Zweep, Giám đốc phần mềm cơ sở hạ
tầng ESS và ảo hóa của HP đã nói như vậy [7]
Ngày nay xu hướng ảo hóa máy chủ đã trở thành xu hướng chung của hầu hết các doanh nghiệp trên toàn thế giới Những khó khăn trong thời kỳ khủng hoảng khiến cho các doanh nghiệp phải tìm mọi cách để giảm thiểu chi phí Ảo hóa được coi là một công nghệ giúp các doanh nghiệp cắt giảm chi tiêu hiệu quả với khả năng tận dụng tối đa năng suất của các thiết bị phần cứng Việc áp dụng công nghệ ảo hóa máy chủ nhằm tiết kiệm không gian sử dụng, nguồn điện và giải pháp tỏa nhiệt trong trung tâm dữ liệu Ngoài ra việc giảm thời gian thiết lập máy chủ, kiểm tra phần mềm trước khi đưa vào hoạt động cũng là một trong những mục đích chính khi ảo hóa máy chủ Giảm chi phí nhưng vẫn có được một trung tâm dữ liệu hiệu quả tuyệt vời, linh hoạt, tiết kiệm năng lượng và những nhu cầu về không gian – là một trong những lý do khiến công nghệ ảo hóa có sức hấp dẫn rất lớn trong môi trường doanh nghiệp Công nghệ mới này sẽ tạo ra những điều mới mẻ trong tư duy của các nhà quản lý công nghệ thông tin về tài nguyên máy tính Khi việc quản lí các máy riêng lẻ trở nên dễ dàng hơn, trọng tâm của CNTT có thể chuyển từ công nghệ sang dịch vụ
2.3 Công nghệ máy ảo
Máy ảo là một phần mềm thể hiện của máy tính thực hiện chương trình giống như một máy tính vật lý, nó là một bản sao của phần cứng bên dưới Một máy ảo cũng bao gồm phần cứng, hệ điều hành và các ứng dụng phần mềm Điều khác biệt ở đây là lớp phần cứng của máy ảo không phải là các thiết bị vật lý xác định mà là một môi trường hay một phân vùng mà ở đó nó được cấp phát một số tài nguyên như chu kỳ CPU, bộ nhớ ngoài, ổ đĩa cứng Trong một hệ thống, nhiều máy ảo chia sẻ cùng một tài nguyên phần cứng vật lý thông qua một Bộ giám sát máy ảo (VMM-Virtual machine monitor), thường được gọi là hypervisor Mỗi hệ thống máy ảo có thể chạy một hệ điều hành độc lập, do đó cùng trên một máy vật lý, ta có thể chạy Linux và Windown cùng một lúc Mỗi hệ điều hành của máy ảo được gọi là một hệ điều hành khách và được phân bố các tài nguyên : chu kỳ CPU, bộ nhớ, ổ cứng cùng các tài nguyên phần cứng khác một cách hợp lý Việc phân bố tài nguyên phụ thuộc vào nhu cầu của từng máy ảo và cũng tùy thuộc vào phương pháp ảo hóa được dùng Khi cần truy xuất tài nguyên phân cứng thì máy ảo hoạt động giống như một máy vật lý hoàn chỉnh Bộ giám sát máy ảo (VMM) cho phép một máy vật
lý được ảo hóa vào các máy ảo khác nhau VMM trên máy chủ hoạt động như một tiến trình đã được cài đặt theo cách bình thường trên hệ điều hành máy chủ Các hệ điều hành khách được cài đặt trên các máy ảo khác nhau sẽ chạy như những tiến trình hệ thống của
hệ điều hành chủ dưới sự giám sát của VMM Một dạng VMM khác, VMM “địa phương” , không cần chạy trên hệ điều hành của máy chủ mà chạy trực tiếp trên máy vật lý VMM
“địa phương” có thể được xem như một loại hệ điều hành đặc biệt vì nó cũng hỗ trợ đa nhiệm trên các máy ảo khác nhau, với các “lời gọi hệ thống” để hướng dẫn phần cứng
Trang 10Hình minh họa sự khác biệt các VMM chạy trên hệ điều hành máy chủ và VMM địa phương
Hình 2.2: Hai mô hình máy ảo cơ bản
Mô hình hoạt động của một máy ảo thông thường được chia làm 4 lớp như hình 2 dưới đây:
Hình 2.3: Sơ đồ truy cập tài nguyên phần cứng của các máy ảo
Lớp 0 là lớp có quyền cao nhất có thể truy cập trực tiếp và can thiệp sâu nhất đến tài nguyên phần cứng Lớp 0 thường là các hệ điều hành chủ được cài trên máy chủ Lớp 1 là
Trang 11VMM - quản lý và phân phối tài nguyên đến các máy ảo Lớp 2 là các hệ điều hành khách chạy trên các máy ảo Để truy cập tài nguyên phần cứng hệ điều hành khách phải liên lạc với lớp ảo hóa VMM và phải qua hệ điều hành máy chủ Lớp có quyền can thiệp thấp nhất đến tài nguyên phần cứng là lớp 3 Đây là các ứng dụng hoạt động trên các máy ảo Chỉ có
hệ điều hành chủ mới được phép sửa đổi và can thiệp vào phần cứng bên dưới nó Các máy ảo làm việc ở chế độ giới hạn vì phần cứng mà nó nhìn thấy chỉ là các thiết bị ảo Khi máy ảo yêu cầu các lệnh hoặc tiến trình thông thường thì hệ điều hành chủ sẽ chuyển tiếp chúng đến bộ xử lý để thực thi trực tiếp, còn đối với các lệnh hoặc các tiến trình đặc biệt nhạy cảm can thiệp sâu đến phần cứng bên dưới sẽ bị chặn lại vì có thể làm ảnh hưởng tới hệ thống và các máy ảo còn lại Hệ điều hành chủ sẽ thực thi lệnh với bộ xử lý trên máy thực, sau đó 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 hệ thống Chính vì điều này mà máy ảo hệ thống
có các nhược điểm:
- Một máy ảo ít hiệu quả hơn so với một máy tính thực sự khi nó truy cập vào phần cứng gián tiếp
- Khi nhiều máy ảo đồng thời chạy trên một máy chủ vật lý, mỗi máy ảo có thể biểu hiện khác nhau và hiệu suất không ổn định, mà phần nhiều phụ thuộc vào khối lượng công việc áp đặt lên hệ thống bởi các máy ảo khác, trừ khi các kỹ thuật thích hợp được sử dụng trong thời gian cách ly giữa các máy ảo
Các loại ảo hóa máy
1 VMM Type 2
Giống như dạng chung đã được trình bày ở trên