Tải bản đầy đủ (.pdf) (59 trang)

Xây dựng hệ thống giám sát tài nguyên trên nền tảng điện toán đám mây cho hệ thống Virtual Lab trong trường đại học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.74 MB, 59 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH


BÁO CÁO THỰC TẬP TỐT NGHIỆP

Đề tài:

Xây dựng hệ thống giám sát tài nguyên trên nền
tảng điện toán đám mây cho hệ thống Virtual Lab
trong trường đại học

GVHD:

PGS.TS. Thoại Nam
TS. Phạm Trần Vũ

Thực hiện: Nguyễn Hữu Nhật Minh (50801265)
Thái Đặng Như Ngọc (50801389)

TP. HỒ CHÍ MINH THÁNG 6/2012


Đồ án môn học: Giám sát tài nguyên
Mục lục

Lời mở đầu ........................................................................................................................................................ 1
Chương 1.
1.1.

Giới thiệu đề tài ............................................................................................................................ 2



Bối cảnh............................................................................................................................................... 2

1.1.1.

Tổng quan Virtual Computing Laborator ....................................................................................... 2

1.1.2.

Xây dựng hệ thống Virtual Lab trong trường đại học .................................................................... 3

1.1.3.

Vấn đề giải quyết .......................................................................................................................... 4

1.2.

Mục tiêu .............................................................................................................................................. 4

1.2.1.

Đồ án ............................................................................................................................................ 4

1.2.2.

Luận văn ....................................................................................................................................... 4

1.3.

Triển khai............................................................................................................................................. 5


1.3.1.

Giai đoạn nghiên cứu.................................................................................................................... 5

1.3.2.

Giai đoạn triển khai ...................................................................................................................... 5

1.3.3.

Giai đoạn hồn thành ................................................................................................................... 5

Chương 2.

Cơng nghệ .................................................................................................................................... 6

2.1.

Tổng quan ........................................................................................................................................... 6

2.1.1.

Điện toán đám mây ...................................................................................................................... 6

2.1.2.

Ảo hóa ........................................................................................................................................ 12

2.1.3.


Giám sát ..................................................................................................................................... 18

2.2.

Zenoss Core ....................................................................................................................................... 21

2.2.1.

Giới thiệu ................................................................................................................................... 21

2.2.2.

Kiến trúc ..................................................................................................................................... 22

2.2.3.

Chức năng .................................................................................................................................. 25

2.2.4.

Các thành phần .......................................................................................................................... 25

2.2.5.

Zenpack .................................................................................................................................... 259

2.3.

Thư viện hỗ trợ .................................................................................................................................. 30


2.3.1.

Zenplugins .................................................................................................................................. 30

2.3.2.

NagiosPlugins ............................................................................................................................. 31
i


Đồ án môn học: Giám sát tài nguyên
2.3.3.
2.4.

Libvirt ......................................................................................................................................... 32

RRD ................................................................................................................................................... 37

2.4.1.

Đặc điểm .................................................................................................................................... 37

2.4.2.

RRD trong bộ công cụ RRDtool.................................................................................................... 38

Chương 3.

Giải pháp .................................................................................................................................... 39


3.1.

Mơ hình chung .................................................................................................................................. 39

3.2.

Giao tiếp ............................................................................................................................................ 41

3.2.1.

Với nhóm quản lý tài nguyên ...................................................................................................... 41

3.2.2.

Với nhóm tính phí ....................................................................................................................... 42

3.3.

Phương pháp hiện thực ..................................................................................................................... 43

Chương 4.
4.1.

Hiện thực.................................................................................................................................... 44

Hiện thực Zenpack dùng ssh lấy thông tin thiết bị .............................................................................. 44

4.1.1.


Cấu trúc Zenpack hiện thực ........................................................................................................ 44

4.1.2.

Deloy và demo............................................................................................................................ 44

4.2.

Các plugin sử dụng trong Monitor template ...................................................................................... 51

4.2.1.

Plugin mặc định của Zenoss ........................................................................................................ 51

4.2.2.

Plugin mở rộng của Zenoss ......................................................................................................... 51

4.2.3.

Plugin từ cộng đồng Nagios ........................................................................................................ 52

4.3.

Hiện thực module giám sát trong Virtual Lab ..................................................................................... 53

Chương 5.

Đánh giá ..................................................................................................................................... 55


Tài liệu tham khảo ........................................................................................................................................... 56

ii


Đồ án môn học: Giám sát tài nguyên

Lời mở đầu

Trong khoảng những năm trở lại đây, điện toán đám mây luôn là xu hướng thu
hút các doanh nghiệp và giới nghiên cứu quan tâm bởi những lợi ích mà nó mang lại.
Điện tốn điện mây là một mơ hình điện tốn mới có khả năng co giãn linh động tùy
thuộc vào nhu cầu thực tế, trong đó tất cả các tài nguyên tồn tại dưới dạng dịch vụ
được cung cấp thơng qua mạng. Sự ra đời của điện tốn đám mây cho phép xây
dựng những hệ thống có khả năng tính tốn lớn phục vụ nhu cầu giải quyết những
bài tốn có quy mơ lớn. Các cơng ty lớn như Amazon, Google, IBM, Microsoft, Apple
với những kho dữ liệu trung tâm nằm rải rác khắp nơi trên thế giới, thông qua mơ
hình điện tốn mới này có thể cho phép các doanh nghiệp khác lưu trữ và quản lý dữ
liệu trên những kho dữ liệu này. Sự ra đời điện toán đám mây giúp cho các doanh
nghiệp vừa và nhỏ tiết kiệm chi phí đầu tư và quản lý hạ tầng bằng cách thuê các dịch
vụ này từ các nhà cung cấp. Đồng hành với sự phát triển mạnh mẽ của điện toán
đám mây đã thu hút rất nhiều nhà khoa học, trường đại học và các công ty công nghệ
đầu tư nghiên cứu. Việc ứng dụng điện toán đám mây vẫn còn gây ra những lo ngại
về vấn đề an tồn và bảo mật. Tuy nhiên điện tốn đám mây với những lợi ích về mặt
chi phí, tính sẵn sàng và linh động của nó hứa hẹn là một hướng đi đầy tiềm năng.

1


Đồ án môn học: Giám sát tài nguyên


Chương 1. Giới thiệu đề tài
1.1. Bối cảnh
Tổng quan Virtual Computing Laboratory
a. Giới thiệu
Thông thường trong các trường đại học, các sinh viên đều có nhu cầu sử dụng
máy tính khơng những trong mà cịn ngồi các giờ lên lớp để có thể nghiên cứu và
luyện tập các bài học trên lớp. Việc cung cấp các phòng thực hành cho sinh viên
sử dụng ngồi giờ lên lớp có nhiều khó khăn về chi phí mua và quản lý tài nguyên
phần cứng, địa điểm xây dựng, cũng như các chương trình cài đặt trên máy cho
phù hợp với nhu cầu của các môn học… Một giải pháp được sử dụng là các phòng
thực hành ảo (Virtual Computing Laboratory).
Virtual Computing Laboratory (VCL) là sản phẩm của trường đại học Bắc
Carolina được bắt đầu phát triển vào năm 2004. Nó nhằm mục đích làm tăng hiệu
quả trong việc sử dụng phần cứng và cung cấp khả năng truy cập từ xa tới các máy
tính cho các sinh viên, giảng viên hoặc nhà nghiên cứu của trường.
Đặc điểm của VCL:
 Cung cấp linh hoạt các tài nguyên theo yêu cầu
 Tiết kiệm các chi phí tài nguyên vật lý.
 Người dùng có thể sử dụng từ xa bằngmáy tinh cá nhân qua trình duyệt
web. Những máy tính này khơng cần địi hỏi cấu hình cao để có thể chạy được
các ứng dụng vì các ứng dụng này được thực hiện trên các server.
 Sinh viên có thể tiết kiệm chi phi mua bản quyền các phần mềm ứng dụng
dành cho môn học.
 Bất lợi của VCL là thời gian đáp ứng u cầu cịn lớn. Ngồi ra nó cịn u
cầu đường truyền mạng ổn định nếu muốn truy cập từ xa.
b. Mơ hình hoạt động

1.1.1.


2


Đồ án mơn học: Giám sát tài ngun

Hình 1.1: Mơ hình tổng quát của VCL

 Giao diện web portal dành cho người dùng.
 Công cụ quản lý tài nguyên dành bao gồm các hoạt động giám sát, lập lịch, an
ninh, tính tốn chi phí…
 Các server cơ sở dữ liệu: lưu trữ tất cả dữ liệu về quản l{, điều khiển truy cập,
thông tin lịch sử …
 Kho lưu trữ ảnh của các máy ảo.
 Hệ thống phần cứng.
1.1.2. Xây dựng hệ thống Virtual Lab trong trường đại học
Việc ứng dụng hệ thống virtual lab trong trường đại học sẽ giúp nâng cao hiệu suất,
giảm chi phí cho nhà trường, cũng như nó sẽ giúp sinh viên, giảng viên có cơ hội tốt
hơn cho việc học tập và giảng dạy. Để có thể xây dựng một hệ thống, và đưa vào vận
dụng địi hỏi một q trình nghiên cứu, tìm tòi và áp dụng trong một thời gian dài.
Hệ thống Virtual Lab chúng tôi xây dựng sẽ gồm nhiều thành phần cấu tạo nên như
trang web quản lý, các công cụ quản lý tài nguyên, lập lịch, giám sát tài ngun, tính
tốn chi phí… được thực hiện dựa trên cơng cụ quản lý hạ tầng Opennebula. Mỗi thành
phần này đảm nhận một nhiệm vụ riêng nhưng có sự giao tiếp giữa chúng giúp hệ
thống có những chức năng hồn thiện và áp dụng được vào thực tiễn.

3


Đồ án mơn học: Giám sát tài ngun
Đối với nhóm chúng tơi, chúng tơi có nhiệm vụ xây dựng hệ thống giám sát tài

ngun nhằm giúp hệ thống chính có thể theo dõi, quản lý chặt chẽ các tài nguyên và
đưa ra những quyết định dựa trên những số liệu đó. Đây là một thành phần khơng thể
thiếu trong mỗi hệ thống mà bất kì hệ thống lớn nào cũng cần phải thực hiện. Việc giám
sát này không những đưa ra những số liệu về hiệu suất hệ thống mà cịn có thể đưa ra
những cảnh báo và xử lý khi có lỗi xuất hiện, hoặc hệ thống hoạt động vượt ngưỡng
cho phép.
1.1.3. Vấn đề giải quyết
Với công việc xây dựng hệ thống giám sát tài nguyên Virtual Lab trong trường đại
học thì địi hỏi nhiều vấn đề cần thực hiện. Người quản lý cần được biết các thông tin
về hệ thống như thông tin CPU, RAM, băng thông, khả năng lưu trữ… để có thể sử dụng
những thơng tin này cho các cơng việc khác. Thêm vào đó những dữ liệu này còn phải
được thể hiện bằng các đồ thị trực quan nhằm giúp việc quan sát, thống kê dễ dàng
hơn. Ngoài ra, việc giám sát phải đưa ra những cảnh báo cho người quản trị để họ đưa
ra những hành động kịp thời phù hợp với hệ thống.
Một vấn đề nữa của giám sát là tính tốn được lượng thời gian dùng của một ứng
dụng trên một máy. Một máy khi khởi động sẽ có kèm theo những ứng dụng. Những
ứng dụng có thể là miễn phí hoặc bản quyền, vì thế phải giám sát được thời gian sử
dụng của người dùng đối với những ứng dụng nào yêu cầu bản quyền. Thời gian này sẽ
được dùng cho việc tính tốn chi phí của người dùng.

1.2. Mục tiêu
1.2.1. Đồ án
 Giám sát các thông tin về CPU, RAM, băng thông, khả năng lưu trữ … cho máy
vật lý và máy ảo.
 Vẽ các đồ thị biểu diễn hiệu suất của các máy.
 Giám sát các ứng dụng chạy trên máy.
1.2.2. Luận văn
 Nghiên cứu chức năng tự động giám sát
 Hoàn thiện các chức năng giám sát đã xây dựng
 Tích hợp hệ thống giám sát vào hệ thống chung virtual lab.

4


Đồ án môn học: Giám sát tài nguyên
1.3. Triển khai
1.3.1. Giai đoạn nghiên cứu
- Tìm hiểu về mục tiêu của đề tài.
- Mô tả các yêu cầu về chức năng cần có của hệ thống
- Xây dựng sơ đồ giao tiếp giữa các thành phần khác trong hệ thống với hệ thống
giám sát.
- Tìm hiểu về các cơng cụ giám sát, lựa chọn công cụ phù hợp.
1.3.2. Giai đoạn triển khai
- Hiện thực các chức năng giám sát chính.
- Xây dựng cơ sở dữ liệu lưu trữ.
- Hiện thực các hàm lấy dữ liệu từ hệ thống giám sát
- Hiện thực các hàm tương tác với hệ thống giám sát từ ngoài.
1.3.3. Giai đoạn hoàn thành
- Xây dựng trang web hiển thị thông tin.
- Vận hành hệ thống giám sát.
- Tích hợp các thành phần vào hệ thống chính.
- Kiểm thử, đánh giá hiệu suất, tối ưu hóa.

5


Đồ án môn học: Giám sát tài nguyên

Chương 2. Công nghệ
2.1. Tổng quan
2.1.1. Điện tốn đám mây

a. Định nghĩa

Hình 2.1: Mơ hình điện tốn đám mây

Điện tốn đám mây là một thuật ngữ đề cập đến việc phân phối máy tính và khả
năng lưu trữ như là một dịch vụ cho một cộng đồng không đồng nhất của người
dùng cuối. Trong mơ hình điện tố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 dịch vụ cho phép người dùng sử dụng các
dịch vụ công nghệ từ các nhà cung cấp mà không cần phải có các kiến thức về nó
cũng như khơng cần quan tâm đến các cơ sở hạ tầng phục vụ cơng nghệ đó.

6


Đồ án mơn học: Giám sát tài ngun
b. Các tính chất chính
 Linh hoạt: cung cấp dịch vụ đến cho người dùng một cách nhanh chóng
 Giao diện lập trình ứng dụng (API): điện toán đám mây thường sử dụng các
API dựa trên REST / RPC để tương tác với nhau trong hệ thống.
 Giá cả: được giảm xuống một cách đáng kể, chỉ có chi phí vận hành.
 Sự độc lập thiết bị và vị trí: cho phép người dùng có thể sử dụng các trình
duyệt web để truy cập đến hệ thống từ bất cứ nơi nào và bằng bất cứ thiết bị gì
của chính họ.
 Ảo hóa: kĩ thuật cho phép servers và thiết bị lưu trữ có thể được chia sẽ với
nhau qua đó làm tăng độ hiệu dụng của hệ thống.
 Mơ hình multi-tenancy: cho phép một tài nguyên có thể được cấp phát động
cho nhiều người dùng khác nhau, các người dùng này sẽ luân phiên sử dụng tài
nguyên chung này.Như vậy khi một người dùng khơng có nhu cầu, tài ngun
rảnh sẽ được hệ thống thu hồi lại và cấp phát cho người dùng khác có nhu cầu
 Sự tin cậy: được cải thiện bằng cáchđảm báo hệ thống vận hành liên tục và

khả năng khôi phục sau khi phát sinh lỗi.
 Sự mở rộng: có thể được thực hiện thơng qua việc phân phát tài nguyên
một cách tự động theo nhu cầu của người sử dụng.
 Hiệu suất: được giám sát, các kiến trúc được xây dựng thông qua việc sử
dụng các dịch vụ web để tương tác với hệ thống.
 Sự bảo mật: có thể tăng lên do dữ liệu được tập trung hóa và sử dụng các
kênh lưu trữ bảo mật. Tuy nhiên, đứng về phía người dùng, vì họ khơng tận tay
quản lý dữ liệu, nên có cảm giác khả năng bảo mật thấp hơn, nhất là đối với
những dữ liệu nhạy cảm.
 Sự bảo dưỡng: của các ứng dụng điện tốn đám mấy có thể thực hiện dễ
dàng bởi vì chúng khơng cần được cài đặt trên máy của người dùng và có thể
được truy xuất từ nhiều nơi khác nhau

7


Đồ án mơn học: Giám sát tài ngun
c. Mơ hình
Phân loại theo phạm vi triển khai:
Hình 2.2: Các mơ hình cloud theo phạm vi triển khai

 Các đám mây công cộng (Public Cloud): các ứng dụng, không gian lưu
trữ, tài nguyên được xây dựng để cung cấp một cách rộng rãi thông qua
một nha cung cấp dịch vụ. Những ứng dụng này có thể miễn phí hoặc
tính phí theo việc sử dụng.
 Các đám mây cộng đồng (Community Cloud): dùng chung hạ tầng giữa
một vài tổ chức từ một cộng đồng xác định mà trong đó việc quản lý hệ
thống sẽ do bên trong hoặc một bên thứ ba hoặc do bên ngoài thực
hiện.
 Các đám mây riêng (Private Cloud): là một hệ thống đám mây mà phục

vụ cho một tổ chức. Nó có thể được quản lý bởi các bộ phận bên trong
hoặc bên ngoài hoặc một tổ chức thứ ba.
8


Đồ án môn học: Giám sát tài nguyên
 Các đám mây lai (Hybric Cloud): là một hệ thống kết hợp từ hai hoặc
nhiều mơ hình trên lại với nhau để tạo ra lợi ích tối đa nhất.
Phân loại theo dịch vụ:

Hình 2.3: Minh họa về các dịch vụ

 Các dịch vụ cơ sở hạ tầng (IaaS):
Iaas là tầng đáy của đám mây. Các tài nguyên được cung cấp bao
gồm: servers, mạng, bộ nhớ, CPU, không gian lưu trữ, công cụ quản lý.
Các dịch vụ ở đây hỗ trợ cơ sở hạ tầng ứng dụng bất kể cơ sở hạ tầng đó
đang được cung cấp qua một đám mây hay khơng. Nó sử dụng ảo hóa để
tạo ra chế độ phân phối các nguồn tài nguyên theo yêu cầu điều này đảm
bảo tiết kiệm được các chi phí cho việc sử dụng tài nguyên và đảm bảo
sự co giãn của hệ thống theo nhu cầu của ứng dụng. Còn đối với người
dùng Iaas thì giá sử dụng sẽ được tính tốn trên đơn vị hiệu dụng cơ bản
thông thường là qua tài nguyên họ sử dụng.
 Các dịch vụ nền tảng (PaaS):
Trong mơ hình này các nhà cung cấp sẽ phân phối các nền tảng kèm
theo các tiện ích thơng thường như hệ điều hành, cơ sở dữ liệu, web
server, môi trường lập trình và phát triển phần mềm vào hệ thống. Thông
9


Đồ án môn học: Giám sát tài nguyên

qua những nền tảng này các nhà phát triển ứng dụng có thể phát triển và
chạy các chương trình của họ mà khơng quan tâm đến chi phí cho việc
mua và quản lý các lớp phần cứng, phần mềm bên dưới.
Mơ hình này có các đặc trưng sau:
 Phục vụ cho việc phát triển, kiểm tra, triển khai, host, và bảo
dưỡng các ứng dụng trong một mơi trường phát triển tích hợp
 Cung cấp cho người dùng các công cụ khởi tạo thông qua giao
diện web
 Sử dụng kiến trúc multi-tenant cho việc sử dụng tài nguyên
 Tích hợp dịch vụ web với cơ sở dữ liệu
 Hỗ trợ cho các cộng tác nhóm phát triển
 Cung cấp các tiện ích khác như lịch sử, tính phí …
 Các dịch vụ phần mềm (SaaS):
Trong mơ hình này các nhà cung cấp sẽ cài đặt các phần mềm ứng
dụng trên cloud và người dùng có thể truy cập các phần mềm này từ các
đám mây client. Những người dùng này không được phép quản lý hạ
tầng và nền tảng của những ứng dụng này. Điều này sẽ giúp người dùng
tiết kiệm khoản tiền mua hạ tầng ứng dụng và các chi phí liên quan trên
hạ tầng đó. Cịn nhà cung cấp sẽ thu lời từ việc cung cấp các ứng dụng
này cho khách hàng.
Cloud Computing cung cấp các phần mềm hoạt động trên nền web,
được quản lý bởi nhà cung cấp và cho phép người sử dụng truy cập từ xa.
SaaS sẽ cung cấp giấy phép một ứng dụng cho khách hàng để sử dụng
một số dịch vụ theo yêu cầu.
d. Lợi ích
 Tiết kiệm: hệ thống cung cấp sẵn các tài nguyên cơ sở hạ tầng cơng nghệ
một cách nhanh chóng và ít tốn kém. Khách hàng có thể chọn lựa nhà
cung cấp tốt nhất cho nhu cầu về tài nguyên và giá cả của mình.
 Tài nguyên được sử dụng hiệu quả theo đúng nhu cầu của khách hàng.
 Các dịch vụ điện tốn đám mây có thể được truy xuất ở bất kz đâu, bất

kz lúc nào thông qua mạng internet.

10


Đồ án môn học: Giám sát tài nguyên
 Nhờ khả năng co giãn mà điện toán đám mấy cung cấp, hệ thống của
khách hàng có khả năng mở rộng hoặc thu nhở một cách linh hoạt tùy
theo nhu cầu cụ thể.
 Đáp ứng tốt cho việc lưu trữ dữ liệu.
e. Thách thức
 Chi phí bản quyền phần mềm ban đầu có thể khá cao
 Tính sẵn sàng vẫn cịn chưa được đảm bảo.
 An tồn thơng tin, một trở ngại của điện tốn đám mây. Các thơng tin
được lưu trữ tập trung nên dẫn đến sự mất riêng tư của người dùng.
 Nguy cơ virus vẫn còn nguyên.
 Lừa đảo trực tuyến và các lỗ hỏng Web.
f. Opennebula
OpenNebula ra đời năm 2008, được phát triển mạnh mẽ dựa vào cộng
đồng mã nguồn mở. Các phiên bản và các bản vá của hệ thống này được cập
nhật liên tục thể hiện sự phát triển, khả năng áp dụng và mở rộng của nó.
Những tính năng chính của OpenNebula là: Cung cấp nơi chứa các ảnh máy ảo
(image), nơi chứa các mẫu máy ảo (template), mạng máy tính ảo(virtual
network), cơ chế load ảnh từ kho với các thông số định nghĩa trong các mẫu
máy ảo được định nghĩa trước vào một máy tính vật lý dựa trên bộ phân phối
tài nguyên vào một máy tính vật lý. Những khái niệm cũng như những chuẩn
được tích hợp bên cạnh những tính năng cơ bản như:
- Cụm máy tính ảo (virtual cluster): cho phép tạo cụm các máy tính ảo
nhằm tăng cường khả năng áp dụng điện tốn đám mây cho các bài tốn
tính toán hiệu năng cao (High Performance Computing).

- Kho chứa dữ liệu (data storage): cho phép quản lý dữ liệu và các ảnh ảo
một cách chuyên biệt trên những nguồn chứa khác nhau như (SAN/NAS,
iSCSI/LVM, VMWare).
- Sử dụng phân phối tài nguyên từ bộ định thời Haiza
- Chuẩn tích hợp OCCI (Open Cloud Computing Integration)
- Tương tác với hệ thống Eucalyptus.
11


Đồ án môn học: Giám sát tài nguyên
- Ozone dùng để tích hợp các front end quản lý OpenNebula với nhau
thành một cụm (zone).
- Tích hợp LDAP vào OpenNebula.
- Cơng cụ giám sát tài nguyên Ganglia.
Qua khoảng thời gian tìm hiểu và nghiên cứu về hệ thống quản trị hạ tầng
OpenNebula có thể thấy sự phát triển khơng ngừng của OpenNebula với các
tính năng phù hợp với đề tài phịng thí nghiệm ảo (Virtual Laboratory). Bên
cạnh đó, cơng cụ này được tích hợp rất nhiều loại driver giao tiếp với các nền
tảng phần cứng sẵn có gồm các loại data storage khác nhau và các cộng cụ ảo
hóa khác nhau như KVM, Xen, VMWare. Trong giai đoạn sắp tới, bộ công cụ
này hứa hẹn sẽ đáp ứng đầy đủ nhu cầu quản lý hạ tầng điện toán đám mây.
2.1.2. Ảo hóa
a. Định nghĩa
Ảo hóa là một cơng nghệ thiết kế tạo ra một lớp trung gian giữa hệ thống
phần cứng máy tính và phần mềm chạy trên nó. Như vậy từ một máy vật lý
đơn lẻ có thể tạo thành nhiều máy ảo độc lập. Mỗi máy ảo đều có thể có
nguồn hệ thống riêng lẻ, hệ điều hành riêng và ứng dụng riêng.
Mảy ảo là một môi trường hoạt động độc lập tức là trong đó có các phần
mềm hoạt động chung cùng nhau nhưng độc lập với hệ điều hành máy chủ. Ví
dụ một máy ảo Java sẽ chạy các chương trình viết bằng ngơn ngữ Java, nó

khơng phụ thuộc vào hệ điều hành của máy đó.
Việc áp dụng cơng nghệ ảo hóa khi áp dụng vào điện tốn đám mây sẽ
mang lại nhiều lợi ích cho hệ thống. Trong đó lợi ích lớn nhất mà chúng ta có
thể thấy chính là khả năng hợp nhất hàng loạt các server dịch vụ lại với nhau.
Thơng thường thì mỗi server chỉ sử dụng rất ít tài nguyên trên hệ thống, chủ
yếu là CPU và bộ nhớ. Điều đó sẽ gây ra một sự lãng phí về tài nguyên của hệ
thống và cũng sẽ làm tăng chi phí cho những thứ khơng cần. Vì vậy giải pháp
đưa ra là triển khai hàng loạt máy ảo (mỗi máy ảo tương ứng chạy 1 dịch vụ)
trên một server duy nhất sẽ giúp nâng cao hiệu suất sử dụng hệ thống.
b. Đặc điểm
 Tối ưu hóa cơng suất của phần cứng

12


Đồ án môn học: Giám sát tài nguyên
Việc để các hệ thống dịch vụ chạy trên từng máy riêng lẽ sẽ gây ra một sự
lãng phí về cơng suất của từng máy. Điều đó sẽ làm tăng thêm chi phí hoạt
động cho toàn hệ thống. Giờ đây với việc các phần cứng được cải tiến và sự ra
đời của công nghệ ảo hóa sẽ giúp cho việc sử dụng tài nguyên phần cứng thêm
hiệu quả. Khi một tài nguyên phần cứng khơng được dùng trên máy ảo này thì
nó sẽ được cấp phát cho máy ảo khác. Qua đó sẽ giúp nâng cao hiệu suất của
phần cứng.
 Giảm số lượng máy vật lý
Nhờ việc tích hợp nhiều hệ thống dịch vụ trên một máy vật lý sẽ làm giảm
đi rất nhiều số lượng máy vật lý cho toàn hệ thống cùng với đó là giảm đi lượng
năng lượng tiêu thụ của tồn hệ thống. Qua đó sẽ cắt giảm được các chi phí cho
việc mua, quản lý, bảo dưỡng phần cứng với các chi phí về năng lượng.
 Chí phí quản lý hệ thống lớn
Một hệ thống khi hoạt động sẽ đi kèm theo với nhiều tác vụ phổ biến liên

quan đến nó (giám sát, cài đặt, sửa chữa, bảo trì, sao lưu …). Những cơng việc
này địi hỏi rất nhiều nhân lực để thuê những chuyên viên quản trị. Ảo hóa sẽ
mang lại cơ hội để cắt giảm đáng kể chi phí quản lý hệ thống. Có nhiều tác vụ
trong mơi trường ảo hóa có thể được cắt giảm( thực hiện ít hơn) như việc thay
thế, giám sát thiết bị phần cứng….
c. Phân loại
Có rất nhiều loại ảo hóa: ảo hóa máy chủ, ảo hóa lưu trữ, ảo hóa phần mềm.
Nhưng trong khuôn khổ đồ án này chúng tôi chỉ xin thảo luận về ảo hóa máy chủ.
 Ảo hóa hệ điều hành (OS-level Virtualization)

13


Đồ án mơn học: Giám sát tài ngun

Hình 2.4: Ảo hóa hệ điều hành (OS-level Virtualization)

Ảo hóa hệ điều hành là một phương pháp trong đó nhân một hệ điều hành
cho phép nhiều hệ điều hành khác chạy trên nó. Những hệ điều hành sẽ cung
cấp một tập các thư viện để các ứng dụng tương tác, khiến cho mỗi ứng dụng
được hỗ trợ cảm thấy như đang chạy trên một máy vật lý. Từ góc nhìn của
người dùng, các hệ điều hành này giống như những hệ điều hành thật sự.
Trong mỗi hệ điều hành, các ứng dụng này chỉ tương tác với tài ngun trên
máy mình chứ khơng thấy được những tài nguyên của các hệ điều hành ảo
khác. Nó giúp cho việc bảo mật cũng như động bộ hóa.
Một ví dụ cho việc ảo hóa hệ điều hành mà ta có thế thấy đó là từ những
cơng ty máy chủ Web. Họ sử dụng phương pháp này để khiến một trang chủ
Web chủ tin rằng trang web mình kiểm sốt tồn bộ máy chủ hệ thống. Tuy
nhiên trên thực tế mỗi trang web chủ chia sẽ cùng một máy với các trang Web
khác.

Ưu điểm của ảo hóa hệ điều hành là cần rất ít tài nguyên hệ thống. Ngồi ra
nó cịn tốn rất ít chi phí bởi vì mỗi chương trình trong hệ điều hành ảo thì sử
dụng các lời gọi hệ thống thông thường và không cần phải chủ thể để mô
phỏng như trong một số phương pháp ảo hóa khác. Nó cũng khơng cần hỗ trợ
phần cứng đặc biệt để có thể thực hiện nó.
14


Đồ án môn học: Giám sát tài nguyên
Nhưng một nhược điểm lớn của phương pháp này là sự giới hạn trong việc
chọn lựa hệ điều hành, điều này làm giảm đi sự linh động của nó. Nó khơng
thể cung cấp một hệ điều hành ảo khác với nhân của hệ điều hành chủ vì các
hệ điều hành ảo cùng chạy trên một tài nguyên với hệ điều hành chủ. Vì thế
cần một sự thống nhất trong phiên bản của cá hệ điều hành ảo.
Qua đó ta thấy phương pháp ảo hóa hệ điều hành chỉ thích hợp cho hệ
thống gồm các hệ điều hành với cầu hình thuần nhất.
 Ảo hóa hồn tồn (FullVirtualization)

Hình 2.5: Ảo hóa hồn tồn (Full Virtulization)

Ảo hóa hồn tồn là phương pháp dùng phần mềm (hypervisor) để mô
phỏng một môi trường phần cứng để các hệ điều hành chạy trên. Hypervisor là
một lớp phần mềm nằm ngay trên phần cứng hoặc bên dưới hệ điều hành.
Mục đích chính của nó là cung cấp các phân vùng mơi trường thực thi tách biệt
trong đó các máy ảo chứa các hệ điều hành khách có thể chạy. Mỗi phân vùng
được cung cấp tập hợp các tài nguyên phần cứng riêng của nó chẳng hạn như
bộ nhớ, CPU và thiết bị. Hypervisor có nhiệm vụ chuyển yêu cầu tài nguyên từ
phần cứng ảo này sang cho phần cứng vật lý. Nó cũng có trách nhiệm phải tạo

15



Đồ án mơn học: Giám sát tài ngun
và duy trì cấu trúc dữ liệu cho các thành phần ảo và cập nhật chúng. Ngồi ra
nó cịn điều khiển và phân kênh truy cập đến thành phầnphần cứng.
Phương pháp ảo hóa hồn tồn này khơng chỉ hỗ trợ nhiều hệ điều hành
mà còn hỗ trợ nhiều hệ điều hành khác nhau. Những hệ điều hành có thể khác
nhau hồn tồn như Windows với Linux. Việc chạy đường nhiều hệ điều hành
đồng thời sẽ giúp phát triển song song hoăc thử nghiệm phần mềm ở nhiều
môi trường khác nhau.
Nhược điểm của phương pháp này là nó ảnh hưởng đến khả năng hoạt
động của hệ thống điều khiển khiến các ứng dụng chạy trên đó chậm hơn bình
thường. Vì những tập lệnh trên phần cứng ảo phải được chuyển đổi thành các
tập lệnh trên phần cứng vật l{ (được thực thi bởi hypervisor) sẽ gây nên sự
ảnh hưởng đến tốc độ thực thi của lệnh. Ngồi ra phương pháp ảo hóa này
cịn bị giới hạn trong các trình điều khiển thiết bị. Tức là phần mềm ảo hóa chỉ
cung cấp một số trình điều khiển thiết bị cố định và người sử dụng khơng thể
cài đặt thêm các trình thiết bị mới. Điều nay gây ảnh hưởng tới việc mở rộng
các phần cứng mới.
 Ảo hóa lai (ParaVirtualization)

Hình 2.6: Ảo hóa lai (ParaVirtualization)

16


Đồ án môn học: Giám sát tài nguyên
Là phương pháp ảo hóa mà trong đó thay vì mơ phỏng mơi trường phần
cứng hồn chỉnh, phần mềm ảo hóa chỉ mơ phỏng một phần và cung cấp các
dịch vụ để hệ điều hành khách tương tác với phần cứng. Phương pháp này

đem lại tốc độ, và hiệu quả sử dụng tài ngun cao hơn so với ảo hóa hồn
tồn. Nhưng nó lại yêu cầu các hệ điều hành khách chạy trên máy ảo phải
chỉnh sửa. Điều này dẫn tới việc không phải bất cứ hệ điều hành nào cũng có
thể sử dụng phương pháp ảo hóa lai này. Một ví dụ cho phương pháp này là XP
mode của windows 7.
Phương pháp ảo hóa lai này có hai ưu điểm chính. Thứ nhất hiệu suất sử
dụng hệ thống sẽ được nâng cao hơn phương pháp mơ phỏng hồn tồn. Vì
nó chỉ có một lớp mô phỏng mỏng giữa hệ điều hành chủ và phần cứng vật lý.
Lớp này đóng vai trị điều phối quản lý dòng truy cập của các hệ điều hành
khách phía trên để tránh tình trạng cùng sử dụng chung một tài nguyên. Ưu
điểm thứ hai của phương pháp này là nó khơng bị giới hạn bởi trình điều khiển
thiết bị. Vì nó sử dụng các trình điều khiển thiết bị có trong hệ điều hành chủ
chứ khơng phải sử dụng những trình điểu khiển có trong phần mềm ảo hóa.
Tuy nhiên phương pháp này cũng có một nhược điểm lớn là hệ điều hành
khách phải được tinh chỉnh để có thể tương tác với các dịch vụ của hệ điều
hành chủ. Do đó hệ điều hành khách chạy ảo hóa khơng phải là phiên bản gốc
ban đầu. Điều đó cũng có nghĩa là khơng phải bất cứ hệ điều hành nào cũng có
thể sử dụng phương pháp ảo hóa lại này.
d. KVM
KVM – (Kernel-based Virtual Machine) được biết đến như giải pháp đầu tiên về
cơng nghệ ảo hóa hồn tồn (ảo hóa phần cứng) trong giới cộng đồng mã nguồn
mở được đánh dấu bởi việc biên dịch trong nhân Linux 2.6 năm 2007. Sau khoảng
thời gian dài phát triển giải pháp này dần cung cấp khả năng mạnh mẽ trong việc
quản lý và cung cấp môi trường thực thi tương đối ổn định cho nhiều máy ảo.
Máy ảo KVM có thể được giả lập card đồ họa, PCI, thiết bị đầu vào PS/2, card âm
thanh, card mạng Ethernet, Ram (50MB – 32 TB), CPU 1-16 CPUs. Với các phiên
bản hiện thực khác nhau trên nền tảng Linux, OpenSolaris và cho phép chạy các
hệ điều hành khách khác nhau như họ Linux, BSD, Solaris, Windows và MacOS X.
Nhóm chúng tơi chọn KVM làm mơi trường ảo hóa thử nghiệm phù hợp cho
các máy ảo trong quá trình triển khai dự án phịng thí nghiệm ảo và chi phí để xây

17


Đồ án môn học: Giám sát tài nguyên
dựng các ảnh ảo là khơng thật nhiều vì các phiên bản hệ điều hành khách không
phải biên dịch lại như với giải pháp ảo hóa lai trước đây.
2.1.3. Giám sát
a. Định nghĩa
Cùng với sự phát triển mạnh mẽ của hệ thống điện tốn đám mây, thì việc
giám sát hệ thống cũng là một phần rất quan trọng đi liền kề. Mục tiêu của việc
giám sát là có thể biết được điều gì xảy ra trong hệ thống tại mỗi thời điểm, từ đó
có thể phát hiện được các vấn đề và đưa ra hướng giải quyết chúng trong thời
gian ngắn nhất.
Giám sát có thể được định nghĩa như là việc theo dõi tài nguyên và thiết bị
trong hệ thống máy tính, cũng như hệ thống mạng để thu thập được các thông tin
về cấu hình, mạng, hiệu suất… từ những ứng dụng tương tác trong hệ thống đó.
Hiện nay có rất nhiều cơng cụ giám sát được phát triển, điển hình có thể kể ra
một vài công cụ phổ biến sau:
 Ganglia
 Nagios
 Zabbix
 Cacti
 Zenoss
 ...
b. Cơ chế giám sát
 Poll

Hình 2.7: Cơ chế poll

18



Đồ án môn học: Giám sát tài nguyên
Nguyên tắc hoạt động: Trung tâm giám sát sẽ thường xuyên hỏi thông tin
của thiết bị giám sát để cập nhật thông tin mới nhất về thiết bị. Nếu trung tâm
hỏi thì thiết bị trả lời, khơng hỏi thì sẽ khơng trả lời.
 Alert

Hình 2.8: Cơ chế Alert

Nguyên tắc hoạt động: mỗi khi trong thiết bị xảy ra sự kiện gì đó thì thiết bị
sẽ tự động gửi thông báo cho trung tâm. Thiết bị chỉ gửi thơng tin mang tính
sự kiện chứ không gửi những thông tin thường xuyên thay đổi
 Đánh giá
Với mỗi cơ chế đều có ưu nhược điểm của nó.
- Poll: chúng ta có thể chủ động lấy thơng tin cần thiết đối tượng xung
quanh. Nhưng nếu có sự thay đổi trong thiết bị thì poll sẽ cập nhật chậm vì
phải chờ đến thời gian định kì để lấy thơng tin
- Alert: khi có bất kì sự kiện gì thì trung tâm có thể cập nhật một cách
nhanh nhất. Nhưng nếu trong q trình có xảy ra sự cố đường truyền gì thì
trung tâm sẽ khơng thể cập nhật được trạng thái của thiết bị.
Vì vậy trong việc giám sát người ta thường dùng cả hai cơ chế này để có
bổ sung ưu nhược điểm cho nhau.
c. So sánh các cơng cụ
Các cơng cụ giám sát thì rất đa dạng và mỗi cơng cụ đều có ưu khuyết điểm
riêng, nên việc lựa chọn sử dụng công cụ nào cũng là một vấn đề cần phải được
trao đổi kĩ càng. Đối với dự án này chúng tôi chỉ quan tâm đến những cơng cụ
miễn phí và mã nguồn mỡ vì chi phí và tính linh hoạt của nó. Chúng tơi có đưa ra
các so sánh giữa các cơng cụ trên về một số mặt quan trọng của việc giám sát.
 Về khả năng giám sát


19


Đồ án môn học: Giám sát tài nguyên
Ganglia: là công cụ dành cho hệ thống HPC và có overhead thấp. Nó chủ
yếu là cân nhắc về hiệu suất là chính. Và sử dụng mơ hình giám sát theo cụm.
Nagios: là một công cụ giám sát phổ biến nhất trong cộng đồng mã nguồn
mở. Hầu hết mọi chức năng đều phải hỗ trợ thông qua các plugin.
Cacti: là một công cụ giám sát mà có giao diện tương tác đồ họa đẹp dễ cho
người sử dụng.
Zabbix, Zenoss: đều là công cụ mà có khả năng giám sát tốt như Nagios và
đồ họa đẹp như Cacti. Nó có thể trình bày các thông số hiệu suất thông qua
các đồ thị trực quan.
 Về mức độ hỗ trợ
Ganglia: nó chủ yếu chỉ thơng báo hiệu suất, khơng có các cảnh báo và các
trigger xử lý khi có thơng số nào đó vượt ngưỡng cho phép. Ngồi ra nó cũng
khơng hỗ trợ syslog ghi lại các cơng việc báo cáo.
Nagios: Có hệ thống cảnh báo và trigger. Nó cũng đã hỗ trợ syslog thơng
qua các plugin
Cacti: khả năng giám sát chưa được tốt lắm so với khả năng giao diện
Zabbix, Zenoss: đều hỗ trợ tốt về cảnh báo và các trigger xử lý. Nó cịn có
khả năng auto-discovery tức khả năng tự phát hiện ra các thiết bị mạng mà
được kết nối vào hệ thống.
 Về plugins
Ganglia, Cacti: đã có hỗ trợ plugin khá tốt
Nagios: với lượng cộng đồng đông đảo nên số lượng plugin cho Nagios là
rất lớn. Nhưng điều này cũng là trở ngại cho người sử dụng vì khó lựa chọn
plugin cho mình. Ngồi ra vì hầu như mọi thứ trong Nagios đều hỗ trợ qua
plugin nên sẽ khó khăn cho người sử dụng trong việc cài đặt, cấu hình ban đầu

Zabbix: do ra đời sau nên lượng plugin chưa nhiều. Nhưng hiện giờ cộng
đồng sử dụng zabbix cũng đang tăng lên nhiều.
Zenoss: một điểm thuận lợi cho nó là có hỗ trợ định dạng xuất của plugin
Nagios nên từ đó ta có thể tận dụng các plugin này. Điều này cũng sẽ giúp cho
người dùng dễ dàng lựa chọn thêm nhiều plugin.

20


Đồ án môn học: Giám sát tài nguyên
 Bảng so sánh tóm tắt giữa các cơng cụ.
Auto
Discovery

Agent

SNMP

Syslog

Ganglia

Via gmond
check in

Yes

Via
plugin


No

Yes

No

Viewing

RRDtool

Via
plugin

Yes

Yes

Yes

Flat file, SQL

Yes

Yes

Yes

Full
Control


RRDtool, MySQL

Nagios

Via plugin

Supported

Via
plugin

Cacti

Via plugin

No

Yes

Plugins Triggers WebApp
/ Alerts

Data Storage
Method

Name

Zabbix

Yes


Supported

Yes

Yes

Yes

Yes

Zenoss

Yes

No

Yes

Yes

Yes

Yes

Full
Control
Full
Control


Oracle, MySQL,
PostgreSQL,
IBM DB2, SQLite
ZODB, MySQL,
RRDtool

d. Tổng kết
Qua những so sánh trên nhóm chúng tôi quyết định chọn Zenoss làm công cụ
giám sát cho hệ thống hoạt động. Vì Zenoss là một phần mềm mã nguồn mở và có
phiên bản miễn phí (Zenoss Core) cho người sử dụng. Công cụ này cung cấp giao
diện web để hỗ trợ tương tác cho người quản trị. Nó cịn có thể đưa ra được các
đồ thị trực quan về các thông số giám sát giúp cho việc quản l{, đánh giá hệ thống
thêm dễ dàng. Ngoài ra nó sử dụng lượng plugin lớn của Zenoss và Nagios về
nhiều chức năng giám sát khác nhau. Đảm bảo những nhu cầu giám sát khác nhau
của hệ thống.

2.2. Zenoss Core
2.2.1. Giới thiệu
Zenoss là một platform mã nguồn mở, được sử dụng để quản lý hệ thống mạng.
Nó cho phép nhà quản trị giám sát hệ thống, quản l{ được trạng thái, cấu hình, hiệu
suất và hoạt động của các thiết bị trong hệ thống thông qua giao diện Web trực
quan. Zenoss có khả năng linh hoạt khá cáo nhờ cơ chế mở rộng thông qua Zenpack
Zenoss cung cấp khả năng giám sát bằng nhiều phương thức: SNMP, SSH, WMI,
Telnet…
21


Đồ án môn học: Giám sát tài nguyên
Lịch sử phát triển:
2002: Zenoss Core được bắt đầu phát triển.

11/2006: Zenoss Core phiên bản 1.0 được phát hành
6/200 7: Zenoss Core phiên bản 2.0 được phát hành
7/2010: Zenoss Core phiên bản 3.0 được phát hành
9/2011: Zenoss Core phiên bản 3.2 được phát hành
2.2.2. Kiến trúc
Zenoss được chia làm 4 lớp chính:

Hình 2.9: Kiến trúc Zenoss

a. User Layer
Được xây dựng xung quanh môi trường ứng dụng web Zope, nó có tác dụng
như là một portal Web. Lớp này sử dụng một vài thư viện của JavaScript, Mochi
Kit, YUI, và extJS.
Bạn có thể truy xuất và quản lý các chức năng thông qua giao diện:
 Sử dụng Dashboard để xem trạng thái hiện tại.
 Làm việc với các thiết bị, mạng và hệ thống.
 Giám sát và đáp ứng các sự kiện
 Quản lý user.
 Tạo và chạy các báo cáo
22


×