Các “máy chủ ảo” sẽ cung cấp các dịch vụ giúp cho doanh nghiệp có thể quản lý dữ liệu dễ dàng hơn, họ sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ, mà không cần phải đầu tư nhiều
Trang 1BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRUỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
BÁO CÁO THỰC TẬP TỐT NGHIỆP
MÔ PHỎNG ĐIỆN TOÁN ĐÁM MÂY BẰNG CLOUDSIM
Nhóm sinh viên thực hiện : 1 Nguyễn Thanh Quyết 43149
Trang 2BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRUỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
BÁO CÁO THỰC TẬP TỐT NGHIỆP
MÔ PHỎNG ĐIỆN TOÁN ĐÁM MÂY BẰNG CLOUDSIM
Người hướng dẫn khoa học: T.S Trần Thị Hương Nhóm sinh viên thực hiện : 1 Nguyễn Thanh Quyết 43149
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 2 1.1 Định nghĩa 3
1.2 Các mô hình dịch vụ 3
1.3 Ưu, nhược điểm 3
CHƯƠNG 2 CÔNG CỤ MÔ PHỎNG ĐIỆN TOÁN ĐÁM MÂY 4
2.1 Cloudsim 5 2.1.1 Giới thiệu 6 2.1.2 Tính năng 6
2.1.3 Kiến trúc 6
2.1.4 Thực hiện các đám mây 6
2.2 Cách cài đặt Cloudsim 5 CHƯƠNG 3 CHƯƠNG TRÌNH MÔ PHỎNG 4
3.1 Mô hình mô phỏng đám mây trên CloudSim 6
3.2 Các bước mô phỏng đám mây 6
TÀI LIỆU THAM KHẢO 1
KẾT LUẬN 1
Trang 4DANH MỤC CÁC HÌNH VẼ
3.3 Giản đồ CloudSim trên công cụ Architexa.
LỜI NÓI ĐẦU
Ngày nay, đối với các công ty, doanh nghiệp, việc quản lý tốt, hiệu quả dữ liệu của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những bài toán được ưu tiên hàng đầu và đang không ngừng gây khó khăn cho họ Để
có thể quản lý được nguồn dữ liệu đó, ban đầu các doanh nghiệp phải đầu tư, tính toán rất nhiều loại chi phí như chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị viên, chi phí bảo trì, sửa chữa, … Ngoài ra họ còn phải tính toánkhả năng mở rộng, nâng cấp thiết bị; phải kiểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng cao của dữ liệu
Trang 5Từ một bài toán điển hình như vậy, chúng ta thấy được rằng nếu có một nơitin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn
Thuật ngữ “điện toán đám mây” ra đời bắt nguồn từ một trong những hoàn cảnh như vậy
Thuật ngữ “điện toán đám mây” còn được bắt nguồn từ ý tưởng đưa tất cả mọi thứ như dữ liệu, phần mềm, tính toán, … lên trên mạng Internet Chúng ta
sẽ không còn trông thấy các máy PC, máy chủ của riêng các doanh nghiệp để lưu trữ dữ liệu, phần mềm nữa mà chỉ còn một số các “máy chủ ảo” tập trung ở trên mạng Các “máy chủ ảo” sẽ cung cấp các dịch vụ giúp cho doanh nghiệp có thể quản lý dữ liệu dễ dàng hơn, họ sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ, mà không cần phải đầu tư nhiều vào cơ sở hạ tầng cũng như quan tâm nhiều đến công nghệ Xu hướng này sẽ giúp nhiều cho các công ty, doanh
nghiệp vừa và nhỏ mà không có cơ sở hạ tầng mạng, máy chủ để lưu trữ, quản
lý dữ liệu tốt
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ
ĐIỆN TOÁN ĐÁM MÂY1.1 Định nghĩa
- Điện toán đám mây còn gọi là điện toán máy chủ ảo, là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Thuậtngữ "đá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
Trang 6phé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ệ đó
Hình 1.1: Cloud Computing
- 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
Trang 71.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:
Hình 1.3: Các mô hình của Cloud
Infrastructure as a Service (IaaS) : Trong mô hình điện toán đám
mây dịch vụ cơ bản nhất - và theo IETF (Internet Engineering Task Force)
- nhà cung cấp IaaS cung cấp máy tính - máy ảo về vật lý hay (thường
xuyên hơn) - và các nguồn lực
khác (A hypervisor, như Xen, OracleVirtualBox, KVM, VMware
ESX / ESXi, hoặc Hyper-V chạy các máy ảo như khách Pools của siêu
giám sát trong hệ thống hoạt động điện toán đám mây có thể hỗ trợ số
lượng lớn các máy ảo và khả năng quy mô dịch vụ lên và xuống theo yêu
cầu khác nhau của khách hàng IaaS mây thường cung cấp nguồn lực bổ
sung chẳng hạn như một máy ảo đĩa hình ảnh thư viện, liệu lưu
trữ khối, tập tin hoặc đối tượng lưu trữ, tường lửa, cân bằng tải, địa chỉ
IP, mạng cục bộ ảo (VLAN ), và gói phần mềm
Platform as a Service (Paas) : Trong các mô hình PaaS, các nhà
cung cấp điện toán đám mây cung cấp một nền tảng điện toán, thường bao
gồm cả hệ điều hành, môi trường thực thi ngôn ngữ lập trình, cơ sở dữ
-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)
Trang 8liệu và máy chủ web Các nhà phát triển ứng dụng có thể phát triển và chạy các giải pháp phần mềm của họ trên một nền tảng điện toán đám mây mà không cần chi phí và tính phức tạp của việc mua và quản lý các lớp phần cứng và phần mềm cơ bản Với một số PaaS cung cấp
như Microsoft Azure và Google App Engine, máy tính và các tài nguyên lưu trữ cơ bản quy mô tự động để phù hợp với nhu cầu ứng dụng, do đó người sử dụng điện toán đám mây không phải phân bổ nguồn lực bằng tay Sau này cũng đã được đề xuất bởi một kiến trúc nhằm tạo điều kiện thời gian thực trong các môi trường điện toán đám mây loại ứng dụng Ngay cả cụ thể hơn có thể được cung cấp thông qua PaaS, chẳng hạn như
mã hóa phương tiện truyền thông như được cung cấp bởi các dịch vụ
Software as a Service (SaaS) : người sử dụng truy cập vào các phầnmềm ứng dụng và cơ sở dữ liệu Các nhà cung cấp điện toán đám mây quản lý cơ sở hạ tầng và nền tảng mà chạy các ứng dụng SaaS đôi khi được gọi là "theo yêu cầu phần mềm" và thường có giá trên cơ sở trả cho mỗi lần sử dụng hoặc sử dụng một khoản phí thuê bao.Trong mô hình SaaS, các nhà cung cấp đám mây cài đặt và vận hành các phần mềm ứng dụng trong các đám mây và người sử dụng điện toán đám mây truy cập vào phần mềm từ các khách hàng đám mây Người sử dụng điện toán đámmây không quản lý cơ sở hạ tầng điện toán đám mây và nền tảng mà các ứng dụng chạy Điều này giúp loại bỏ sự cần thiết phải cài đặt và chạy cácứng dụng trên các máy tính riêng của người sử dụng điện toán đám mây,
mà đơn giản hóa bảo trì và hỗ trợ Các ứng dụng điện toán đám mây khác nhau từ các ứng dụng khác trong khả năng mở rộng, mà họ có thể đạt được bằng cách nhân bản nhiệm vụ lên nhiều máy ảo tại thời gian chạy đểđáp ứng nhu cầu thay đổi công việc
Trang 9Hì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ên cá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ản kinh 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ọi nơ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
- Nhược điểm
Trang 10+ Cloud có độ bảo mật cao,song chưa tuyệt đối,chính vì điều này nhiều doanh nghiệp vẫn do dự quyết định sử dụng.
CHƯƠNG 2: CÔNG CỤ MÔ PHỎNG ĐIỆN TOÁN ĐÁM MÂY
CLOUDSIM2.1 CloudSim
2.1.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ển trong Cloud Computing các 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à Khoa họ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ụng thử 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át triển các kỹ thuật dự phòng phù hợp
2.1.2 Tính năng
Tính năng CloudSim bao gồm:
Mô hình hóa và mô phỏng trung tâm dữ liệu quy mô lớn
Mô hình hóa và mô phỏng máy chủ lưu trữ ảo hóa
Trang 11Mô hình hóa và mô phỏng các tài nguyên tính toán năng aware
lượng-Mô hình hóa và mô phỏng đám mây liên
Ba lớp tương ứng với ba lớp trên cùng của kiến trúc điện toán đám mây IaaS, PaaS và SaaS tương ứng
Trang 12Hình 2.1: Kiến trúc theo lớp của điện toán đám mây.
- Cloud appication: truy cập bởi end-users End-user đóng vai trò như thực thể kích hoạt ứng dụng SaaS qua mạng Những app này được cung cấp bởi Cloud provider ( SaaS provider), truy cập bởi end-user qua 2 hình thức thuê hoặc dùng rồi trả Ở đây người dùng triển khai ứng dụng
- User-Level middleware: tầng này gồm các phần mềm
frameworks, như Web 2.0 Interfaces (Ajax, IBM Workplace) giúp ngườiphát triển làm việc phong phú, hiệu quả hơn với ứng dụng nền web Lớpnày cung cấp môi trường lập trình và công cụ ghép nối giúp triển khai
và thực thi ứng dụng trên cloud Ở đây có vài framework hỗ trợ triển khai ứng dụng đa lớp như Spring, Hibernate, hỗ trợ các ứng dụng chạy ởtầng trên
Trang 13- Core-middleware: thực hiện các dịch vụ nền tảng sẽ cung cấp môi
trường runtime cho lưu trữ, quản lý các dịch vụ ứng dụng User-level Các chức năng được dùng bởi Saas, Iaas như truyền tin, phát hiện dịch
vụ, cân bằng tải Nó thường được thực thi bởi các nhà cung cấp cloud vàcung cấp cho các nhà phát triển ứng dụng Như amazon cung cấp cân bằng tải và dịch vụ theo dõi Cloudwatch cho các khách hàng Amazon ec2 Hay nhà phát triển xây dựng ứng dụng trên MS azure cloud có thể dùng Net services bus để thực hiện cơ chế chuyển tin
- System level: năng lực tính toán ở môi trường cloud được cung cấp bởi tập hợp dữ liệu datacenter, thường được cài đặt với trăm, ngàn host Ở tầng này, tồn tại nguồn tài nguyên to lớn ( server lưu trữ và server ứng dụng ) cung cấp cho data-center Nguồn lực này được quản lý bởi dịch vụ công nghệ ảo hóa cao cấp và các công cụ cho phép chia sẻ năng lực qua các máy ảo độc lập
2.1.4 Thực hiện các đám mây
CloudSim được thực hiện bằng cách sử dụng các thư viện mô phỏng hiện
có và các khuôn khổ như GridSim và SimJava để xử lý các yêu cầu ở mức độ thấp của hệ thống Đặc biệt, các thành phần của sự kiện xử lý và thông qua trongSimJava có thể được tái sử dụng trong CloudSim Tương tự như vậy, sử dụng GridSim đơn giản hoá việc thực hiện các kết nối mạng, dịch vụ thông tin, các tập tin, người dùng, vv Bây giờ chúng ta thảo luận về các thành phần chính của một cơ sở hạ tầng điện toán đám mây được thực hiện trong các mô
phỏng CloudSim
Trang 14Hình 2.2: Kiến trúc theo lớp của CloudSim
Trung tâm dữ liệu: trong CloudSim, trung tâm dữ liệu được sử dụng để
mô hình hóa các dịch vụ cốt lõi ở cấp hệ thống cơ sở hạ tầng điện toán đám
mây Nó bao gồm một tập hợp các máy chủ đang quản lý một tập hợp các máy
ảo với các nhiệm vụ xử lý "cấp thấp" chế biến, và ít nhất một trung tâm dữ liệu phải được tạo ra để bắt đầu mô phỏng
Máy chủ: thành phần này được sử dụng để chỉ định khả năng xử lý (được
quy định tại các tốn hàng triệu lệnh mỗi giây mà bộ xử lý có thể thực hiện), bộ nhớ và một chính sách lập lịch trình để phân bổ nhân xử lý khác nhau để nhiều máy ảo đó là trong danh sách các máy ảo quản lý bởi máy chủ
Máy ảo: thành phần này quản lý của giao máy ảo khác nhau host khác
nhau, vì vậy mà lõi xử lý có thể được dự kiến (của chủ nhà) cho các máy
Trang 15ảo Cấu hình này phụ thuộc vào ứng dụng cụ thể, và các chính sách mặc định của việc phân bổ các máy ảo là "đầu tiên đến, đầu tiên phục vụ".
Datacenter môi giới: trách nhiệm của một nhà môi giới là thiền định giữa
người sử dụng và các nhà cung cấp dịch vụ, tùy thuộc vào yêu cầu về chất lượngcủa dịch vụ mà người dùng chỉ định Nói cách khác, các nhà môi giới sẽ xác định các nhà cung cấp dịch vụ phù hợp cho người sử dụng dựa trên các thông tin
mà nó có từ các Dịch vụ Thông tin Cloud, và thương lượng với các nhà cung cấp về các nguồn lực đáp ứng yêu cầu của người sử dụng Người sử dụng của CloudSim cần để mở rộng lớp này để xác định yêu cầu trong thí nghiệm của mình
Đám mây nhỏ: thành phần này đại diện cho các dịch vụ ứng dụng có độ
phức tạp được mô hình hóa trong CloudSim về các yêu cầu tính toán
CloudCoordinator: thành phần này quản lý các thông tin liên lạc giữa các
dịch vụ
CloudCoordinator khác và các nhà môi giới, và cũng theo dõi trạng thái
nội bộ của một trung tâm dữ liệu đó sẽ được thực hiện định kỳ về thời gian mô phỏng
2.2.Cách cài đặt CloudSim
CloudSim là một ứng dụng chạy trên nền java Và một trong những phần mềm hỗ trợ đó là Eclipse :
Sau đây là các bước tải và cài đặt Eclipse :
1 Tải bộ cài eclipse tại địa chỉ link dưới :
http://www.eclipse.org/downloads
2 Chọn khu vực tải :
Trang 16Bạn có thể tải ở khắp các khu vực trên thế giới Xin hãy chọn khu vực gần bạn nhất.
Hình 2.3: Tải Eclipse Setup
4 Chọn gói phần mềm để cài đặt từ trình cài đặt Eclipse
Bộ cài đặt Eclipse mới cho thấy các gói có sẵn để người dùng Eclipse Bạn
có thể tìm kiếm cho các gói bạn muốn cài đặt hoặc di chuyển qua danh sách.Chọn và bấm vào gói bạn muốn cài
Trang 18Hình 2.5: Chọn thư mục cài đặt.
6 Khởi động Eclipse
Sau khi cài đặt hoàn tất, bây giờ bạn có thể khởi động Eclipse Bộ cài đặt Eclipse đã làm cho nó hoạt động
Trang 20Hình 2.7: Chọn không gian làm việc
Sau Khi Tải Xong và mở ứng dụng Eclipse ta được giao diện :
Hình 2.8: Khởi động thành công CloudSim
Trang 21CHƯƠNG 3 MÔ HÌNH MÔ PHỎNG.
Trong phần này chúng ta sẽ tìm hiểu làm cách nào cloudsim mô phỏng mô hình
cơ sở hạ tầng, hệ thống datacenter,…và các tài nguyên khác trên nền điện toán đám mây
3.1 Mô hình mô phỏng đám mây trên Cloudsim
Hình 3.1: Mô hình mô phỏng đám mây
-Data Center bao gồm Host và các Máy Ảo Vitual Machine Ban đầu
broker yêu cầu thực thi cloudlet Broker gửi yêu cầu dữ liệu tới Cloud
Information Service Tiếp theo đó CIS đăng ký sử dụng dữ liệu tại DataCenter Sau đó Broker gửi yêu cầu DataCenterCharacteristics và khởi tạo máy ảo tới DataCenter Khi mà VM creation được thực hiện,DataCenter sẽ gửi phản hồi lại cho Broker Broker sẽ gửi Cloudlet submid tới Datacenter và nhận lại Cloudlet
3.2 Các bước để mô phỏng một đám mây.
Trang 22- Bước 1: tạo số user hay số broker
- Bước 2: Khởi tạo Commonvariables
- Bước 3: Tạo CIS (CloudInformationService)
- Bước 4: Tạo DataCenter ( Host + DataCenterCharacteristics)
- Bước 5: Tạo DataCenterBrokerInstance
- Bước 6: Tạo máy ảo Vitual Machines
- Bước 7: Submit Broker
- Bước 8: Tạo cloudlet(s) (Bw+miPS )
- Bước 9: Submit Broker
- Bước 10: Bắt đầu mô phỏng
- Bước 11: Dừng mô phỏng
- Bước 12: Hiển thị trạng thái mô phỏng
Sau đây là kết quả chạy sau mô phỏng :
Trang 23Hình 3.2: Chạy mô phỏng thành công.
Chúng ta cũng có thể sử dụng thêm công cụ Architexa để vẽ mô hình ứng dụng cloudsim :