9043_08 – 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

luận văn tốt nghiệp

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

i

Mục lục

Lời mở đầu …………………………………………………………………………………………………………………………………….. 1
Chương 1.
Giới thiệu đề tài
……………………………………………………………………………………………………………. 2
1.1.
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 hoà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
Đồ án môn học: Giám sát tài nguyên

ii

2.3.3.
Libvirt ……………………………………………………………………………………………………………………….. 32
2.4.
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.
Hiện thực…………………………………………………………………………………………………………………… 44
4.1.
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

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

1

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 toán điện mây là một mô hình điện toá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 toán đám mây cho phép xây
dựng những hệ thống có khả năng tính toán lớn phục vụ nhu cầu giải quyết những
bài toá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 toá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 toàn và bảo mật. Tuy nhiên điện toá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.

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

2

Chương 1. Giới thiệu đề tài

1.1. Bối cảnh
1.1.1.
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 ngoà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 ngoà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 yêu cầu còn lớn. Ngoài ra nó còn yê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
Đồ án môn học: Giám sát tài nguyên

3

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 toá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 quá 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 nguyên, tính
toá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 hoàn thiện và áp dụng được vào thực tiễn.
Đồ án môn học: Giám sát tài nguyên

4

Đố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
nguyên 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 toá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 toá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.

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

5

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.

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

6

Chương 2. Công nghệ

2.1. Tổng quan
2.1.1.
Điện toán đám mây
a. Định nghĩa

Hình 2.1: Mô hình điện toán đám mây
Điện toá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 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 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ệ đó.

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

7

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 nguyên
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 toá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
Đồ án môn học: Giám sát tài nguyên

8

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.
Đồ án môn học: Giám sát tài nguyên

9

 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 toá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
Đồ án môn học: Giám sát tài nguyên

10

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 toá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.
Đồ án môn học: Giám sát tài nguyên

11

 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 toàn thông tin, một trở ngại của điện toá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 toán đám mây cho các bài toá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.
Đồ án môn học: Giám sát tài nguyên

12


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 toá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
Đồ án môn học: Giám sát tài nguyên

13

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 toà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)

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

14

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 nguyên 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 soát toà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. Ngoà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ó.
Đồ án môn học: Giám sát tài nguyên

15

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 hoàn toàn (FullVirtualization)
Hình 2.5: Ảo hóa hoàn toàn (Full Virtulization)
Ảo hóa hoàn toà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
Đồ án môn học: Giám sát tài nguyên

16

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. Ngoà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 hoàn toà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 hoàn toà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. Ngoà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)

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

17

Là phương pháp ảo hóa mà trong đó thay vì mô phỏng môi trường phần
cứng hoà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 nguyên cao hơn so với ảo hóa hoàn
toà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 hoàn toà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 hoàn toà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
Đồ án môn học: Giám sát tài nguyên

18

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 toá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
Đồ án môn học: Giám sát tài nguyên

19

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 quá 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
Đồ án môn học: Giám sát tài nguyên

20

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. Ngoà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. Ngoà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.

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

21

 Bảng so sánh tóm tắt giữa các công cụ.
Name
Auto
Discovery
Agent
SNMP
Syslog Plugins Triggers
/ Alerts
WebApp
Data Storage
Method
Ganglia Via gmond
check in
Yes
Via
plugin
No
Yes
No
Viewing
RRDtool

Nagios
Via plugin
Supported
Via
plugin
Via
plugin
Yes
Yes
Yes
Flat file, SQL

Cacti
Via plugin
No
Yes
Yes
Yes
Yes
Full
Control RRDtool, MySQL

Zabbix

Yes

Supported

Yes

Yes

Yes

Yes
Full
Control
Oracle, MySQL,
PostgreSQL,
IBM DB2, SQLite

Zenoss
Yes
No
Yes
Yes
Yes
Yes
Full
Control
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…
Đồ án môn học: Giám sát tài nguyên

22

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

Đánh giá post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *