1. Trang chủ
  2. » Luận Văn - Báo Cáo

Triển khai thử nghiệp dịch vụ tự động sao lưu dữ liệu trên nền tảng điện toán đám mây

76 24 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 2,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Triển khai thử nghiệp dịch vụ tự động sao lưu dữ liệu trên nền tảng điện toán đám mây Triển khai thử nghiệp dịch vụ tự động sao lưu dữ liệu trên nền tảng điện toán đám mây Triển khai thử nghiệp dịch vụ tự động sao lưu dữ liệu trên nền tảng điện toán đám mây luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

Trang 1

KHAMBOY YANGCHERTOUA

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TRIỂN KHAI THỬ NGHIỆM DỊCH VỤ TỰ ĐỘNG SAO LƯU

DỮ LIỆU TRÊN NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY

Chuyên ngành : CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN

GIẢNG VIÊN HƯỚNG DẪN KHOA HỌC:

TS NGUYỄN BÌNH MINH

HÀ NỘI - 2018

Trang 2

LỜI CAM ĐOAN

Tôi – KHAMBOY YANGCHERTOUA xin cam đoan:

 Luận văn tốt nghiệp Thạc sĩ này là công trình nghiên cứu của bản thân tôi dưới

sự hướng dẫn của TS Nguyễn Bình Minh

 Các kết quả trong luận văn tốt nghiệp là trung thực, không phải là sao chép toàn

văn của bất kỳ công trình nào khác

Hà nội, ngày…… tháng……năm 2018 Tác giả luận văn

Khamboy YangCherToua

Trang 3

LỜI CẢM ƠN

Trước hết, em xin gửi lời cảm ơn sâu sắc tới giảng viên TS Nguyễn Bình Minh tại

Viện công nghệ thông tin và truyền thông, Trường Đại Học Bách Khoa Hà Nội Nhờ

sự hướng dẫn tận tình của giảng viên đã giúp em hoàn thành thực hiện luận văn

Em xin chân thành cảm ơn các thầy cô trong Viện Công Nghệ Thông tin và Truyền

thông, Viện Đào Tạo Sau Đại Học, Trường Đại Học Bách Khoa Hà Nội đã tạo điều

kiện, giúp đỡ em trong quá trình học tập và nghiên cứu tại trường

Hà nội, ngày…… tháng……năm 2018 Tác giả luận văn

Khamboy YangCherToua

Trang 4

Mục lục

Chương I: Mở đầu 1

1.1 Lý do chọn đề tài 1

1.2 Mục đích nghiên cứu, đối tượng và phạm vi nghiên cứu 1

1.3 Bố cục luận văn 2

Chương II : Tổng quan về điện toán đám mây và các công nghệ liên quan 3

2.1 Tổng quan về điện toán đám mây 3

2.1.1 Khái niệm điện toán đám mây 3

2.1.2 Các đặc trưng của điện toán đám mây 3

2.1.3 Các loại dịch vụ phát triển của điện toán đám mây 4

2.1.3.1 IaaS – Infrastructure as a Service – Cơ sở hạ tầng như là một dịch vụ 5

2.1.3.2 PaaS – Platform as a Service – nền tảng như là một dịch vụ 6

2.1.3.3 SaaS – Software as a Service – phần mềm như là một dịch vụ 7

2.1.4 Các mô hình triển khai của điện toán đám mây 8

2.1.4.1 Đám mây công cộng (Public Cloud) 8

2.1.4.2 Đám mây nội bộ (Private Cloud) 9

2.1.4.3 Đám mây lai (Hybrid Cloud) 10

2.1.5 Ưu / nhược điểm của điện toán đám mây 11

2.1.5.1 Ưu điểm 11

2.1.5.2 Nhược điểm 11

2.1.6 Khái niệm lưu trữ đám mây (Cloud Storage) 12

2.1.7 Giới thiệu một số nhà cung cấp dịch vụ điện toán đám mây 12

2.2 Các công nghệ liên quan điện toán đám mây 14

2.2.1 Tổng quan về Openstack và triển khai Openstack 14

2.2.2 Openstack 14

Trang 5

2.2.4 Kiến trúc của Openstack 16

2.2.5 Mô hình thiết kế 18

2.2.5.1 Controller Node 19

2.2.5.2 Compute Node 19

2.2.6 Cài đặt, triển khai OpenStack 20

2.2.7 Trang web login Openstack và tạo ra các máy ảo bằng giao diện Openstack 21

2.2.8 Đánh giá giải pháp 22

2.2.9 Đề xuất phát triển nâng cao hiệu năng của giải pháp 22

2.3 Tổng quan về lưu trữ trên điện toán đám mây 23

2.3.1 Giới thiệu lưu trữ Ceph 23

2.3.2 Các hướng phát triển sử dụng Ceph 24

2.3.3 Các hệ thống lưu trữ của Ceph 24

2.3.3.1 Hệ thống lưu trữ đối tượng của ceph (Object storage) 25

2.3.3.2 Hệ thống khối lưu trữ (Block Storage) 25

2.3.3.3 Hệ thống lưu trữ file dữ liệu của ceph (File System) 26

2.3.4 Các Node trên hệ thống lưu trữ Ceph 26

2.3.4.1 Object Storage Daemon (OSD) 26

2.3.4.2 Monitor (MON) 27

2.3.4.3 Admin node (ceph-deploy) 28

2.3.5 Các thành phần bên trong ceph 28

2.3.5.1 RADOS (Reliable Autonomous Distributed Object Storage ) 28

2.3.5.2 Object 29

2.3.5.3 Crush 30

2.3.5.4 PG và PGP 33

2.3.5.5 Pool 35

2.3.6 Quá trình replica pool 35

Trang 6

2.3.7 Mô hình hệ thống cài đặt Ceph 36

2.3.8 Đánh giá giải pháp (sau quá trình cài đặt Ceph Storage Cluster) 37

2.3.9 Openstack tích hợp với Ceph 38

2.3.9.1 Mục đích sử dụng Openstack tích hợp với Ceph 38

2.3.9.2 Mô hình thành phần Openstack tích hợp với Ceph 38

2.3.10 Đánh giá giải pháp (sau quá trình Openstack tích hợp với Ceph) 39

CHƯƠNG III: XÂY DỰNG DỊCH VỤ LƯU TRỮ DỮ LIỆU CHO PHÉP ĐỒNG BỘ HÓA DỮ LIỆU TRÊN HẠ TẦNG ĐIỆN TOÁN ĐÁM MÂY VÀ DỊCH VỤ LƯU TRỮ ĐÁM MÂY 40

3.1 Giới thiệu dịch vụ lưu trữ đám mây 40

3.2 Cơ chế lưu trữ dữ liệu 40

3.3 Phân tích chức năng hệ thống 41

3.3.1 Tổng quan biểu đồ Use Case : 41

3.3.2 Đặc tả Use Case : 41

3.4 Biểu đồ luồng xử lý 42

3.5 Thiết kế các lớp 45

3.6 Thiết kế cơ sở dữ liệu 47

3.7 Biểu đồ tuần tự (Sequence Diagram) : 48

3.8 Thiết kế giao diện ứng dụng giao tiếp người dùng 53

3.8.1 Giao diện ứng dụng người dùng (Client) : 53

3.8.2 Giao diện ứng dụng quản lý (Admin) : 57

3.9 Kết quả thử nghiệm dịch vụ lưu trữ đám mây 58

3.9.1 Môi trường thử nghiệm 58

3.9.2 Kịch bản thử nghiệm chức năng và các kết quả (Trình bày dưới dạng bảng các test case) 60 3.9.3 Kịch bản thử nghiệm đánh giá hiệu năng và các kết quả 66

Kết luận 67

Trang 7

DANH SÁCH HÌNH ẢNH Chương II:

Hình 2.1 Điện Toán Đám Mây Error! Reference source not found

……… … 3

Hình 2.2 Mô hình SPI [1]………5

Hình 2.1 Mô hình triển khai điện toán đám mây [3]………8

Hình 2.2 Đám mây công cộng [4]……….… 9

Hình 2.3 Mô hình đám mây riêng [4]……… …….10

Hình 2.4 Mô hình đám mây lai [5]……….10

Hình 2.7 Mô hình thành phần cơ bản của Openstack [6]……….…….15

Hình 2.8 Mô hình Kiến Trúc của Openstack [7]……….…… 16

Hình 2.9 Mô hình thiết kế của Openstack [8]……… ……18

Hình 2.10 Mô Hình Cài Đặt Openstack……….21

Hình 2.11 Ceph Storage Cluster 0……… 23

Hình 2.12 Hệ thống lưu trữ Ceph 0……… 24

Hình 2.13 kiến trúc OSD đồng bộ [9]……….…… … 26

Hình 2.14 Thành Phần Rados Cluster [9]……….…….….27

Hình 2.15 Thành Phần Object [9]……….…………28

Hình 2.16 Crush lookup [9]……… ……… …… …29

Hình 2.17 Phân Cấp Crush……….……… ……31

Hình 2.18 Mô hình Placement Group (PG) [9]……… ……….………33

Hình 2.19 Mô hình Pool………34

Hình 2.20 Mô Hình Quá Trình Replicat Pool [9]……….… 35

Hình 2.21 Mô Hình hệ thống Cài Đặt Ceph……….36

Hình 2.22 Mô Hình Thành Phần Openstack Tích Hợp Với Thành Phần Ceph [10] 38

Chương III : Hình 3.1 Biểu đồ User và admin Use – Case……… …….40

Hình 3.2 Biểu đồ thứ tự người đăng ký ……… 42

Hình 3.3 Biểu đồ thứ tự người đăng nhập………42

Hình 3.4 Biểu đồ thứ tự cài đặt rsync ………43

Hình 3.5 Biểu đồ thứ tự đồng bộ từ server xuống……….………… 43

Trang 8

Hình 3.7 Biểu đồ thứ tự đổi mật khẩu người dụng……….……….44

Hình 3.8 Biểu đồ thứ tự thay đổi quota……….…… 45

Hình 3.9 Biểu đồ thứ tự xóa người dụng……… ………… 45

Hình 3.10 Biểu đồ thiết kế các lớp……….….46

Hình 3.11 Thiết kế cấu trúc bảng user……… 48

Hình 3.12 Thiết kế cấu trúc bảng user……… 48

Hình 3.13 Biểu đồ hành động người đăng ký……….……….49

Hình 3.14 Biểu đồ hành động người đăng nhập…… ……….………49

Hình 3.15 Biểu đồ hành động cài đặt rsync……… 50

Hình 3.16 Biểu đồ hành động đồng bộ dữ liệu từ server……….……50

Hình 3.17 Biểu đồ hành động đồng bộ dữ liệu từ client lên server……….…… 51

Hình 3.18 Biểu đồ hành động đổi mật khẩu……….…….51

Hình 3.19 Biểu đồ hành động thay đổi quota cho người dụng……….52

Hình 3.20 Biểu đồ hành động xóa người dùng……….…52

Hình 3.21 Form đăng ký.……… 53

Hình 3.22 Form đăng nhập ………54

Hình 3.23 Form đồng bộ hóa dữ liệu giữa đám mây và máy tính cá nhân………… 55

Hình 3.24 Tiến hành trong thư mục data trong máy tính cá nhân……… 55

Hình 3.25 Bảng của giao diện ứng dụng đồng bộ hóa dữ liệu hiển thị trên máy tính cá nhân………56

Hình 3.26 Đồng bộ hóa dữ liệu trên đám mây……… 56

Hình 3.27 Form admin……… 57

Hình 3.28 Form admin thay đổi Quota cho người dùng……… 58

Hình 3.29 Kiến trúc hệ thống dịch vụ lưu trữ đám mây………59

Hình 3.30 Nhập thông tin đăng ký………61

Hình 3.31 Đăng ký thành công……….62

Hình 3.32 Tạo dữ liệu vào thư mục data của máy tính cá nhân………62

Hình 3.33 Bảng hiển thị ra các danh sách dữ liệu……….63

Hình 3.34 Đăng ký tài khoản đã tổn tài trên hệ thống……… 63

Hình 3.35 Đăng nhập sai tài khoản hoặc mật khẩu……… 64

Hình 3.36 Bảng hiển thị ra các danh sách lần đầu tiên đăng ký sử dụng……….64

Hình 3.37 Tạo file test_123 và thư mục test_456 trên máy tính cá nhân……….65

Hình 3.39 Bảng hiển thị ra các danh sách dữ liệu……….65

Hình 3.38 Tự động đồng bộ dữ liệu từ máy tính cá nhân lên đám mây………65

Trang 9

Chương I: Mở đầu 1.1 Lý do chọn đề tài

Hiện nay, nhu cầu về lưu trữ và đảm bảo an ninh, an toàn dữ liệu đang là một

vấn đề quan tâm rất lớn của tất cả mọi người và các doanh nghiệp Khi có sự cố hoặc

mất máy thì sẽ mất dữ liệu và không thể khôi phụ lại vì vậy, để giải quyết được vấn

đề về việc lưu trữ an toàn thì phải triển khai hạ tầng điện toán đám mây như dịch vụ

lưu trữ đám mây

Điện toán đám mây đang là chủ đề được bàn luận sôi nổi nhất trong hiện nay,

các công nghệ liên quan đến “Cloud“ nhận được rất nhiều quan tâm từ người dùng và

doanh nghiệp Đã có khá nhiều sản phẩm thương mại cũng như nguồn mở được giới

thiệu và cung cấp cho người dùng các dịch vụ được xây dựng từ hệ thống Cloud, bao

gồm cung cấp hạ tầng IaaS đến PaaS và SaaS Tuy nhiên tất cả vẫn đang trong quá

trình phát triển, sẽ rất sai lầm nếu chỉ nghe theo quảng cáo từ các nhà cung cấp các

dịch vụ đó Để có nhận xét chính xác và chi tiết hơn về hiện trạng của các sản phẩm

này, cách tốt nhất là hãy thử nghiệm chúng

Một trong những ưu điểm của điện toán đám mây chính là việc sử dụng hiệu quả

hơn các tài nguyên từ hệ thống vật lý và có hiệu suất sử dụng cao hơn IaaS chính là

thành phần quan trọng nhất giúp cho điện toán đám mây thực hiện được điều này Là

thành phần quản lý hạ tầng về phần cứng, mạng và phân phối lại các tài nguyên, IaaS

chính là phần cung cấp cho người dùng khả năng xây dựng hạ tầng cơ sở cho đám mây

riêng

1.2 Mục đích nghiên cứu, đối tượng và phạm vi nghiên cứu

 Tìm hiểu về điện toán đám mây

 Thực hiện nghiên cứu, triển khai giải pháp điện toán đám mây dạng dịch

vụ IaaS để quản lý tài nguyên tính toán, tài nguyên lưu trữ dưới dạng các máy chủ ảo và ổ lưu trữ ảo

 Tìm hiểu Openstack và sử dụng Openstack triển khai điện toán đám mây

để xây dựng một trung tâm dữ liệu thử nghiệm

 Tìm hiểu lưu trữ ceph và xây dựng hạ tầng cụm lưu trữ Ceph

 Kết nối Openstack tích hợp với Ceph để cung cấp Volume lưu trữ dữ

liệu

Trang 10

 Xây dựng dịch vụ lưu trữ dữ liệu cho phép động bộ hóa dữ liệu của

người dùng dựa trên hạ tầng điện toán đám mây và dịch vụ lưu trữ đám mây

 Thử nghiệm dịch vụ tự động sao lưu dữ liệu trên nền tảng điện toán đám

mây

1.3 Bố cục luận văn

Nội dung chính của luận văn được chia làm 3 chương:

Chương I: Mở Đầu

Chương II: Tổng quan vệ điện toán đám mây và các công nghệ liên quan

Chương III: Xây dựng dịch vụ lưu trữ dữ liệu cho phép động bộ hóa dữ

liệu của người dùng dựa trên hạ tầng điện toán đám mây và dịch vụ lưu trữ

đám mây

Kết luận

Trang 11

Chương II : Tổng quan về điện toán đám mây và các công nghệ liên quan

2.1 Tổng quan về điện toán đám mây

2.1.1 Khái niệm điện toán đám mây

Điện toán đám mây là một mô hình hạ tầng tính toán dịch vụ kho tài nguyên

điện toán dùng chung, ví dụ như mạng, máy chủ ảo, lưu trữ, …

Như vây điện toán đám mây có thể được hiểu một cách đơn giản như là sự sử

dụng tài nguyên tính toán có khả năng thay đổi theo nhu cầu và được cung cấp như là

một dịch vụ từ bên ngoài với chi phí trả cho mỗi lần sử dụng Thuật ngữ “đám mây” ở

đây là ám chỉ internet, người dùng có thể truy cập đến tài nguyên tồn tại trong “đám

mây” tại bất kỳ thời điểm nào và từ bất kỳ đâu thông qua hệ thống internet Người

dùng có thể làm việc với các tài nguyên đó mà không cần phải hiểu biết công nghệ, kỹ

thuật và hạ tầng cơ sở của đám mây

Hình 2.1 Điện Toán Đám Mây [1]Error! Reference source not found

2.1.2 Các đặc trưng của điện toán đám mây

Viện tiêu chuẩn và công nghệ quốc gia Mỹ (NIST – National Institue of

Standards and Technology) đã đưa ra 5 đặc trưng chính sau:

- Dịch vụ tự phục vụ theo nhu cầu (On-demand self-service )

Trang 12

Khách hàng có thể được cung cấp tài nguyên như máy chủ, lưu trữ mạng,….một

cách tự động theo yêu cầu mà không cần phải có sự giúp đỡ hay can thiệp từ

phía nhà cung cấp dịch vụ

- Truy cập mạng băng rộng (Broad network access)

Người dùng có thể dễ dàng truy cập vào đám mây chỉ với một ứng dụng có khả

năng truy cập mạng (Internet) từ bất kỳ thiết bị nào, bao gồm máy tính, thiết bị

cầm tay, di động,…

- Tập trung tài nguyên (Location independent resource pooling)

Tài nguyên tính toán của nhà cung cấp được phân chia để phục vụ nhiều khách

hàng theo mô hình đa chiếm hữu, với các tài nguyên vật lý và tài nguyên ảo

được cấp động và thu hồi dựa theo yêu cầu của khách hàng Sự không phụ thuộc

vào vị trí ở đây có nghĩa là khách hàng không biết và cũng không có quyền

kiểm soát vị trí chính xác của tài nguyên được cung cấp Ví dụ về tài nguyên có

thể bao gồm lưu trữ, xử lý, bộ nhớ, băng thông mạng và các máy ảo

- Mở rộng nhanh chóng (Rapid elasticity)

Tài nguyên có thể được cung cấp một cách nhanh chóng và mềm dẻo, có thể

tăng lên hay giảm đi dễ dàng tùy theo yêu cầu của khách hàng Với khách hàng,

tài nguyên luôn sẵn sàng và có thể coi là vô tận, có thể yêu cầu vào bất cứ thời

điểm nào

- Dịch vụ đo lường (Measured service)

Các hệ thống đám mây tự động điều khiển và tinh chỉnh tài nguyên sử dụng

bằng cách áp dụng các biện pháp đo lượng ở các cấp độ khác nhau phù hợp với

từng loại dịch vụ (ví dụ như lưu trữ, xử lý, băng thông và tài khoản người dùng

đang active) Tài nguyên sử dụng có thể được giám sát, đo lường và khách hàng

thường sẽ chỉ phải trả phí cho lượng tài nguyên mà họ đã sử dụng

2.1.3 Các loại dịch vụ phát triển của điện toán đám mây

Hiện nay, mô hình Cloud Computing, vẫn đang được nghiên cứu và phát triển,

được cho là có thể cung cấp 3 loại dịch vụ sau đáp ứng nhu cầu của nhiều người sử

dụng

 IaaS – Infrastructure as a Service – Cơ sở hạ tầng như là một dịch vụ

Trang 13

 PaaS – Platform as a Service – nền tảng như là một dịch vụ

 SaaS – Software as a Service – phần mềm như là một dịch vụ

Đặc trưng tiêu biểu của các dịch vụ điện toán đám mây cung cấp hạ tầng, nền

tảng và phần mềm như là dịch vụ máy chủ ảo, mà có thể được cung ứng như là một

dịch vụ cho thuê trong cách dùng bao nhiêu trả bấy nhiêu đối với người dùng

Cách phân loại này được gọi là mô hình SPI (Software - Platform - Infrastructure )

Hình 2.2 Mô hình SPI [2]Error! Reference source not found

2.1.3.1 IaaS – Infrastructure as a Service – Cơ sở hạ tầng như là một dịch vụ

Định nghĩa là phần cứng như một dịch vụ, cung cấp các dịch vụ sử dụng

phần cứng cho người sử dụng (gọi là tài nguyên), người dùng chỉ cần thuê dịch vụ

thông qua mạng Cung cấp nhiều nguồn tài nguyên như là máy chủ, lưu trữ, firewalls,

load balancers, các địa chỉ IP… Giúp người dùng linh hoạt hơn trong việc sử dụng tài

nguyên

Mô hình IaaS cung cấp cho người dụng một hạ tầng thô (dưới hình thức các

máy chủ ảo, lưu trữ, mạng,… ) như là một dịch vụ người dụng có thể triển khai và

chạy phần mềm bất ký cho máy ảo, có thể bao gồm cả hệ điều hành và các ứng dụng

Trang 14

Người dụng không quản lý hay điều khiển hạ tầng thực của Cloud nhưng có quyền

kiểm soát hệ điều hành, lưu trữ, các ứng dụng và một số thành phần mạng cơ bản ( ví

dụ như tưởng lửa, cân bằng tải) trên máy chủ ảo họ được cấp những dịch vụ IaaS

thông thường được tính phí sử dụng dựa theo lượng tính toán hay tài nguyên mà người

dụng sử dụng

Những đặc trưng tiêu biểu của IaaS:

- Cung cấp hạ tầng như một dịch vụ: bao gồm cả máy chủ (ảo), thiết bị mạng, bộ

nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm dữ liệu

- Khả năng mở rộng linh hoạt

- Chi phí thay đổi tùy theo thưc tế

- Nhiều người thuê có thể cùng dùng chung trên một tài nguyên ( nhiều máy ảo

trên cùng một máy thật)

- Cấp độ doanh nghiệp: đem lại lợi ích cho công ty bởi một nguồn tài nguyên

tính toán tổng hợp

- Nhà cung cấp IaaS thương mại nổi tiếng nhất là Amazon với Amazon Elastic

Compute Cloud (EC2) Trong EC2, người dùng có thể chỉ định máy ảo (VM –

Virtual Machine ) có sẵn và triển khai các ứng dụng trên đó hay tự cung cấp

VM image của chính họ và đưa nó lên chạy trên hệ thống của Amazon Người

dùng chỉ phải trả tiền cho thời gian tính toán, dung lượng lưu trữ và băng thông

mạng Ngoài Amazon còn một số hãng lớn khác như Rackspace, GoGrid,…

Cũng cung cấp IaaS theo mô hình tương tự

2.1.3.2 PaaS – Platform as a Service – nền tảng như là một dịch vụ

Mô hình PaaS cung cấp cho người dùng khả năng triển khai và phát triển ứng

dụng của chính họ trên hạ tầng Cloud sử dụng các ngôn ngữ lập trình và công cụ do

nhà cung cấp Cloud hỗ trợ ( ví dụ java, python, Net) Người dùng không quản lý hay

điều khiển lớp hạ tầng Cloud bên dưới như mạng, máy chủ, hệ điều hành hay lưu trữ

mà chỉ có quyền quản lý ứng dụng của họ và một số cấu hình có thể đối với môi

trường hosting ứng dụng đó Một cách đơn giản, nếu trong IaaS người dùng kiểm soát

và sử dụng toàn bộ máy chủ được cấp thì trong PaaS, người dùng chỉ kiểm soát và sử

dùng một số dịch vụ cụ thể trên máy chủ đó

Những đặc trưng tiêu biểu của PaaS:

- Phục vụ cho việc phát triển, kiểm thử, triển khai và vận hành ứng dụng giống

như là môi trường phát triển tích hợp

- Các công cụ khởi tạo với giao diện trên nền web

- Kiến trúc đồng nhất

- Tích hợp dịch vụ web với cơ sở dữ liệu

Trang 15

- Hỗ trợ công tác nhóm pháp triển

- Công cụ hỗ trợ tiện ích

Microsoft Azure hay Google App Engine là một trong những dịch vụ PaaS tiêu

biểu Google App Engingle là một dịch vụ cho phép người dùng triển khai ứng dụng

web của mình trên kiến trúc rất khả mở của Google App Engine cung cấp một

sandbox cho ứng dụng Python của người dùng (các ngôn ngữ khác sẽ hỗ trợ sau) như

là các API Python để lưu trữ và quản lý dữ liệu (dùng Google Query Language) bên

cạnh các hỗ trợ về xác thực người dùng, thao tác hình ảnh và gửi email

2.1.3.3 SaaS – Software as a Service – phần mềm như là một dịch vụ

Mô hình SaaS cung cấp cho người dùng khả năng sử dụng các ứng dụng của

nhà cung cấp chạy trên hạ tầng đám mây và có thể truy cập từ nhiều thiết bị đầu cuối

thông qua một giao diện khách đơn giản như một trình duyệt Web ( ví dụ , web – based

email ) Người dùng không quản lý hay kiểm soát hạ tầng phía dưới, mạng, máy chủ,

hệ điều hành, lưu trữ hay thậm chí một số cấu hình ứng dụng hệ thống, mà chỉ sử dụng

ứng dụng kèm theo một số cấu hình hạn chế với ứng dụng đó

Những đặc trưng của SaaS:

- Phần mềm sẵn có đòi hỏi việc truy xuất, quản lý qua mạng

- Quản lý các hoạt động từ một vị trí tập trung hơn là tại mỗi nơi của khách

hàng, cho phép khách hàng truy xuất từ xa thông qua Web

- Cung cấp ứng dụng thông thường gần gũi với mô hình ánh xạ từ một đến

nhiều hơn là mô hình 1:1 bao gồm cả các đặc trưng kiến trúc, giá cả và

quản lý

- Những tính năng tập trung nâng cấp, giải phóng người dùng khỏi việc tải

các bản và lỗi cập nhật

- Thường xuyên tích hợp những phần mềm giao tiếp trên mạng diện rộng

- Dịch vụ email hay Google App của Google là một ví dụ tiểu biểu cho hình

thức cung cấp dịch vụ SaaS

Trang 16

2.1.4 Các mô hình triển khai của điện toán đám mây

Hình 2.5 Mô hình triển khai điện toán đám mây [3]

2.1.4.1 Đám mây công cộng (Public Cloud)

Đám mây công cộng cung cấp cho người dùng một không gian rộng lớn để lưu

trữ thông tin dữ liệu, các phần mềm ứng dụng thông qua Internet ví dụ như Google

Drive Khi dùng dịch vụ này thì sẽ không mất khoản chi phí cho cơ sở hạ tầng vì các

nó được cung cấp bởi nhà cung cấp dịch vụ cho thuê máy chủ Doanh nghiệp khi sử

dụng sẽ không được quyền sở hữu cũng như quản lý hệ thống Mặc dù công nghệ đám

mây công cộng là vô cùng tiện lợi, nhưng không bảo mật dữ liệu tốt nhất vì những

thông tin trên đó được phổ biến cho cộng đồng Đám mây công cộng giúp đồng bộ dữ

liệu làm việc giữa các máy tính và thiết bị di động như laptop, máy tính bảng hay điện

thoại thông minh Có thể truy cập dữ liệu an toàn bất cứ nơi nào trên Internet bằng

trình duyệt web với cơ chế mã hóa dữ liệu

Với đám mây, ta có thể hình dung nhà cung cấp xây dựng một trung tâm dữ liệu

ảo ( virtual Data Center ) và nhà cung cấp tùy theo nhu cầu của người sử dụng

Trang 17

Hình 2.6 Đám mây công cộng [4][4]

2.1.4.2 Đám mây nội bộ (Private Cloud)

Đám mây riêng là được xây dựng phục vụ cho nhu cầu riêng của một client,

cung cấp sự tự chủ tối đa về dữ liệu, an ninh và chất lượng dịch vụ Doanh nghiệp là

người sở hữu hạ tầng đám mây và có quyền điều khiển tất cả các ứng dụng triển khai

trên đó Đám mây riêng có thể được triển khai trong một trung tâm dữ liệu (Data

Center) của doanh nghiệp

Đám mây riêng có thể được xây dựng và quản lý bởi bộ phận IT của riêng công

ty hoặc bởi một nhà cung cấp đám mây Trong mô hình “ hosted private ” này, một

công ty như Sun có thể cài đặt, cấu hình và quản lý một hạ tầng hỗ trợ cho một đám

mây riêng của trung tâm dữ liệu của một công ty nào đó Mô hình này giúp doanh

nghiệp có quyền cao hơn trong việc điều khiển tài nguyên trên đám mây so với mô

hình đám mây công cộng

Trang 18

Hình 2.7 Mô hình đám mây riêng [4]

2.1.4.3 Đám mây lai (Hybrid Cloud)

Đám mây lai là hạ tầng đám mây được xây dựng với thành phần gồm 2 hoặc

nhiều hơn các đám mây như đám mây công cộng và đám mây riêng Đám mây lai

mang đến điều tốt nhất của nhiều mô hình triển khai đám mây

Đám mây lai có thể giúp cung cấp tài nguyên theo yêu cầu, hay sự mở rộng ở

bên ngoài Khả năng có một đám mây riêng với tài nguyên cung cấp của một đám mây

công cộng có thể được sử dụng để duy trì các cấp dịch vụ Đám mây lai thường được

thấy nhất trong việc sử dụng khả năng lưu trữ đám mây để hỗ trợ cho ứng dụng Web

2.0

Hình 2.8 Mô hình đám mây lai [5]

Trang 19

Đám mây lai tuy vậy lại có những sự phức tạp trong việc quyết định phân phối

ứng dụng ra sao giữa cả đám mây riêng và đám mây công cộng, bao gồm mối liên hệ

giữa dữ liệu và xử lý dữ liệu Nếu dữ liệu nhỏ, hoặc ứng dụng thuộc dạng vô quốc tịch

(stateless), thì đám mây lai có thể được sử dụng có lợi hơn là khi dữ liệu lớn được

truyền đi trong một đám mây công cộng cho một lượng xử lý nhỏ

2.1.5 Ưu / nhược điểm của điện toán đám mây

2.1.5.1 Ưu điểm

Một số lợi ích cơ bản chính là việc đầu tư cơ sở hạ tầng cho doanh nghiệp và cá

nhân như sau:

- Sử dụng tài nguyên tính toán động: khi ứng dụng công nghệ này thì doanh

nghiệp chỉ đầu tư hạ tầng đúng với yêu cầu của doanh nghiệp và một cách

tức thời, không dư thừa lãng phí Khi có nhu cầu mở rộng thì doanh

nghiệp không cần phải suy nghĩ là phải đầu tư thêm bao nhiêu máy chủ,

bao nhiêu máy trạm, mà chỉ cần đưa ra thông số kỹ thuật thì các nhà cung

cấp điện toán đám mây sẽ tự tìm kiếm tài nguyên rỗi để cung cấp cho

doanh nghiệp

- Giảm chi phí: vì là dịch vụ nên doanh nghiệp chủ động trong việc cắt giảm

chi phí để mua bán bảo trì tài nguyên Doanh nghiệp không có một đội

ngủ chuyên gia đi mua máy chủ, cài đặt máy chủ, bảo trì,…

- Giảm độ phức tạp trong cơ cầu doanh nghiệp: doanh nghiệp có thể không

cần đầu tư một đội ngủ ít để vận hành hệ thống, mà tất cả những công việc

này đã có nhà cung cấp điện toán đám mây lo

2.1.5.2 Nhược điểm

Mặc dù có một số ưu điểm quan trọng, tuy nhiên mô hình điện toán này vẫn còn

có một số nhược điểm sau:

- Tính riêng tư

Các thông tin người dùng và dữ liệu được chứa trên điện toán đám mây

không có đảm bảo được riêng tư vì và liệu các thông tin đó có bị sử dụng

vì một mục đích nào khác

Ví dụ: khi người dùng đăng ký một dịch vụ đám mây của Google Cloud,

Amazon thì cần phải cung cấp các thông tin cá nhân (thẻ visa debit, …),

các thông tin này có thể được sử dụng vào các mục đích khác mà người

dùng không biết

- Tính sẵn dùng

Trang 20

Các dịch vụ đám mây có bị “treo” bất ngờ, khiến cho người dùng không

thể truy cập các dịch vụ và dữ liệu của mình trong những khoảng thời gian

nào đó khiến ảnh hưởng đến công việc

Ví dụ: vì là hệ thống chia sẻ tài nguyên nên khi nhiều người dùng có thể

dẫn đến hệ thống mạng bị quá tải

- An toàn dữ liệu

Một vài dịch vụ lưu trữ dữ liệu trực tuyến trên đám mây bất ngờ ngừng

hoạt động hoặc không tiếp tục cung cấp dịch vụ, khiến cho người dùng

phải sao lưu dữ liệu của họ từ “ đám mây” về máy tính cá nhân Điều này

sẽ mất nhiều thời gian Thậm chí một vài trường hợp, vì một lý do nào đó,

dữ liệu người dùng bị mất và không thể phục hồi được

- Khả năng bảo mật

Vấn đề tập trung dữ liệu trên các đám mây là cách thức hiệu quả để tăng

cường bảo mật nhưng mặt khác cũng lại chính là mối lo của người sử

dụng dịch vụ của điện toán đám mây Bời lẽ một khi các đám mây bị tấn

công hoặc đột nhập, toàn bộ lữ liệu sẽ bị chiếm dụng Tuy nhiên, đây

không thực sự là vấn đề của riêng “điện toán đám mây”, bời lẽ tấn công

đánh cắp dữ liệu là vấn đề gặp phải trên bất kỳ môi trường nào, ngay cả

trên các máy tính cá nhân

2.1.6 Khái niệm lưu trữ đám mây (Cloud Storage)

Công nghệ điện toán đám mây được coi là một cuộc cách mạng lớn trong thời đại

Internet, làm thay đổi phương thức lưu trữ dữ liệu một cách thông minh và tiện lợi hơn

Trong đó được sử dụng phổ biến nhất hiện nay là dịch vụ lưu trữ đám mây

Dịch vụ lưu trữ đám mây là một dịch vụ lưu trữ dữ liệu trực tuyến, mọi người có thể

lưu trữ các dữ liệu trên Internet một cách tiện lợi Dữ liệu sẽ được lưu trữ trên Internet

(đám mây) và có thể truy cập, sử dụng bất cứ lúc nào, tại bất cứ nơi đâu, thông qua một

PC, Ipad hoặc điện thoại di động, rất nhanh chóng và dễ dàng miễn là được kết nối

Internet và được dịch vụ lưu trữ đám mây đó hỗ trợ thì đều có thể truy cập sử dụng

dịch vụ

2.1.7 Giới thiệu một số nhà cung cấp dịch vụ điện toán đám mây

Hiện nay có rất nhiều nhà cung cấp dịch vụ lưu trữ đám mây khác nhau Chúng

ta có thể kể đến một số nhà cung cấp dịch vụ nổi bật như: AWS, MicroSoft, Google,

Dropbox, Onedrive, SugarSync, Apple…

a) Google drive

Trang 21

Đây là sản phẩm của tập đoàn đa quốc gia Google – một nhà sản xuất và cung

cấp các dịch vụ liên quan đến internet như dịch vụ tìm kiếm, điện toán đám mây và

phần mềm Google Drive là một sản phẩm cung cấp cho người dùng không gian lưu

trữ miễn phí lớn trên đám mây Nó được xem như là kho lưu trữ toàn diện nhất hiện

nay Google Drive được tích hợp những công cụ cơ bản của các trình chỉnh sửa và tạo

văn bản Word, Excel hay Power Point

b) One Drive

OneDrive là một sản phẩm được cung cấp bởi tập đoàn Microsoft – một nhà sản

xuất, kinh doanh bản quyền phần mềm hỗ trợ trên diện rộng các sản phẩm và dịch vụ

liên quan đến máy tính Hiện nay, One Drive cũng cung cấp cho người dùng dung

lượng lưu trữ miễn phí lớn trên đám mây Nó được tích hợp trên hầu hết các hệ điều

hành của Microsoft Đặc điểm nổi bật là có thể kết hợp với ứng dụng văn phòng

Microsoft Office để hỗ trợ chỉnh sửa văn bản trực tuyến

c) Dropbox

Là sản phẩm được cung cấp bởi hãng Dropbox – một nhà cung cấp dịch vụ lưu

trữ tập tin Đây là một sản phẩm được yêu thích nhất nhờ sự đơn giản và tính tin cậy

Dropbox tương thích hầu hết các hệ điều hành và có tính năng đồng bộ trên tất cả các

thiết bị rất thuận tiện cho quá trình sử dụng

d) SugarSync

SugarSync là một dịch vụ sao lưu trực tuyến cũng như đồng bộ hóa được cung

cấp bởi hãng SugarSync – một nhà cung cấp dịch vụ lưu trữ đám mây SugarSync có

thể sao lưu dữ liệu từ bất kì thư mục nào trên đĩa cứng, ngoài ra còn có thể chia sẻ với

người khác SugarSync cung cấp một số tính năng tiện dụng để chuyển nhạc và hình

ảnh giữa các thiết bị di động và máy tính

e) iCloud

iCloud là sản phẩm được cung cấp dành riêng cho các thiết bị Apple – một tập

đoàn công nghệ máy tính của Mỹ, chuyên cung cấp các sản phẩm như máy tính cá

nhân, phần mềm, phần cứng, thiết bị nghe nhạc và nhiều thiết bị đa phương tiện khác

iCloud cung cấp cho người dùng của Apple cách thức mới để lưu trữ và truy cập dữ

liệu Ngoài ra iCloud còn cho phép đồng bộ hóa tự động giữa các thiết bị của Apple

dựa trên thời gian thực theo cơ chế push mang đến cho người dùng những tiện ích to

lớn

Trang 22

2.2 Các công nghệ liên quan điện toán đám mây

2.2.1 Tổng quan về Openstack và triển khai Openstack

Hiện nay có khá nhiều các công ty, tổ chức đang nghiên cứu phát triển công

nghệ điện toán đám mây để phục vụ nhu cầu của tổ chức mình cũng như cung cấp ra

bên ngoài để mọi người cùng sử dụng Cùng với trào lưu đó thì NASA và Rackspace

cũng đã nghiên cứu và triển khai thành công hệ thống điện toán đám mây với tên gọi là

OpenStack Và cũng để cho công nghệ điện toán đám mây với OpenStack phát triển

hơn thì OpenStack được xây dựng dưới dạng phần mềm mã nguồn mở Hiện tại, với

phần mềm mã nguồn mở này, thì đám mây dựa trên mã nguồn mở OpenStack đã được

rất nhiều cá nhân tổ chức phát triển và được ứng dụng rộng rãi ở nhiều tổ chức lớn

Trong chương này, đồ án sẽ trình bày những nội dung cơ bản nhất về phần mềm mã

nguồn mở OpenStack Đồng thời trình bày quá trình xây dựng thử nghiệm đám mây

riêng OpenStack trên môi trường giả lập VMWare

Như đã nói AWS chính là nguồn cảm hứng tạo nên OpenStack ngày nay, AWS

là nền tảng đóng của Amazon và OpenStack là một nền tảng mở dành cho tất cả các

công ty và cộng đồng sử dụng Mục đích của OpenStack là cung cấp cho người dùng

khả năng xây dựng một hạ tầng cho cả đám mây riêng và đám mây công cộng Đã có

nhiều công ty sử dụng OpenStack để xây dựng dịch vụ và phục vụ nhu cầu của chính

họ hoặc cho thuê như chính NASA và Rackspace

2.2.2 Openstack

Openstack là một nền tảng phần mềm mã nguồn mở dùng để triển khai điện toán

đám mây, bao gồm đám mây riêng và đám mây công cộng Nó cung cấp giải pháp xây

dựng hạ tầng điện toán đám mây đơn giản, có khả năng mở rộng và nhiều tính năng

phong phú, hỗ trợ quản trị các tài nguyên trong mô hình điện toán đám mây Một trung

tâm lưu trữ dữ liệu lớn có thể được quản lý thống nhất khi sử dụng Openstack, từ các

đơn vị máy xử lý, đơn vị lưu trữ đến tài nguyên mạng có thể dễ dàng được kiểm soát

thông qua một giao diện đồng nhất

Trang 23

2.2.3 Mục đích và những thành phần của Openstack

Mục đích của Openstack dùng để tạo ra các máy ảo chạy các ứng dụng bên

trong máy ảo Các máy ảo cũng có các thành phần giống như các máy vậy lý như

laptop, PC, Server… như chúng ta đã biết các thành phần cơ bản của 1 cái laptop gồm:

màn hình, CPU, RAM, Ổ cứng, card mạng và bàn phím Thì trên máy ảo cũng gồm các

thành phần tương tự như thế, bao gồm 4 thành phần cơ bản sau đây: Dashboard,

Compute, Networking, Storage

Hình 2.7 Mô hình thành phần cơ bản của Openstack [6]

 Dashboard (Horizon): giống như là màn hình của laptop cho phép người dùng

có thể tương tác dễ dàng với máy ảo được tạo ra Mục đích của nó để cung cấp

giao diện đồ họa (trang web) cho người dùng cuối được tương tác với hệ thống

của Openstack để tạo, quản lý và truy cập máy ảo

 Compute - Nova: là nơi cung cấp môi trường thực hiện ảo hóa hay gọi là thành

phần quản lý hạ tầng tài nguyên Sử dụng các phần mềm ảo hóa để cung cấp các

máy ảo (Instance)

 Giống như là CPU và RAM của laptop Mục đích của nó để xử lý và tính toán các hoạt động của máy tính

 Tùy thuộc vào các yêu cầu chức năng của hệ thống mà chúng ta sẽ chọn ra loại Hypervisor thích hợp

 Networking - Neutron: Là giống như card mạng của laptop dùng để tạo

Network topology để cung cấp Network L2, L3, Vlan, Loadbalance, VPN và

FireWall

Mục đích của Networking - Neutron để kết nối các máy ảo giao tiếp

Trang 24

với nhau như:

 Tạo ra các Switch ảo và các Router ảo

 Các máy ảo được tạo ra từ hệ thống Openstack có thể kết nối với nhau trong cùng một mạng LAN (Layer 2 trong mô hình OSI) có thể nói chuyện được với nhau Các mạng LAN này được tạo ra từ Switch ảo

 Các máy ảo trong 2 mạng LAN khác nhau (VLan) nói chuyện thông qua một router ảo đứng trung gian

 Ngoài ra, giúp cho các máy ảo bên trong hệ thống Openstack kết nối

và giao tiếp với bên ngoài internet thông qua các router ảo

 Storage : giống như là ổ cứng của laptop Mục đích của nó chính là để lưu dữ

liệu và thông tin

 Your applications: Các ứng dụng dịch vụ (database, web app, ) Sử dụng hạ

tầng của Openstack để chạy

2.2.4 Kiến trúc của Openstack

Trang 25

Hình 2.8 Mô hình Kiến Trúc của Openstack [7]

Mọi người quan sát ở vùng giữa của hình trên, có thành phần VM (virtual machine)

Có 4 mũi tên chỉ vào nó, ý nghĩa là các thành phần cơ bản kết hợp lại tạo nên một cái

máy ảo

Giải thích qua về mô hình hoạt động:

Đầu tiên người quản trị sẽ truy cập vào horizon (màn hình giao diện web) như

những hệ thống bình thường khác, để vào quản trị được hệ thống thì phải qua

bước xác thực, sử dụng Keystone

 Nếu người dùng xác thực thành công, tùy vào quyền của từng người quản trị mà

họ có thể được quản lý các tài nguyên, dịch vụ tương ứng Ở đây, ta ví dụ người

dùng có quyền cao nhất (Administrator)

 Mục đích người quản trị truy cập vào hệ thống này để làm gì?

o Để tạo và quản lý máy ảo sử dụng để chạy các ứng dụng Vậy để tạo

được máy ảo thì cần làm như: Ở đây ta ví dụ người dùng muốn sử dụng

một máy ảo với cấu hình: Chạy Ubuntu 16.04, RAM 2GB, 2 coresCPU,

40 GB ổ cứng, sử dụng lớp mạng private và một IP public thuộc lớp mạng Vậy thì:

Thành phần Neutron chính là nơi tạo ra các lớp mạng riêng ảo

(virtual switch) Và tạo ra một router ảo (virtual router) để cho phép kết nối (NAT) giữa các máy bên trong mạng riêng ảo với các mạng bên ngoài internet

Thành phần Nova là thành phần quan trọng nhất của Openstack

Vì nó là nơi cung cấp RAM, CPU cho máy ảo: Ở đây chúng ta cấp RAM 2GB và CPU 2 cores

Thành phần Glance chính là nơi cung cấp các file images để chạy

hệ điều hành Cho nên hình dung nó giống như là một file ISO, hay là một đĩa CD, USB để cài đặt hệ điều hành cho máy tính

Thành phần Cinder: Cung cấp các ổ đĩa ảo gắn ngoài trên các

máy ảo Hình dung nó như là một cái USB hoặc là một ổ rời mà mọi người hay dùng để lưu trữ dữ liệu backup

Thành phần Swift: cung cấp dịch vụ lưu trữ theo đối tượng

(Object storage ) Cho phép tải lên, tải xuống và lưu trữ các file (object) trên hệ thông storage riêng biệt Hệ thông swift phục vụ việc truyền tải, tải lên, tải xuống file dưa trên giao thức phổ biến HTTP Người dùng cuối sử dụng dịch vụ Swift sẽ giống như đang

sử dụng một dịch vụ chia sẻ file phổ biến trên mạng internet

 Ngoài ra còn có một số tính năng khác:

o Ceilometer:

 Dùng để thống kê các tài nguyên mà người dùng sử dụng, các máy

ảo sử dụng

Trang 26

 Giám sát mức độ sử dụng tài nguyên trong OpenStack

o Heat:

 Dùng để tạo các tài nguyên, máy ảo dựa vào các template có sẵn

do người dùng tự viết ra (Có thể tạo nhiều máy ảo cùng một lúc)

 Tự động tính toán và sử dụng các tài nguyên: Compute, Network

2.2.5 Mô hình thiết kế

Openstack đưa ra 2 ví dụ về mô hình networking: Provider networks và

Self-service networks

Về cơ bản nó giống nhau nên ở đây tôi xin được phép trình bày về mô hình

networking: Self-service networks

Hình 2.9 Mô hình thiết kế của Openstack [8]

Chú ý: Ở đây, hãy hiểu khái niệm node như là một cái server, máy tính,

Trang 27

Core component: Là các thành phần lõi, không thể thiếu

Optional component: Là các thành phần có cũng được mà không có cũng

chẳng sao

Vậy thì từ cái hình ở trên, để thiết kế ra một hệ thống Openstack multi nodes cơ

bản, chúng ta sẽ phải cần phải có 2server core component: Controller node và Compute

Network Time Service (NTP): Sử dụng để đồng bộ thời gian giữa các nodes

Identity (Keystone): Sử dụng để xác thực khi người dùng muốn truy cập vào

hệ thống Openstack

Image service (Glance): Cung cấp và quản lý các image để chạy hệ điều hành

cho máy ảo

Compute management: Tạo và quản lý các máy ảo (RAM, CPU) bên trong hệ

thống Openstack

Networking management: Tạo và quản lý các switch ảo, router ảo, các lớp

mạng cung cấp bên trong hệ thống Openstack

Networking ML2-plugin: Kiểu như để hỗ trợ tạo các switch ảo

Linux Network Utilities:

Networking Linux bridge agent: Kiểu như nó tạo ra một cái bridge network để

cho phép mạng bên trong hệ thống Openstack có thể ra ngoài được thông qua

các card mạng thật của máy vật lý Sử dụng (Open vSwitch, brctl, )

Networking DHCP Agent: Cho phép cung cấp các IP động cho máy ảo được

Compute: Cung cấp RAM, CPU cho máy ảo

Linux network utilities:

Trang 28

Networking Linux bridge agent: Kiểu như nó tạo ra một cái bridge network để

cho phép mạng bên trong hệ thống Openstack có thể ra ngoài được thông qua

các card mạng thật của máy vật lý Sử dụng (Open vSwitch, brctl, )

Telemetry agent:

o Efficiently polls metering data related to OpenStack services

o Collects event and metering data by monitoring notifications sent from services

o Publishes collected data to various targets including data stores and message queues

o Creates alarms when collected data breaks defined rules

2.2.6 Cài đặt, triển khai OpenStack

Trong phần này của đồ án sẽ trình bày tóm tắt về quá trình cài đặt triển khai

OpenStack trong phòng thí nghiệm

Quá trình cài đặt triển khai OpenStack (phiên bản NewTon) được thực hiện trên

phần mềm VMWare Workstation 12, sử dụng hệ điều hành Ubuntu 16.04 Desktop với

2 Node là Controller Node và Compute Node Sau đó sử dụng Router để cấp cúng

mạng cho 2 Node

Điều kiện cấu hình các máy như sau:

 Controller Node: : Chạy các dịch vụ quản lý (keystone, horizon,…) mà cần thiết cho

OpenStack hoạt động

Cấu hình tối thiểu HDD 80GB trở lên, RAM 5GB trở lên, CPU 02 nhân (có tích vào

các chế độ ảo hóa), có 2 card mạng đó là eth0 - chế độ bridge, và eth1 – chế độ

vmnet2–Hostonly)

Với IP eth0 chế độ bridge : 192.168.1.10/24

Với IP eth1 chế độ Vmnet2 : 10.0.0.10/24

 Compute Node: : Cung cấp RAM, CPU cho máy ảo và Sử dụng lớp ảo hóa loại

QEMU để chạy các máy ảo trên các phần cứng vật lý

Dung lượng HDD 60GB, RAM 3GB, CPU 2 nhân (có lựa chọn chế độ ảo hóa), có 2

card mạng đó là eth0 chế độ VMnet2-Hostonly và eth1 chế độ Bridge

Với IP eth0 chế độ Bridge : 192.168.1.11/24

Với IP eth1 chế độ Vmnet2 :10.0.0.11/24

 Router : Chạy các dịch vụ mạng , NAT các IP nội bộ ra bên ngoài, cấp phát DHCP từ

192.168.1.20 – 192.168.1.100 để tạo Foating IPs cho các máy ảo nằm trong Openstack

có thể ra ngoài, kết nối các máy ảo với mạng bên ngoài

Với IP Router bên ngoài 131.172.1.100 (WAN)

Với IP Router nội bộ 192.168.1.1 (LAN)

Trang 29

Hình 2.10 Mô Hình Cài Đặt Openstack

2.2.7 Trang web login Openstack và tạo ra các máy ảo bằng giao diện Openstack

 Đây là trang web login hoặc gọi là dashboard xác thực vào hệ thống Opesntack

để tạo ra các máy ảo và quản lý các máy ảo

Hình 2.11 Trang Web đăng nhập vào hệ thống Openstack

Trang 30

 Đây là máy ảo đã tạo ra để làm máy chủ dịch vụ lưu trữ đám mây

Hình 2.12 máy ảo

2.2.8 Đánh giá giải pháp

Sau quá trình cài đặt, cấu hình và sử dụng Openstack thành công, giải pháp cho phép:

- Có thể tạo ra và cung cấp các máy ảo cho người sử dụng

- Quản lý được các tài nguyên cấp phát cho các máy ảo

- Người dùng có thể cấu hình các dịch vụ

- Thao tác cấu hình hệ thống bao gồm cấu hình hạ tầng ảo hóa, cấu hình

mạng, cấu hình cấp phát tài nguyên

- Hệ thống cung cấp giao diện quản trị tương đối trực quan, đầy đủ, dễ dàng

cho người sử dụng

2.2.9 Đề xuất phát triển nâng cao hiệu năng của giải pháp

Hoàn thiện và bổ sung một số chức năng cho giải pháp hiện tại như:

 Các chức năng về quản lý tài nguyên ảo hóa:

 Cấp phát động tài nguyên (auto scaling): Cho phép quản lý cấp phát động tài

nguyên cho máy ảo (RAM, CPU), khi máy ảo dùng hết tài nguyên, hệ thống sẽ

cung cấp cơ chế cho phép máy ảo dùng hết tài nguyên có thể yêu cầu cấp phát

thêm tài nguyên để sử dụng

 Truy cập từ xa vào an toàn: Người dùng được cung cấp cơ chế truy cập an toàn

để có thể truy cập từ xa vào giao diện máy ảo của mình Toàn bộ thông tin trên

đường truyền sẽ được mã hóa

 Tự động khôi phục khi hệ thống có lỗi: Toàn bộ máy chủ vật lý,máy ảo sẽ tự

động bật nếu gặp sự cố như mất điện Mô hình ứng dụng điện toán đám mây cho

hệ thống quản lý trong quân đội

Trang 31

 Các chức năng về networking:

 Tường lửa: Hệ thống cho phép sử dụng tường lửa mềm hoặc tích hợp một tường

lửa phần cứng để quản lý lưu lượng mạng giữa các máy ảo và các máy ảo với

 Cung cấp module tính cước sử dụng máy ảo, lưu trữ , băng thông

2.3 Tổng quan về lưu trữ trên điện toán đám mây

Hệ thống lưu trữ Ceph có thể được sử dụng với các mục đích khác nhau và cung

cấp nhiều hình thức lưu trữ như: Ceph Object Storage, Ceph Block Storage 2 hình

thức lưu trữ này thường xuất hiện trong các nền tảng điện toán đám mây (ví dụ

Openstack), Ceph FileSystem, hoặc cho bất kỳ mục đích nào liên quan đến lưu trữ

Điểm chung trong việc triển khai Ceph đều bắt đầu từ việc xây dựng các Ceph

node, kết nối hệ thống mạng và xây dựng cụm lưu trữ Ceph Hệ thống hạ tầng lưu trữ

Ceph cần ít nhất 1 Ceph Monitor và 2 Ceph OSD Daemons Ngoài ra, Ceph metadata

server chỉ cần thiết khi trong hệ thống có Ceph Filesystem clients

2.3.1 Giới thiệu lưu trữ Ceph

Ceph là giải pháp mã nguồn mở để xây dựng hạ tầng lưu trữ phân tán, ổn định,

độ tin cậy và hiệu năng cao, dễ dàng mở rộng Với hệ thống lưu trữ được điều khiển

bằng phần mềm, Ceph cung cấp giải pháp lưu trữ theo đối tượng (Object), khối (Block)

và tệp dữ liệu (File) trong một nền tảng đơn nhất Ceph chạy trên nền tảng điện toán

đám mây với các thiết bị phần cứng ổn định và tiên tiến nhất, giúp tiết kiệm chi phí và

sử dụng dễ dàng với Linux Kernel

Trang 32

Hình 2.13 Ceph Storage Cluster 0

Ceph lưu trữ dữ liệu của client dưới dạng các objects trong các pool lưu trữ Ceph

sử dụng thuật toán CRUSH, trong đó Ceph sẽ tính toán placement group nào sẽ lưu trữ

object và tính toán Ceph OSD Daemon nào sẽ lưu trữ placement group CRUSH

algorithm cho phép lưu trữ Ceph có khả năng mở rộng, tự cân bằng (relalance) và

recovery tự động

2.3.2 Các hướng phát triển sử dụng Ceph

- Sử dụng để lưu trữ thay thế ổ đĩa server thông thường

- Sử dụng để backup, lưu trữ an toàn

- Sử dụng để thực hiện triển khai các dịch vụ High Avaibility khác như Load

Balancing for Web Server, Database Replication…

- Xây dựng storage giải quyết bài toán lưu trữ cho dịch vụ Cloud hoặc phát triển

lên Cloud storage (Data as a service)

2.3.3 Các hệ thống lưu trữ của Ceph

Trang 33

Hình 2.14 Hệ thống lưu trữ Ceph 0

Ceph cung cấp khả năng truy cập liên tục tới các Object bằng cách sử dụng

ngôn ngữ bản địa: binding hoặc radosgw, giao diện REST tương thích với các ứng

dụng được viết cho S3 và Swift.Thư viện phần mềm của Ceph cung cấp các ứng dụng

cho khách hàng khả năng truy cập trực tiếp tới hệ thống lưu trữ dựa trên RADOS

Object và cung cấp nền tảng cho một số tính năng cao cấp của Ceph, bao gồm RADOS

Block Device (RBD), RADOS Gateway và Ceph File System

Object storage là một kiểu lưu trữ dữ liệu theo đối tượng Mục đích sinh ra để dễ

dàng quản lý dữ liệu hơn Ví dụ: khi mà chúng ta lưu trữ dữ liệu trên Volumes hoặc

Folder, nếu số lượng file ít thì dễ quản lý nhưng khi số lượng file nhiều thì rất khó quản

lý Cho nên Object storage sử dụng thành phần metadata để giải quyết bài toán này

Block storage là định dạng lưu trữ trong môi trường doanh nghiệp Ceph Block

Divce có tên là RADOS block device (RBD), cung cấp block storage cho hypervisor và

máy ảo khi Ceph block device được mount vào máy ảo, nó có thể được sử dụng như

một phân vùng RAW hoặc có thể định dạng theo các loại filesystem phổ biến

Trang 34

RBD sử dụng thư viện librbd để tận dụng các tiện ích của RADOS và cung cấp tính tin

cậy, phân tán và khả năng lưu trữ dựa trên object Khi client ghi dữ liệu trên Ceph bằng

cách sử dụng Block Device, Ceph sẽ tự động đồng bộ, tạo bản sao dữ liệu trên Cluster

giúp tăng hiệu năng và độ tin cậy dữ liệu Client có thể ghi, nối thêm, cắt xén các

object đang có Do đó RBD là giải pháp lưu trữ tối ưu cho volume máy ảo

Ceph RBD đang thay thế giải pháp lưu trũ SAN bằng cách cung cấp các tính

năng cao cấp như thin provision, copy-on-write snapshot và clone, reate-only snapshot,

hỗ trợ các nền tảng đám mây như Openstack và Cloudstack

Ceph cung cấp một POSIX-compliant network file system, nhằm mang lại hiệu

suất cao, lưu trữ dữ liệu lớn và tương thích tối đa với các ứng dụng hiện tại

Hệ thống lưu trữ Ceph cung cấp một số tính năng vượt trội hơn so với nhiều hệ

thống lưu trữ Object hiện nay: Ceph cung cấp giao diện File System truyền thống với

POSIX Hệ thống lưu trữ là một cải tiến đáng kể, nhưng chúng vẫn còn phải thực hiện

nhiều hơn so với các File System truyền thống Khi yêu cầu về lưu trữ tăng lên trong

các ứng dụng hiện tại, tổ chức có thể cấu hình các ứng dụng hiện tại để sử dụng Ceph

File System Có nghĩa là người dùng có thể chạy một cụm lưu trữ cho Object, Block và

lưu trữ dữ liệu dựa trên File

2.3.4 Các Node trên hệ thống lưu trữ Ceph

Hệ thống Ceph là một mô hình có thể chịu lỗi, tức là cho phép chạy ít nhất 3

Node trở lên, trong đó Node thứ nhất gọi là admin, Node thứ 2 gọi là máy chủ sao lưu

và Node còn lại gọi là máy chủ monitor để theo dõi trạng thái hoạt động của mỗi node

Mô hình này cho phép giải quyết bài toán về thời gian downtime của hệ thống khi có

sự cố xẩy ra do phần cứng hoặc hệ điều hành server bị hỏng thì sẽ không ảnh hưởng tới

việc kết nối, làm việc của nhân viên đang chỉnh sửa dữ liệu Các Node trong hệ thống

lưu trữ ceph bao gồm 3 Node chính:

 Admin Node

 Monitor Node

 OSD Node

2.3.4.1 Object Storage Daemon (OSD)

OSD là thiết bị lưu trữ dữ liệu trong ceph cluster Chúng lưu trữ dữ liệu dưới

dạng các object trên ổ đĩa vật lý Một ceph cluster có nhiều OSD Mỗi object trong

OSD gồm một primary copy, secondary copy và tertiary copy Mỗi object được phân

tán qua các cluster node làm cho tính có sẵn tăng cao và chịu được nhiều lỗi

Secondary OSD và tertiary OSD sẽ nằm dưới sự kiểm soát của OSD chính Khi OSD

Trang 35

chính thất bại, Secondary OSD sẽ được thăng cấp lên thành OSD chính Các bản sao

Secondary OSD mới sẽ được tạo ra trong quá trình khôi phục này

Khi khách hàng muốn lưu trữ hoặc truy xuất dữ liệu, khách hàng yêu cầu cluster map

từ các monitor node và sau đó chúng tương tác trực tiếp với các OSDs Cơ chế này

cung cấp giao dịch dữ liệu rất nhanh Sự tuần hoàn của mỗi OSDs: nếu có một OSD bị

lỗi, các OSD khác sẽ thông báo cho monitor rằng OSD này đã bị tắt Sau đó, monitor

sẽ tạo ra monitor map theo dõi OSD mới nào bị lỗi và các OSD còn lại sao chép dữ liệu

trên OSD bị lỗi đó Secondary OSD sẽ trở thành OSD chính Những OSD có kiểm tra

sự tuần hoàn của các OSDs khác 6 giây 1 lần Nếu một OSD lân cận không hiển thị sự

tuần hoàn trong vòng 20 giây, nó sẽ cho rằng osd thất bại và báo cáo osd này vào Ceph

monitor node Sau đó, monitor node sẽ cập nhật cluster map

Sơ đồ dưới đây cho thấy kiến trúc của OSD

Hình 2.15 kiến trúc OSD đồng bộ [9]

2.3.4.2 Monitor (MON)

Ceph monitor là thành phần theo dõi trạng thái của toàn bộ ceph cluster Ceph

monitor sẽ duy trì bản sao chính của cluster map Ceph monitor không cung cấp dữ liệu

cho khách hàng Khách hàng liên hệ với monitor để lấy bản sao của cluster map

Như vậy, các monitor không cung cấp hoặc lưu trữ dữ liệu cho khách hàng

Chức năng của monitor node là duy trì cluster map và cung cấp monitor map cho các

node khác trong cluster

Client

Osd.0 (Primary OSD)

Write Write

Write

OSD đồng bộ

Trang 36

Cluster map bao gồm monitor map, OSD map, placement group (PG) map, Crush map

và MDS map Như vậy, các node sẽ báo cáo trạng thái cho Monitor và chia sẻ các

thông tin về sự thay đổi của chúng như sau:

- Monitor map

Monitor map chứa các thông tin về vị trí bao gồm cluster ID, địa chỉ, số cổng của

các monitor node

- OSD map: OSD map lưu trữ các thông tin về OSDs như đếm, trạng thái, trọng

lượng, số replicas và danh sách OSD Ngoài ra, cũng có thông tin khác như tên

pool, Pool ID, loại pool và các PGs

- PG map: PG map là giữ thông tin ID PGs, phiên bản PG, sự kiện cuối của PG,

2.3.4.3 Admin node (ceph-deploy)

Là công cụ hỗ trợ cài đặt và cấu hình hệ thống Ceph Đây là thành phần không

bắt buộc trong hệ thống

2.3.5 Các thành phần bên trong ceph

2.3.5.1 RADOS (Reliable Autonomous Distributed Object Storage )

RADOS chịu trách nhiệm về tất cả các tính năng của Ceph RADOS có một

lớp là cơ sở cho tất cả các hoạt động trong một cluster Ceph Khi có một yêu cầu viết

được thực hiện cho lưu trữ Ceph Cluster, thuật toán CRUSH tính vị trí để ghi dữ liệu

Lớp RADOS xử lý thông tin này và lưu trữ dữ liệu phù hợp trong các OSD trong

Cluster RADOS phân phối dữ liệu đến tất cả các node trong cluster dựa trên thuật toán

CRUSH RADOS sao chép các Object, tạo ra bản sao, lưu trữ chúng vào các vùng khác

nhau RADOS làm việc cung cấp độ tin cậy của dữ liệu dựa trên cấu hình nhân bản

được cấu hình RADOS lưu trữ dữ liệu dưới dạng các Object trên các Pool Hình dưới

đây cho thấy các thành phần của RADOS RADOS Cluster bao gồm osds và màn hình

Trang 37

Hình 2.16 Thành Phần Rados Cluster [9]

2.3.5.2 Object

Object là đại diện cho dữ liệu Object thường bao gồm các thành phần data và metadata

đi kèm, cung cấp một số nhận dạng duy nhất trên Cluster Mã nhận dạng duy nhất đảm

bảo rằng không có Object nào trùng ID trong toàn bộ lưu trữ ceph

Trong Object, dữ liệu được lưu trữ với metadata phong phú như lưu trữ thông tin về

bối cảnh và nội dung dữ liệu Ví dụ sau đây của lưu trữ một hồ sơ bệnh nhân được goi

như là một Object:

Hình 2.17 Thành Phần Object [9]

Bất kỳ ứng dụng nào cũng có thể lấy dữ liệu từ một đối tượng dựa trên Object

ID của nó thông qua việc sử dụng các giao diện RESTful API Một Object ID đóng vai

trò tương ứng với Object của nó, tương tự như sự hoạc động của URL trên Internet

Các Object được lưu trữ trong thiết bị lưu trữ object (OSD) theo mô hình sao chép,

cung cấp tính sẵn sàng cao (HA) Khi lưu trữ Ceph Cluster nhận được yêu cầu ghi dữ

Trang 38

liệu từ các máy khách, nó sẽ lưu dữ liệu dưới dạng các Objects Sau đó, OSD ghi dữ

liệu vào tệp tin trong hệ thống tệp OSD

2.3.5.3 Crush

Crush là thuật toán quản lý về việc di chuyển các PGs qua ceph cluster theo khả

năng mở rộng băm của lưu trữ ceph cluster

Phương pháp lưu trữ dữ liệu bao gồm bảng tra cứu metadata metadata là dữ liệu

về dữ liệu, tức là metadata định danh cho các dữ liệu Nó lưu trữ thông tin như vị trí

của dữ liệu Khi có dữ liệu mới được thêm vào, bảng metadata được cập nhật thêm

metadata của dư liệu mới đó, bảng metadata sẽ giúp tìm kiếm vị trí của tệp tin Sau thủ

tục này, dữ liệu sẽ được lưu trữ trên đĩa Đó là nhiệm vụ thuật toán CRUSH để tính

toán metadata và vị trí của Object

- Crush Lookup

Crush Lookup là thuật toán để tính vị trí PG và OSD cần lưu dữ liệu Quá trình tính

toán này được thực hiện ở khách hang

Ví dụ: tất cả dữ liệu được lưu trữ dưới dạng object trong ceph cluster Khách hàng sê

liên lạc với ceph monitor để lấy bản sao của cluster map Cluster map giúp khách hàng

để kiểm tra trạng thái của cluster Sau đó, dữ liệu sẽ được chuyển đổi thành các object

Object sẽ được xác định tên pool và object ID Trong pool chứa số PGs Object được

xác định với số nhóm vị trí để tính toán nhóm vị trí cuối cùng object được lưu trữ Sau

khi nhóm vị trí được xác định, PG xác định OSD chính mà object được lưu trữ Sau khi

nhận được OSD ID khách hàng có thể liên hệ trực tiếp với OSD để lưu trữ hoặc truy

xuất dữ liệu Sau khi dữ liệu được ghi vào OSD chính hoàn thành OSD sẽ sao chép vị

trí của các PGs và OSDs dự phòng và các bản sao object vào node khác để đảm bảo

sao chép dữ liệu và tính sẵn cao Sơ đồ dưới đây biểu diễn crush lookup

Ngày đăng: 05/03/2021, 10:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w