Điện toán đám mây là một cuộc dịch chuyền cách mạng trong đó việc tính toán sẽ được chuyền từ máy tính cá nhân và thậm chí cả các máy chủ ứng dụng doanh nghiệp, cá nhân đến một đám mây m
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
DO DUY BINH
NGHIEN CUU CONG NGHE LUU TRU DU LIEU DAM MAY OPENSTACK
VA UNG DUNG XAY DUNG HA TANG KHO DU LIEU
Chuyén nganh: Khoa hoc may tinh
Mã số: 60.48.01.01
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2015
Trang 2Người hướng dẫn khoa học: TS.HOÀNG LÊ MINH
Phản biện 1: PGS.TS Nguyễn Đình Việt
Phản biện 2: TS Phùng Văn Ôn
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu
chính Viễn thông
Vào luc: 08 giờ 30 ngày 27 tháng 02 năm 2016
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MO DAU
Máy tinh ngày nay đã trở thành một phan tat yếu của cuộc sống Chúng ta cần máy
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àinguyên máy tính mà chúng ta cũng cần tăng lên Đối với các công ty lớn như Google vàMicrosoft, khai thác các nguồn tài nguyên như vậy khi họ cần không phải là một van đề lớn.Nhưng khi nói đến doanh nghiệp nhỏ hơn, các nguồn tài nguyên lớn như vậy trở thành mộtyếu tố rất lớn tác động đến kinh doanh Với những van đề lớn về cơ sở hạ tang CNTT nhưmáy hỏng, treo 6 cung, 16i phan mềm, vv Do thật su là những vấn đề rất đau đầu cho cácdoanh nghiệp Điện toán đám mây cung cấp một giải pháp cho tình trạng này
Điện toán đám mây là một cuộc dịch chuyền cách mạng trong đó việc tính toán sẽ
được chuyền từ máy tính cá nhân và thậm chí cả các máy chủ ứng dụng doanh nghiệp, cá
nhân đến một đám mây máy tính Dam mây là một hình tượng dé chỉ đến 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 máy tính khác nhau cho khách hàng của
họ Người sử dụng của hệ thong nay chi can duoc quan tâm tới các dich vụ may tính dang
được yêu cầu Cái chi tiết bên dưới hệ thống của 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 đữ liệu của đám mây cókhả năng mở rộng lớn và có thé được truy cập ở bat kỳ đâu, từ bat kỳ thiết bị được kết nối
trên thế giới
Điện toán đám mây hiện nay đang là xu hướng phát triển và nhận được nhiều sựquan tâm của các tô chức cũng như doanh nghiệp lớn trên thế giới, nó được nhắc đến như là
một cuộc cách mạng công nghệ trong thời đại Internet Trong đó, lưu trữ đám mây (cloud
storage) là một trong các dich vụ “đám mây” được sử dung khá nhiều hiện nay.Với công
nghệ lưu trữ “đám mây” người dùng không còn lệ thuộc vào các thiết bị lưu trữ vật lý như 6
cứng, thẻ nhớ và có thé truy cập vào kho dữ của minh ở bat kỳ nơi đâu có Internet
Với việc nghiên cứu và áp dụng công nghệ lưu trữ điện toán đám mây Openstack,
Viện Công nghiệp phần mềm và nội dung số Việt Nam (NISCI) là tổ chức khoa học và côngnghệ công lập, trực thuộc Bộ Thông tin và Truyền thông đã xây dựng và phát triển giải phápđiện toán đám mây “Rồng thông minh Việt Nam” iDragonClouds, đây là giải pháp tổng théxây dựng, quan lý và khai thác ha tang mang dùng riêng (nội bộ) và các kết nối cổng dich
vụ đám mây iDragonCloudGate.
Trang 4Nội dung của luận văn này là tìm hiểu về kiến trúc Openstack và giải pháp lưu trữđối tượng SwiftStack ứng dụng xây dựng xây dựng hạ tầng kho lưu trữ điện toán đám mây
“Rồng thông minh Việt Nam” iDragonClouds
Đó là lý do em chọn đề tài: “Nghiên cứu công nghệ lưu trữ dữ liệu đám mâyOpenstack và ứng dụng xây dựng hạ tang kho dữ liệu” làm luận Cấu trúc của luận văn
được chia làm ba chương, với nội dung chính của mỗi chương như sau:
s* Chương 1: Tổng quan về điện toán dam mây và lưu trữ đám mây.
s* Chương 2:Tìm hiểu giải pháp lưu trữ đám may với nền tảng Openstack
s%* Chương 3:Ung dụng Openstack để triển khai ha tang cho các kho dữ liệuđám mấy iDragonClouds
Trang 5Chương 1: TONG QUAN VE ĐIỆN TOÁN DAM MAY VÀ LƯU
TRU DAM MAY
1.1 Tổng quan về điện toán đám mây
1.1.1 Điện toán đám mây
Điện toán dam mây (cloud computing), còn gọi là điện toán máy chủ ảo, là mô hình
điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Thuật ngữ
"đám mây" ở đây là lối nói ấn dụ chỉ mạng Internet (dựa vào cách được bồ trí của nó trong
sơ đồ mạng máy tính) và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứatrong nó Theo tô chức IEEE "Nó là hình mẫu trong đó thông tin được lưu trữ thường trực
tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời ở các máy khách, bao gồm
máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp, các phương tiện máy tính
cam tay, "
Có thé xem điện toán đám mây là một giải pháp bao gồm tất cả các tài nguyên điệntoán (phần cứng, phần mềm, mạng, lưu trữ, v.v) được cung cấp nhanh chóng cho ngườidùng khi họ yêu cầu Các nguồn tai nguyên hoặc các dich vu, được phân phát có thể quan tri
dé dam bảo tinh sẵn sàng cao, an ninh va chất lượng Yếu tố chính cho các giải pháp này làkhả năng điều chỉnh tăng và giảm, để cho người dùng có được những tài nguyên mà họ cần:không nhiều hơn và không ít hơn
Tóm lại, các giải pháp điện toán đám mây cho phép công nghệ thông tin được cung
cấp như một dịch vụ
Hình 1.1 Hình ảnh tổng quan về điện toán đám mây
Trang 61.1.2 Các công nghệ nền tảng điện toán đám mây
1.1.2.1 Công nghệ ảo hóa trong điện toán đám mây
a) Ao hóa toàn phan - Full Virtualization
Ảo hóa toàn phần là một kỹ thuật mà trong đó toàn bộ một tiến trình cài đặt cho một
máy được chạy trên máy khác Kết quả là một hệ thống trong đó tất cả các phần mềm đang
chạy trên một máy chủ thực chất là một máy ảo Ảo hóa toàn phần được nhóm CP-40 củaIBM bắt đầu nghiên cứu từ năm 1967
Platform (lớp nên tảng) :Cung cấp nền tang cho điện toán và các giải pháp của dịch
vụ ,chi phối đến cấu trúc hạ tang của “đám mây” và là điểm tựa cho lớp ứng dụng hoạt độngtrên nền tảng đó.Nó giảm nhẹ sự tốn kém khi triển khai các ứng dụng khi người dungkhông phải trang bị cơ sở hạ tầng (Phần cứng và phần mềm) của riêng mình
1.1.2.3 Mô hình cung cấp dịch vụ qua Internet
hh Saas, Paas wa itaasS
mae hink
dich
wi
Tien
toan aam may
Seas PrPaas
Bish a etiees ee Dich vu Paas (Pletorn as a
Saas (Sonwore ose Service 3 Guna cap nén Service } rien toan oho phep Kine
une cluiricg Phat tri@n cac pr
mie pret ct Phes vu mhu cau
yeu oau o eu ; Kkhach hand voi chf met bg no mene tol Knaorh phien ban cai cat hans
c1 cap cac
nm chinia
1 theo
Hinh 1.2: M6 hinh dich vu dién toan dam may
1.1.3 Các tang dich vụ điện toán đám mây
Trang 71.1.3.1 Các dịch vụ ứng dụng
Phần mềm hoạt động hướng dịch vụ hoặc gọi tắt là Phần mềm dịch vụ, là mô hìnhtriển khai phần mềm, một nhánh của điện toán đám mây, theo đó các nhà cung cấp phầnmềm như là các dịch vụ theo yêu cầu cho khách hang Theo định nghĩa của hãng nghiên cứutoàn cầu IDC là: "phần mềm hoạt động trê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".
1.1.3.2 Các dịch vụ nền tảng
Đây cũng là một biến thể của SaaS nhưng mô hình này là một nhánh của điên toánđám mây (cloud computing), mang đến môi trường phát triển như một dịch vụ: người sửdụng xây dựng ứng dụng chạy trên cơ sở hạ tầng của nhà cung cấp và phân phối tới người
sử dụng thông qua máy chủ của nhà cung cấp đó Người sử dụng sẽ không hoàn toàn được
tự do vì bị ràng buộc về mat thiết kế và công nghệ Một số ví dụ điển hình về PaaS là
Force.com của Salesforce.com, Google App Engine, Yahoo PIpes
phối các nguồn tài nguyên theo yêu cầu Ví dụ về các dịch vụ IaaS như IBM BlueHouse,
Vmware, Amazon EC2, Microsoft Azure Platform, Sun Parascale Cloud Storage
1.1.4 Phân loại các mô hình cung cấp điện toán đám mây
a) Đám mây công cộng — Public Cloud Computing
Dam mây công cộng là những đám mây mở cho người dùng mà ứng dụng lưu trữ,
các nguồn tài nguyên khác có sẵn và được cung cấp bởi một số nhà cung cấp dịch vụ thông
qua mạng Internet.
b) Đám mây riêng - Private Cloud Computing
Đám mây cục bộ còn được gọi là: “điện toán đám mây nội bộ” hay “đám mây riêng”
là thế hệ tiếp theo của ảo hóa Trong đám mây cục bộ cơ sở hạ tầng điện toán đám mây chỉ
hoạt động cho một tô chức duy nhất không chia sẻ cho các tô chức khác cho dù quản lý nội
bộ hoặc bởi một bên thir ba và lưu trữ trên máy nội bộ hay bên ngoài Dam mây cục bộ tương tự như ảo hóa ở mức độ máy chủ, máy trạm và ứng dụng, điện toán đám mây cục bộ
có tính năng nâng cao, thu hút nhiều doanh nghiệp
Trang 8c) Đám mây lai - Hybrid Cloud Computing
Điện toán đám mây lai là một thành phần của hai hoặc nhiều đám mây (cục bộ, côngcộng hoặc công cộng) với nhiều nhà cung cấp nội bộ/ bên ngoài, do đó chúng thừa kế được
lợi ích và các tính năng cốt lõi của cả hai loại hình đám mây
1.2 Các loại hệ thống lưu trữ đám mây
1.2.1 Các hệ thong lưu trữ đối tượng
Lưu trữ đối tượng (Object Storage) cơ bản chỉ là một cách khác dé lưu trữ, tổ chức và
truy cập dir liệu trên đĩa Một nén tảng lưu trữ đối tượng cung cấp một cơ sở hạ tầng lưu trữ délưu trữ các tập tin với rất nhiều siêu đữ liệu (metadata) thêm vào cho họ - được gọi là các đối
Object Store Object Store Object Stora
Database Database Database
Hình 1.4: Mô hình tổng quan của hệ thống lưu trữ đối tượng
Người dùng truy cập lưu trữ đối tượng thông qua các ứng dụng thường sử dụng một
API REST (một giao thức internet, tối ưu hóa cho các ứng dụng trực tuyến) Điều này làmcho lưu trữ đối tượng lý tưởng cho tất cả trực tuyến, điện toán đám mây, môi trường
1.2.2 Relational Database Storage Systems (RDS)
Các hệ thống lưu trữ co sở dit liệu có liên quan nhằm mục đích gỡ bỏ bớt gánh nặngvận hành provisioning, cấu hình , scaling, sao lưu, quyền riêng tư và kiểm soát truy cập từ
người dùng cơ sở đữ liệu đối với máy chủ, qua đó đưa ra mức giá thấp hơn cho người dùng
Cũng chính vi van dé này, chi phí phan cứng và chi phí tiêu hao năng lượng mà người dùng
phải trả có xu hướng giảm bởi họ đang trả cho việc cùng sử dụng dịch vụ thay vì phải trả tất
cả như khi dùng riêng Bởi RDS trong đám mây tập trung và tự dựng nhiều nhiệm vụ quản
lý cơ sở dữ liệu, nó có thê giảm đáng ké chi phí vận hành và thực hiện nhiệm vụ cực kỳ tốt
Trang 9Ngoài những ưu điểm trên, RDS đối mặt với rất nhiều khó khăn, thách thức Nhữngkhó khăn này bao gồm cả sự mat ôn định dé scale một cách tốt đẹp, quản lý cơ sở dữ liệu cóliên quan trong một môi trường sản xuất có thể mang tính chuyên sâu và khi mỗi gói cơ sở
dữ liệu đều đi kèm với một hệ thống lưa chọn cấu hình, tính nhạy bén hoạt động, lỗi bugs và
các công cụ sẽ dẫn tới mức độ phức tạp càng tăng lên.
1.2.3 Các hệ thong lưu trữ phân phối tập tin
Vi dụ điển hình nhất của Lưu trữ Tép tin là một NAS (thường sử dụng các giao thứcCIFS hoặc NFS) Lưu trữ tập tin liên quan đến việc sử dụng của một hệ thống tập tin mạnghoạt động như một lớp trừu tượng giữa hệ điều hành và hệ thong tap tin co ban trén thiét biNAS Hé diéu hanh (the OS) vẫn còn coi lưu trữ như là một hệ thống tập tin địa phương(local), nhưng nó không thực sự tương tác trực tiếp với hệ thống tập tin thực hiện lưu trữ
Thay vào đó, lệnh của nó được giải thích bởi hệ thống tập tin mạng, và được dịch sang lệnhcủa hệ thống tập tin cơ bản Điều này là thuận tiện, bởi vì nó cho phép hệ thống điều hành
khác nhau mà có thé có hoặc có thé không hỗ trợ hệ thống tập tin cơ bản thực tế dé tươngtác với nó theo cách thức thống nhất, điều đó là rất có giá trị khi nhiều máy tính cần phải có
thể truy cập cùng một nội dung trên một máy chủ từ xa Các tính năng như khóa tập tin (dé
tránh trạng thái không phù hợp kỳ khi nhiều máy chủ đang viết cho cùng một tập tin) vàkiểm soát truy cập là gần như phổ quát trên thế giới lưu trữ
1.3.1 Amazon Simple Storage Service (S3)
Amazon S3 là một hệ thong lưu trữ đối tượng Nó cung cấp một giao diện dịch vụ
web đơn giản có thé sử dụng dé lưu trữ và phục hồi bat kỳ lượng dữ liệu nào, vào bat kỳ lúc
nao, và từ bat kỳ đâu trên web Amazon S3 cung cấp dich vụ lưu trữ thông qua giao diện
Trang 10OpenStack Object Storage
Stores container databases, account databases, and stored objects
Storage nodes
Auth node
Internet
Proxy node
Hình 1.6: Mô hình tổng quan của OpenStack Object Storage
OpenStack Object Storage (Swift) là một phần mềm mã nguồn mở dùng để tạo ra
dịch vụ lưu trữ đối tượng , khả năng mở rộng lưu trữ đối tượng sử dụng các cụm máy chủ
tiêu chuẩn đề lưu trữ hàng petabyte dữ liệu truy cập Đây không phải là một hệ thống tập tinhoặc hệ thống lưu trữ dir liệu thời gian thực , mà đây là một hệ thống lưu trữ dài hạn chomột loại dit liệu tinh lâu dai hơn có thé được phục hồi, nâng cấp và cập nhật khi cần Ví dụđiển hình cho loai đữ liệu phù hợp nhất với mô hình lưu trữ này là hình ảnh máy ảo, lưu trữảnh, lưu trữ email và lưu trữ sao lưu Swift không có một “bộ não” trung tâm hoặc điểm soát
trung tâm và do đó không có trung điểm thất bại Do đó, nó cung cấp kha năng mở rộng lớn
hơn, dự phòng và vĩnh cửu Đối tượng được viết cho nhiều thiết bị phần cứng khác nhautrong trung tâm dữ liệu, với phần mềm OpenStack phụ trách việc đảm bảo sao lưu và mức
độ nhất quán xuyên suốt nhóm máy chủ Cụm lưu trữ có thể mở rộng theo chiều ngang bằng
cách thêm các nút mới Nên một nút hỏng, OpenStack hoạt động để sao chép nội dung từ
các nút hoạt động khác.
Trang 111.3.3 Microsoft SQL Azure.
Hinh 1.7: SQL Azure
Co sở dữ liệu SQL Azure cung cấp một hệ thống quản lí cơ sở dữ liệu dựa trên dam
mây (DBMS) Công nghệ này cho phép ứng dụng On-Premise và đám mây lưu trữ dữ liệu
quan hệ và những kiểu dữ liệu khác trên các máy chủ trong trung tâm dữ liệu Microsoft.Cũng như các công nghệ đám mây khác, tổ chức chỉ trả cho những gì họ sử dụng Sử dụng
dữ liệu đám mây cho phép chuyên đổi những chi phí vốn như: phần cứng, phần mềm hệ
thống quản lí lưu trữ, vào chi phí điều hành
1.3.4 Hadoop Distributed File System.
HDFS Client DataNode =
Hadoop là một Apache framework mã nguồn mở được viết bằng java, cho phép xử lý
phân tán (distributed processing) các tập dữ liệu lớn trên các cụm máy tính (clusters of
computers) thông qua mô hình lập trình đơn giản Hadoop được thiết kế để mở rộng quy mô
từ một máy chủ đơn sang hàng ngàn máy tính khác có tính toán và lưu trữ cục bộ (local
computation and storage).
1.4 Kết chương
Nội dung trong chương 1 của luận văn chủ yếu giới thiệu tổng quan về điện toán đámmây, các loại công nghệ lưu trữ đám mây hiện nay cùng một số hệ thống áp dụng các công
Trang 12nghệ lưu trữ ấy để xây dựng nên hạ tầng lưu trữ đám mây.Qua đó cung cấp cho ta một cái
nhìn tông quan vé công nghệ lưu trữ trên điện toán đám mây.
Trang 13Chuong 2: TIM HIEU GIAI PHAP LUU TRU DAM MAY VOI NEN
TANG OPENTSTACK
2.1 Tông quan về Openstack
2.1.1 Giới thiệu về Openstack
OpenStack là một dự án phần mềm mã nguồn mở, dùng để triển khai Cloud
Computing, bao gồm private cloud và public cloud_, do các công ty, tô chức ,lập trình viên
tự nguyện xây dựng và phát triển
F”I | OPENSTACK
Compute Networking Storage
OpenStack Shared Services
and
Hình 2.1: Minh họa vị trí của OpenStack trong tực tế
Phía dưới là phần cứng đã được ảo hoa (Standard Hardware) dé chia sé cho ứng
dụng, người dung, trên cùng là các ứng dụng của bạn (Your Application), tức là các phầnmềm mà ban sử dụng Và OpenStack là phan ở giữa 2 phan trên, trong OpenStack có các
thành phần, module khác nhau nhưng trong hình minh họa các thành phần cơ bản:
Dashboard, Compute, Networking, API, Storage
Trang 14Hình 2.2: Kiến trúc OpenStack (conceptual)
Trong phiên bản này gồm ba thành phần chính:
o Compute (tên mã Nova) cung cấp khả năng tính toán với những instance - tương
ứng với EC2 của Amazon.
o Image Service (tên mã Glance) lưu trữ các file ảnh của các instance trước khi được
'bung' ra sử dụng bởi Nova - AWS cũng có một thành phần tương tự để quản lý các image
tuy nhiên vì là nền tảng đóng, nên thông tin chỉ tiết về nó không được công bố rõ ràng
o Object Storage (tên mã Swift) cung cấp kha năng lưu trữ tương ứng với S3
Ở mức kiến trúc logical, OpenStack được minh họa sau đây:
Mô hình kiến trúc logic của OpenStack được diễn giải qua 3 ý chính sau đây:
o Người dùng cuối tương tác thông qua 1 giao diện web (Horizon)
o Tất cả các services đều được chứng thực thông qua Keystone
o Cac dịch vụ cá nhân riêng biệt tương tác với nhau thông qua các APIs tương ứng 2.1.2.1 OpenStack compute
Đây là phan cơ bản nhất của Openstack có chức năng điều khiến IaaS và phân phối
lại tài nguyên hệ thống cho các instance với khả năng tính toán lưu trữ độc lập Nó tương
ứng với Amazon EC2.
2.1.2.2 OpenStack Object Storage
OpenStack Object Storage như là cái tên, nó dùng dé quản lý lưu trữ Nó là một hệthống lưu trữ phân tán cho quản lý tat cả các dạng của lưu trữ như: archives, user data, virtual
machine Image Có nhiều lớp redundancy và sự nhân bản được thực hiện tự động, do đó
khi có node bị lỗi thì cũng không làm mất dữ liệu, và việc phục hồi được thực hiện tự động