1. Trang chủ
  2. » Công Nghệ Thông Tin

Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)

54 253 0

Đ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 54
Dung lượng 1,72 MB

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

Nội dung

Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack (Luận văn thạc sĩ)

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

BÙI XUÂN AN GIẢI PHÁP CẤP PHÁT TÀI NGUYÊN THEO THỜI KHÓA BIỂU TRÊN OPENSTACK

CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi được thực hiện dưới sự hướng dẫn của PGS.TS Thoại Nam

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tp Hồ Chí Minh, ngày 10 tháng 11 năm 2017

Học viên thực hiện luận văn

BÙI XUÂN AN

Trang 4

Tp Hồ Chí Minh, ngày 10 tháng 11 năm 2017

Học viên thực hiện luận văn

BÙI XUÂN AN

LỜI CẢM ƠN

Tôi xin chân thành cảm ơn PGS.TS Thoại Nam, giảng viên hướng dẫn luận văn của tôi, đã tận tình chỉ bảo, hướng dẫn trong suốt quá trình thực hiện đề tài Sự hướng dẫn của Thầy là định hướng, là động lực giúp tôi vượt qua những khó khăn

để đạt được kết quả như hôm nay

Tôi xin chân thành cảm ơn, Ban Giám đốc, Ban chủ nhiệm Khoa Sau Đại học và Khoa Công nghệ Thông tin, cùng các Thầy, Cô đã giảng dạy và quản lý đào tạo trong suốt 2 năm theo học tại Học viện Công nghệ Bưu chính Viễn thông

Tôi xin chân thành cảm ơn, Hội đồng chấm đề cương đã góp ý cho đề cương luận văn

Cuối cùng, tôi xin cảm ơn, gia đình, các đồng nghiệp đã động viên, tạo điều kiện cho tôi trong suốt 2 năm học tập nghiên cứu

Xin chân thành cảm ơn

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT vi

DANH SÁCH BẢNG vii

DANH SÁCH HÌNH VẼ viii

MỞ ĐẦU 1

1 Tính cấp thiết của đề tài 1

2 Tổng quan về vấn đề nghiên cứu 2

3 Mục tiêu nghiên cứu 2

4 Đối tượng và phạm vi nghiên cứu 3

4.1 Đối tượng nghiên cứu 3

4.2 Phạm vi nghiên cứu 3

5 Phương pháp nghiên cứu 3

5.1 Phương pháp nghiên cứu lý thuyết 3

5.2 Phương pháp nghiên cứu thực nghiệm 3

CHƯƠNG 1 - TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 4

VÀ OPENSTACK 4

1.1 Xu hướng công nghệ Điện toán đám mây hiện nay 4

1.1.1 Xu hướng điện toán đám mây 4

1.1.2 Đặc điểm của điện toán đám mây [14] 4

1.1.3 Các mô hình triển khai và các dịch vụ của điện toán đám mây [4] 4

1.2 OpenStack là gì? 6

Trang 6

1.2.1 Giới thiệu chung 6

1.2.2 Các phiên bản OpenStack [10] 6

1.2.3 Các thành phần chính của OpenStack: 9

1.2.4 Ưu điểm và hạn chế của OpenStack [17] 10

1.2.5 Những Case Study đã triển khai OpenStack [11] 11

1.3 Kết luận chương 11

CHƯƠNG 2 - CẤP PHÁT TÀI NGUYÊN TRONG OPENSTACK 13

2.1 Cơ chế cấp phát máy ảo của OpenStack 13

2.2 Cơ chế lập lịch của OpenStack [16] 15

2.2.1 Bộ lọc lập lịch 15

2.2.2 Trọng số 17

2.3 Kết luận chương 18

CHƯƠNG 3 - BÀI TOÁN VECTOR BIN PACKING 19

VÀ GIẢI PHÁP CẤP PHÁT TÀI NGUYÊN 19

3.1 Tương quan giữa bài toán Vector Bin Packing (VBP) với việc cấp phát tài nguyên tính toán [2] 19

3.2 Họ các thuật toán FFD [2] 20

3.2.1 Chọn trọng số 20

3.2.2 Thời gian chạy của FFD 21

3.3 Các Heuristic hình học [2] 21

3.3.1 Dot Product 22

3.3.2 Norm-based Greedy L2 22

3.4 Thuật toán thường dùng trong cấp phát tài nguyên 22

3.4.1 Thuật toán Round robin [9] 22

Trang 7

3.4.2 Thuật toán First Fit [8] 22

3.4 Thực nghiệm 23

3.4.1 Dữ liệu thử nghiệm 23

3.4.2 Kết quả 23

3.5 Kết luận chương 24

CHƯƠNG 4 – HỆ THỐNG CẤP PHÁT TÀI NGUYÊN 25

DỰA TRÊN OPENSTACK 25

4.1 Đề xuất thuật toán cấp phát tài nguyên theo thời khóa biểu 25

4.1.1 Phát biểu bài toán 25

4.1.2 Các ràng buộc, quy định 25

4.1.3 Đề xuất thuật toán 25

4.2 Đưa thuật toán cấp phát tài nguyên theo thời khóa biểu vào OpenStack 29

4.2.1 Thiết kế các module của ứng dụng 30

4.2.2 Thiết lập hệ thống OpenStack 33

4.2.3 Cơ chế di chuyển máy ảo (migration) trong OpenStack [15] 34

4.2.4 Tương tác giữa ứng dụng và OpenStack 35

4.2.5 Kết quả đạt được 36

4.3 So sánh kết quả với hai thuật toán thường dùng 38

4.4 Kết luận chương 41

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42

DANH MỤC TÀI LIỆU THAM KHẢO 43

Trang 8

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

Viết tắt Tiếng Anh Tiếng Việt

tiên theo thứ tự giảm dần

Trang 9

DANH SÁCH BẢNG

Bảng 1.1 Các phiên bản OpenStack 6

Bảng 1.2 Các thành phần chính của OpenStack 8

Bảng 3.1 Dữ liệu thử nghiệm của thuật toán 22

Bảng 4.1 Các hàm chức năng trong ứng dụng 31

Bảng 4.2 Dữ liệu tài nguyên yêu cầu thực tế 39

Bảng 4.3 So sánh số máy vật lý cần dùng của thuật toán được đề xuất với với Round robin và First fit 38

Bảng 4.4 Dữ liệu tài nguyên yêu cầu ngẫu nhiên 39

Bảng 4.5 So sánh số máy vật lý cần dùng của thuật toán được đề xuất với với Round robin và First fit bằng dữ liệu ngẫu nhiên 39

Bảng 4.6: Dữ liệu tài nguyên máy ảo thử nghiệm 40

Bảng 4.7: So sánh số máy vật lý cần dùng của BFD với Round robin và First fit sử dụng dữ liệu thử nghiệm 40

Trang 10

DANH SÁCH HÌNH VẼ

Hình 1.1 Các mô hình triển khai Cloud Computing 5

Hình 1.2 Lược đồ tổ chức của OpenStack 6

Hình 2.1 Workflow yêu cầu một máy ảo từ user 12

Hình 2.2 Quá trình lựa chọn các host với bộ lọc và trọng số 15

Hình 2.3 Quá trình đánh trọng số và sắp xếp các host 17

Hình 3.1 Kết quả chạy thuật toán với 100 items, 3 chiều 23

Hình 3.2 Tương quan giữa bài toán VBP và việc cấp phát tài nguyên 24

Hình 4.1 Nguyên lý lựa chọn của heuristic Norm-based Greedy L2 26

Hình 4.2 Minh họa về phần tài nguyên còn lại 26

Hình 4.3 Đường chéo của phần tài nguyên còn lại 27

Hình 4.4 Giải pháp đưa thuật toán cấp phát tài nguyên theo thời khóa biểu vào OpenStack 30

Hình 4.5 Mô phỏng thời khóa biểu sử dụng các máy ảo 31

Hình 4.6 Mô hình thiết kế các module là luồng dữ liệu của ứng dụng 31

Hình 4.7 Các đối tượng của ứng dụng 32

Hình 4.6 Mô hình các máy vật lý trong hệ thống 32

Hình 4.7 Giao diện module đọc dữ liệu 32

Hình 4.8 Danh sách các máy ảo 33

Hình 4.9 Kết quả sắp xếp các máy ảo theo một buổi 33

Hình 4.10: Tổ chức các máy ảo trên OpenStack theo kết quả từ ứng dụng 33

Trang 11

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Trong những năm gần đây, các thuật ngữ như Cloud Computing, Private Cloud, Virtualization đã trở nên phổ biến với nhiều người Không chỉ trong lĩnh vực công nghệ thông tin (CNTT) mà ở khắp nơi trên thế giới người ta đều nhắc tới ảo hóa và điện toán đám mây Điện toán đám mây đã trở thành một trong những xu hướng phát triển của CNTT ngày nay bởi những lợi ích mà nó mạng lại cho các tổ chức là hết sức to lớn:

- Giảm chi phí quản trị, điện năng, không gian do cho phép triển khai nhiều máy chủ ảo trên số ít máy chủ vật lý

- Tài nguyên được cấp phát linh động, co giãn theo nhu cầu, tận dụng được tối

đa tài nguyên đã đầu tư

- Khả năng cấp phát/thu hồi tài nguyên nhanh chóng theo từng thời điểm, mục đích sử dụng

Từ năm 2015, Trường Đại học Văn Lang bắt đầu triển khai giải pháp ảo hóa máy chủ tại trung tâm dữ liệu của Trường, góp phần nâng cao hiệu quả khai thác tài nguyên hệ thống, phục vụ hiệu quả cho công tác đào tạo, quản lý Trong đó, yêu cầu cung cấp máy chủ ảo cho sinh viên Khoa Công nghệ Thông tin học thực hành, làm

đồ án có yêu cầu khá phức tạp và phát sinh những thách thức mới đặt ra cho người quản trị hệ thống:

- Để tận dụng và tiết kiệm tài nguyên, việc cấp phát máy ảo cần được triển khai dựa trên thời khoá biểu: máy ảo sử dụng trong khoảng thời gian nào, cấu hình yêu cầu ra sao để từ đó cung cấp tài nguyên cho hợp lý, tối ưu, phù hợp với khả năng đáp ứng còn lại của hệ thống, đặc biệt là những thời điểm

có nhiều môn học sử dụng nhiều máy ảo cùng lúc

- Việc cấp phát/thu hồi máy ảo hoàn toàn tự động dựa vào thời khoá biểu

- Số lượng máy chủ ảo tăng nhanh, yêu cầu người quản trị phải có biện pháp quản lý số lượng máy chủ ngày càng lớn một cách hiệu quả, cho phép tổng hợp các thông tin quản trị trong thời gian ngắn

Trang 12

- Các yêu cầu cấp phát máy chủ, tài nguyên ảo hóa ngày càng nhiều và đòi hỏi thời gian đáp ứng nhanh tuy nhiên quy trình cấp phát truyền thống chưa được tối ưu do vậy chưa đáp ứng được yêu cầu từ phía người sử dụng

Tại cơ quan tôi đang công tác, việc cấp phát máy chủ ảo cho sinh viên còn làm theo phương pháp thủ công khi có yêu cầu từ môn học Chính vì vậy, tôi chọn

đề tài "Giải pháp cấp phát tài nguyên theo thời khóa biểu trên OpenStack" để

đáp ứng nhu cầu học thực thực hành, làm đồ án của sinh viên sao cho tài nguyên được cấp phát hiệu quả, nhanh chóng và tiết kiệm

2 Tổng quan về vấn đề nghiên cứu

OpenStack là một dự án mở cộng đồng cho việc phát triển Cloud Computing phù hợp với các nhà cung cấp dịch vụ (Cloud Providers) cũng như người dùng (Cloud Customers) được phát triển bởi Rackspace hosting và NASA OpenStack bao gồm 3 dự án chính: OpenStack Compute (để triển khai việc quản lý và chỉ định tài nguyên cho các instances ảo), OpenStack Object Storage (thực thi việc lưu trữ, backup), và OpenStack Image Service (đảm nhận việc phát hiện, đăng ký, truyền tải dịch vụ cho các images disk ảo)

Hiện nay OpenStack đang được đánh giá là phần mềm nguồn mở xây dựng Cloud Computing IaaS mạnh nhất hiện nay với sự hỗ trợ của các hãng mãy tính lớn trên thế giới như HP, Canonical, IBM, Cisco, Microsoft, … Đây cũng là bộ công cụ quan trọng đang được triển khai và sẽ được trình bày chi tiết trong các phần tiếp theo

Để sử dụng OpenStack giải quyết bài toán cấp phát tài nguyên theo thời khoá biểu, luận văn tập trung nghiên cứu các thuật toán cấp phát tài nguyên mặc định của OpenStack, thuật toán cấp phát theo thời khoá biểu, theo nguồn tài nguyên đang có của hệ thống, từ đó áp dụng các thuật toán vào thành phần lập lịch của OpenStack Bước cuối cùng sẽ là việc triển khai, đánh giá giải pháp

3 Mục tiêu nghiên cứu

- Nghiên cứu và triển khai OpenStack

- Triển khai hệ thống máy ảo

Trang 13

- Đề xuất và áp dụng thuật toán cấp phát tài nguyên theo thời khóa biểu

4 Đối tượng và phạm vi nghiên cứu

4.1 Đối tượng nghiên cứu

- OpenStack

- Thuật toán cấp phát tài nguyên động (theo tài nguyên đang có, theo thời khoá biểu)

4.2 Phạm vi nghiên cứu

- OpenStack trên Linux (phiên bản Mitaka)

- Project Nova của OpenStack Mitaka

- Thuật toán cấp phát tài nguyên động theo thời khóa biểu

5 Phương pháp nghiên cứu

5.1 Phương pháp nghiên cứu lý thuyết

- Tìm và đọc, hiểu các tài liệu về OpenStack, cơ chế, thuật toán cấp phát tài

nguyên

5.2 Phương pháp nghiên cứu thực nghiệm

- Xây dựng hệ thống OpenStack

- Chỉnh sửa các thành phần của OpenStack

- Áp dụng thuật toán cấp phát tài nguyên theo thời khóa biểu

Trang 14

CHƯƠNG 1 - TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY

VÀ OPENSTACK

1.1 Xu hướng công nghệ Điện toán đám mây hiện nay

1.1.1 Xu hướng điện toán đám mây

Với ý tưởng bảo toàn năng lượng, hợp nhất nguồn tài nguyên, làm cho thông tin trở nên bảo mật và sẵn sàng bất cứ khi nào cần thiết, khắc phục những hạn chế của môi trường điện toán truyền thống:

- Một lượng lớn các tài nguyên tính toán không được sử dụng làm tiêu tốn không gian trong các trung tâm dữ liệu lớn

- Cần tối thiểu một quản trị viên để vận hành hệ thống

- Chi phí cho năng năng lượng ngày một tăng cao

Với điện toán đám mây, các tài nguyên nhàn rỗi có thể đưa vào sử dụng và được tận dụng bằng cách bán cho người dùng có nhu cầu Từ ý tưởng cơ bản đó, điện toán đám mây ngày càng phát triển với nhiều tính năng vượt trội, cho phép tối

ưu tài nguyên tính toán, đảm bảo tính bảo mật, linh hoạt trong vận hành

1.1.2 Đặc điểm của điện toán đám mây [14]

- Tính tự phục vụ theo nhu cầu

- Truy cập diện rộng

- Dùng chung tài nguyên và độc lập vị trí

- Khả năng co giãn nhanh chóng

- Chi trả theo thực dùng

1.1.3 Các mô hình triển khai và các dịch vụ của điện toán đám mây [4]

Bốn mô hình dịch vụ:

- Public Cloud: được phát triển để cung cấp dịch vụ và tài nguyên cho bất

cứ người dùng nào có nhu cầu Nó có thể được quản lý bởi nhà phát triển

hệ thống đám mây hoặc một bên thứ ba cung cấp dịch vụ đám mây

- Private Cloud: được phát triển cho một tổ chức hoặc người dùng cụ thể, hoàn toàn được quản lý bởi chính tổ chức hoặc người dùng đó

Trang 15

- Community Cloud: được thiết kế để cung cấp dịch vụ cho một số tổ chức, một nhóm người dùng được xác định trước Đám mấy dạng này được quản lý bởi một vài thành viên được chỉ định

- Hybrid Cloud: một thiết kế lai giữa Public cloud và Private cloud

Hình 1.1: Các mô hình triển khai Cloud Computing

Ba mô hình triển khai:

- Infrastructure as a Service (IaaS): người dùng truy cập, sử dụng tài nguyên phần cứng được cung cấp và toàn quyền sử dụng tài nguyên đó Ví dụ điển hình của mô hình là là dịch vụ cho thuê VPS

- Platform as a Service (PaaS): người dùng có thể phát triển các ứng dụng rồi cung cấp ứng dụng đó tới những người dùng khác trong môi trường cloud, thông qua nhà cung cấp dịch vụ cloud Một sản phẩm thuộc mô hình này là Microsoft Azure

Trang 16

- Software as a Service (SaaS): người dùng sử dụng các ứng dụng được phát hành bởi nhà cung cấp dịch vụ Các ứng dụng dạng SaaS hiện tại đang rất phổ biến là Google Apps, Microsoft Office 365.

1.2 OpenStack là gì?

1.2.1 Giới thiệu chung

- Openstack là dự án mã nguồn mở cho phép triển khai IaaS Cloud computing Bên cạnh sự hỗ trợ tích cực từ cộng đồng, OpenStack cũng được hỗ trợ bởi nhiều công ty tên tuổi như Redhat, IBM, VMWare… OpenStack là giải pháp cho public cloud và private cloud với quy mô đa dạng

- Được thiết kế thành các component, kết nối với nhau qua các API nên OpenStack rất linh động, một component có thể được thay thế mà không ảnh hưởng đến các component còn lại

Hình 1.2 Lược đồ tổ chức của OpenStack

1.2.2 Các phiên bản OpenStack [10]

Bảng 1.1: Các phiên bản OpenStack

Tên phiên bản Ngày phát hành Các thành phần

Trang 17

Diablo 22/09/2011 Nova, Glance, Swift

Quantum, Cinder

Quantum, Cinder

Neutron, Cinder, Heat, Ceilometer

Neutron, Cinder, Heat, Ceilometer, Trove

Neutron, Cinder, Heat, Ceilometer, Trove, Sahara

Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic

Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight

Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum

Trang 18

Newton 06/10/2016 Nova, Glance, Swift, Horizon, Keystone,

Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, watcher

Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher

Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher

Trang 19

Nova - Lập lịch cho máy ảo Tạo sửa máy ảo

- Trước có nova network, nova volume nhưng giờ đã bỏ

- Quản lý vòng đời máy ảo từ lúc tạo ra đến lúc xóa đi

- Tương tác EC2 (dịch vụ cung cấp máy ảo) của AWS

- Hỗ trợ nhiều Hypervisor: KM, VMWare

- Hỗ trợ nhiều backend storage: iSCSl, SAN Image Service Glance - Lưu trữ, truy vấn các disk image

- Tương tác APIs của dịch vụ

- Không đủ chức năng điều khiển OpenStack

Trang 20

Object Storage Swift - Đọc ghi đối tượng (file) qua HTTP

- Tương tự dịch vụ S3 (Simple Storage Service) của AWS (dịch vụ lưu trữ file)

- Dữ liệu có khả năng tạo bản sao

- Theo kiểu phân tán, có khả năng chống chịu lỗi và nhất quán

- Có thể triển khai độc lập về lưu trữ (swiftstack.com)

Block Storage Cinder - Thay thế nova-volume, cấp các "block

storage" gắn vào máy ảo

- Cung cấp volume gắn vào máy ảo

- Khởi tạo các máy từ Volume

- Có plugin để kết nồi với Storage các hãng

- Có thể sao lưu mở rộng volume Network

Service

Neutron - Từng có tên là Quantum

- Cung cấp dịch vụ mạng trong OpenStack

- Thay thế nova-network hướng tới SDN trong OpenStack

- Có nhiều dịch vụ cao cấp: FWaaS, LBaaS, VPNaaS

- Có cơ chế Plugin để làm việc với các hãng

và giải pháp về network khác

1.2.4 Ưu điểm và hạn chế của OpenStack [17]

- Ưu điểm

Trang 21

• Cho phép triển khai cả private cloud và public cloud

• Có thể quản trị qua trình duyệt web với dashboard

• Dung lượng lưu trữ được tính đến mức megabyte, cho phép tính toán chi phí rất linh động

• Dễ dàng tích hợp, triển khai với nhiều cấu hình phần cứng

• Thời gian upload dữ liệu chưa được tối ưu

• Chưa hỗ trợ sẵn đa ngôn ngữ, hệ thống giám sát, hệ thống tính phí

• Vấn đề kỹ thuật chỉ mới được hỗ trợ qua kênh email

1.2.5 Những Case Study đã triển khai OpenStack [11]

Nền tảng điện toán đám mây đang là một xu thế trong công nghệ thông tin

Nó cho phép triển khai nhiều mô hình ứng dụng, phù hợp với các nhu cầu ngày càng đa dạng Trong đó, OpenStack là một hệ thống mã nguồn mở nổi trội Ngoài

Trang 22

việc được hỗ trợ bởi các tập đoàn công nghệ thông tin lớn, OpenStack còn có một cộng đồng phát triển mạnh mẽ Yếu tố mã nguồn mở cũng là một ưu điểm của OpenStack, nó cho phép người dùng tinh chỉnh, phát triển các chức năng tùy theo nhu cầu của mình, đóng góp cho cộng đồng Trong chương tiếp theo, tôi sẽ tập trung nghiên cứu khả năng, cơ chế cấp phát tài nguyên của OpenStack để ứng dụng

nó vào nhu cầu thực tế tại cơ quan đang công tác

Trang 23

CHƯƠNG 2 - CẤP PHÁT TÀI NGUYÊN TRONG

OPENSTACK

2.1 Cơ chế cấp phát máy ảo của OpenStack

Một trong những use-case quan trọng nhất trong mọi dịch vụ Cloud là việc cấp phát máy ảo Phần này sẽ trình bày việc một máy ảo được được cấp phát như thế nào trên OpenStack, bao gồm: workflow yêu cầu máy ảo, sự tương tác giữa các thành phần của các project khác nhau trong OpenStack [12]

Hình 2.1: Workflow yêu cầu một máy ảo từ user

Bước 1: Dashboard / CLI nhận thông tin đăng nhập và gởi tới Keystone để chứng thực

Trang 24

Bước 2: Keystone xác nhận tài khoản, sinh ra và gởi auth-token về Token này được dùng gởi yêu cầu đến các thành phần khác qua REST-Call

Bước 3: Dashboard / CLI chuyển đổi yêu cầu tạo máy ảo trong ‘launch instance’ hoặc ‘nova boot’ thành REST-API và gởi đến nova-api

Bước 4: nova-api nhận và gởi yêu cầu đến keystone để kiểm tra auth-token và quyền truy cập

Bước 5: Keystone kiểm tra token và gởi lại header được cập nhật cùng với quyền truy cập

Bước 6: nova-api tương tác với nova-database

Bước 7: Khởi tạo record database cho máy ảo mới

Bước 8: nova-api gởi yêu cầu rpc.call tới nova-scheduler

Bước 9: nova-scheduler chọn yêu cầu từ hàng đợi

Bước 10: nova-scheduler tương tác với nova-database để tìm ra host phù hợp thông qua việc lọc và đánh trọng số

Bước 11: Trả về thông tin host phù hợp cho máy ảo sau khi lọc và đánh trọng số Bước 12: nova-scheduler gởi yêu cầu rpc.cast tới nova-compute để tạo máy ảo trên host phù hợp

Bước 13: nova-compute chọn yêu cầu từ hàng đợi

Bước 14: nova-compute gởi yêu cầu rpc.call tới nova-conductor để lấy thông tin nhưng host ID và flavor (RAM, CPU, DISK)

Bước 15: nova-conductor chọn yêu cầu từ hàng đợi

Bước 16: nova-conductor tương tác với nova-database

Bước 17: Trả về thông tin máy ảo

Bước 18: nova-compute chọn máy ảo từ hàng đợi

Bước 19: nova-compute thực hiện REST call bằng việc chuyển auth-token tới glance-api để lấy Image URI bằng Image ID và tải image từ trung tâm lưu trữ

Bước 20: glance-api kiểm tra token với keystone

Bước 21: nova-compute lấy thông tin metadata của image

Trang 25

Bước 22: nova-compute thực hiện REST-call bằng việc chuyển auth-token tới Network API để cấp phát cấu hình mạng cho máy ảo

Bước 23: quantum-server kiểm tra auth-token với keystone

Bước 24: nova-compute lấy thông tin cấu hình mạng

Bước 25: nova-compute thực hiện REST-call bằng việc chuyển auth-token tới Volume API để gán các volume vào máy ảo

Bước 26: cinder-api kiểm tra auth-token với keystone

Bước 27: nova-compute lấy thông tin block storage

Bước 28: nova-compute phát sinh dữ liệu cho hypervisor và thực thi yêu cầu trên hypervisor

2.2 Cơ chế lập lịch của OpenStack [16]

Các bộ lọc chuẩn có sẵn trong Nova Scheduler

Trang 26

- RamFilter

- DiskFilter

Hình 2.2: Quá trình lựa chọn các host với bộ lọc và trọng số

Để tự viết một bộ lọc, ta phải kế thừa từ BaseHostFilter và cài đặt phương thức host_passes Phương thức này trả về True nếu một host thoả điều kiện của bộ lọc Nó dùng host_state (mô tả về host) và filter_properties làm các tham số

Ví dụ: file nova.conf có thể chứa các thiết lập bộ lọc như sau:

bộ lọc RamFilter, ComputeFilter và MyFilter được áp dụng mặc định khi không có

bộ lọc nào được đưa ra trong yêu cầu tạo máy ảo

Trang 27

2.2.2 Trọng số

Bộ lọc lập lịch sử dụng việc đánh trọng số để làm việc, đây là cách để lựa ra host phù hợp nhất từ nhóm các host phù hợp bằng cách đánh trọng số cho mọi host trong danh sách

Để ưu tiên một trọng số so với các trọng số khác, mọi trọng số phải được định nghĩa một số nhân trước khi tính toán trọng số cho từng node Mọi trọng số được chuẩn hoá trước nên số nhân được áp dụng dễ dàng Trọng số cuối cùng có cách tính như sau:

weight = w1_multiplier * norm(w1) + w2_multiplier * norm(w2) +

Bộ lọc lập lịch đánh trọng số các host dựa trên thông số

filter_scheduler.weight.-classes với các tiêu chí sau

Ngày đăng: 12/03/2018, 16:09

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