Các mô hình dịch vụ Các nhà cung cấp dịch vụ điện toán đám mây cung cấp các dịch vụ của họ theo ba mô hình cơ bản: -Cơ sở hạ tầng như một dịch vụ IaaS-Infrastructure as a Service -Nền tả
Trang 1BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
AN TOÀN ĐIỆN TOÁN ĐÁM MÂY
Đề tài
Tìm hiểu, thử nghiệm về CloudSim
Sinh viên thực hiện:
- Nguyễn Duy Luận
- Trần Trọng Nghĩa
Hà Nội, 2020
Trang 2Trang | 2
Nội dung
DANH MỤC CÁC HÌNH VẼ 3
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY 4
1.1 Định nghĩa 4
1.2 Các mô hình dịch vụ 5
1.3 Ưu, nhược điểm 7
CHƯƠNG 2: CÔNG CỤ MÔ PHỎNG ĐIỆN TOÁN ĐÁM MÂY CLOUDSIM 8
2.1 Giới thiệu 8
2.2 Tính năng 8
2.3 Cấu trúc và các thành phần 10
2.3.1 Mô hình Cloud 11
2.3.2 Mô hình cấp phát máy ảo 12
2.3.3 Mô hình chợ Cloud 13
2.4 Các đối tượng cơ bản trong CloudSim 13
2.5 Cài đặt CloudSim 16
2.6 Kiến trúc lập lịch trong CloudSim 17
2.7 Các API cơ bản của CloudSim 17
2.7.1 CloudSim: 18
2.7.2 Datacenter 18
2.7.3 DatacenterBroker 19
2.7.4 DatacenterCharacterri stics 20
2.7.5 Host 20
2.7.6 Vm (Vitual machine) 21
2.8 Các bước để mô phỏng một đám mây trong CloudSim 22
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ ĐIỆN
TOÁN ĐÁM MÂY
l.l Định nghĩa
- Theo IBM, điện toán đám mây, hay nói ngắn gọn là đám mây, là việc cungcấp tài nguyên máy tính cho người dùng tùy theo mục đích sử dụng thông qua kếtnối Internet Nguồn tài nguyên đó có thể là bất kì thứ gì liên quan đến điện toán vàmáy tính, ví dụ như phần mềm, phần cứng, hạ tầng mạng cho đến các máy chủ vàmạng lưới máy chủ cỡ lớn
- Theo Amazon, điện toán đám mây là việc phân phối các tài nguyên CNTT theonhu cầu qua Internet với chính sách thanh toán theo mức sử dụng Thay vì mua, sởhữu và bảo trì các trung tâm dữ liệu và máy chủ vật lý, bạn có thể tiếp cận các dịch
vụ công nghệ, như năng lượng điện toán, lưu trữ và cơ sở dữ liệu, khi cần thiết, từnhà cung cấp dịch vụ đám mây như Amazon Web Services (AWS)
Hình 1.1: Cloud Computing
Trang 5- Có thể thấy một số các ứng dụng điển hình của Cloud là DropBox,
GoogleDrive và SkyDrive
Hình 1.2: Các ứng dụng của Cloud
1.2 Các mô hình dịch vụ
Các nhà cung cấp dịch vụ điện toán đám mây cung cấp các dịch vụ của họ
theo ba mô hình cơ bản:
-Cơ sở hạ tầng như một dịch vụ (IaaS-Infrastructure as a Service)
-Nền tảng như một dịch vụ (Paas - Platform as a Service) -Phần mềm như một dịch vụ (SaaS-Software as a Service)
Hình 1.3: Các mô hình của Cloud
• Infrastructure as a Service (IaaS): IaaS chứa các khối xây dựng cơ bản
cho đám mây CNTT IaaS thường cung cấp quyền truy cập vào các tính
Google Drive
Trang 6năng mạng, máy tính (ảo hoặc trên phần cứng chuyên dụng) và không gian
lưu trữ dữ liệu IaaS đem đến cho bạn mức độ linh hoạt cũng như khả
nay rất quen thuộc.
• Platform as a Service (Paas): PaaS giúp bạn bỏ qua những sự phức tạphay rắc rối khi phải tự mình quản lý hạ tầng của mình (thường có liên quanđến phần cứng và hệ điều hành) Nếu bạn thuê một dịch vụ PaaS, bạn chỉcần tập trung vào việc triển khai các phần mềm của mình lên đó và bắt đầuchạy Nhờ có PaaS mà bạn không phải lo update Windows cho máy chủ củamình mỗi khi có bản vá, không phải quản lý RAM, CPU, không phải lên kếhoạch về nguồn lực
• Software as a Service (SaaS): SaaS cung cấp cho bạn sản phẩm hoàn chỉnhđược nhà cung cấp dịch vụ vận hành và quản lý Trong hầu hết các trường hợp, khinhắc đến SaaS, mọi người thường nghĩ đến ứng dụng dành cho người dùng cuối(chẳng hạn như email trên nền tảng web) Với SaaS, ta không cần phải nghĩ cáchduy trì dịch vụ hoặc cách quản lý cơ sở hạ tầng ngầm Ứng dụng có thể được dùngngay bởi người dùng cuối
Trang 7Hình 1.4: Chi tiết về 3 mô hình của Cloud
1.3 Ưu, nhược điểm.
- Ưu Điểm :
+ Ưu điểm đầu tiên về điện toán đám mây đó là giảm thiểu tối đa chi phí khi
sử dụng Đối với các doanh nghiệp vừa và lớn thì việc lưu trữ cơ sở dữ liệu trêncác máy chủ vật lý luôn cồng kềnh,chi phí để duy trì cũng như sửa chữa là cực kỳtốn kém,chưa kể việc mất mát dữ liệu Với Cloud, chúng ta chỉ cần bỏ một khoảnkinh phí vừa đủ để thuê server mà không cần phải lo tới khâu bảo trì, bảo mật,do
đó an toàn và tiết kiệm hơn rất nhiều
+ Ưu điểm thứ hai về cloud đó là bạn có thể truy cập dữ liệu tại mọi lúc mọinơi, chỉ cần thiết bị của bạn có kết nối với internet
+ Độ an toàn bảo mật cao hơn các ứng dụng khác Tuy nhiên vẫn chưa tuyệtđối
Trang 8- Nhược điểm
+ Cloud có độ bảo mật cao, song chưa tuyệt đối, chính vì điều này nhiềudoanh nghiệp vẫn do dự quyết định sử dụng
Trang 9CHƯƠNG 2: CÔNG CỤ MÔ PHỎNG ĐIỆN TOÁN ĐÁM
MÂY CLOUDSIM
2.1 Giới thiệu
- CloudSim là một phần mềm mã nguồn mở theo giấy phép GPL phát triểntrong các Cloud Computing và Distributed Systems (đám mây) Phòngthí nghiệm, tại các phần mềm Bộ môn Kỹ thuật máy tính và Khoahọc của Đại học Melbourne
- CloudSim là một framework cho phép mô hình hóa, mô phỏng hóa các dịch
vụ cũng như kết cấu hạ tầng của điện toán đám mây Người dùng có thể ứng dụngthử nghiệm trong môi trường lặp có kiểm soát, qua đó, tìm các tắc nghẽn hệ thống
mà không cần những đám mây thực chạy kiểm thử với cấu hình khác nhau, để pháttriển các kỹ thuật dự phòng phù hợp
2.2 Tính năng
Tính năng CloudSim bao gồm:
• Hỗ trợ mô hình hóa và mô phỏng các trung tâm dữ liệu Điện toán đám mây
quy mô lớn
• Hỗ trợ mô hình hóa và mô phỏng các máy chủ được ảo hóa, với các chính
sách có thể tùy chỉnh để cung cấp tài nguyên máy chủ cho các máy ảo
• Hỗ trợ mô hình hóa và mô phỏng các vùng chứa ứng dụng
• Hỗ trợ mô hình hóa và mô phỏng các tài nguyên tính toán nhận biết năng
lượng
• Hỗ trợ mô hình hóa và mô phỏng các cấu trúc liên kết mạng của trung tâm
dữ liệu và các ứng dụng truyền thông điệp
• Hỗ trợ mô hình hóa và mô phỏng các đám mây liên hợp
• Hỗ trợ chèn động các phần tử mô phỏng, dừng và tiếp tục mô phỏng
Trang 10• Hỗ trợ các chính sách do người dùng xác định để phân bổ máy chủ cho máy
ảo và chính sách phân bổ tài nguyên máy chủ cho máy ảo
2.3 Cấu trúc và các thành phần
User code
Hình 2.1: Kiến trúc theo lớp của CloudSim
Trang 11CloundSim là một mô phỏng về điện toán đám mây cho nên kiến trúc củaCloudSim được chia thành nhiều lớp với các thành phần của Cloud
- Tại tầng thấp nhất là SimJava thư viện mô phỏng sự kiện rời rạc cho java thựchiện các chức năng cần thiết cho mô phỏng cấp cao hơn khuôn khổ như hằng đợi
và xử lý các sự kiện, tạo ra các thành phần hệ thống (dịch vụ, lưu trữ, trung tâm dữliệu, môi giới, các máy ảo ), thông tin liên lạc giữa thành phần, và quản lý củađồng hồ mô phỏng
- Tầng tiếp là thư viện thực hiện GridSim bộ công cụ mô hình hóa và mô phỏng tàinguyên phân phối quản lý và lập kế hoạch có hỗ trợ các thành phần phần mềm cấpcao cho mô hình hóa nhiều cơ sở hạ tầng lưới điện, bao gồm cả mạng lưới và cáchthức trao đổi, và các thành phần cơ bản của Grid như các nguồn lực, tập hợp dữliệu, khối lượng công việc dịch vụ và thông tin
- Các CloudSim được thực hiện ở cấp độ tiếp theo lập trình mở rộng các chức năngcốt lõi tiếp xúc của lớp GridSim CloudSim cung cấp mới hỗ trợ cho mô hình hóa
và mô phỏng ảo hóa Cloudbased môi trường trung tâm dữ liệu như dành riêng giaodiện quản lý cho máy ảo, bộ nhớ, lưu trữ, và băng thông Lớp CloudSim quản lý
và điều khiển thực hiện các đơn vị cốt lõi (máy ảo, máy chủ, trung tâm dữ liệu,ứngdụng) trong thời gian mô phỏng
- Những vấn đề cơ bản như trích lập dự phòng của mô phỏng để máy ảo dựa trênngười dùng yêu cầu, thực hiện ứng dụng quản lý và năng động giám sát được xử lýbởi CloudSim Một máy chủ đám mây có thể được đồng thời chia sẻ giữa một sốmáy ảo mà thực hiện các ứng dụng dựa trên thông số kỹ thuật QoS (Quality ofService) người dùng định nghĩa
-Lớp trên cùng là Uers code ở đó cho thấy nhiều cấu hình liên quan đến chức năngcho host như số máy ảo, đặc điểm kỹ thuật của các máy ảo, ứng dụng như sốnhiệm vụ và yêu cầu của nó, số lượng người dùng và các loại ứng dụng của ngườidùng, và chính sách lập kế hoạch môi giới Một nhà phát triển ứng dụng đám mây
có thể tạo ra một kết hợp của yêu cầu sử dụng phân phối, ứng dụng, cấu hình, vàcác kịch bản có sẵn như trên Cloud và thực hiện các bài kiểm tra mạnh mẽ dựa trêntùy chỉnh cấu hình Cloud đã được hỗ trợ trong CloudSim
2.3.1 Mô hình Cloud
Kiến trúc dịch vụ nền tảng liên quan đến Cloud được mô hình hóa trong chươngtrình mô phỏng bởi thành phần Datacenter cho việc quản lý yêu cầu dịch vụ
Trang 12Datacenter được tạo bởi các tập hợp các Host, có trách nhiêm để quản lý các máy
ảo VM trong chu kì sống của chúng Các Host là những thành phần biểu thị cho các nút trong Cloud: nó được cài đặt sẵn khả năng xử lý (biểu diễn qua đơn vị MIPS = milion of instruction per second), bộ nhớ, khả năng lưu trữ và chính sách định thời để xử lý việc cấp phân phát lõi tính toán cho các máy ảo Các thành phần
máy Host thực giao diện hỗ trợ mô hình hóa và mô phỏng cho cả những nút một nhân và đa nhân.
Việc phân phối máy ảo phục vụ cho ứng dụng cụ thể nào đó đến các thành phầnHost là trách nhiệm của thành phần Virtual Machine Provisioner Thành phần nàycung cấp một tập các phương thức cho người nghiên cứu, với những hỗ trợ trongviệc thực hiện chính sách mới dựa trên những mục tiêu về tối ưu Những chínhsách mặc định hiện có sẵn rất giản đơn theo hướng ai đến trước sẽ được phục vụtrước
Với mỗi thành phần Host, sự cấp phát các lõi tính toán tới các máy ảo được thựchiện dựa trên việc cấp phát của host Những chính sách tìm xem trong tài khoản cóbao nhiêu lõi tính toán được giao cho mỗi máy ảo và bao nhiêu khả năng còn sẵn
Do vậy, có thể cấp phát lõi CPU cho máy ảo cụ thể hay là phân tán động giữa cácmáy ảo (chia sẻ theo thời gian) và gán lõi cho máy ảo theo yêu cầu hoặc là theomột chính sách cụ thể nào đó
Mỗi thành phần Host khởi tạo một bộ định thời máy ảo thực hiện việc cấp pháttheo không gian hay thời gian Những người nghiên cứu hay phát triển Cloud cóthể mở rộng bộ định thời máy ảo VM để thử nghiệm với một vài chính sách cấpphát Kế đến chi tiết liên quan đến chính sách chia sẻ theo thời gian và không gian
sẽ được đề cập
2.3.2 Mô hình cấp phát máy ảo
Một trong những ý tưởng khiến Cloud computing khác biệt với Grid computing làviệc triển khai tối đa công nghệ ảo hóa và các công cụ hỗ trợ
Mô hình ứng dụng cổ điển ánh xạ cách chính xác các nút tính toán và các ứng dụngriêng rẽ không còn phù hợp trong sự trừu tượng hóa tính toán trong môi trườngCloud Ví dụ như hai Datacenter chạy trên một Host có một nhân Mặc dù có vẻnhư có sự tách biệt nhưng tổng lượng tài nguyên sẵn có bị ràng buộc bởi năngblựccủa host Những yếu tố quan trọng này cần được xem xét trong tiến trình xem xétquyết định cấp phát tài nguyên Để cho phép giả lập những chính sách khác nhau,
Trang 13CloudSim hỗ trợ việc định thời máy ảo VM ở hai mức: trước tiên tại mức Host và sau đó là mức máy ảo VM Ở mức đầu tiên, có thể xác định rõ tổng năng lực xử lý của mỗi nhân trong host sẽ được gán cho mỗi máy ảo Tại mức tiếp theo, các máy
ảo VM sẽ được phân rõ tổng năng lực xử lý cụ thể cho mỗi tác vụ được thực thi Tại mỗi mức, CloudSim thực hiện chính sách cấp phát tài nguyên theo thời gian và không gian.
2.3.3 Mô hình chợ Cloud
Hỗ trợ dịch vụ đóng vai trò như là người môi giới giữa nhà cung cấp dịch vụ Cloud
và khách hàng thông qua những dịch vụ là điểm nhấn của điện toán đám mây Hơnthế, những dịch vụ này cần cơ chế để xác định chi phí dịch vụ và các chính sách vềgiá cả
Mô hình chính sách chi phí và giá cả là một ý tưởng cần được xem xét khi thiết kếtchương trình mô phỏng Cloud, bốn thuộc tính được xem xét đến cho mộtDatacenter:
- Chi phí mỗi bộ xử lý
- Chi phí mỗi đơn vị bộ nhớ
- Chi phí mỗi đơn vị lưu trữ
- Chi phí mỗi đơn vị băng thông sử dụng
Chi phí mỗi đơn vị bộ nhớ và lưu trữ được kèm theo trong quá trình khởi tạo máy
ảo Chi phí mỗi đơn vị băng thông sử dụng có trong quá trình truyền dữ liệu Bêncạnh đó, các chi phí sử dụng bộ nhớ, lưu trữ, băng thông và các chi phí liên quan
có mối liên hệ với việc sử dụng tài nguyên tính toán Do vậy, nếu máy ảo được tạo
mà không có tác vụ nào thực thi trên chúng, thì chỉ có chi phí về bộ nhớ và lưu trữ.Những vấn đề này có thể được thay đổi bởi người dùng
2.4 Các đối tượng cơ bản trong CloudSim
Trang 14Hình 2.3: Mô hình của CloudSim
Datacenter: Đây là đối tượng chứa các dịch vụ cơ sở hạ tầng cấp lõi (phần
cứng, phần mềm) được cung cấp bởi các nhà cung cấp nguồn tài nguyên trong mộtmôi trường điện toán đám mây Nó đóng gói tập hợp các host (máy chủ) có thể làđồng nhất hay không đồng nhất liên quan đến các cấu hình tài nguyên của họ (bộnhớ, lõi, năng lực, và lưu trữ) Hơn nữa, mỗi thành phần Datacenter khởi tạo mộtthành phần ứng dụng trích lập dự phòng tổng quát thực hiện một tập hợp các chínhsách phân bổ các thiết bị băng thông, bộ nhớ và lưu trữ cho máy chủ và máy ảo
DatacenterBroker: Đây là đối tượng môi giới, trong đó có trách nhiệm làm
trung gian giữa người sử dụng và các nhà cung cấp dịch vụ SaaS tùy thuộc vào yêucầu QoS của người sử dụng và triển khai nhiệm vụ phục vụ trên Cloud Các nhàmôi giới hoạt động thay mặt cho người sử dụng tìm ra các nhà cung cấp dịch vụCloud phù hợp bằng cách truy vấn CIS(CloudInformation Services) thông tin dịch
vụ đám mây và cam kết đàm phán trực tuyến cho phân bổ nguồn lực / dịch vụ có
Trang 15thể đáp ứng QoS của ứng dụng cần Nghiên cứu và phát triển hệ thống phải mở
rộng lớp này để đánh giá và thử nghiệm các chính sách tùy chỉnh môi giới.
DatacenterCharacteristics: Đây là đối tượng chứa thông tin cấu hình của
các nguồn tài nguyên DataCenter bao gồm các thông tin như: kiến trúc tài nguyên,
hệ điều hành (OS), chính sách quản lý khu vực (chia sẻ thời gian hoặc chia sẻkhông gian), chi phí và thời gian mà tại đó các nguồn tài nguyên được xác địnhtheo cấu hình tài nguyên
Host: Là đối tượng thể hiện một nguồn tài nguyên vật lý như một cái máy
tính hoặc máy chủ lưu trữ Nó chứa những thông tin quan trọng như số lượng bộnhớ và lưu trữ, danh sách và loại lõi xử lý (đại diện cho một máy tính đa lõi), phân
bổ chính sách để chia sẻ khả năng xử lý giữa các máy ảo, và chính sách dự phòng
bộ nhớ và băng thông tới các máy ảo
VM (Virtual Machine): Là đối tượng máy ảo, được quản lý trong suốt
vòng đời bởi máy chủ Ở đây một máy chủ có thể đồng thời khởi tạo nhiều máy ảo
và phân bổ lõi dựa trên chính sách chia sẻ bộ vi xử lý được xác định trước (chia sẻkhông gian, chia sẻ thời gian) Mỗi thành phần máy ảo có quyền truy cập chẳnghạn như bộ nhớ, bộ xử lý, lưu trữ, và chính sách lập kế hoạch nội bộ của máy ảođược mở rộng từ các thành phần trừu tượng gọi là VMScheduling
VmScheduler: Đây là một lớp trừu tượng được thực hiện bởi một thành
phần chủ các mô hình chính sách (chia sẻ không gian, chia sẻ thời gian) cần thiếtcho việc phân bổ nhân xử lý cho các máy ảo Các chức năng của lớp này có thể dễdàng được ghi đè để chứa các chính sách chia sẻ bộ xử lý ứng dụng đặc thù
VMProvisioner: Đây là đối tượng trừu tượng đại diện cho chính sách trích
lập dự phòng của một máy ảo để phân bổ cho máy chủ Các chức năng chính củaVMProvisioner là chọn máy chủ có sẵn trong một trung tâm dữ liệu, đáp ứng bộnhớ, lưu trữ, và yêu cầu sẵn sàng cho việc triển khai máy ảo Việc thực hiệnSimpleVMProvisioner mặc định được cung cấp với các gói CloudSim cấp phátmáy ảo với máy chủ có sẵn đầu tiên đáp ứng các yêu cầu nói trên Các máy chủđược thiết lập theo một thứ tự tuần tự Tuy nhiên, các chính sách phức tạp hơn cóthể dễ dàng thực hiện trong thành phần này để đạt được phân bố tối ưu hóa, ví dụ,lựa chọn các máy chủ dựa trên khả năng của họ để đáp ứng các yêu cầu QoS nhưđáp ứng thời gian, ngân sách
VMAllocationPolicy: Đây là đối tượng lớp trừu tượng được thực hiện bởi
một thành phần chủ các mô hình chính sách (chia sẻ không gian, chia sẻ thời gian)