Tải bản đầy đủ (.docx) (25 trang)

(Đề tài NCKH) tìm hiểu điện toán đám mây và hiện thực ứng dụng quản lý tài nguyên ảo

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 (1.33 MB, 25 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG

TÌM HIỂU ÐIỆN TỐN ÐÁM MÂY VÀ HIỆN THỰC
ỨNG DỤNG QUẢN LÝ TÀI NGUYÊN ẢO

MÃ SỐ: SV2012-145

SKC003921

Tp. Hồ Chí Minh, 11/2012


BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCM


ĐỀ TÀI NCKH SINH VIÊN

TÌM HIỂU ĐIỆN TOÁN ĐÁM MÂY VÀ HIỆN THỰC
ỨNG DỤNG QUẢN LÝ TÀI NGUN ẢO

MÃ SỐ: SV2012-145
THUỘC NHĨM NGÀNH: CƠNG NGHỆ THƠNG TIN
GIÁO VIÊN HƯỚNG DẪN: TH.S LÊ VĂN VINH
NGƯỜI CHỦ TRÌ:
HỒNG TUẤN ĐỨC


MSSV: 08110032

NGƯỜI THAM GIA:
HOÀNG THÁI XUÂN KHOA

MSSV: 08110057

ĐƠN VỊ: KHOA CƠNG NGHỆ THƠNG TIN

TP. HỒ CHÍ MINH – 11/2012


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

MỤC LỤC
TÓM TẮT ĐỀ TÀI ....................................................................................................................
1PHẦN 1: ĐẶT VẤN ĐỀ ...................................................................................................

1.1 ĐỐI TƢỢNG NGHIÊN CỨU: ......................................

1.2 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGỒI NƢ

1.2.1 Tình hình nghiên cứu ở

1.2.2 Tình hình nghiên cứu ở

1.3 NHỮNG VẤN ĐỀ CỊN TỒN TẠI: ..............................
2PHẦN 2: GIẢI QUYẾT VẤN ĐỀ.....................................................................................

2.1 MỤC ĐÍCH ĐỀ TÀI: .....................................................


2.2 PHƢƠNG PHÁP NGHIÊN CỨU: ................................

2.3 NỘI DUNG: ..................................................................

2.3.1 Tìm hiểu nội dung tổng

2.3.2 Kiến trúc của OpenNeb

2.3.3 Chi tiết các tầng trong k

2.3.4 Triển khai hệ thống đám

2.3.5 Xây dựng ứng dụng qu

2.4 KẾT QUẢ ĐẠT ĐƢỢC:...............................................

2.4.1 Tính khoa học: ............

2.4.2 Khả năng triển khai ứn

2.4.3 Hiệu quả kinh tế - xã h
3PHẦN 3: KẾT LUẬN ......................................................................................................

3.1 KẾT LUẬN: ..................................................................

3.1.1 Những kết quả đã đạt đ

3.1.2 Những tồn tại: .............


3.2 ĐỀ NGHỊ: .....................................................................

3.3 POSTER: .......................................................................
4PHẦN PHỤ LỤC (nếu có) ..............................................................................................
5TÀI LIỆU THAM KHẢO ...............................................................................................

SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 1


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

TĨM TẮT ĐỀ TÀI
- Ngày nay, máy vi tính đã trở thành một công cụ, một phần tất yếu của cuộc sống. Chúng ta

sử dụng máy vi tính ở khắp mọi nơi, có thể là cho cơng việc, nghiên cứu hoặc trong bất kỳ
lĩnh vực nào. Khi việc sử dụng máy tính trong cuộc sống hàng ngày của chúng ta tăng lên,
các nguồn tài nguyên máy tính mà chúng ta cũng cần tăng lên. Đối với các doanh nghiệp nhỏ,
các nguồn tài nguyên lớn nhƣ vậy trở thành một yếu tố rất lớn tác động đến công việc kinh
doanh. Với những vấn đề về cơ sở hạ tầng CNTT nhƣ máy hỏng, treo ổ cứng, lỗi phần mềm,
v.v… đó thật sự là những vấn đề rất đau đầu cho các doanh nghiệp, đặc biệt là các doanh
nghiệp còn non trẻ. Cơng nghệ điện tốn đám mây đã ra đời đã cung cấp một giải pháp cho
tình trạng này.
- Cơng nghệ điện tốn đám mây cơ bản là việc tính tốn sẽ đƣợc chuyển từ máy tính cá nhân
và thậm chí là từ cả các máy chủ ứng dụng của doanh nghiệp đến một đám mây máy tính.
Tuy nhiên, đám mây ở đây chỉ là một hình tƣợng để chỉ đến một tập các máy chủ ảo hóa có
thể cung cấp các nguồn tài nguyên của các siêu máy tính, các hệ thống máy chủ đến cho
khách hàng của họ. Ngƣời sử dụng của hệ thống này chỉ cần quan tâm tới các dịch vụ máy
tính mà họ đang yêu cầu. Các chi tiết bên dƣới hệ thống thực hiện nhƣ thế nào thì đƣợc ẩn

khỏi ngƣời dùng. Các dữ liệu và các dịch vụ cung cấp nằm trong các trung tâm dữ liệu của
đám mây có khả năng mở rộng và có thể đƣợc truy cập ở bất kỳ đâu, từ bất kỳ thiết bị nào
đƣợc nối mạng trên toàn thế giới.

1

PHẦN 1: ĐẶT VẤN ĐỀ

1.1 ĐỐI TƢỢNG NGHIÊN CỨU:
- Hệ thống đám mây riêng dựa trên phần mềm mã nguồn mở OpenNebula.
- Bộ giao diện lập trình ứng dụng APIs của phần mềm mã nguồn mở OpenNebula.

1.2 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGỒI NƢỚC:
1.2.1 Tình hình nghiên cứu ở trong nƣớc:
- Đối với việc xây dựng hệ thống đám mây riêng thì đa số sử dụng những hệ thống từ các
công ty lớn nhƣ Microsoft, IBM… và phải trả chi phí cho việc sử dụng.
- Bên cạnh đó, cũng có một số nhà nghiên cứu trong nƣớc có tham gia nghiên cứu điện toán
đám mây dựa trên phần mềm mã nguồn mở nhƣ OpenStack, CloudStack, OpenNebula,
Eucalyptus… nhƣng vẫn trong giai đoạn thử nghiệm.
1.2.2 Tình hình nghiên cứu ở nƣớc ngồi:
- Các hệ thống điện tốn đám mây mã nguồn đƣợc nghiên cứu phổ biến ở nhiều nƣớc trên
thế giới. Nổi tiếng có OpenNebula, CloudStack, Eucalyptus…

1.3 NHỮNG VẤN ĐỀ CÒN TỒN TẠI:
- Đa phần chỉ nghiên cứu cơ sở lý thuyết, ít triển khai thực tế.
- Ứng dụng điện toán đám mây trong thực tế khi sử dụng đều dùng của các hãng lớn nên phải

trả chi phí.

SVTH: Hồng Tuấn Đức, Hoàng Thái Xuân Khoa


Trang 2


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

2

PHẦN 2: GIẢI QUYẾT VẤN ĐỀ

2.1 MỤC ĐÍCH ĐỀ TÀI:
-

Phục vụ cho công việc học tập và nghiên cứu về điện tốn đám mây.
Tìm hiểu kiến trúc phần mềm mã nguồn mở OpenNebula.
Hiểu và giải thích đƣợc cơ chế xây dựng đám mây riêng trong thực tế.
Sử dụng giao diện lập trình ứng dụng để xây dựng chƣơng trình quản lý tài nguyên ảo.

2.2 PHƢƠNG PHÁP NGHIÊN CỨU:
- Phƣơng pháp phân loại hệ thống hóa lý thuyết: ngƣời nghiên cứu tiến hành thu thập các

tài liệu có liên quan đến điện toán đám mây, đám mây riêng, phần mềm mã nguồn mở
OpenNebula. Sau đó, ngƣời nghiên cứu tiến hành sắp xếp lại các tài liệu đã thu thập đƣợc
theo từng chủ đề.
- Phƣơng pháp phân tích và tổng hợp lý thuyết: ngƣời nghiên cứu tiến hành phân tích và
tổng hợp các nội dung căn bản của điện toán đám mây. Đặc biệt là các nội dung về đám mây
riêng và phần mềm mã nguồn mở OpenNebula. Từ kết quả có trên, ngƣời nghiên cứu tiến
hành đánh giá, xem xét và dùng những kết quả đó vào q trình triển khai thực tế.
- Phƣơng pháp thực nghiệm: ngƣời nghiên cứu dựa trên kết quả thu đƣợc từ hai phƣơng
pháp nghiên cứu đầu tiên để áp dụng vào quá trình cài đặt, triển khai cụ thể đám mây riêng

bằng phần mềm mã nguồn mở OpenNebula và xây dựng phần mềm quản lý tài nguyên ảo
dựa trên bộ giao diện lập trình mà OpenNebula cung cấp.

2.3 NỘI DUNG:
2.3.1 Tìm hiểu nội dung tổng quan về phần mềm mã nguồn mở OpenNebula
2.3.1.1 Tổng quan về OpenNebula
- OpenNebula hoàn toàn là một dự án mã nguồn mở hƣớng vào tầng IaaS (Infrastructure as a
Service) của cơng nghệ điện tốn đám mây. OpenNebula có thể đƣợc sử dụng nhƣ là cơng cụ
ảo hóa để quản lý các hạ tầng cơ sở ảo trong các trung tâm dữ liệu. Chức năng này đƣợc biết
đến nhƣ là việc tạo ra một đám mây riêng (private cloud). Bên cạnh đó, OpenNebula cịn hỗ
trợ một dạng đám mây khác đƣợc biết với tên là đám mây lai (Hybrid cloud). Đám mây lai
chính là sự kết hợp giữa cơ sở hạ tầng hiện tại của một tổ chức với các cơ sở hạ tầng bên
ngoài. Sự kết hợp này nhằm tăng tính năng dễ dàng thích ứng với nhiều mơi trƣờng lƣu trữ
khác nhau. Cuối cùng, OpenNebula còn hỗ trợ trong việc tạo ra đám mây công cộng (public
cloud)bằng cách cung cấp các giao diện lập trình để mở rộng các chức năng cho các máy ảo,
hệ thống lƣu trữ và quản lý mạng.
- OpenNebula là kết quả của nhiều năm nghiên cứu và phát triển về quá trình quản lý các
máy ảo dựa trên các hạ tầng cơ sở phân tán lớn và linh động. Những đặc tính nổi bật của
OpenNebula cũng đã đƣợc phát triển để đáp ứng đƣợc các u cầu về quy trình nghiệp vụ
của nhiều cơng ty IT hàng đầu.
- OpenNebula cũng đƣợc sử dụng nhƣ một nền tảng mở để nghiên cứu những thách thức đến
từ việc quản lý các đám mây dùng trong các doanh nghiệp. Hiện tại, OpenNebula đã phát
triển tới phiên bản 3.0.

SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 3


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh


2.3.1.2 Các mốc phát triển của OpenNebula
- OpenNebula là dự án nghiên cứu từ năm 2005. Sau quá trình nghiên cứu thử nghiệm, thì
đến tháng 3 năm 2008, OpenNebula chính thức đƣợc phát hành rộng rãi dƣới dạng phiên bản
mã nguồn mở.

Hình 1: Quá trình phát triển của OpenNebula [3]

- Kể từ sau năm 2008, các phiên bản tiếp theo của OpeNebula lần lƣợt đƣợc phát hành rộng

rãi hơn đến cộng đồng. Đáng kể là vào giữa năm 2009 thì OpenNebula đã chính thức đƣợc
hệ điều hành Ubuntu – hệ điều hành mã nguồn mở nhân Linux nổi tiếng hỗ trợ vào các phiên
bản của hệ điều hành này.
- Các giai đoạn tiếp theo là sự cải thiện dần những tính năng của OpenNebula thân thiện hơn
với ngƣời dùng. Và đặc biệt là hỗ trợ thƣơng mại điện tử. Điển hình là hệ thống AmazonEC2
của cơng ty Amazon.
2.3.2 Kiến trúc của OpenNebula
- Kiến trúc của OpenNebula có thể chia làm ba tầng chính:
Tầng đầu tiên: cơng cụ (tools) dùng để quản lý các công cụ đƣợc phát triển sử dụng
các giao diện đƣợc cung cấp bởi phần lõi của OpenNebula.
Tầng thứ hai: lõi (core) gồm các thành phần chính nhƣ các máy ảo, các thiết bị lƣu
trữ và các thành phần để quản lý các máy chủ.
Tầng thứ ba: trình điều khiển thiết bị (drivers) gồm các trình điều khiển thiết bị để
quản lý các cơng nghệ ảo hóa, các thiết bị lƣu trữ khác nhau và giám sát các cơng nghệ cũng
nhƣ các dịch vụ lõi.

SVTH: Hồng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 4



Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

Hình 2: Tổng quan kiến trúc OpenNebula [3]

2.3.3 Chi tiết các tầng trong kiến trúc của OpenNebula
Tầng công cụ:
- Đây là tầng chứa các công cụ đƣợc phân phối bởi OpenNebula nhƣ là Command Line
Interface (CLI), bộ lập lịch (scheduler)… Ngồi các cơng cụ do OpenNebula cung cấp, cịn
có các công cụ do các nhà phát triển tạo ra nhằm giúp cho việc quản lý của OpenNebula
đƣợc khoa học và dễ dàng hơn cũng nằm ở tầng này. Các nhà phát triển có thể tạo đƣợc các
cơng cụ ở tầng này dựa vào giao diện XML-RPC hoặc là bộ thƣ viện Cloud API.
Tầng lõi:
- Ở tầng lõi bao gồm một tập các thành phần để điều khiển và giám sát các máy ảo, các mạng
ảo, các thiết bị lƣu trữ và các máy chủ. Các thành phần này thực hiện các hành động giám sát
và điều khiển bằng cách gọi các trình điều khiển thiết bị thích hợp.
- Những chức năng chính ở tầng lõi bao gồm:
 Quản lý yêu cầu (Request Manager): xử lý các yêu cầu từ phía ngƣời dùng.
 Quản lý máy ảo (Virtual Machine Manager):dùng để quản lý và giám sát các máy
ảo có trong hệ thống.
 Quản lý chuyển tải (Transfer Manager): dùng để quản lý việc truyền tải các ảnh
đĩa của các máy ảo.
 Quản lý mạng ảo (Virtual Network Manager): dùng để quản lý các mạng ảo đã
đƣợc tạo ra.
 Quản lý máy chủ (Host Manager):dùng để quản lý và giám sát các tài nguyên vật lý
của các máy chủ.
 Cơ sở dữ liệu: lƣu trữ cấu trúc cơ sở dữ liệu cho OpenNebula.
Tầng các trình điều khiển thiết bị:
- Ở tầng các trình điều khiển thiết bị, OpenNebula có một tập các module có thể linh hoạt
tƣơng tác với các thành phần trung gian (middleware) cụ thể.

- Có thể kể đến các module nhƣ:
SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 5


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh
 Ảo hóa trình siêu giám sát (virtualization hypervisor)
 Dịch vụ cho đám mây (cloud services)
 Các cơ chế chuyển tập tin (file transfer mechanisms)

2.3.4 Triển khai hệ thống đám mây riêng
- Sau quá trình nghiên cứu và tìm hiểu về các tính năng mà OpenNebula mang lại, trong phần
này, chúng ta sẽ tiến hành cài đặt một hệ thống đám mây dạng IaaS sử dụng các công nghệ
đƣợc cung cấp bởi phần mềm nguồn mở OpenNebula. Đám mây này đƣợc biết với tên gọi là
đám mây riêng (private cloud).
- Trong phần cài đặt này, chúng ta sẽ sử dụng hệ điều hành Ubuntu để minh họa quá trình cài
đặt thực tế một đám mây riêng sử dụng công nghệ của OpenNebula. Trong khi cài đặt trên hệ
điều hành Ubuntu, chúng ta sẽ sử dụng quyền root để cài đặt.
2.3.4.1 Mơ hình cài đặt
Có hai chế độ cài đặt, chế độ thứ nhất là dùng chế độ shared file để chia sẻ các tập tin của
máy ảo, chế độ thứ hai là dùng ssh để sao chép các máy ảo.

Hình 3: Dùng chế độ SSH [3]

SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 6



Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

Hình 4: Dùng chế độ shared files [3]

Sau khi cài đặt, thƣ mục của OpenNebula sẽ có cấu trúc theo nhƣ hình sau:

Hình 5: Cấu trúc thƣ mục sau khi cài đặt [3]

2.3.4.2 Bước 1: Cài đặt OpenNebula
Tại cluster, ta cài đặt OpenNebula sau khi đã tải tập tin Ubuntu-12.04-opennebula_3.6.01_amd64.deb
tại trang chủ của OpenNebula (www.opennebula.org) bằng câu lệnh sau:
SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 7


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh
sudo dpkg -i Ubuntu-12.04-opennebula_3.6.0-1_amd64.deb

Sau đó ta thiết lập mật khẩu cho tài khoản oneadmin nhƣ sau:
sudo passwd oneadmin

2.3.4.3 Bước 2: Kiểm tra id và gán tài khoản oneadmin vào chung nhóm
Thực hiện trên cluster.
id oneadmin
sudo usermod –u 999 oneadmin (với 999 l{ gi| trị uid mới cho t{i khoản oneadmin)
sudo groupmod -g 999 oneadmin (với 999 l{ gi| trị gid mới cho nhóm oneadmin)
sudo usermod –a –G libvirtd oneadmin
sudo usermod –a –G kvm oneadmin
sudo groupadd -g 999 oneadmin

sudo useradd -u 999 -g oneadmin -m oneadmin -s /bin/bash
sudo usermod -d /var/lib/one oneadmin sudo passwd
oneadmin
sudo chown oneadmin:oneadmin /var/lib/one

2.3.4.4 Bước 3: Cài đặt SSH, NFS, KVM, QEMU, LIBVIRT, BRIDGE UTILITY
Thực hiện trên cluster và các node.
sudo apt-get install openssh-server openssh-client
sudo apt-get install nfs-kernel-server
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

2.3.4.5 Bước 4: Cấu hình mạng giữa cluster và node dùng Bridge (br0)
Thực hiện trên cluster.
sudo nano /et c/network/interface
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp of

/


Thoát khỏi file interface v{ restart lại network.
sudo /etc/init.d/networking restart

Thực hiện trên các node.
sudo nano /et c/network/interface
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.1.3

SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 8


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp of

/


Tho|t khỏi file interface v{ restart lại network.
sudo /etc/init.d/networking restart

2.3.4.6 Bước 5: Tạo biến môi trường và cấp quyền cho oneadmin
Thực hiện trên cluster.
sudo nano ~/.profile
export ONE_XMLRPC=http://localhost:2633/RPC2
export ONE_AUTH=/var/lib/one/.one/one_auth .
~/.profile

sudo
sudo
sudo
sudo

echo "oneadmin:123" > $ONE_AUTH
chown oneadmin:oneadmin $ONE_AUTH
chown oneadmin:oneadmin -R /var/lib/one
chmod 600 -R /var/lib/one

/

Cấp quyền thực thi cho oneadmin trên thư mục home của nó l{
/var/lib/one sudo chmod 700 -R /var/lib/one oneadmin

2.3.4.7 Bước 6: Cấu hình SSH
Thực hiện trên cluster và node.
sudo nano /etc/ssh/ssh_config

File ssh_config (chú ý dòng StrictHostKeyChecking, mặc định dòng này là comment và giá

trị là ask, ta bỏ comment và thay đổi giá trị là no).
sudo nano /etc/ssh/sshd_config

File sshd_config (chú ý dòng UsePAM, mặc định dòng này là yes, ta thay đổi giá trị là no).
Sau đó, ta restart lại dịch vụ SSH bằng câu lệnh sau:
sudo /etc/init.d/ssh restart

Từ chỗ cấu hình dƣới đây ta chỉ làm ở cluster.
Tiếp theo, ta tạo RSA key cho user oneadmin:
su -l oneadmin
ssh-keygen

/

Copy nội dung public key v{o tập tin authorized_keys nằm trên cluster
cp /var/lib/one/.ssh/id_rsa.pub /var/lib/one/.ssh/authorized_keys

/

Sau đó copy nội dung pubic key v{o tập tin authorized_keys nằm trên
node01

scp /var/lib/one/.ssh/id_rsa.pub oneadmin@node01:/var/lib/one/.ssh/authorized_keys
sudo sh -c "cat /var/lib/one/.ssh/id_rsa.pub >> /var/lib/one/.ssh/authorized_keys"

ssh node01
exit
// Tại c}u lệnh n{y dùng quyền root đề thực thi.
sudo sh -c "ssh-keygen -f .ssh/known_hosts -F node01 1>> /etc/ssh/ssh_known_hosts"


SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 9


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

2.3.4.8 Bước 7: Cấu hình NFS
Thực hiện trên cluster và node. Tại cluster, ta vào tập tin /etc/exports để cấu hình thƣ mục
chia sẻ chung. Ta thêm vào tập tin exports các nội dung sau:
/var/lib/one 192.168.1.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check)

Tiếp theo chúng ta cần phải khởi động lại dịch vụ NFS Server bằng câu lệnh sau:
service nfs-kernel-server restart

Sau đó, tại các node con ta cấu hình để có thể sử dụng đƣợc thƣ mục đã chia sẻ trên
/etc/fstab
192.168.1.15:/var/lib/one

/var/lib/one

nfs

rw,hard,intr

0

0

Với 192.168.1.15 là địa chỉ IP của máy cluster.

Sau đó, ta tiến hành cài đặt nfs-client trên từng node con và tiến hành gắn thƣ mục dùng
chung trên cluster vào các node con.
sudo apt-get install nfs-client nfs-common
sudo mkdir -p /var/lib/one
sudo mount /var/lib/one

2.3.4.9 Bước 8: Tạo thư mục chứa images
Thực hiện trên cluster. Tạo thƣ mục chứa ảnh ảo. Đây sẽ là nơi lƣu trữ ảnh ảo của các node
con trong đám mây.
mkdir /var/lib/images
chown –R oneadmin:oneadmin /var/lib/images

2.3.4.10 Bước 9: Cấu hình VNC, QEMU, LIBVIRT
Thực hiện trên cluster và node.
sudo nano /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"
dynamic_ownership = 0
user = "oneadmin"
group = "oneadmin"
sudo service libvirt-bin restart
sudo chown :oneadmin /var/run/libvirt/libvirt-sock
sudo nano /etc/libvirt/libvirtd.conf unix_sock_group =
"oneadmin"

2.3.4.11 Bước 10: Thêm các node
onehost create node01 --im im_kvm --vm vmm_kvm --net
dummy onehost list

Tiếp theo, tải tập tin ttylinux.img về, giải nén và copy vào thƣ mục images.
Đƣờng dẫn để download file ttylinux:

/>
Sau khi tải và giải nén ảnh ảo, chúng ta tiến hành chép ảnh ảo vào đƣờng dẫn: /var/lib/
/images/

2.3.4.12 Bước 11: Tạo mạng ảo
Tạo tập tin mẫu để tạo mạng ảo. Tập tin mẫu có tên là vnetUTE_template và có nội dung nhƣ
sau:
NAME

SVTH: Hồng Tuấn Đức, Hồng Thái Xuân Khoa

= " UTENetwork"


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh
TYPE
BRIDGE
LEASES
LEASES
LEASES

Tiếp theo, chúng ta sẽ sử dụng câu lệnh sau để tạo mạng ảo:
onevnet create vnetUTE_template
onevnet list

2.3.4.13 Bước 12: Tạo ảnh ảo
Tạo tập tin mẫu để tạo ảnh ảo. Tập tin mẫu này có tên là image.template và có nội dung nhƣ
sau:
NAME
PATH

TYPE
PUBLIC
DESCRIPTION

Tiếp theo, chúng ta sẽ sử dụng câu lệnh sau để tạo ảnh ảo:
oneimage create image.template -d default
oneimage list

Với default là datastore mặc định của hệ thống. Để biết đƣợc có bao nhiêu datastore ta sử
dụng câu lệnh sau:
onedatastore list

2.3.4.14 Bước 13: Tạo máy ảo
Tạo tập tin mẫu để tạo máy ảo. Tập tin mẫu có tên là vmUTE_template và có nội dung nhƣ
sau:
NAME
CPU
MEMORY
OS
DISK =
DISK
source
target
type
size
readonly
GRAPHICS =
TYPE
LISTEN
PORT

NIC
FEATURES

=
=
=
=[
[IMAGE
=[

=

Tiếp theo, chúng ta sẽ sử dụng câu lệnh sau để tạo máy ảo:
onevm create vmUTE_template
onevm list

SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 11


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

Sau khi đã tạo máy ảo xong, ta có thể dùng chƣơng trình virsh-install hoặc VNC để kết nối
tới máy ảo và sử dụng.
2.3.5 Xây dựng ứng dụng quản lý tài nguyên ảo
2.3.5.1 Mục đích của ứng dụng
- Trong chƣơng trƣớc, chúng ta đã tìm hiểu tổng quan về OpenNebula và cách làm thết nào
để cài đặt một đám mây riêng bằng OpenNebula cũng nhƣ là việc quản lý tài ngun trên
đám mây riêng đó. Tuy nhiên, trong q trình cài đặt cũng nhƣ quản lý, ta thấy còn nhiều bất

cập nhƣ việc quản lý đám mây riêng lại dựa vào các câu lệnh trên chƣơng trình Terminal của
hệ điều hành Ubuntu, các câu lệnh đơi lúc gây khó khăn, khó nhớ cho ngƣời quản lý… Vì
nhóm nghiên cứu đã tiến hành xây dựng một ứng dụng chuyên về quản lý các tài nguyên ảo
của một đám mây riêng.
- Dựa trên các yêu cầu phát sinh trong quá trình cài đặt cũng nhƣ quản lý đám mây riêng,
trƣớc tiên ứng dụng cần phải đáp ứng đầy đủ các yêu cầu chức năng cơ bản nhất. Sau đó, để
có thể hỗ trợ tối đa cho ngƣời quản lý trong các tác vụ quản lý hàng ngày, ứng dụng cần phải
hiện thực thêm các chức năng quản lý cấp cao hơn nhƣ là cho phép tạo và quản lý ngƣời
dùng, tạo lập các nhóm ngƣời dùng quản lý riêng, cung cấp các mẫu cho việc tạo các mạng
ảo, máy ảo…
- Qua quá trình tìm hiểu, nhóm đƣợc biết là OpenNebula cũng cung cấp cho cộng đồng lập
trình viên các bộ thƣ viện để giúp cho cộng đồng lập trình viên có thể dễ dàng tiếp cận cũng
nhƣ xây dựng các ứng dụng hỗ trợ cho việc tƣơng tác với OpenNebula.Do vậy, nhóm đã tiến
hành tìm hiểu và nghiên cứu về bộ thƣ viện này cũng nhƣ xây dựng một ứng dụng điện toán
đám mây để quản lý một đám mây riêng.
2.3.5.2 Giới thiệu về giao diện lập trình ứng dụng
2.3.5.2.1 Tổng quan kiến trúc giao diện lập trình ứng dụng
- OpenNebula đƣợc thiết kế để dễ dàng tƣơng thích với các hạ tầng cơ sở khác nhau cũng
nhƣ dễ dàng mở rộng với các thành phần mới. Kết quả là các hệ thống đƣợc xây dựng dựa
trên OpenNebula đều có thể dễ dàng thích ứng với các loại đám mây trong cơng nghệ điện
toán đám mây nhƣ đám mây riêng, đám mây lai và đám mây cơng cộng.
- Hình phía dƣới đây miêu tả tổng quan về kiến trúc của giao diện lập trình ứng dụng:

SVTH: Hồng Tuấn Đức, Hồng Thái Xn Khoa

Trang 12


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh


Hình 6: Tổng quan giao diện lập trình ứng dụng [3]

- Trƣớc tiên, giao diện lập trình ứng dụng của OpenNebula đƣợc phân lớp thành hai thành

phần chính dựa vào hai loại ngƣời sử dụng đó là: thành phần dành cho ngƣời dùng cuối và
thành phần dành cho các nhà phát triển, quản lý các đám mây.
- Thành phần dành cho ngƣời dùng cuối đƣợc biết đến với tên gọi là giao diện tƣơng tác
đám mây (cloud interfaces). Bên cạnh đó, thành phần dánh cho các nhà phát triển, quản lý
các đám mây thì đƣợc biết đến với tên gọi giao diện tƣơng tác hệ thống (system interfaces).
2.3.5.2.2 Giao diện tƣơng tác đám mây (cloud interfaces)
- Giao diện tƣơng tác đám mây cung cấp các giao diện tƣơng tác để phục vụ, cho phép
ngƣời dùng cuối quản lý các máy ảo, các mạng ảo cũng nhƣ các ảnh ảo thông qua cách đơn
giản và dễ sử dụng đó là REST API. REST là một dạng yêu cầu dịch vụ web từ máy khách và
đƣợc gọi thông qua các hàm API. Giao diện tƣơng tác đám mây đã che giấu đi rất nhiều các
điểm phức tạp của điện toán đám mây và thật sự tƣơng thích với ngƣời dùng cuối.
OpenNebula cung cấp hai dạng giao diện tƣơng tác đám mây khác nhau, đó là:
 EC2-Query API: đây là bộ giao tiếp đƣợc xây dựng theo nhu cầu phù hợp với ngƣời

dùng cuối sử dụng Amazon EC2. Bộ giao tiếp này chủ yếu phục vụ cho việc giao tiếp
và quản lý các máy ảo.
 OCCI-OGF: đây là một dạng dịch vụ web cho phép ngƣời dùng cuối có thể khởi
động và quản lý các máy ảo dựa trên những tính năng mới nhất của OCCI. OCCI
đƣợc hiểu nhƣ là giao tiếp điện toán đám mây mở (Open Điện toán đám mây
Interface), là một dạng dịch vụ web cung cấp cho các tác vụ quản lý của điện toán
đám mây.
- Chúng ta nên cân nhắc sử dụng giao diện tƣơng tác đám mây này khi thiết kế các cổng
thông tin, các công cụ hoặc các giải pháp chuyên biệt dành cho đối tƣợng là ngƣời dùng
cuối.

SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa


Trang 13


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

2.3.5.2.3 Giao diện tƣơng tác hệ thống (system interfaces)
- Giao diện tƣơng tác hệ thống cung cấp các giao diện tƣơng tác phù hợp với đối tƣợng là
các nhà phát triển và quản lý các tài nguyên ảo dựa trên cơng nghệ điện tốn đám mây. Bản
chất của loại giao tiếp tƣơng tác này là cung cấp một bộ thƣ viện nhƣng đƣợc thiết kế theo
các loại ngôn ngữ, công nghệ khác nhau, tạo điều kiện thuận lợi cho cộng đồng các nhà phát
triển. Bộ giao tiếp này gồm các phần sau:
 Bộ giao tiếp OpenNebula XML-RPC: đây là bộ giao tiếp chính của OpenNebula.

Bộ giao tiếp này cung cấp các chức năng cho việc quản lý các tài nguyên nhƣ các
máy ảo, mạng ảo… dựa trên dịch vụ web là XML-RPC.
 Bộ giao tiếp OpenNebula Cloud API (OCA): đây là bộ giao tiếp cung cấp cách thức
để tƣơng tác với phần lõi của OpenNebula. Bộ giao diện này cũng có những chức
năng tƣơng tự nhƣ OpenNebula XML-RPC nhƣng đƣợc xây dựng lại trên hai ngôn
ngữ là Ruby và Java. Chính vì vậy, cộng đồng các nhà phát triển có thể sử dụng bộ
giao tiếp này để phát triển cho các ứng dụng của mình.
 Bộ giao tiếp OpenNebula Drivers: đây là bộ giao tiếp bao gồm các trình điều khiển
thiết bị đã đƣợc thiết kế một cách cẩn thận nhằm mục đích quản lý việc tƣơng tác
giữa OpenNebula và các hạ tầng cơ sở bên dƣới.
 Bộ giao tiếp OpenNebula Database: đây là bộ giao tiếp dùng để tƣơng tác với cơ sở
dữ liệu các đám mây đã tạo. Bộ giao tiếp này có thể sử dụng MySQL hoặc SQLite để
làm hệ quản trị cơ sở dữ liệu. Chúng ta có thể sử dụng bộ giao tiếp này khi cần xuất
báo cáo về các giao dịch sử dụng tài nguyên đám mây hoặc các hóa đơn…
2.3.5.3 Tổng quan kiến trúc ứng dụng quản lý tài nguyên ảo
Sơ đồ chức năng


SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 14


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

uc TongQuanChucNang

mạng ảo

Xem chi tiết từng
máy chủ

«include»


Xem thông tin các

máy chủ

Xem danh sách các
máy chủ hiện có

«include»

«extend»

«include»


Tắt máy chủ

«extend»
Quản lý máy chủ

«extend»

Xem danh sách các

«extend»

mạng ảo hiện có

Xóa máy chủ

Quản trị viên

«extend»
«extend»
Xem danh sách các

Thêm mạng ảo

Xóa mạng ảo

«include»

Quản lý máy ảo
«include»


«extend»
«extend»
«extend»
«extend»

Tắt máy ảo

«extend»

Triển khai máy ảo

Xóa máy ảo

Hình 7: Sơ đồ chức năng của ứng dụng quản lý tài nguyên ảo

Tải lại máy ảo


SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 15


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

2.4 KẾT QUẢ ĐẠT ĐƢỢC:
2.4.1 Tính khoa học:
- Hiểu và giải thích đƣợc cơ chế xây dựng hệ thống đám mây riêng dựa trên phần mềm
OpenNebula.

- Hiểu đƣợc kiến trúc phần mềm mã nguồn mở OpenNebula.
- Sử dụng đƣợc các giao diện lập trình mà OpenNebula cung cấp để xây dựng hệ thống quản
lý tài nguyên ảo trên đám mây riêng.
2.4.2 Khả năng triển khai ứng dụng vào thực tế:
- Hệ thống đám mây riêng đƣợc triển khai dựa trên phần mềm mã nguồn mở OpenNebula có
thể áp dụng vào các mục đích khác nhau nhƣ là:
 Xây dựng đám mây riêng cho một tổ chức có nhu cầu.
 Kết quả từ đề tài nghiên cứu có thể phục vụ tiếp cho công tác học tập và nghiên cứu
về điện toán đám mây, đặc biệt là về đám mây riêng sử dụng phần mềm mã nguồn mở
OpenNebula.
 Tƣ vấn các lỗi, các khúc mắc trong quá trình triển khai cho các tổ chức, các cá nhân
có nhu cầu.
2.4.3 Hiệu quả kinh tế - xã hội:
- Nếu các tổ chức, các cá nhân có nhu cầu áp dụng điện tốn đám mây, đặc biệt là sử dụng
đám mây riêng sẽ có rất nhiều ích lợi nhƣ: các tổ chức hoặc các cá nhân đó có tồn quyền
kiểm sốt cơ sở hạ tầng thiết bị cũng nhƣ các phần mềm sử dụng trên đám mây riêng đó.
- Bên cạnh đó, nếu các tổ chức, cơ quan nhà nƣớc sử dụng thì đám mây riêng hoàn toàn đáp
ứng đƣợc nhu cầu bảo mật dữ liệu do toàn bộ cơ sở hạ tầng đều tự đầu tƣ sở hữu, không phụ
thuộc vào các dịch vụ đám mây công cộng ở các tổ chức bên ngoài cung cấp.

3

PHẦN 3: KẾT LUẬN

3.1 KẾT LUẬN:
3.1.1 Những kết quả đã đạt đƣợc:
- Tìm hiểu cơ bản về điện tốn đám mây cũng nhƣ các mơ hình kiến trúc trên điện tốn đám
mây.
- Tìm hiểu kiến trúc phần mềm mã nguồn mở OpenNebula.
- Hiện thực hóa đám mây riêng để phục vụ cho công tác học tập và nghiên cứu.

- Tìm hiểu giao diện lập trình ứng dụng và hiện thực hóa ứng dụng quản lý tài nguyên ảo.
- Hệ thống có thể hỗ trợ cho việc kiểm thử các thuật tốn lập lịch để tối ƣu hóa việc sử dụng
tài nguyên.
3.1.2 Những tồn tại:
- Ứng dụng quản lý tài nguyên ảo còn thiếu một số chức năng nâng cao.

SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 16


Tìm hiểu điện tốn đám mây và hiện thực ứng dụng quản lý tài nguyên ảo GVHD: TH.S Lê Văn Vinh

3.2 ĐỀ NGHỊ:
- Sau khi đã hoàn thành đề tài nghiên cứu, nhóm nghiên cứu nhận thấy việc sử dụng máy ảo

trong đám mây riêng cịn khá khó khăn, nên ngồi việc sử dụng máy ảo nhân Linux, nhóm
nghiên cứu cịn mong muốn có thể cài đặt và triển khai các máy ảo Windows hoặc các hệ
điều hành phổ biến khác cho phù hợp với những yêu cầu đa dạng từ ngƣời sử dụng.
- Bên cạnh việc tạo lập và quản trị đám mây riêng, OpenNebula còn cho phép tạo lập và triển
khai các đám mây công cộng và các đám mây lai để phù hợp với yêu cầu đa dạng từ các tổ
chức, các cơng ty… Do đó, trong các nghiên cứu tiếp theo, nhóm nghiên cứu dự tính sẽ
nghiên cứu về đám mây công cộng và đám mây lai dựa trên phần mềm mã nguồn mở
OpenNebula.

SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 17



TÊN ĐỀ TÀI:
TÌM HIỂU ĐIỆN TỐN ĐÁM MÂY VÀ HIỆN THỰC ỨNG DỤNG
QUẢN LÝ TÀI NGUYÊN ẢO
Giáo viên hƣớng dẫn: ThS. Lê Văn Vinh
Sinh viên thực hiện: Hoàng Tuấn Đức, Hồng Thái Xn Khoa
Email: ,
Đơn vị: Khoa Cơng Nghệ Thơng Tin

3.3 POSTER:

TĨM TẮT:
Triển khai hệ thống đám
mây riêng dựa trên phần
mềm mã nguồn mở
OpenNebula. Bên cạnh đó,
xây dựng và phát triển hệ
thống giám sát, quản lý tài
nguyên ảo trên đám mây
riêng đã triển khai để kiểm
tra quá trình hoạt động của hệ
thống một cách trực quan.
Kết quả đạt đƣợc từ đề tài có
thể sử dụng, phục vụ cho
việc nghiên cứu về điện toán
đám mây, đặc biệt là đám
mây riêng dựa trên
OpenNebula.
Keywords: điện toán đám
mây (cloud computing), đám
mây riêng (private cloud),

OpenNebula, KVM, QEMU,
Libvirt.

I. ĐẶT VẤN ĐỀ
1. Đối tƣợng nghiên cứu:
- Hệ thống đám mây
riêng dựa trên phần mềm
mã nguồn mở
OpenNebula.
- Bộ giao diện lập trình ứng
dụng APIs của phần mềm
mã nguồn mở OpenNebula.
2. Tình hình nghiên cứu
trong và ngồi nƣớc:
2.1 Tình hình trong nƣớc:
- Đối với việc xây dựng hệ
thống đám mây riêng thì đa
số sử dụng những hệ thống
từ các cơng ty lớn nhƣ
Microsoft, IBM…

- Bên cạnh đó, cũng có một

số nhà nghiên cứu trong
nƣớc có tham gia nghiên
cứu điện toán đám mây dựa
trên phần mềm mã nguồn
mở nhƣ OpenStack,
CloudStack, OpenNebula,
Eucalyptus… nhƣng vẫn

trong giai đoạn thử nghiệm.

2.2 Tình hình nƣớc ngồi:
- Các hệ thống điện tốn đám
mây mã nguồn đƣợc nghiên
cứu phổ biến ở nhiều nƣớc
trên thế giới. Nổi tiếng có
OpenNebula,
CloudStack, Eucalyptus…
3. Những vấn đề cịn tồn
tại:
- Đa phần chỉ nghiên cứu
cơ sở lý thuyết, ít triển
khai thực tế.
- Ứng dụng điện toán đám
mây trong thực tế khi sử
dụng đều dùng của các hãng
lớn nên phải trả chi phí.

PHƢƠNG
PHÁP VÀ NỘI
DUNG NGHIÊN
CỨU
AI.

- Phƣơng pháp phân loại

hệ thống hóa lý thuyết:
nhóm nghiên cứu tiến hành
thu thập các tài liệu có liên

quan đến điện toán đám
mây, đám mây riêng, phần
mềm mã nguồn mở
OpenNebula. Sau đó, nhóm
nghiên cứu tiến hành sắp
xếp lại các tài liệu đã thu
thập đƣợc theo từng chủ đề.
- Phƣơng pháp phân tích
và tổng hợp lý thuyết:
nhóm nghiên cứu tiến hành
phân tích và tổng hợp các
nội dung căn bản của điện
toán đám mây. Đặc biệt là
các nội dung về đám mây

riêng và phần mềm mã
nguồn mở OpenNebula. Từ
kết quả có trên, nhóm nghiên
cứu tiến hành đánh giá, xem
xét và dùng những kết quả đó
vào q trình triển khai thực
tế.
- Phƣơng
pháp
thực
nghiệm: nhóm nghiên cứu
dựa trên kết quả thu đƣợc từ
hai phƣơng



pháp
nghiên
cứu đầu
tiên để
áp dụng
vào quá
trình cài
đặt, triển
khai cụ
thể đám
mây
riêng
bằng
phần
mềm mã
nguồn
mở
OpenNe
bula và
xây
dựng
phần
mềm
quản lý
tài
ngun
ảo dựa
trên bộ
giao
diện lập

trình mà
OpenNe
bula
cung
cấp.

III.
KẾT
QUẢ
NGHI
ÊN
CỨU
- Tìm
hiểu
đƣợc
điện
tốn
đám
mây và
đặc biệt
là đám
mây

riêng,
các
lợi ích

khó
khăn
trong

việc
sử
dụng
điện
tốn
đám
mây.
- Xây
dựng

triển
khai
thành
cơng
đám
mây
riêng
dựa
trên
phần
mềm

nguồn
mở
Open
Nebul
a và
giải
thích
đƣợc


chế
hoạt
động
của
đám
mây
riêng
trong
thực
tế.
- Xâ
y
dựn
g và
triể
n
khai

ứng
dụn
g
quả
n lý
tài
ngu
n
ảo.

OpenNebula và hiện thực

hóa đám mây riêng để phục
vụ cho công tác học tập và
nghiên cứu.

- Tìm hiểu giao diện lập

trình ứng dụng và hiện
thực hóa ứng dụng quản lý
tài nguyên ảo.
- Hệ thống có thể hỗ trợ
cho việc kiểm thử các thuật

SVTH: Hoàng Tuấn Đức, Hồng Thái Xn Khoa
Trang 18

Hình 9:

hình
triển
khai
dùng
NFS.
[3]

Hình
8: Mơ
hình
triển
khai
dùng

SSH.
[3]

IV.
KẾT
LUẬN
:
- Tì

m
hiểu

bản
về
điện
tốn
đám
mây
cũng
nhƣ
các

hình
kiến
trúc
trên
điện
tốn
đám
mây.

- Tìm
hiểu
kiến
trúc
phần
mềm

nguồn
mở

tốn lập lịch để tối ƣu hóa
việc sử dụng tài nguyên.
TÀI LIỆU THAM KHẢO
1.
2.

3.
4. Sun Microsystems (2009),

Introduction to cloud
st
computing architecture, 1
Edition, United States.


4

PHẦN PHỤ LỤC (nếu có)

5

TÀI LIỆU THAM
1.
2.
3.

KHẢO

st

4. Sun Microsystems (2009), Introduction to cloud computing architecture, 1 Edition,

United States.

SVTH: Hoàng Tuấn Đức, Hoàng Thái Xuân Khoa

Trang 19



×