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

Nghiên cứu, triển khai openstack sử dụng docker

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.23 MB, 47 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN MÔN HỌC

THỰC TẬP CƠ SỞ

NGHIÊN CỨU, TRIỂN KHAI
OPENSTACK SỬ DỤNG DOCKER

Sinh viên thực hiện:

MAI ĐẠI HẢI AT150616
NGUYỄN MẠNH QUÂN AT150644
NGUYỄN THỊ NGỌC HUYỀN AT150626
Nhóm 07

Giảng viên hướng dẫn:

TS. Phạm Văn Hưởng



Mục lục
DANH MỤC HÌNH ẢNH...........................................................................................................iii
DANH MỤC BẢNG BIỂU.........................................................................................................iv
LỜI CẢM ƠN................................................................................................................................5
LỜI MỞ ĐẦU................................................................................................................................6
CHƯƠNG 1. TỔNG QUAN VỀ CLOUD..................................................................................7
1.1 Tổng quan về điện tốn đám mây (Cloud Computing).................................................7


1.1.1 Lịch sử và tình hình phát triển điện tốn đám mây..................................................7
1.1.2 Một số nhà cung cấp dịch vụ điện toán đám mây trên thế giới..............................10
1.2 Đặc điểm của điện toán đám mây................................................................................12
1.2.1 Tự phục theo nhu cầu (On – demand self – service):.............................................12
1.2.2 Truy xuất diện rộng (Broad network access):........................................................12
1.2.3 Dùng chung tài nguyên (Resource pooling):..........................................................12
1.2.4 Khả năng co giãn (Rapid elasticity).......................................................................13
1.2.5 Điều tiết dịch vụ (Measured service).....................................................................13
1.3 Mơ hình kiến trúc điện tốn đám mây.........................................................................13
1.3.1 Phân lớp dịch vụ điện toán đám mây:....................................................................13
1.3.2 Các mơ hình triển khai điện tốn đám mây............................................................15
CHƯƠNG 2. OPENSTACK......................................................................................................17
2.1 Giới thiệu về OpenStack...............................................................................................17
2.1.1 Tổng quan về OpenStack.......................................................................................17
2.1.2 Cấu trúc dịch vụ trong OpenStack.........................................................................17
2.2 Kiến trúc trong OpenStack...........................................................................................18
2.2.1 Các module chính được cung cấp trong OpenStack..............................................18
2.2.2 Các thành phần chức năng chính của OpenStack...................................................22
2.3 Các nhánh và phiên bản của OpenStack.....................................................................23
CHƯƠNG 3. DOCKER.............................................................................................................25
3.1 Tổng quan về docker.....................................................................................................25
3.1.1 Định nghĩa..............................................................................................................25


3.1.2 Các thành phần chính.............................................................................................26
3.1.3 Một số khái niệm:...................................................................................................26
3.1.4 So sánh Docker với Virtual machine......................................................................26
3.2 Các thành phần trong Docker......................................................................................30
3.2.1 Các thành phần.......................................................................................................30
3.2.2 Kiến trúc của Docker..............................................................................................31

3.2.3 Ưu điểm hình thức đóng gói thành Container........................................................32
3.2.4 Quy trình thực thi của một hệ thống sử dụng Docker............................................32
3.3 Các lệnh cơ bản thường dùng......................................................................................33
3.4 Cài đặt, sử dụng docker................................................................................................34
3.4.1 Cài đặt Docker........................................................................................................34
3.4.2 Sử dụng Docker......................................................................................................36
CHƯƠNG 4. TRIỂN KHAI OPENSTACK BẰNG DOCKER............................................37
4.1 Mô hình hệ thống.........................................................................................................37
4.2 Thiết lập mơi trường.....................................................................................................39
4.3 Thiết lập hệ thống.........................................................................................................39
4.4 Đánh giá kết quả...........................................................................................................43
TÀI LIỆU THAM KHẢO..........................................................................................................44


DANH MỤC HÌNH ẢNH
Hình 1. 1 Lịch sử hình thành và phát triển của điện tốn đám mây...............................8
Hình 1. 2 Mơ hình kiến trúc điện tốn đám mây..........................................................14
YHình 2. 1 Kiến trúc OpenStack.................................................................................19
Hình 2. 2 Mơ hình u cầu tạo phiên và lượng cơng việc............................................23
Hình 3. 1 Q trình hoạt động của Docker
Hình 3. 2 Kiến trúc của service hoạt động trên máy ảo
Hình 3. 3 Kiến trúc của service hoạt động trên Docker container
Hình 3. 4 So sánh máy ảo và containers
Hình 3. 5 Kiến trúc của Docker
Hình 3. 6 Quy trình thực thi của hệ thống sử dụng Docker
Hình 3. 7 Kiểm tra phiên bản của Docker
Hình 3. 8 Chạy thử Docker
Hình 4. 1 Mơ hình hệ thống.........................................................................................37



DANH MỤC BẢNG BIỂU
Bảng 2. 1 Cấu trúc dịch vụ trong OpenStack...............................................................19
Bảng 2. 2 Các API trong OpenStack Compute (Nova)................................................21
Bảng 2. 3 Một số phiên bản của OpenStack................................................................25
Bảng 3. 1 So sánh máy ảo và Doker Containers..........................................................31


LỜI CẢM ƠN
Trong thời gian thực hiện đề tài cho môn học, chúng em xin chân thành cảm ơn TS.
Phạm Văn Hưởng đã tận tình hướng dẫn, đóng góp ý kiến để chúng em có thể hồn
thành bài báo cáo này.
Mặc dù nhóm đã cố gắng hồn thành tốt u cầu của đề tài trong phạm vi và khả năng
cho phép nhưng vẫn khơng tránh khỏi những thiếu sót. Chúng em kính mong nhận
được sự thơng cảm và chia sẻ, góp ý q báu từ Thầy Cơ và các bạn.
Chúng em xin chân thành cảm ơn!
NHĨM SINH VIÊN THỰC HIỆN
Nhóm 07


LỜI MỞ ĐẦU
Hiện nay, cơng nghệ điện tốn đám mây đang là một đề tài phổ biến mà nhiều doanh
nghiệp đã và đang áp dụng. Cơ sở hạ tầng dựa trên nền tảng đám mây giúp lưu trữ dữ
liệu dễ dàng và bảo mật. Nó có vai trị quan trọng trong việc quản lý, phân phối các
hoạt động của cơ quan, tổ chức và người kinh doanh một cách hiệu quả hơn. Một trong
những lí do khiến điện tốn đám mây được ưa chuộng chính là giúp tiết kiệm tối đa chi
phí khi mua và sử dụng các nguồn tài ngun. Theo đó điện tốn đám mây cho phép
mua tài nguyên khi cần thiết và chỉ phải trả chi phí khi sử dụng tài nguyên này. Khi
ứng dụng điện toán đám mây thì các cơ quan, doanh nghiệp sẽ tinh giảm được tối đa
nhân viên. Nhờ đó tiết kiệm chi phí cũng như giúp họ tập trung vào cơng việc tốt hơn.
Bên cạnh đó, điện tốn đám mây cịn giúp mở rộng quy mơ phát triển, từ đó có thể

điều chỉnh để phù hợp nhất với điều kiện của cơ quan, doanh nghiệp.
Một trong số những platform phổ biến trong điện tốn đám mây là OpenStack.
OpenStack nhằm mục đích xây dựng một nền tảng đám mây, loại CMP (Nền tảng quản
lý đám mây) tạo điều kiện thuận lợi cho việc xây dựng và quản lý các yếu tố khác
nhau trong cơ sở hạ tầng để đạt được các dịch vụ đám mây cho người dùng.
Với những lí do trên, bài toán đặt ra ở đây là làm sao mang OpenStack đi triển khai
cho một doanh nghiệp hoặc tổ chức. Vậy nên, đề tài “Nghiên cứu, triển khai
OpenStack sử dụng Docker” được thực hiện trong báo cáo có ý nghĩa khoa học và
mang tính thực tiễn cao. Kết cấu báo cáo được chia làm 4 chương:
Chương 1: Cloud Computing
Chương 2: OpenStack
Chương 3: Docker
Chương 4: Triển khai OpenStack sử dụng Docker


CHƯƠNG 1. TỔNG QUAN VỀ CLOUD
1.1 Tổng quan về điện toán đám mây (Cloud Computing)
Các sáng kiến về điện toán đám mây đã đạt được vị trí quan trọng trong bất kỳ chiến
lược chuyển đổi kỹ thuật số nào. Việc các doanh nghiệp chuyển trọng tâm theo mơ
hình từ lợi ích gia tăng chuyển đổi sang điện toán đám mây cùng với các cơng nghệ
khác như IoT, phân tích dữ liệu (Data Analytics) và AI đã giúp các doanh nghiệp có
tầm nhìn rõ ràng hơn cho tương lai.
Là một dịch vụ dựa trên tiện ích, điện tốn đám mây giúp các doanh nghiệp điều
hướng quá trình chuyển đổi kỹ thuật số của họ thông qua việc cung cấp tài nguyên
mạng và tính tốn theo u cầu. Mặc dù Cloud đã trở thành nền tảng cần có của một
doanh nghiệp kỹ thuật số thành cơng, tuy nhiên chỉ có một số tổ chức có thể tối ưu hóa
cơng cụ mạnh mẽ này – chưa đến một phần ba số doanh nghiệp có chiến lược Cloud
được thống kê lại.
1.1.1 Lịch sử và tình hình phát triển điện tốn đám mây
Điện tốn đám mây đã trở thành một cơng cụ bình thường mới cho môi trường kinh

doanh hiện tại. Đây không phải là một cơng nghệ hiện đại. Nó đã tiếp tục phát triển kể
từ đầu những năm 1950. Năm 1955, John McCarthy đã tạo ra một khái niệm chia sẻ
thời gian, cho phép một nhóm người dùng sử dụng đồng thời một tính lớn đắt tiền. Lý
thuyết chia sẻ thời gian trên máy tính lớn của McCarthy được cho là đã có tác động
đáng kể đến sự phát triển của Internet.
Với sự phát triển của cơng nghệ, khái niệm điện tốn đám mây đã có một bước nhảy
vọt vào giữa những năm 1960, khi một nhà khoa học người Mỹ Joseph Carl Robnett
Licklider mô tả một lý thuyết về các hệ thống điện toán được kết nối với nhau. Ý
tưởng này đã khai sinh ra tiền thân của Internet: Arpanet (Mạng cơ quan các dự án
nghiên cứu tiên tiến).
Đóng góp của Lickider được coi là có giá trị nhất trong việc tạo ra điện tốn đám mây;
do đó, ơng được coi là cha đẻ của điện toán đám mây.


Hình 1. 1 Lịch sử hình thành và phát triển của điện toán đám mây
Từ những năm 1970 đến những năm 1990, đám mây đã phát triển với tốc độ chóng
mặt nhờ những tiến bộ trong cơng nghệ. Năm 1972, IBM phát hành hệ điều hành VM
(Virtual Machine), thể hiện hành vi của phần cứng chuyên dụng, mang đến cho người
dùng trải nghiệm giống như trên một máy ảo.
Vào những năm 1990, các công ty viễn thông bắt đầu cung cấp Mạng riêng ảo hóa
(VPN) dưới dạng dịch vụ cho thuê.
Giáo sư Ramnath Chellappa của Đại học Emory, vào năm 1997, đã định nghĩa điện
toán đám mây là:
“A computing paradigm, where the boundaries of computing will be determined by
economic rationale, rather than technical limits alon”
(Tạm dịch: Một mơ hình máy tính, nơi mà ranh giới giữa các máy tính sẽ được quyết
định bởi lý luận kinh tế hơn là chỉ giới hạn kỹ thuật).
Tuy nhiên, thuật ngữ điện toán đám mây thực sự trở nên phổ biến vào năm 2006 khi
Amazon phát hành sản phẩm Elastic Compute Cloud của mình.
Thuật ngữ Cloud Computing ra đời giữa năm 2007 không phải để nói về một trào lưu

mới, mà để khái quát lại các hướng đi của cơ sở hạ tầng thông tin vốn đã và đang diễn
ra từ nhiều năm qua. Quan điểm này có thể được diễn giải một cách đơn giản: các
nguồn điện toán khổng lồ như phần mềm, dịch vụ và các dịch vụ sẽ nằm tại các máy


chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn phịng (trên mặt
đất) để mọi người kết nối và sử dụng mỗi khi họ cần. Với các dịch vụ sẵn có trên
Internet, doanh nghiệp khơng phải mua và duy trì hàng trăm, thậm chí hàng nghìn máy
tính cũng như phần mềm. Họ chỉ cần tập trung và kinh doanh lĩnh vực riêng của mình
bởi đã có người khác lo cơ sở hạ tầng và cơng nghệ thông tin thay họ. Theo lẽ tự
nhiên, Google nằm trong số những hãng ủng hộ điện toán máy chủ ảo tích cực bởi
hoạt động kinh doanh của họ dựa trên việc phân phối các cloud (virtual server). Đa số
người dùng Internet đã tiếp cận những dịch vụ đám mây phổ thông như email, album
ảnh và bản đồ số.
Thị trường điện tốn đám mây đang phát triển nhanh chóng tại Việt Nam trong vài
năm trở lại đây, đặc biệt là trong đại dịch Covid-19. Theo thông tin từ buổi tọa đàm
“Thúc đẩy điện toán đám mây Made in Vietnam” được tổ chức bởi Cục An tồn thơng
tin (Bộ TT&TT) và báo điện tử VietNamnet ngày 24/11/2020:
− Thị trường điện toán đám mây Việt Nam đạt khoảng 133 triệu USD (tương đương
khoảng 3.200 tỷ đồng).
− Tính đến năm 2020, Việt Nam có khoảng 27 trung tâm dữ liệu (IDC) của 11 doanh
nghiệp trong nước đầu tư, 270.000 máy chủ trên khắp cả nước.
− Tuy nhiên, doanh nghiệp Việt Nam mới chiếm được 20% thị phần của thị trường,
80% còn lại là các doanh nghiệp nước ngoài.
− Những nhà cung cấp dịch vụ chủ yếu trên thị trường là Viettel, VNPT, FPT, VNG.
− Vào năm 2020, đại dịch Covid-19 đã tạo nên 1 cú hích thúc đẩy tốc độ tăng trưởng
của thị trường điện toán đám mây tại Việt Nam tăng lên 40% - trích lời ơng
Nguyễn Khắc Lịch, cục trưởng Cục An tồn thơng tin.
Xu hướng chuyển đổi số, số hóa trong nhiều lĩnh vực của đời sống đã khiến cho thị
trường điện toán đám mây tại Việt Nam trở nên sôi động hơn. Theo báo cáo, trong giai

đoạn 6 năm từ 2010-2016, thị trường đã có những bước phát triển sau:
− Thị trường điện toán đám mây của Việt Nam có tốc độ tăng trưởng đạt 64.4% và
trở thành 1 trong những quốc gia có tốc độ phát triển nhanh nhất khối ASEAN –
Mức trung bình của cả khối năm 2018 là 49.5%.
− Năm 2018, Việt Nam xếp vị trí 14 trong bảng xếp hạng về độ phủ dịch vụ điện toán
đám mây khi đạt 41/100 điểm.
− Năm 2019, doanh thu từ dịch vụ điện toán đám mây mang lại 200 triệu USD, tăng
trưởng trên 30%.


Hiện nay, điện toán đám mây đã và đang được ứng dụng trong nhiều lĩnh vực của đời
sống như công nghệ thơng tin, tài chính – ngân hàng, giáo dục, du lịch khách sạn,…
Nhiều cơ quan Chính phủ cũng đã lựa chọn mơ hình điện tốn đám mây để xây dựng
Chính phủ điện tử/Chính quyền điện tử, như : Báo điện tử Đảng Cộng sản Việt Nam.
Cổng thông tin điện tử Chính phủ, Văn phịng chủ tịch nước.
1.1.2 Một số nhà cung cấp dịch vụ điện toán đám mây trên thế giới
1.1.2.1 Amazon Web Service (AWS)
Amazon Web Service (AWS) là một nền tảng đám mây dùng để xây dựng các giải
pháp doanh nghiệp bằng cách sử dụng những dịch vụ web tích hợp. AWS cung cấp
một loạt các dịch vụ IaaS, PaaS. Bao gồm Elastic Cloud Compute (EC2), Elastic
Beanstalk, Simple Storage Service (S3) và Relational Database Service (RDS).
AWS cung cấp quyền quản trị rộng rãi và luôn sẵn sàng thông qua một web client đảm
bảo tính bảo mật. Người dùng có thể truy cập một số tính năng tại đây bao gồm việc
tạo và kiểm tra một cặp khóa mã hóa (encryption key).
AWS đồng thời cho phép bạn tối ưu hóa hạ tầng theo nhu cầu. Chi phí này sẽ thấp hơn
so với việc xây dựng một hạ tầng tại chỗ (on premise).
AWS hỗ trợ 3 mơ hình định giá khác nhau; “dùng đến đâu trả đến đấy” (pay as
you go), “tiết kiệm khi đặt chỗ trước” (save when you reserve) và “sử
dụng nhiều hơn, trả ít hơn” (pay less using more).
1.1.2.2 Google Cloud Platform (GCP)

Google Cloud cho phép người dùng tạo những giải pháp kinh doanh bằng các dịch vụ
web mơ-đun do Google cung cấp. Nó cung cấp một loạt các dịch vụ bao gồm những
giải pháp IaaS, PaaS.
Với hạ tầng bảo mật nhiều lớp của GCP, người dùng hoàn toàn yên tâm về mọi thứ họ
tạo, mã nguồn hoặc lưu trữ sẽ được bảo vệ.
Google Cloud bao gồm nhiều công cụ đảm bảo hiệu suất và quản lý nhất quán. Chúng
bao gồm Compute Engine, App Engine, Container Engine, Cloud Storage và Big
Query. Google đồng thời mang đến giải pháp di chuyển lên máy ảo của họ với một giá
cả linh hoạt.


1.1.2.3 Microsoft (MS Azure)
Microsoft Azure đã hoạt động gần một thập kỷ trước, vào năm 2010. Người dùng có
thể chạy bất kỳ dịch vụ nào trên cloud của họ hoặc kết hợp nó với trung tâm dữ liệu
hoặc hạ tầng đang có (on premise).
Microsoft Azure cung cấp hàng loạt các giải pháp phù hợp với mọi loại hình kinh
doanh. Họ sẽ giúp bạn chọn một gói phù hợp với nhu cầu kinh doanh hiện tại.
Với Azure, người dùng không cần máy chủ vật đặt tại cơ sở kinh doanh của họ. Điều
này giúp tiết kiệm chi phí hạ tầng, chẳng hạn như một đội ngũ vận hành máy chủ tại
chỗ.
Azure Migration Center hỗ trợ quá trình di chuyển dữ liệu lên cloud dễ dàng và nhanh
chóng hơn. Giải pháp này cũng hồn tồn tương thích với Linux.
Azure đồng thời mang đến hơn 25 dịch vụ miễn phí trọn đời và một cấp độ miễn phí
giới hạn đối với nhiều dịch vụ phổ biến. Tất cả các gói và giá đều được hiển thị chi tiết
trên trang chủ của họ. Trang này bao gồm bộ cơng cụ tính tốn chi phí và dịch vụ dùng
đến đâu trả đến đấy (Pay as you go).
1.1.2.4 Oracle
Oracle Corp, một nhà cung cấp phần mềm cơ sở dữ liệu hàng đầu, đã tiết lộ chương
trình đầy tham vọng của mình trong lĩnh vực điện tốn đám mây vào năm 2015. Công
ty đã công bố kế hoạch của mình trong sự kiện Oracle OpenWorld để mở rộng danh

mục đầu tư của mình trong các dịch vụ đám mây phân tích, ứng dụng đám mây, IaaS
và dịch vụ tích hợp đám mây. Kể từ đó, Oracle đã phát triển với một tốc độ chưa từng
thấy.
Oracle Corp đã tương đối muộn trong cuộc đua đám mây, cho phép những người mới
nổi như Salesforce.com giành được thị phần đáng kể với phần mềm được phân phối
qua internet và kết quả là đã gặp khó khăn. Tuy nhiên, bây giờ có vẻ như Oracle cuối
cùng đã tìm ra bức tranh lớn hơn, đang ở chế độ đổi mới tích cực và là một sự đánh
cược chắc chắn cho tương lai.
1.1.2.5 VMware Cloud
Sau khi trở thành một cơng ty ảo hóa được thành lập, VMware bước vào không gian
đám mây với nền tảng đám mây sáng tạo của mình, cho phép khách hàng cung cấp
quyền truy cập an toàn vào dữ liệu và ứng dụng cho người dùng cuối của họ từ nhiều


thiết bị. VMware gần đây đã hợp tác với AWS, tập đồn điện tốn đám mây khổng lồ
trực tuyến, để cung cấp cho khách hàng một giải pháp tích hợp hơn.

1.2 Đặc điểm của điện toán đám mây
Từ “đám mây” trong cụm từ “Điện toán đám mây” thực chất là lối nói ẩn dụ dùng để
mơ tả mạng Internet. Cơng nghệ này là biện pháp sử dụng dựa trên kết nối Internet,
nơi mà những người dùng chia sẻ cùng một mạng máy chủ, phần mềm và dữ liệu. Từ
“đám mây” cũng gợi ra những đặc điểm và tính chất của nó đó là nó có thể to nhỏ tùy
ý (khả năng co dãn), ai cũng có thể nhìn thấy nó (tính truy xuất diện rộng),… Theo
Viện Tiêu chuẩn và Cơng nghệ (NIST), điện tốn đám mây có năm tính chất chính:
1.2.1 Tự phục theo nhu cầu (On – demand self – service):
Mỗi khi có nhu cầu, người dùng chỉ cần gửi yêu cầu thông qua trang web cung cấp
dịch vụ, hệ thống của nhà cung cấp sẽ đáp ứng yêu cầu của người dùng. Người dùng
có thể tự phục vụ yêu cầu của mình như tăng thời gian sử dụng server, tăng dung
lượng lưu trữ,… mà không phải tương tác trực tiếp với nhà cung cấp dịch vụ, mọi nhu
cầu về dịch vụ đều được xử lý trên môi trường web (Internet).

1.2.2 Truy xuất diện rộng (Broad network access):
Điện toán đám mây cung cấp các dịch vụ thông qua môi trường Internet. Do đó, người
dùng có kết nối Internet là có thể sử dụng dịch vụ. Hơn nữa, điện tốn đám mây ở
dạng dịch vụ nên khơng địi hỏi khả năng xử lý cao ở phía client, vì vậy người dùng có
thể truy xuất bằng các thiết bị di động như điện thoại, PDA, laptop,… Với điện toán
đám mây người dùng khơng cịn bị phụ thuộc vị trí nữa, họ có thể truy xuất dịch vụ từ
bất kỳ nơi nào, vào bất kỳ lúc nào có kết nối Internet.
1.2.3 Dùng chung tài nguyên (Resource pooling):
Tài nguyên của nhà cung cấp dịch vụ được dùng chung phục vụ cho nhiều người dùng
dựa trên mơ hình “multi – tenant”. Trong mơ hình “multi – tenant”, tài nguyên sẽ được
phân phát động, tùy theo nhu cầu của người dùng. Khi nhu cầu của một khách hàng
giảm xuống, thì phần tài nguyên dư thừa sẽ được tận dụng để phục vụ cho một khách
hàng khác. Ví dụ khách hàng A theo 10 CPU mỗi ngày từ 7 giờ đến 11 giờ, một khách
hàng B thuê 10 CPU tương tự mỗi ngày từ 13 giờ đến 17 giờ thì hai khách hàng này có
thể dùng chung 10 CPU đó.


Điện tốn đám mây dựa trên cơng nghệ ảo hóa, nên các tài nguyên đa phần là tài
nguyên ảo. Các tài nguyên ảo này sẽ được cấp phát động theo sự thay đổi nhu cầu của
từng khách hàng khác nhau. Nhờ đó nhà cung cấp dịch vụ có thể phục vụ nhiều khách
hàng hơn so với cách cấp phát tài nguyên tĩnh truyền thống.
1.2.4 Khả năng co giãn (Rapid elasticity)
Đây là tính chất đặc biệt nhất, nổi bật nhất và quan trọng nhất của điện tốn đám mây.
Đó là khả năng tự động mở rộng hoặc thu nhỏ hệ thống tùy theo nhu cầu của người
dùng. Khi nhu cầu tăng cao, hệ thống sẽ tự giảm bớt tài nguyên. Ví dụ: Khách hàng
thuê một Server gồm 10 CPU. Thông thường do có ít truy cập nên chỉ cần 5 CPU là
đủ, khi đó hệ thống quản lý của nhà cung cấp dịch vụ sẽ tự ngắt bớt 5 CPU dư thừa,
khách hàng khơng phải trả phí cho những CPU dư thừa này (những CPU này sẽ được
cấp phát cho các khách hàng khác có nhu cầu). Khi lượng truy cập tăng cao, nhu cầu
tăng lên thì hệ thống quản lý của nhà cung cấp dịch vụ sẽ tự “gắn” thêm CPU vào, nếu

nhu cầu tăng vượt quá 10 CPU thì khách hàng phải trả phí cho phần vượt mức theo
thỏa thuận với nhà cung cấp.
Khả năng co giãn giúp cho nhà cung cấp sử dụng tài nguyên hiệu quả, tận dụng triệt để
tài nguyên dư thừa, phục vụ được nhiều khách hàng. Đối với người sử dụng dịch vụ,
khả năng co giãn giúp họ giảm chi phí do họ chỉ trả phí cho những tài nguyên thực sự
dùng.
1.2.5 Điều tiết dịch vụ (Measured service)
Hệ thống điện toán đám mây tự động kiểm sốt và tối ưu hóa việc sử dụng tài nguyên
(dung lượng lưu trữ, đơn vị xử lý, bang thơng,…). Lượng tài ngun sử dụng có thể
được theo dõi, kiểm soát và báo cáo một cách minh bạch cho cả hai phía nhà cung cấp
dịch vụ và người sử dụng.

1.3 Mơ hình kiến trúc điện tốn đám mây
1.3.1 Phân lớp dịch vụ điện toán đám mây:
Dịch vụ điện toán đám mây là cơ sở hạ tầng, nền tảng hoặc phần mềm được các nhà
cung cấp bên thứ ba lưu trữ và cung cấp cho người dùng thông qua internet. Theo định
nghĩa chuẩn của NIST các kiến trúc dịch vụ của điện toán đám mây bao gồm:
Infrastructure as a Service (IaaS – hạ tầng như 1 dịch vụ), Platform as a Service (PaaS


– nền tảng như một dịch vụ), Software as a Service (SaaS – phần mềm ứng dụng như
một dịch vụ). Mỗi dịch vụ đều tạo điều kiện cho luồng dữ liệu người dùng từ các máy
khách frontend thông qua internet, đến hệ thống của nhà cung cấp dịch vụ đám mây và
ngược lại, khác nhau tùy theo những gì được cung cấp.

Hình 1. 2 Mơ hình kiến trúc điện tốn đám mây
1.3.1.1 IaaS:
Nhà cung cấp dịch vụ đám mây quản lý cơ sở hạ tầng như các máy chủ thực tế, mạng,
ảo hóa và lưu trữ dữ liệu, thơng qua kết nối internet. Người dùng có quyền truy cập
thơng qua API hoặc trang tổng quan và về cơ bản là thuê cơ sở hạ tầng. Người dùng

quản lý hệ điều hành, ứng dụng và phần mềm trung gian trong khi nhà cung cấp quản
lý mọi phần cứng, mạng, ổ cứng, bộ lưu trữ dữ liệu và máy chủ, họ có trách nhiệm xử
lý các sự cố như mất điện, sửa chữa phần cứng. Đây là mơ hình triển khai điểm hình
của các nhà cung cấp dịch vụ lưu trữ đám mây.
1.3.1.2 PaaS:
Phần cứng và nền tảng phần mềm - ứng dụng được cung cấp và quản lý bởi một nhà
cung cấp dịch vụ đám mây bên ngoài, nhưng người dùng sẽ xử lý các ứng dụng chạy
trên nền tảng và dữ liệu mà ứng dụng dựa vào. Chủ yếu dành cho các nhà phát triển và
lập trình viên. PaaS cung cấp cho người dùng một nền tảng đám mây dùng chung để
phát triển và quản lý ứng dụng (một thành phần DevOps quan trọng) mà không cần
phải xây dựng và duy trì cơ sở hạ tầng thơng thường liên quan đến quy trình.


1.3.1.3 SaaS
Là một dịch vụ cung cấp ứng dụng phần mềm mà nhà cung cấp dịch vụ đám mây
quản lý cho người dùng của họ. Thông thường ứng dụng SaaS là ứng dụng Web hoặc
ứng dụng di động mà người dùng có thể truy cập thơng qua trình duyệt Web. Các bản
cập nhật phần mềm, sửa lỗi và bảo trì phần mềm chung khác được thực hiện cho người
dùng và chúng kết nối với các ứng dụng đám mây thông qua bảng điều khiển hoặc
API. SaaS cũng loại bỏ nhu cầu cài đặt ứng dụng cục bộ trên máy tính của mỗi người
dùng, cho phép các phương pháp nhóm hoặc nhóm truy cập phần mềm nhiều hơn.
1.3.2 Các mơ hình triển khai điện tốn đám mây
Một mơ hình triển khai điện tốn đám mây là một cấu hình cụ thể của các thông số
môi trường như khả năng tiếp cận và sở hữu cơ sở hạ tầng triển khai và lưu trữ kích
thước. Điều này có nghĩa là các loại triển khai khác nhau tùy thuộc vào người kiểm
soát cơ sở hạ tầng và vị trí của nó. Có 4 loại chính gồm: đám mây cơng cộng, riêng tư,
lai và cộng đồng. Ngồi ra, cũng có những đám mây phân bố không phổ biến như đám
mây đa sắc, nhiều đám mây và các mơ hình khác.
1.3.2.1 Đám mây cơng cộng (Public Cloud):
Là các dịch vụ được bên thứ 3 (người bán) cung cấp. Chúng tồn tại ngồi tường lửa

của cơng ty và được nhà cung cấp đám mây quản lý. Nó được xây dựng nhằm phục vụ
cho mục đích sử dụng công cộng, người dùng sẽ đăng ký với nhà cung cấp và trả phí
sử dụng dựa theo chính sách giá của nhà cung cấp. Public cloud là mơ hình triển khai
được sử dụng phổ biến nhất hiện nay của cloud computing.
Ưu điểm: Phục vụ được nhiều người dùng, không bị giới hạn bởi không gian và thời
gian, tiết kiệm hệ thống máy chủ, điện năng và nhân công cho doanh nghiệp.
Nhược điểm: Các doanh nghiệp phụ thuộc vào nhà cung cấp khơng có tồn quyền
quản lý, lưu trữ các văn bản, thơng tin nội bộ khó khăn, mất kiểm sốt về dữ liệu và an
tồn dữ liệu.
Đối tượng sử dụng: Bao gồm người dùng bên ngoài internet. Đối tượng quản lý là nhà
cung cấp dịch vụ.
1.3.2.2 Đám mây riêng tư (Private Cloud):
Là các dịch vụ điện toán đám mây được cung cấp trong các doanh nghiệp. Những
“đám mây” này tồn tại bên trong tường lửa của công ty và được các doanh nghiệp trực


tiếp quản lý. Đây là xu hướng tất yếu cho các doanh nghiệp nhằm tối ưu hóa hạ tầng
cơng nghệ thông tin.
Ưu điểm: Chủ động sử dụng, nâng cấp, quản lý, giảm chi phí, bảo mật tốt,…
Nhược điểm: Chỉ trong nội bộ doanh nghiệp sử dụng, người dùng ở ngoài khơng thể
sử dụng, chi phí xây dựng, duy trì hệ thống.
Đối tượng sử dụng: Nội bộ doanh nghiệp sử dụng và quản lý.
1.3.2.3 Đám mây lai (Hybrid Cloud):
Là sự kết hợp của private cloud và public cloud. Cho phép ta khai thác điểm mạnh của
từng mơ hình cũng như đưa ra phương thức sử dụng tối ưu cho người sử dụng. Những
“đám mây” này thường do doanh nghiệp tạo ra và việc quản lý sẽ được phân chia giữa
doanh nghiệp và nhà cung cấp điện tốn đám mây cơng cộng.
Ưu điểm: Doanh nghiệp 1 lúc có thể sử dụng được nhiều dịch vụ mà khơng bị giới
hạn.
Nhược điểm: Khó khăn trong việc triển khai và quản lý. Tốn nhiều chi phí.

Đối tượng sử dụng: Doanh nghiệp và nhà cung cấp quản lý theo sự thỏa thuận. Người
sử dụng có thể sử dụng các dịch vụ của nhà cung cấp và dịch vụ riêng của doanh
nghiệp.
1.3.2.4 Đám mây cộng đồng (Community Cloud):
Là các dịch vụ trên nền tảng điện toán đám mây do các công ty cùng hợp tác xây dựng
và cung cấp các dịch vụ cho cộng đồng. Những đơn vị hoặc tổ chức xây dựng dịch vụ
đám mây cộng đồng này thường có chung một mục tiêu, nhiệm vụ hay sức mệnh,…
Và không để tổ chức nào độc quyền đám mây cộng đồng này, các tổ chức, đơn vị
thường uỷ thác cho một bên thứ 3 để quản lý.
Ưu điểm: Riêng tư, bảo mật và an ninh tốt.
Nhược điểm: Chi phí tốn kém khi tham gia.
Đối tượng sử dụng: Các loại đám mây cộng đồng này chủ yếu phục vụ riêng cho các
doanh nghiệp tạo nên đám mây này. Các doanh nghiệp cùng chia sẻ các lợi ích từ các
cơ sở hạ tầng mà họ đầu tư.


CHƯƠNG 2. OPENSTACK
2.1 Giới thiệu về OpenStack
2.1.1 Tổng quan về OpenStack
OpenStack là một phần mềm mã nguồn mở cho phép triển khai và quản lý cơ sở hạ
tầng đám mây dưới dạng nền tảng dịch vụ (IaaS). OpenStack hỗ trợ cả triển khai đám
mây riêng và cơng khai. Nó đáp ứng hai yêu cầu chính của đám mây: khả năng mở
rộng lớn và đơn giản trong việc triển khai.
OpenStack có khả năng cấu hình cao: người dùng có thể chọn có hoặc khơng triển
khai một số dịch vụ do phần mềm cung cấp. Cấu hình của mỗi thành phần cũng tùy
thuộc vào người dùng và được thực hiện dễ dàng thơng qua giao diện lập trình ứng
dụng (API) mà cơng cụ cung cấp. Do đó, có nhiều cách khác nhau để sử dụng
OpenStack, điều này làm cho nó trở thành một cơng cụ linh hoạt có thể hoạt động
cùng với các phần mềm khác.
Một lý do khác để áp dụng OpenStack là nó hỗ trợ các siêu giám sát khác nhau (ví dụ:

Xen, VMware hoặc máy ảo dựa trên hạt nhân [KVM]) và một số cơng nghệ ảo hóa
(chẳng hạn như kim loại trần hoặc máy tính hiệu suất cao).
2.1.2 Cấu trúc dịch vụ trong OpenStack
Kiến trúc các module của OpenStack ứng với các tên gọi của từng dịch vụ được cung
cấp:
STT
1
2
3
4
5
6
7
8
9
10
11
12

Phân loại dịch vụ
Chính

Mở rộng

Tên dịch vụ
Block storage (Cinder)
Compute (Nova)
Dashboard (Horizon)
Identify (Keystone)
Image (Glance)

Networking (Neutron)
Object storage (Swift)
Application catalog (Murano)
Backup, Restore and Disaster Recovery (Freezer)
Bare Metal Provisioning (Ironic)
Clustering (Senlin)
Container
Orchestration
Engine


Provisioning(Magnum)
Containers (Zun)
Big Data Processing Framework Provisioning (Sahara)
Database (Trove)
DNS (Designate)
EC2 API proxy (EC2API)
Instances High Availability (Masakari)
Key Management (Barbican)
Lifecycle management of accelerators (Cyborg)
Load balancer (Octavia)
Messaging (Zaqar)
Orchestration (Heat)
Placement (Placement)
Resource reservation (Blazar)
Shared filesystems (Manila)
Software Development Lifecycle Automation (Solum)
Alarming (Aodh)
Workflow (Mistral)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

Bảng 2. 1 Cấu trúc dịch vụ trong OpenStack
2.2 Kiến trúc trong OpenStack
2.2.1 Các module chính được cung cấp trong OpenStack
2.2.1.1 OpenStack identity module
OpenStack Identity (Keystone) cung cấp một danh mục các user được ánh xạ tới các
dịch vụ Openstack để người dùng có thể truy nhập. OpenStack Identity hoạt động như
một hệ thống xác thực chung trên tồn bộ hệ thống và có thể tích hợp với các dịch vụ
có danh mục phụ trợ hiện có như Lightweight Directory Access Protocol (LDAP) hay
Pluggable authentication module (PAM). OpenStack Identity hỗ trợ nhiều hình thức
xác thực bao gồm thông tin đăng nhập tên người dùng và mật khẩu tiêu chuẩn, hệ
thống token và phương thức truy nhập của AWS (tức là Amazon Web Services). Ngoài
ra, OpenStack Identity cịn cung cấp một danh sách có thể truy vấn của tất cả các dịch

vụ được triển khai trên OpenStack trong một khởi tạo bình thường. Người dùng và các
cơng cụ của bên thứ ba có thể xác lập tài ngun được cấp quyền có thể truy cập thơng
qua OpenStack Identity.


Hình 2. 1 Kiến trúc OpenStack

2.2.1.2 OpenStack compute module
OpenStack Compute (Nova) là một module điều khiển Cloud computing, là phần
chính của hệ thống Openstack được phát triển theo mơ hình dịch vụ Infrastructure as a
Service (IaaS). OpenStack Compute được thiết kế để quản lý và tự động tối ưu các tài
ngun máy tính cũng như có thể hoạt động với sự mở rộng các cơng nghệ ảo hóa có
sẵn bao gồm các cấu hình của bare-metal server hay cấu hình của siêu máy tính. KVM,
VMware và Xen là những lựa chọn có sẵn sử dụng cơng nghệ hypanneror (màn hình
máy ảo), cùng với công nghệ Hyper-V và Linux container là LXC .
OpenStack Compute phân tán các tác vụ hoạt động độc lập và riêng biệt như sau:
ST
T
1
2

API
Nova – api
Nova – compute

3

Nova – network

4

5

Nova – scheduler
Nova – conductor

Chức năng
Tương tác giữa các API của hệ thống với người dùng.
Cho phép người dùng có thể tạo và thực thi các VM
instance với các API hypervisor (Libvirt KVM, VMware
API của VMware).
Cho phép người dùng quản lý các tác vụ liên quan đến
mạng.
Cho phép tối ưu các hoạt động của VM instance.
Cho phép người dùng truy nhập vào các node thông qua
database.

Bảng 2. 2 Các API trong OpenStack Compute (Nova)


2.2.1.3 OpenStack network module
OpenStack Networking (Neutron) có chức năng quản lý mạng và địa chỉ IP, đảm bảo
mạng không bị tắc nghẽn hoặc thắt cổ chai trong khi triển khai Cloud và cung cấp cho
người dùng khả năng cấu hình nội bộ và cấu hình qua mạng Internet.
OpenStack Networking cung cấp các mơ hình mạng cho các ứng dụng hoặc nhóm
người dùng khác nhau. Các mơ hình tiêu chuẩn bao gồm các flat network hoặc VLAN
để phân tách các server với nhau và lưu lượng truyền dẫn.
OpenStack Networking quản lý địa chỉ IP, hỗ trợ cả địa chỉ IP tĩnh hoặc địa chỉ IP
động. Địa chỉ Floating IP cho phép lưu lượng truy cập được định tuyến lại một cách
linh hoạt bất kỳ tài nguyên nào trong cơ sở hạ tầng, do đó người dùng có thể chuyển
hướng lưu lượng trong quá trình bảo trì hoặc trong trường hợp xảy ra lỗi.

Người dùng có thể tạo các mạng nội bộ, điều khiển lưu lượng, thiết lập kết nối tới các
server và các thiết bị trong một hoặc nhiều mạng. Quản trị viên có thể sử dụng các
cơng nghệ software-defined networking (SDN) như OpenFlow để hỗ trợ tối đa multitenancy và triển khai quy mô rộng. OpenStack Networking cung cấp một framework
mở rộng có thể triển khai và quản lý các dịch vụ mạng thêm vào như hệ thống phát
hiện xâm nhập (IDS), cân bằng tải, tường lửa và mạng riêng ảo (VPN).
2.2.1.4 OpenStack storage module
Openstack storage có 2 loại lưu trữ là Block storage (Cinder) và Object storage (Swift)
− OpenStack Block Storage (Cinder) là một hệ thống lưu trữ block-level để sử dụng
với các OpenStack compute instance. Hệ thống block storage quản lý việc tạo, gắn
và tách các khối thiết bị trên các server. Các phân vùng block storage được tích hợp
hồn tồn vào OpenStack Compute và Dashboard cho phép người dùng cloud quản
lý lưu trữ cần thiết của người dùng. Ngoài lưu trữ trên server Linux cục bộ, block
storage có thể sử dụng các nền tảng lưu trữ bao gồm Ceph, CloudByte, Coraid,
EMC (ScaleIO, VMAX, VNX and XtremIO), GlusterFS, Hitachi Data Systems,
IBM Storage (IBM DS8000, Storwize family, SAN Volume Controller, XIV
Storage System, and GPFS), Linux LIO, NetApp, Nexenta, Nimble Storage,
Scality, SolidFire, HP (StoreVirtual, 3PAR StoreServ families) và Pure Storage.
Block storage cũng được sử dụng cho các trường hợp phức tạp liên quan tới hiệu
suất như lưu trữ cơ sở dữ liệu, hệ thống file mở rộng hoặc cung cấp cho server
quyền truy cập vào block-level storage. Sự quản lý snapshot cung cấp hiệu quả


chức năng để sao lưu dữ liệu được lưu trữ trên phân vùng block storage. Snapshot
có thể được khơi phục hoặc tạo mới một phân vùng block storage.
− OpenStack Object Storage (Swift) là một hệ thống lưu trữ dự phòng có thể mở
rộng. Các object và file được ghi trên nhiều ổ đĩa trải đều các server trong data
center với phần mềm OpenStack chịu trách nhiệm đảm bảo sao chép và tồn vẹn
dữ liệu thơng qua cluster. Các cluster lưu trữ phân bố đều khi thêm các server mới.
Nếu server hoặc ổ cứng bị lỗi, OpenStack sẽ sao chép nội dung của nó từ các node
hoạt động khác sang các vị trí mới trong cluster. Vì OpenStack sử dụng tính logic

trong phần mềm để đảm bảo sao chép và phân tán dữ liệu trên các thiết bị khác
nhau nên ổ cứng và server được sử dụng không cần đắt tiền.
Vào tháng 8 năm 2009, Rackspace đã bắt đầu phát triển OpenStack Object
Storage như một sự thay thế hoàn toàn cho sản phẩm Cloud Files. Nhóm phát
triển ban đầu bao gồm chín nhà phát triển. SwiftStack, một cơng ty phần mềm
object storage, 28 hiện là nhà phát triển hàng đầu cho Swift với những đóng
góp đáng kể từ HP, RedHat, NTT, NEC, IBM….
2.2.1.5 OpenStack image module
OpenStack Image (Glance) cung cấp dịch vụ trải nghiệm, tạo lập và cho phép sử dụng
các image (ổ đĩa ảo). Các image lưu trữ được sử dụng như một template. OpenStack
Image cũng có thể được sử dụng để lưu trữ và lập danh mục không giới hạn số lần sao
lưu. Image Service có thể lưu trữ image trong nhiều loại backend, bao gồm Swift.
Image Service API cung cấp giao diện REST tiêu chuẩn để truy vấn thông tin về image
ổ đĩa và cho phép các client tải các image sang server mới.
OpenStack Image thêm nhiều cải tiến cho cơ sở hạ tầng truyền thống. Nếu được tích
hợp với VMware, OpenStack Image giới thiệu các tính năng nâng cao cho tập các
vSphere như vMotion, tính sẵn sàng cao và lập lịch tài nguyên động (DRS). vMotion
là một công nghệ cho phép di chuyển trực tiếp một VM đang chạy, từ server vật lý này
sang server vật lý khác mà khơng bị gián đoạn dịch vụ. Do đó, OpenStack Image cho
phép một datacenter tự tối ưu việc tự động và điều phối, cho phép bảo trì phần cứng
cho các server hoạt động kém hiệu suất mà không bị gián đoạn.
Các module OpenStack khác cần tương tác với các image như Heat, phải giao tiếp với
images metadata thông qua Glance. Ngồi ra, Nova có thể tiếp nhận thơng tin về các


image và sự thay đổi cấu hình trên image để tạo ra một instance. Tuy nhiên, Glance là
module duy nhất có thể thêm, xóa, chia sẻ hoặc sao chép image.
2.2.1.6 OpenStack dashboard module
OpenStack Dashboard (Horizon) cung cấp cho quản trị viên và người dùng giao diện
đồ họa để truy cập, cung cấp và triển khai tự động các tài nguyên cloud-based. Mơ

hình chứa các sản phẩm và dịch vụ của bên thứ ba như thanh tốn, giám sát và các
cơng cụ quản lý bổ sung. OpenStack Dashboard cũng có khả năng tạo sự khác biệt
trong cách sử dụng cho các nhà cung cấp dịch vụ và các nhà cung cấp thương mại
khác. OpenStack Dashboard là một trong các cách người dùng có thể tương tác với tài
nguyên OpenStack. Các nhà phát triển có thể tự động truy cập hoặc xây dựng các công
cụ để quản lý tài nguyên bằng API OpenStack gốc hoặc API tương thích EC2.
2.2.2 Các thành phần chức năng chính của OpenStack
Dựa trên các dịch vụ chính, Openstack đưa ra mô tả chi tiết các thành phần chức năng
như sau:
2.2.2.1 Controller node
Controller node là một node dùng để cài đặt hầu hết các dịch vụ liên quan đến quản trị,
xác thực của Openstack cũng như các dịch vụ quản lý database cần thiết liên quan đến
các image và các máy ảo cho hay là một control plane trong môi trường Openstack.
Controller node chứa các module Keystone, Glance và Horizon.
2.2.2.2 Compute node
Compute node là một node dùng đề cài đặt các dịch vụ quản lý các máy ảo. Compute
node chứa module Nova.
2.2.2.3 Network node
Network node là một node dùng để cài đặt các dịch vụ quản lý đến hệ thống mạng và
địa chỉ IP trong Openstack. Network node chứa module Neutron.
2.2.2.4 Storage node
Storage node là một node dùng để cài đặt các dịch vụ liên quan đến quản lý lưu trữ các
image, các máy ảo cũng như các file trong Openstack. Storage node chứa Cinder hoặc
Swift hoặc cả Cinder lẫn Swift.


2.2.3 Mơ hình u cầu tạo phiên

Hình 2. 2 Mơ hình u cầu tạo phiên và lượng cơng việc
(1) Bảng điều khiển hoặc CLI lấy thông tin đăng nhập của người dùng và thực hiện

lệnh REST tới Keystone để xác thực.
(2) Keystone xác thực thông tin đăng nhập, tạo và gửi lại mã thông báo xác thực sẽ
được sử dụng để gửi yêu cầu đến các thành phần khác thông qua lệnh gọi REST.
(3) Bảng điều khiển hoặc CLI chuyển đổi yêu cầu phiên bản mới được chỉ định trong
biểu mẫu 'phiên bản khởi chạy' hoặc 'nova-boot' thành yêu cầu API REST và gửi
đến nova-api.
(4) Nova-api nhận yêu cầu và gửi yêu cầu xác thực mã thông báo xác thực và quyền
truy cập vào keystone .
(5) Keystone xác thực mã thông báo và gửi tiêu đề xác thực được cập nhật với các vai
trò và quyền.
(6) Nova-api tương tác với nova-database .
(7) Tạo mục nhập databas ban đầu cho phiên bản mới.
(8) Nova-api gửi yêu cầu rpc.call đến nova-Scheduler ngoại trừ để nhận mục nhập
phiên bản cập nhật với ID máy chủ được chỉ định.


×