Tải bản đầy đủ (.pdf) (84 trang)

Nghiên cứu triển khai và đánh giá hiệu năng của các giải pháp networking nâng cao cho hệ thống ảo hoá sử dụng openstack

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 (2.9 MB, 84 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐÀM VĂN HẢI

NGHIÊN CỨU TRIỂN KHAI VÀ ĐÁNH GIÁ HIỆU NĂNG CỦA CÁC
GIẢI PHÁP NETWORKING NÂNG CAO CHO HỆ THỐNG ẢO HOÁ
SỬ DỤNG OPENSTACK

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 11/2019


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐÀM VĂN HẢI
NGHIÊN CỨU TRIỂN KHAI VÀ ĐÁNH GIÁ HIỆU NĂNG CỦA CÁC
GIẢI PHÁP NETWORKING NÂNG CAO CHO HỆ THỐNG ẢO HOÁ
SỬ DỤNG OPENSTACK

Quyết định số: 655/QĐ-CTSV
Ngành: Mạng máy tính và Truyền thông dữ liệu
Chuyên ngành: Mạng máy tính và Truyền thông dữ liệu
Mã số: 8480102.01
Giảng viên hƣớng dẫn: TS. Hoàng Xuân Tùng

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 11/2019




i

MỤC LỤC
LỜI CẢM ƠN .................................................................................................................. i
LỜI CAM ĐOAN ........................................................................................................... ii
DANH MỤC HÌNH VẼ ................................................................................................ iii
DANH MỤC BẢNG ..................................................................................................... iv
CHƢƠNG 1. GIỚI THIỆU .............................................................................................1
1.1 Cloud Computing (Điện toán đám mây) ...............................................................1
1.1.1 Lịch sử Cloud Computing .............................................................................2
1.1.2 Các mô hình Cloud Computing ....................................................................3
1.2 Các mô hình triển khai Cloud Computing .............................................................5
Public Cloud .............................................................................................................5
Private Cloud ............................................................................................................6
Hybrid Cloud ............................................................................................................7
CHƢƠNG 2. GIỚI THIỆU OPENSTACK VÀ OPENVSWITCH ................................8
2.1 Giới thiệu OpenStack .............................................................................................8
2.1.1 Kiến trúc OpenStack .....................................................................................10
2.1.2 Các dịch vụ bổ sung ......................................................................................16
2.1.3 Các bản tin tích hợp và trao đổi ....................................................................17
2.1.4 KVM .............................................................................................................18
2.1.5 OpenStack Network: Neutron .......................................................................19
2.1.6 Network và multi-tenancy .............................................................................28
2.2 OpenvSwitch ........................................................................................................29
2.2.1 Motivation cho Open vSwitch ......................................................................30
2.2.2 OpenvSwitch .................................................................................................31
2.2.3 Các đặc điểm của OpenvSwitch....................................................................33
2.2.4 Software Defined Network (SDN) ................................................................34

2.2.5 SDN trong OpenStack ...................................................................................42
CHƢƠNG 3. PHƢƠNG PHÁP TIẾP CẬN VÀ TRIỂN KHAI OPENSTACK ..........44
3.1 Công cụ triển khai nhanh .....................................................................................44
3.2 Các mô hình triển khai OpenStack ......................................................................44
3.2.1 Cấu hình cơ sở hạ tầng cài đặt ......................................................................45
3.2.2 Máy ảo ...........................................................................................................45
3.2.3 Môi trƣờng Single-Node ...............................................................................46
3.3 DevStack ..............................................................................................................46
3.3.1 Cấu hình Network .........................................................................................47
3.3.2 Network node ................................................................................................48
3.4 Cấu hình Neutron .................................................................................................52


ii

3.4.1 External network ...........................................................................................52
3.5 Giới thiệu các giải pháp Networking khác ..........................................................57
3.5.1 Calico ............................................................................................................58
CHƢƠNG 4. KẾT QUẢ ĐẠT ĐƢỢC VÀ ĐÁNH GIÁ HIỆU QUẢ ..........................59
4.1 Thiết lập thử nghiệm ............................................................................................60
4.2 Thiết kế thử nghiệm .............................................................................................60
4.2.1 Mô hình 1: Cùng máy chủ cùng mạng ..........................................................60
4.2.2 Mô hình 2: Cùng máy chủ khác mạng ..........................................................60
4.2.3 Mô hình 3: Lƣu lƣợng North-South với Floating IP .....................................60
4.2.4 Mô hình 4: Lƣu lƣợng North-South không Floating IP ................................61
4.3 Nghiên cứu hiệu suất mạng sau thử nghiệm ........................................................61
CHƢƠNG 5. KẾT LUẬN VÀ HƢỚNG ĐI .................................................................62
5.1 Kết quả cho Network Traffic flow.......................................................................62
5.2 Kết quả cho Network Performance ......................................................................62
5.2.1 Thông lƣợng TCP trung bình ........................................................................62

5.2.2 Thông lƣợng UDP trung bình .......................................................................63
5.2.3 Độ trễ gói tin trung bình (Latency hoặc Packet delay) .................................64
5.2.4 Tổng số gói tin mất mát ................................................................................65
5.3 So sánh giữa các giải pháp khác ..........................................................................66
5.4 Kết luận và hƣớng đi............................................................................................67


i

LỜI CẢM ƠN
Trƣớc tiên tôi xin dành lời cảm ơn chân thành và sâu sắc đến thầy giáo,
TS Hoàng Xuân Tùng – ngƣời đã hƣớng dẫn, khuyến khích, chỉ bảo và tạo cho
tôi những điều kiện tốt nhất từ khi bắt đầu cho tới khi hoàn thành công việc của
mình.
Tôi xin dành lời cảm ơn chân thành tới các thầy cô giáo khoa Công nghệ
thông tin, trƣờng Đại học Công nghệ, ĐHQGHN đã tận tình đào tạo, cung cấp
cho tôi những kiến thức vô cùng quý giá và đã tạo điều kiện tốt nhất cho tôi
trong suốt quá trình học tập, nghiên cứu tại trƣờng.
Đồng thời tôi xin cảm ơn tất cả những ngƣời thân yêu trong gia đình tôi
cùng toàn thể bạn bè những ngƣời đã luôn giúp đỡ, động viên tôi những khi vấp
phải những khó khăn, bế tắc.
Cuối cùng, tôi xin chân thành cảm ơn các đồng nghiệp của tôi tại Công ty
CP Công nghệ Tomochain Việt Nam đã giúp đỡ, tạo điều kiện thuận lợi cho tôi
học tập và nghiên cứu chƣơng trình thạc sĩ tại Đại học Công nghệ, ĐH QGHN.


ii

LỜI CAM ĐOAN
Tôi xin cam đoan rằng luận văn thạc sĩ công nghệ thông tin “Nghiên cứu

triển khai và đánh giá hiệu năng của các giải pháp networking nâng cao cho hệ
thống ảo hoá sử dụng OpenStack” là công trình nghiên cứu của riêng tôi, không
sao chép lại của ngƣời khác. Trong toàn bộ nội dung của luận văn, những điều
đã đƣợc trình bày hoặc là của chính cá nhân tôi hoặc là đƣợc tổng hợp từ nhiều
nguồn tài liệu. Tất cả các nguồn tài liệu tham khảo đều có xuất xứ rõ ràng và
hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan này.
Hà Nội, ngày 15 tháng 11 năm 2019


iii

DANH MỤC HÌNH VẼ
Hình 1.1: Nhu cầu về Cloud Computing .................................................................................... 2
Hình 1.2: Cloud Computing Module ......................................................................................... 4
Hình 2.1: Kiến trúc thành phần OpenStack ............................................................................. 13
Hình 2.2: Kiến trúc Logical OpenStack ................................................................................... 14
Hình 2.3: OpenStack Services .................................................................................................. 16
Hình 2.4: Tổng quan kiến trúc Neutron .................................................................................... 21
Hình 2.5: Kiến trúc Plug-in ...................................................................................................... 22
Hình 2.6: OpenStack Neutron L3 Agents ................................................................................. 25
Hình 2.7: Tổng quan kiến trúc Open vSwitch .......................................................................... 32
Hình 2.8: Xử lý gói trong Open vSwitch.................................................................................. 33
Hình 2.9: Tổng quan kiến trúc SDN ......................................................................................... 35
Hình 2.10: Phƣơng pháp tiếp cận Computing và Networking ................................................. 36
Hình 2.11: Mạng truyền thống vs mạng SDN .......................................................................... 37
Hình 2.12: Networking planes .................................................................................................. 39
Hình 2.13: Kiến trúc mạng đơn giản dựa trên SDN ................................................................. 41
Hình 3.1: Kiến trúc All-in-one Single-node ............................................................................. 48

Hình 3.2: Neutron Default Agents ............................................................................................ 49
Hình 3.3: Cấu hình Network với CLI ....................................................................................... 52
Hình 3.4: Network Dashboard .................................................................................................. 52
Hình 3.5: Virtual Routers ......................................................................................................... 53
Hình 3.6: Virtual Router cho Project1 ...................................................................................... 53
Hình 3.7: Namespaces .............................................................................................................. 53
Hình 3.8: Floating IP đƣợc gán cho instance ........................................................................... 56
Hình 3.9: Fixed IP đƣợc gán cho instance ................................................................................ 56
Hình 3.10: Security Group cho Project .................................................................................... 56
Hình 3.11: Mô hình đo kiểm .................................................................................................... 57
Hình 5.1: Thông lƣợng TCP trung bình cho các kịch bản........................................................ 63
Hình 5.2: Thông lƣợng trung bình UDP cho các kịch bản ....................................................... 64
Hình 5.3: Độ trễ gói tin trung bình cho các kịch bản. .............................................................. 65
Hình 5.4: Tổng số gói tin mất mát trong các kịch bản ............................................................. 65


iv

DANH MỤC BẢNG
ảng 1.1: Mã nguồn mở Cloud Computing [1] ........................................................................ 2
ảng 2.1: OpenStack Release ................................................................................................... 10


v

Giới thiệu
Công nghệ giống nhƣ một nấc thang không bao giờ kết thúc, bất cứ khi nào
chúng ta nghĩ rằng chúng ta đang đạt đến đỉnh cao, một cái gì đó mới sẽ xuất hiện.
Ngay khi ngành công nghệ thông tin nghĩ rằng nó có tất cả mọi thứ, thì ngay lập tức đã
xuất hiện một công nghệ tiên tiến có tên là "Điện toán đám mây" (Cloud Computing),

cung cấp câu trả lời tốt nhất cho tất cả các vấn đề về tài chính và kỹ thuật của các công
ty lớn và nhỏ. Thông qua đó, các công ty đã có giải pháp thỏa đáng và phù hợp liên
quan đến các vấn đề nhƣ đầu tƣ ban đầu cho cơ sở hạ tầng, sử dụng hết công suất tài
nguyên, v.v. Ngay cả ở một công ty cấp trung, chi phí thiết lập cho cơ sở hạ tầng về
phần mềm và phần cứng cần phải đƣợc cài đặt, bảo đảm và bảo trì thƣờng xuyên là
khá cao và trong trƣờng hợp nếu các thành phần này là độc quyền thì chúng ta không
bao giờ nên quên chi phí giấy phép và cập nhật để sử dụng chúng trong tƣơng lai.
Những yêu cầu này đã sinh ra khái niệm điện toán đám mây. Khi Internet đang
mở rộng và mục tiêu chính là kết nối lẫn nhau là thông qua Internet. Các công ty đang
truy cập, lƣu trữ và quản lý máy tính/máy chủ từ xa, chia sẻ tài nguyên "Theo yêu cầu"
(On-demand), có nghĩa là, việc cung cấp các thành phần - cả phần cứng và phần mềm,
khi cần thiết, điện toán đám mây sẽ chia sẻ tài nguyên thêm nhiều hơn.
Điều này đã góp phần thúc đẩy các công ty cung cấp dịch vụ điện toán đám
mây nhƣ Amazon, Google, Microsoft, Rackspace và Justcloud để tạo thêm doanh thu
[1]. Tính năng chính của điện toán đám mây là phân bổ tài nguyên theo yêu cầu, qua
đó ngƣời dùng đƣợc tính phí dựa trên thời gian sử dụng và lƣợng tài nguyên họ sử
dụng. Chẳng hạn, một công ty hoặc ngƣời dùng có thể đƣợc lập hóa đơn dựa trên thời
lƣợng sử dụng tài nguyên. Hơn nữa, ngƣời tiêu dùng có đƣợc các dịch vụ hiệu suất cao
cũng nhƣ các dịch vụ hoặc tài nguyên chi phí thấp thay vì xây dựng cơ sở hạ tầng chi
phí cao của riêng họ [1].
Để hiểu thêm một cách rõ ràng và chính xác về OpenStack, nền tảng mã nguồn
mở này đƣợc hỗ trợ bởi nhiều gã khổng lồ IT bao gồm Cisco, HP, IBM và Intel. Khi
có sự gia tăng nổi bật và đáng kể về nhu cầu và sự phát triển của môi trƣờng đám mây,
nó dần trở lên vô cùng phức tạp. Mặc dù vậy, OpenStack là một liên doanh công
nghiệp đầy triển vọng với nỗ lực chung của các lập trình viên và các chuyên gia điện
toán phân tán trên toàn thế giới, nó sẽ tạo ra tiêu chuẩn mở cho cả đám mây mở và
riêng tƣ. OpenStack đƣợc thành lập bởi NASA và Rackspace Hosting vào ngày 21
tháng 10 năm 2010; khoảng 9 năm trƣớc, và nhanh chóng phát triển thành một nhóm
kỹ sƣ toàn cầu làm việc cùng nhau trên cùng một tiêu chuẩn phù hợp với một dự án
đám mây mã nguồn mở. OpenStack về cơ bản cấu thành ba thành phần hoạt động,

đƣợc đặt tên là, OpenStack Compute, OpenStack Object Storage và OpenStack Image
Service.


vi

OpenStack cung cấp một sự sắp xếp liên quan tới các phân đoạn xây dựng và
kiểm soát nền tảng đám mây, đăng ký và quan trị toàn bộ tài nguyên trong một trung
tâm dữ liệu, thông qua một giao diện điều khiển (Hoziron) cho phép các khách hàng
quản lý qua giao diện web.
Luận văn này tập trung chính vào Neutron, một thành phần có nhiệm vụ cung
cấp hiệu suất mạng trong OpenStack. Để hiểu đƣợc khả năng mở rộng và dự đoán về
hiệu suất mạng của điện toán đám mây OpenStack, hiệu suất mạng sẽ đƣợc điều tra
bằng các giải pháp và plugin khác nhau.
Động lực và mục tiêu
Điện toán đám mây đã trở thành một phần không thể tách dời của công nghệ và
sự phát triển của việc cung cấp các dịch vụ và/hoặc các ứng dụng thông qua web. Nó
có thể nhanh chóng cung cấp thông tin và dữ liệu từ bất cứ đâu trong bất cứ thời điểm
nào. Mặc dù vậy, đôi khi vẫn xảy ra việc gián đoạn hay lỗi hệ thống có thể hiểu đƣợc
vì một vài vấn đề đặc biệt. Do đó, cần phải nhớ rằng luôn luôn có một yêu cầu tiên
quyết cho việc bảo trì nhỏ so với các lợi ích mà điện toán đám mây mang lại. [2]
Tất cả những ngƣời dùng đều muốn sử dụng dịch vụ tốt nhất cho dù số tiền là
lớn hay nhỏ, trong ngành CNTT cũng vậy, không quan trọng là doanh nghiệp lớn hay
nhỏ, họ đều muốn chất lƣợng dịch vụ mà họ chi trả cần không có độ trễ, không mất
gói và tốc độ nhanh. Mặc dù vậy, để cung cấp chất lƣợng dịch vụ tốt nhất cho các yêu
cầu nêu trên, chúng ta phải tập trung nhiều hơn vào hiệu suất xử lý của tầng Network
(Layer 3) hoặc tầng Data Link (Layer 2), cần nghiên cứu sâu về mạng biểu diễn nói
chung.
Ngoài ra, không thể quên rằng Ảo hóa là một phần thiết yếu của điện toán đám
mây, Wikipedia cung cấp một định nghĩa rất phức tạp về ảo hóa "Trong điện toán, ảo

hóa đề cập đến hành động tạo ra một phiên bản ảo (chứ không phải thực tế) của một
thứ gì đó, bao gồm nền tảng phần cứng máy tính ảo, thiết bị lƣu trữ và tài nguyên
mạng máy tính." [3]. Đó là việc khai thác các thiết bị phần cứng đơn lẻ theo cách xây
dựng, thông qua một máy chủ vật lý duy nhất, chia sẻ cùng một bộ xử lý vật lý, phần
cứng, I/O có thể lƣu trữ nhiều máy ảo, có rất nhiều công ty đang nhận đƣợc lợi ích từ
nó, ví dụ nhƣ Xen Virtualization đƣợc sử dụng bởi nhà cung cấp đám mây nổi tiếng
Amazon EC2.
OpenStack chủ yếu có ba loại dịch vụ gồm dịch vụ điện toán, dịch vụ mạng và
dịch vụ lƣu trữ với tên gọi tƣơng ứng là Nova, Neutron và Cinder. Các dịch vụ này
cung cấp tài nguyên logic có thể đƣợc cung cấp theo yêu cầu của khách hàng đám mây
bằng các lệnh HTTP, các tài nguyên logic này có thể là máy ảo (VM), mạng, router,
switch và firewall, những tài nguyên này đƣợc thiết lập và triển khai các hệ thống sử
dụng máy chủ, VMs, mạng và thiết bị lƣu trữ.


vii

Tuy nhiên, các tổ chức vẫn cần phải quản lý các tài nguyên này, do các tài
nguyên logic đƣợc ánh xạ tới các tài nguyên vật lý chƣa chúng, do đó chúng ta phải xứ
lý quy trình tính toán và hiệu suất kết nối.
Khi điện toán đám mây và OpenStack trở nên khó dự đoán hơn, quản lý tài
nguyên sẽ yêu cầu ở mức độ phức tạp cao hơn. Điều này phù hợp đối với OpenStack
vì mỗi dịch vụ đều tự chủ nhƣng lại làm phức tạp thêm việc quản lý tập trung. Đối với
các tổ chức lớn hơn và việc giảm bớt mở rộng cho lƣu trữ và tính toán phân tán, việc
lập kế hoạch tài nguyên biến thành một vấn đề quan trọng.
Mục tiêu chính của luận án này là tìm ra năng lực kết nối vƣợt trội, để ngƣời
tiêu dùng có thể sử dụng OpenStack trong phạm vi đầy đủ theo yêu cầu môi trƣờng
của họ, kiến thức thu đƣợc về khả năng kết nối mạng của Neutron đƣợc thực hiện bằng
cách so sánh nó với các giải pháp có sẵn khác.
Đặt vấn đề

Điện toán đám mây là một chủ đề đƣợc nhắc đến nhiều trong các sự kiện công
nghệ hiện nay. Đến thời điểm hiện tại, nhiều thiết bị vận hành điện toán đám mây đã
tồn tại cho các hệ thống đám mây, một loạt trong số chúng là OpenStack, EC2,
OpenNebula, CloudStack, v.v. Điện toán đám mây cung cấp nhiều dịch vụ, các dịch
vụ đó gồm IaaS (Cơ sở hạ tầng nhƣ một dịch vụ), PaaS (Hệ thống nhƣ một dịch vụ) và
SaaS (Phần mềm nhƣ một dịch vụ). Khi nhu cầu về điện toán đám mây đang tăng lên
nhanh chóng, hiệu suất của nó cần phải đủ để đáp ứng nhu cầu của môi trƣờng khách
hàng, cho dù đó là đám mây riêng hay công cộng. Một trong những vấn đề quan trọng
hàng đầu của điện toán đám mây là đạt đƣợc hiệu năng mạng mạnh mẽ hơn bằng cách
cho phép thiết bị không có hiệu suất mạng tốt hoạt động nhƣ một thiết bị đám mây
hiệu năng tổng thể cao.
Nền tảng đám mây OpenStack nắm giữ thành phần Neutron, cho phép điều
khiển mạng kỹ thuật số giúp các máy đƣợc tạo bằng nhiều cách khác nhau. Nó sử
dụng một API bổ sung cho việc triển khai tham chiếu sử dụng các thầnh phần của
Linux. Ngoài ra còn có các cách triển khai khác với các tính năng đặc biệt và sử dụng
các công nghệ đặc biệt.
Luận văn này tập trung chủ yếu vào việc phân tích triển khai các node mạng
đƣợc cung cấp trong OpenStack và thực hiện so sánh giữa Neutron với OVN,
OpenDaylight, Calico, Project Roamana và các project khác để tìm ra hiệu suất mạng
có thể đạt đƣợc bằng các giải pháp khác. Các vấn đề đƣợc đƣa ra trong luận văn này
gồm:
1. Cho phép phân tích chi tiết về mạng của các giải pháp khác nhau trên nền tảng
OpenStack.


viii

2. So sánh đánh giá về hiệu năng mạng của Neutron với các giải pháp khác trên
OpenStack, kết hợp so sánh tính năng HA đƣợc cung cấp trên các giải pháp
trong quá trình cài đặt.



1

CHƢƠNG 1. GIỚI THIỆU
Trƣớc khi đi vào thực tiễn, qua chƣơng này tôi đã cố gắng cung cấp một số
thông tin cơ bản về nội dung chính của luận văn này. Mặc dù, trọng tâm chính của
luận văn này là về OpenStack, tuy nhiên, vì nó đƣợc sinh ra từ điện toán đám mây, do
đó chúng ta cần phải bao quát tất cả các khía cạnh của điện toán đám mây, tuy nhiên,
tôi đã cố gắng thực hiện nó một cách ngắn gọn. Sau đó, tôi tập trung nhiều hơn vào mô
tả chi tiết về OpenStack bắt đầu từ lịch sử của nó và đi xuyên suốt tổng quan kiến trúc
với các thành phần của nó.

1.1 Cloud Computing (Điện toán đám mây)
Cloud computing [1] là một mô hình điện toán hiện đại cung cấp cơ sở hạ tầng
CNTT và nó cần thiết cho các công ty CNTT, nơi tài nguyên điện toán phân tán đƣợc
phục vụ với cơ chế dựa trên mạng.
Khi việc sử dụng cloud computing tăng lên, nó đã giải quyết vấn đề lớn liên
quan tới yêu cầu lƣu trữ khổng lổ với khả năng hợp nhất các tài nguyên để quản lý tốt
nhất.
Cloud computing là một mô hình truy cập theo yêu cầu tới một nhóm tài
nguyên điện toán dùng chung có thể đƣợc phân phối và phát hành bởi ngƣời dùng.
Theo định nghĩa NIST (Viện Quốc gia về tiêu chuẩn và công nghệ Mỹ) về Cloud
Computing của Peter Mell và Timothy Grance [4] một đám mây có 5 đặc điểm sau:
On-demand self-service (Tự phục vụ nhu cầu): Người dùng có thể đơn
phương cung cấp các khả năng về máy tính như server time và network storage khi
cần tự động mà không cần yêu cầu tương tác của con người với mỗi nhà cung cấp
dịch vụ.
Broad network access ( Truy cập mạng rộng khắp) : Cho phép xử lý thông
qua các công nghệ mạng và truy cập thông qua các nên tảng khác nhau (mobile

phones, tablets, laptops, và workstations)
Resource pooling (Hồ chứa tài nguyên): Các tài nguyên máy tính từ nhà cung
cấp được gộp lại để phục vụ nhiều khách hàng bằng các sử dụng một mô hình multitenant, với các tài nguyên vật lý và ảo được gán động và phân bổ theo nhu cầu của
người dùng.
Rapid elasticity (Co giãn nhanh): Có thể cung cấp một cách linh hoạt, trong
một số trường hợp tự động, để mở rộng và thu hẹp nhanh chóng tài nguyên tương ứng
với nhu cầu của khách hàng, cung cấp thường sẽ không giới hạn và có thể được sử
dụng với số lượng bất kỳ vào bất cứ khi nào.
Measured service (Dịch vụ đo lường): Các hệ thống đám mây tự động kiểm
soát và tối ưu hóa việc sử dụng tài nguyên bằng cách tận dụng khả năng đánh giá ở


2

một mức độ trừu tượng phù hợp với loại dịch vụ (ví dụ: lưu trữ, xử lý, băng thông và
tài khoản người dùng đang hoạt động). Việc sử dụng tài nguyên có thể được theo dõi,
kiểm soát và báo cáo, cung cấp sự minh bạch cho cả nhà cung cấp và người dùng dịch
vụ sử dụng.

nh 1.1: Nhu cầu về Cloud Computing
1.1.1 Lịch sử Cloud Computing
Điện toán đám mây lần đầu tiên xuất hiện vào năm 1996, khi đó các tham chiếu
tới cụm từ "Cloud Computing" xuất hiện, khi đó đƣợc coi là một ý tƣởng về máy tính
tính toán mà một ngày nào đó sẽ đƣợc tổ chức thành các tiện ích công cộng [1], cho tới
những năm 2000 Amazon chính thức nghiên cứu về nó, mặc dù vậy ban đầu Amazon
chỉ sử các trung tâm dữ liệu nhỏ. Trong biểu đồ dƣới đây thể hiện sự gia tăng của điện
toán đám mấy có thể dễ dàng nhìn thấy từ những năm 2009 so với các phƣơng pháp
điện toán khác.
Bảng thể hiện sự phát triển của Open Source Cloud Computing.
Năm

Đầu năm
2008
OpenNebula Đầu năm
2008
Tên
Eucalyptus

CloudStack

OpenStack

Mô tả
Phát triển
Nền tảng tƣơng thích AWS API Nền tảng tƣơng
thích AWS API
RESERVOIR Dự án do Uỷ ban Các đám mây riêng
Châu Âu tài trợ
và lai, và liên kết
các đám mây
5/2010
Bắt đầu tại cloud.com
Các dịch vụ đám
mây công cộng,
riêng tƣ và lai
2010
Phát triển bởi Rackspace và
Các dịch vụ đám
NASA
mây công cộng,
riêng tƣ và lai

ảng 1.1: Mã nguồn mở Cloud Computing [1]


3

1.1.2 Các mô hình Cloud Computing
Ngƣời dùng luôn tìm kiếm sự thoải mái bất cứ khi nào họ mua bất cứ thứ gì,
điều này đƣợc áp dụng cho các nhà cung cấp điện toán đám mây, yêu cầu họ phải đƣa
ra các dịch vụ dựa trên nhu cầu của khách hàng. Dựa trên nhu cầu này, có 3 loại mô
hình điện toán đám mây theo yêu cầu của ngƣời dùng: Phần mềm là một Dịch vụ
(SaaS), Nền tảng là một Dịch vụ (PaaS) và Cơ sở hạ tầng là một Dịch vụ (IaaS).
Ba mô hình cho các dịch vụ điện toán đám mây trong kiến trúc hƣớng dịch vụ
(SOA). Tổng quan ngắn gọn nhƣ sau:
SaaS
SaaS, viết tắt của Software-as-a-Service, là loại dịch vụ đám mây cơ bản nhất,
SaaS cho phép ngƣời dùng sử dụng nhiều ứng dụng từ đám mây thay vì sử dụng các
ứng dụng trên PC/Máy chủ của riêng họ. Các nhà cung cấp dịch vụ đám mây đôi khi
sẽ cung cấp một số công cụ phát triển phần mềm để cho phép các ứng dụng đƣợc phát
triển và sử dụng trong đám mây. Giao diện lập trình ứng dụng (API) mà ngƣời dùng sử
dụng để truy cập và thực thi với phần mềm cho phép ngƣời dùng sử dụng theo gói
trong khi không phải băn khoăn về cách thức hoặc nơi lƣu giữ thông tin hoặc không
gian lƣu trữ tỷ lệ nào có thể truy cập đƣợc vì dịch vụ đám mây nhà cung cấp có thể
quản lý điều này cho họ. Ví dụ về SaaS là các ứng dụng Google, Salesforce, Cisco
WebEx, v.v.
PaaS
PaaS, viết tắt của Platform-as-a-Service, cung cấp nền tảng phát triển, PaaS
hoạt động ở cấp độ thấp hơn SaaS. nó chịu trách nhiệm quản lý không gian lƣu trữ,
phân bổ băng thông và tài nguyên máy tính đƣợc cung cấp cho các ứng dụng. Nó lấy
các tài nguyên cần thiết để chạy phần mềm và tự động mở rộng các tài nguyên này
một khi cần thêm. Dịch vụ này giữ một tính chất quan trọng của đám mây đƣợc đề cập

là tự cung cấp tài nguyên. Ví dụ về PaaS là hiện thân của Windows Azure, Heroku,
Google App Engine, v.v.


4

nh 1.2: Cloud Computing Module
IaaS
IaaS, viết tắt của Infrastructure-as-a-Service, cơ sở hạ tầng nhƣ một dịch vụ có
thể là một lớp đám mây cho một bên thuê bất cứ nơi nào, nơi mà các nhà cung cấp
điện toán đám mây dành riêng tài nguyên chỉ chia sẻ với ngƣời dùng với phí trả cho
mỗi lần sử dụng. Điều này giảm thiểu đáng kể sự cần thiết cho đầu tƣ ban đầu lớn vào
phần cứng máy tính nhƣ máy chủ, thiết bị mạng và sức mạnh xử lý. Chúng kết hợp
cho phép mức độ chi phí và kế hoạch linh hoạt có chủ đích khác nhau, điều này không
đƣợc áp dụng trong các trung tâm dữ liệu nội bộ, do tài nguyên máy tính có thể đƣợc
thêm hoặc xóa nhanh hơn và hiệu quả hơn so với trong một trung tâm dữ liệu. IaaS và
các dịch vụ liên quan đã cho phép các công ty khởi nghiệp và các doanh nghiệp
chuyên về các năng lực cốt lõi của họ mà không cần quan tâm đến việc cung cấp và
quản lý cơ sở hạ tầng. IaaS hoàn toàn trừu tƣợng hóa phần cứng và cho phép ngƣời
dùng sử dụng cơ sở hạ tầng nhƣ một dịch vụ, trong khi không làm phiền điều gì liên
quan đến sự phức tạp tiềm ẩn. Đám mây bao gồm một đề xuất giá hấp dẫn về mặt giá
cả, tuy nhiên, ngoài ra, IaaS chỉ cung cấp bảo mật cơ bản (perimeter firewall, load
balancing, v.v.) và đối với các ứng dụng trong đám mây muốn mức độ bảo mật cao
hơn đƣợc cung cấp tại máy chủ. Ví dụ về IaaS là Amazon EC2, Google Compute
Engine, v.v., OpenStack cũng có trong IaaS.


5

1.2 Các mô hình triển khai Cloud Computing

Khi bạn nắm đƣợc những chi tiết cơ bản về điện toán đám mây, ví dụ đơn giản
là cách thức phân phối các dịch vụ điện toán trên Internet, bạn sẽ nhận thấy rằng có rất
nhiều cách khác nhau để triển khai cũng nhƣ khai thác tài nguyên đám mây. Các tùy
chọn điện toán đám mây bao gồm Private Cloud (đám mây riêng), Public Cloud (đám
mây công cộng), lai giữa hai loại trên (Hybrid Cloud) hoặc Community Cloud (đám
mây cộng đồng). Cả bốn tùy chọn này đều cung cấp các lợi ích tƣơng tự nhau, bao
gồm chi phí hợp lý, hiệu suất cao, có độ tin cậy và quy mô lớn.
Theo định nghĩa của NIST, 4 mô hình triển khai cho Cloud được mô tả, bao gồm:
-

-

-

-

Private Cloud: Cơ sở hạ tầng đám mây đƣợc cung cấp để sử dụng độc quyền
bởi một tổ chức bao gồm nhiều ngƣời dùng (ví dụ: các đơn vị kinh doanh). Nó
có thể đƣợc sở hữu, quản lý và vận hành bởi tổ chức, bên thứ ba hoặc một số
kết hợp cả hai và nó có thể là tại chỗ (on-premise) hoặc nằm ngoài (offpremise).
Public Cloud: Đây là hạ tầng Cloud dùng cho TẤT CẢ MỌI NGƢỜI, không
giới hạn đó là cá nhân hay doanh nghiệp. Public Cloud đƣợc dùng khá phổ biến
và dễ dàng.
Community Cloud: Là hạ tầng Cloud đƣợc chia sẻ cho nhiều tổ chức hoặc
ngƣời dùng có chung mục đích. Việc quản lý community Cloud có thể do một
tổ chức hoặc bên thứ 3 thực hiện.
Hybrid Cloud: Là hạ tầng Cloud đƣợc kết hợp từ 3 mô hình Cloud nói trên. Ví
dụ: Trong hệ thống Mirosoft Office 365, có thể có nhiều mailbox lƣu trữ trong
hệ thống của Microsoft datacenter, nhƣng cũng có thể kết hợp với Exchange
Server và các mailbox dùng riêng. Kết hợp lại, tạo nên 1 hệ thống lại – hybrid

messaging system.

Public Cloud
Public Cloud đƣợc cung cấp nhƣ là một dịch vụ (as a service) thông qua môi
trƣờng Internet và cơ sở hạ tầng (máy chủ) hoặc ứng dụng của khách hàng đƣợc đặt tại
trung tâm dữ liệu của nhà cung cấp điện toán đám mây. Khách hàng không thể thấy
cũng nhƣ kiểm soát đƣợc vị trí các dịch vụ mình sử dụng. Các tài nguyên về hạ tầng
đƣợc chia sẻ giữa nhiều khách hàng với nhau nhƣng dữ liệu thì hoàn toàn tách biệt và
chỉ có khách hàng mới có thể truy xuất đƣợc. Public Cloud có ƣu điểm là cắt giảm chi
phí triển khai ban đầu, giảm bớt độ phức tạp và thời gian triển khai ứng
dụng. Microsoft Azure là ví dụ về một Public Cloud. Public Cloud thƣờng đƣợc sử


6

dụng để cung cấp email, các ứng dụng văn phòng trực tuyến, lƣu trữ và các môi
trƣờng để thử nghiệm và phát triển.
Ưu điểm của Public Cloud:
- Chi phí thấp: sử dụng Public Cloud giúp doanh nghiệp cắt giảm ngân sách cho
công nghệ thông tin vì không phải đầu tƣ chi phí ban đầu cho các thiết bị phần
cứng, các máy chủ đã đƣợc ảo hóa và cung cấp bởi các nhà cung cấp dịch vụ.
Doanh nghiệp có thể tùy chọn các thông số cấu hình cần thiết và chỉ trả chi phí
thực sử dụng. Doanh nghiệp cũng không cần phải thuê nhân viên IT để vận
hành hệ thống; công việc này đã đƣợc các nhà cung cấp đám mây đảm trách.
- Không cần bảo trì – Các dịch vụ đám mây đƣợc vận hành và bảo trì bởi nhà
cung cấp, do đó doanh nghiệp không cần phải bận tâm về vấn đề này. Sử dụng
Public Cloud đồng nghĩa với việc không phải sở hữu các thiết bị phần cứng,
doanh nghiệp khởi tạo và quản lý dịch vụ bằng các công cụ phần mềm.
- Khả năng mở rộng gần nhƣ không giới hạn, luôn sẵn sàng để đáp ứng mọi nhu
cầu kinh doanh của bạn.

- Độ tin cậy cao với một mạng lƣới máy chủ khổng lồ.
Private Cloud
Private Cloud có đặc điểm là toàn bộ hạ tầng thiết bị đƣợc triển khai nội bộ với
khách hàng và do đó các tài nguyên này chỉ có khách hàng mới có thể truy xuất đƣợc.
Khách hàng có toàn quyền kiểm soát, vận hành và bảo trì hệ thống. Private Cloud bao
gồm các tài nguyên máy tính đƣợc sử dụng độc quyền bởi một doanh nghiệp hoặc tổ
chức nhất định. Private Cloud cũng có thể là một trung tâm lƣu trữ dữ liệu tại chỗ của
một tổ chức hoặc một nhà cung cấp dịch vụ bên thứ ba. Một Private Cloud có thể giúp
tổ chức tự tùy chỉnh tài nguyên của mình để đáp ứng các yêu cầu cụ thể về công nghệ
thông tin. Do đó, Private Cloud thƣờng đƣợc sử dụng bởi các cơ quan chính phủ, các
tổ chức tài chính, hay bất kỳ tổ chức có quy mô trung bình đến lớn nào khác có hoạt
động kinh doanh quan trọng đang tìm kiếm một sự kiểm soát chặt chẽ hơn đối với môi
trƣờng dữ liệu của họ.
Ưu điểm của Private Cloud:
- Linh hoạt hơn: Các tổ chức có thể tùy chỉnh môi trƣờng đám mây của mình để
đáp ứng những nhu cầu kinh doanh cụ thể.
ảo mật cao: Các thiết bị và dịch vụ đƣợc đặt tại chỗ nên chỉ có doanh nghiệp
mới có thể truy xuất đƣợc dữ liệu. Điều này không đồng nghĩa với việc Public


7

-

Cloud không an toàn, mà là những Private Cloud khiến doanh nghiệp có “cảm
giác” an toàn hơn.
Khả năng mở rộng: Private Cloud có khả năng mở rộng lớn và hiệu quả tƣơng
tƣ đám mây Public Cloud.

Hybrid Cloud

Hybrid Cloud là sự kết hợp giữa Private Cloud với các Public Cloud nhằm tận
dụng những lợi thế của cả hai. Trong một Hybrid Cloud, dữ liệu và các ứng dụng có
thể di chuyển giữa các Private Cloud và Public Cloud, từ đó mang lại tính linh hoạt
cao hơn cũng nhƣ nhiều tùy chọn triển khai dữ liệu hơn. Ví dụ: bạn có thể sử dụng
Public Cloud trong các trƣờng hợp không quá chú trọng đến yếu tố bảo mật, chẳng hạn
nhƣ email và Hybrid Cloud cho các hoạt động nhạy cảm, hoạt động kinh doanh quan
trọng nhƣ báo cáo tài chính. Ngoài ra, có một dịch vụ hữu ích và rất đáng chú ý trong
đám mây lai, đó là cloud bursting. Dịch vụ này cho phép chuyển dữ liệu hoặc các ứng
dụng từ Private Cloud sang Public Cloud trong thời gian rỗi. Sau đó hệ thống có thể sử
dụng các tài nguyên của Public Cloud để tiếp tục hoạt động bình thƣờng.
Ưu điểm của Hybrid Cloud:
- Với mô hình Hybrid Cloud, các nhà hoạch định chính sách IT có nhiều khả
năng hơn trong việc kiểm soát các thành phần trong đám mây so với việc sử
dụng một nền tảng đám mây công cộng có sẵn.
- Hybrid Cloud cũng tạo ra sự linh hoạt cần thiết, cho phép các công ty có nhiều
lựa chọn hơn trong việc tìm giải pháp lƣu trữ nhanh chóng, ổn định nhƣng có
chi phí thấp.
- Lợi ích dễ thấy khác của Hybrid Cloud là giúp doanh nghiệp chỉ phải thanh
toán cho thời gian điện toán tăng thêm vào những lúc thật sự cần thiết. Theo đó,
đối với những doanh nghiệp có các thời điểm nhất định trong năm cần một khối
lƣợng tính toán lớn (ví dụ nhƣ mùa thuế), họ có thể chuyển sang tận dụng
Public Cloud trong hệ thống Hybrid Cloud. Nhờ vậy, họ sẽ tiết kiệm đƣợc rất
nhiều chi phí so với việc đầu tƣ lớn vào một hệ thống Private Cloud nhƣng chỉ
đƣợc dùng vài lần trong năm.
- Việc chuyển đổi dữ liệu sang Hybrid Cloud rất ít khi quá tải vì bạn có thể di
chuyển dữ liệu dần dần, phân đoạn theo khối lƣợng công việc theo thời gian.


8


CHƢƠNG 2. GIỚI THIỆU OPENSTACK VÀ OPENVSWITCH
2.1 Giới thiệu OpenStack
OpenStack là một nền tảng phần mềm tự do nguồn mở điện toán đám mây, chủ
yếu triển khai cơ sở hạ tầng nhƣ một dịch vụ (Iaas). Công nghệ này bao gồm một
nhóm các dự án liên quan đến nhau mà kiểm soát xử lý, lƣu trữ và tài nguyên mạng
thông qua một trung tâm dữ liệu - trong đó ngƣời sử dụng quản lý thông qua một bảng
điều khiển dựa trên nền web, các công cụ dòng lệnh, hoặc thông qua một
API RESTful. OpenStack.org phát hành nó theo các điều khoản của Giấy phép
Apache.
OpenStack bắt đầu vào năm 2010 nhƣ là một dự án chung của Rackspace
Hosting và của NASA. Tính đến năm 2015 nó đƣợc quản lý bởi các OpenStack
Foundation, một công ty phi lợi nhuận đƣợc thành lập vào tháng 9 năm 2012 để thúc
đẩy phần mềm và cộng đồng OpenStack. Hơn 500 công ty đã tham gia dự án, bao gồm
AppFormix, Arista Networks, AT&T, AMD, Avaya, Canonical, Cisco, Citrix,
Comcast, Dell, Dreamhost, EMC, Ericsson, Fujitsu, Go Daddy, Google, HewlettPackard, Hitachi Data Systems, Huawei, IBM, Intel, Internap, Juniper Networks,
Mellanox, Mirantis, NEC, NetApp, Nexenta, Oracle, PLUMgrid, Pure Storage,
Qosmos, Red Hat, SolidFire, SUSE Linux, VMware, VMTurbo và Yahoo!
Các cộng đồng OpenStack cộng tác với nhau trong vòng sáu tháng, dựa trên
thời gian chu kỳ phát hành với các mốc phát triển thƣờng xuyên. Trong giai đoạn lên
kế hoạch của mỗi bản phát hành, cộng động đã tập hợp một Hội nghị thiết kế
OpenStack để tạo điều kiện phát triển các phiên làm việc và kết hợp các kế hoạch đó
lại. Bảng tiếp theo cho thấy tiến trình của OpenStack và các tùy chọn hoàn toàn khác
nhau có trong mỗi bản phát hành.
Release
name
Austin

Release date

Included Component code names


21-Oct-10

Nova, Swift

Bexar

03-Feb-11

Nova, Glance, Swift

Cactus

15-Apr-11

Nova, Glance, Swift

Diablo

22-Sep-11

Nova, Glance, Swift

Essex

05-Apr-12

Nova, Glance, Swift, Horizon, Keystone

Folsom


27-Sep-12

Grizzly

04-Apr-13

Nova, Glance, Swift, Horizon, Keystone,
Quantum, Cinder
Nova, Glance, Swift, Horizon, Keystone,
Quantum, Cinder


9

Havana

17-Oct-13

Icehouse

17-Apr-14

Juno

16-Oct-14

Kilo

30-Apr-15


Liberty

16-Oct-15

Mitaka

07-Apr-16

Newton

06-Oct-16

Ocata

22-Feb-17

Pike

30-Aug-17

Nova, Glance, Swift, Horizon, Keystone,
Neutron, Cinder, Heat, Ceilometer
Nova, Glance, Swift, Horizon, Keystone,
Neutron, Cinder, Heat, Ceilometer, Trove
Nova, Glance, Swift, Horizon, Keystone,
Neutron, Cinder, Heat, Ceilometer, Trove, Sahara
Nova, Glance, Swift, Horizon, Keystone,
Neutron, Cinder, Heat, Ceilometer, Trove, Sahara,
Ironic

Nova, Glance, Swift, Horizon, Keystone,
Neutron, Cinder, Heat, Ceilometer, Trove, Sahara,
Ironic, Zaqar, Manila, Designate, Barbican,
Searchlight
Nova, Glance, Swift, Horizon, Keystone,
Neutron, Cinder, Heat, Ceilometer, Trove, Sahara,
Ironic, Zaqar, Manila, Designate, Barbican,
Searchlight, Magnum
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
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
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,



10

Watcher
Queens

28-Feb-18

Rocky

30-Aug-18

Stein

10-Apr-19

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, blazar, ceilometer-powervm, storlets
Nova, Glance, Swift, Horizon, Keystone,
Neutron, Cinder, Heat, Ceilometer, Trove, Sahara,
Ironic, Zaqar, Manila, Designate, Barbican,
Searchlight, Magnum, aodh, cloudkitty, congress,
mistral, monasca-api, monasca-log-api, murano,
panko, senlin, solum, tacker, vitrage, Watcher,
blazar, storlets, ginling, masakari, ec2-api, cyborg
Nova, Glance, Swift, Horizon, Keystone,

Neutron, Cinder, Heat, Ceilometer, Trove, Sahara,
Ironic, Zaqar, Manila, Designate, Barbican,
Searchlight, Magnum, aodh, cloudkitty, congress,
mistral, monasca-api, monasca-log-api, murano,
panko, senlin, solum, tacker, vitrage, Watcher,
blazar, storlets, ginling, masakari, ec2-api,
cyborg, freezer, monasca-events-api,
ảng 2.1: OpenStack Release

2.1.1 Kiến trúc OpenStack
OpenStack đã đƣợc phát triển một thời gian dài và thiết kế của nó đang tăng
dần bằng cách tách các thành phần/node phù hợp với từng chức năng. Do đó,
OpenStack đƣợc thiết kế theo dạng phân tán. Dự án OpenStack bao gồm nhiều dự án
nhỏ, tạo điều kiện thuận lợi để quản lý các khía cạnh hoàn toàn khác nhau của tài
nguyên phần cứng cùng với các dịch vụ điện toán, lƣu trữ, kết nối mạng và các kết nối
thay thế, mỗi dịch vụ cung cấp bộ API riêng để tạo điều kiện kết hợp bộ phần mềm
đầy đủ.
OpenStack cung cấp cho các nhà quản lý đám mây một bảng điều khiển dựa
trên nền web với một Giao diện lập trình ứng dụng (API) mạnh mẽ và linh hoạt cho
phép điều chỉnh một bộ các máy chủ lƣu trữ vật lý với các loại Hypervisor hoàn toàn


11

khác nhau và để quản lý các thiết bị lƣu trữ đƣợc chỉ định và cơ sở hạ tầng mạng ảo.
Bảng điều khiển OpenStack cho phép kết hợp ngay lập tức các tài nguyên mạng và
điện toán trong các cơ sở hạ tầng trung tâm dữ liệu với mức độ minh bạch cao. Hình
1.3 minh họa thiết kế khái niệm OpenStack với các tƣơng tác giữa các yếu tố phần
mềm của nó [5]
Là một nền tảng đám mây tập trung vào IaaS, OpenStack có VMs là thành phần

chính, đƣợc cung cấp bởi mô-đun Nova. Các VMs đƣợc bao quanh bởi các dịch vụ
khác với kết nối mạng đƣợc xử lý bởi Neutron; Hình ảnh các hệ điều hành đƣợc lƣu
giữ bởi Glance; dịch vụ lƣu trữ đƣợc cung cấp bởi Swift và Cinder. Keystone chịu
trách nhiệm xác thực toàn bộ hệ thống OpenStack, ở lớp cao hơn, Horizon cung cấp
giao diện quản lý dựa trên web cho bất kỳ hoặc tất cả các dịch vụ. Dƣới đây là mô tả
của các thành phần và dịch vụ của OpenStack.
2.1.1.1 Compute Service
OpenStack Compute (Nova) nhằm quản lý các nhóm tài nguyên máy tính và
cung cấp quyền truy cập vào các nhóm đó thông qua các công cụ chƣơng trình đồ họa
(bảng điều khiển) hoặc các công cụ dòng lệnh hoặc các bộ API, nói ngắn gọn, nó là
một thành phần quản lý các instance. Mặc dù, bảng điều khiển chỉ có thể đƣợc truy cập
bởi ngƣời dùng đƣợc xác thực. Nova hoạt động với hầu hết các công nghệ ảo hóa đƣợc
ƣa thích tƣơng tự nhƣ KVM (mặc định) [7], VMware [6], Xen [8] hoặc Hyper-V [9]
cũng nhƣ các công nghệ container của Linux nhƣ LXC [10]. Nova có thể đƣợc coi là
phần quan trọng nhất của hệ thống IaaS, trong đó ngƣời dùng đám mây có quyền truy
cập vào máy ảo đƣợc lƣu trữ bởi các node chạy dịch vụ Nova. Bên trong nền tảng
OpenStack, các node máy tính sử dụng để lƣu trữ và quản lý hệ thống điện toán đám
mây.
2.1.1.2 Networking Service
Dịch vụ mạng Neutron, trƣớc đây gọi là Quantum, có 2 vấn đề lớn với
Quantum để tạo tiền đề cho Neutron sinh ra là:
1. Dịch vụ mạng là thành phần phụ trợ cho Nova, Neutron đƣợc thiết kế để giải
quyết các thiếu sót trong công nghệ mạng (“baked-in”) đƣợc tìm thấy trong môi
trƣờng đám mây.
2. Không có ngƣời thuê kiểm soát cấu trúc liên kết và địa chỉ mạng, không có
cách nào để chèn thêm các dịch vụ mạng tiên tiến, nhƣ firewall.
Neutron cung cấp liên kết với sự trừu tƣợng của Cơ sở hạ tầng mạng ảo (ví dụ: mạng,
mạng con, cổng, bộ định tuyến, v.v.) và các dịch vụ (ví dụ: firewall, load balancing,



12

VPN, v.v.) bên trong cụm dựa trên OpenStack, về cơ bản là nó là một thành phần quản
lý mạng.
Neutron chủ yếu cung cấp dịch vụ mạng cho các máy ảo (do Nova tạo và quản
lý), trƣớc đó thì mạng đƣợc xử lý bởi Nova. Có khả năng cung cấp dịch vụ mạng cơ
bản duy nhất, việc phát triển và triển khai mạng nova từng bƣớc giảm bớt trong các
bản phát hành sau đó, với một thời gian dài họ đã sắp xếp để loại bỏ mô-đun này khỏi
cơ sở mã OpenStack. Neutron đã trở thành mô-đun mạng mặc định cho OpenStack với
rất nhiều tính trừu tƣợng linh hoạt và đầy đủ dành cho cơ sở hạ tầng và dịch vụ mạng.
Neutron là một giao diện API quản lý Software Defined Networking (SDN).
2.1.1.3 Storage Service
Bên cạnh các công nghệ lƣu trữ thông thƣờng (kết hợp với tài nguyên điện toán
do Nova quản lý), OpenStack còn hỗ trợ thêm 2 loại lƣu trữ khác, cụ thể là Object
Storage (lƣu trữ đối tƣợng) và lock Storage (lƣu trữ khối)
Object Storage (Swift) là một thành phần quản lý lƣu trữ dự phòng có thể mở
rộng trong đó các đối tƣợng và tệp sẽ đƣợc sao chép và phân phối trên nhiều máy chủ
trong cụm. Tuy nhiên, các tệp đƣợc lƣu trữ mà không có siêu dữ liệu, chúng chỉ đơn
giản là các thùng chứa và tệp. Có 2 lớp triển khai trong Swift: Proxy (Lớp API) và
Storage engine (phân phối/sao chép lƣu trữ dựa trên phần mềm). GlusterFS và Ceph là
2 bộ lƣu trữ dựa trên phần mềm đƣợc sử dụng rộng rãi. Ví dụ, Amazon điều hành dịch
vụ lƣu trữ S3 thông qua nền tảng đám mây công cộng trên quy mô lớn.
Block Storage (Cinder) quản lý (tạo/đính kèm/tách) các nhóm lƣu trữ khối ảo
hóa (virtualized block storage) và cung cấp cho ngƣời dùng OpenStack quyền truy cập
vào các nhóm đó. Cần lƣu ý rằng một khi số lƣợng đƣợc tạo và gắn vào máy ảo, nó có
thể đƣợc sử dụng trong máy ảo nhƣ bất kỳ thiết bị khối nào khác sẽ đƣợc sử dụng.
Block Storage đƣợc tích hợp vào các dịch vụ điện toán (Nova) và bảng điều khiển
(Horizon) thông qua API, cho phép ngƣời dùng sử dụng các tài nguyên lƣu trữ này
ngay cả khi không có ông có kiến thức về công nghệ của các thiết bị lƣu trữ bên dƣới.
Có một tiện ích nữa của Cinder, nó có thể dễ dàng xử lý các snapshot, ngoài ra các

snapshot này cũng đƣợc các máy ảo sử dụng làm nguồn khởi động. Logical Volume
Manager (LVM) đƣợc cấu hình mặc định, Cinder cũng sử dụng GlusterFS và các phần
mềm lƣu trữ.


13

nh 2.1: Kiến trúc thành phần OpenStack


×