Tìm hiểu về Openstack và Triển khai hạ tầng Private Cloud mô phỏng cho Trường đại học phenikaa | Bài tiểu luận môn Điện toán đám mây
Private cloud là một mô hình Cloud Computing mà các tài nguyên tính toán được cung cấp trong một môi trường riêng tư, chỉ cho phép truy cập bởi một nhóm người dùng cụ thể trong một tổ chức. Trong private cloud, doanh nghiệp tự quản lý và vận hành hạ tầng Cloud Computing của mình, thay vì sử dụng các dịch vụ công cộng của các nhà cung cấp dịch vụ đám mây. Do đó, các tài nguyên tính toán và lưu trữ được quản lý và bảo mật tốt hơn, giúp doanh nghiệp đảm bảo tính riêng tư và bảo mật của dữ liệu. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đón xem.
Preview text:
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC PHENIKAA
------------oOo----------- BÀI THI
KẾTTHÚC HỌC PHẦN ĐIỆN TOÁN ĐÁMMÂY “TÌM HIỂU VỀOPENSTACK VÀ TRIỂN KHAI HẠTẦNG PRIVATE CLOUD MÔPHỎNG CHO
TRƯỜNG ĐẠI HỌC PHENIKAA” NĂM 2023
Nhóm sinh viên thực hiện: Phạm Anh Vũ, Nguyễn Anh Lợi
Giảng viên hỗ trợ: Nguyễn Thành Trung
Lớp: Điện toán đám mây NO1 Năm học 2022-2023 HÀ NỘI, 4/2023
CHƯƠNG 1. GIỚI THIỆU CHUNG
1. Tổng quan về Cloud computing.
Cloud computing là một khái niệm tổng quát dùng để chỉ việc sử dụng các tài
nguyên máy tính như phần mềm, nền tảng và cơ sở hạ tầng thông qua một mạng
lưới Internet. Nó bao gồm sự kết hợp của các khái niệm như Web service, Web 2.0
và các xu hướng công nghệ mới khác.
Cloud computing cung cấp những dịch vụ và ứng dụng được truy cập từ một
trình duyệt web và được lưu trữ trên các server hay datacenter. Ví dụ, dịch vụ
Google Application Engine hoặc Amazon EC2 cung cấp cho người dùng những
ứng dụng liên quan đến mua bán trực tuyến.
Cloud computing còn được định nghĩa là mô hình cung cấp các tài nguyên hệ
thống máy tính (như network, server, storage, ứng dụng và dịch vụ), đặc biệt là khả
năng lưu trữ và khả năng tự động xử lý mà người dùng không quản trị một cách
trực tiếp. Cloud computing còn được mô tả việc nhiều người dùng sử dụng tài
nguyên của các data center thông qua Internet. Các lợi ích của cloud computing bao
gồm tính linh hoạt, tăng cường khả năng mở rộng, tiết kiệm chi phí và tăng độ tin
cậy. Nó cũng cho phép người dùng truy cập vào tài nguyên máy tính mà không cần
phải lo lắng về việc quản lý cơ sở hạ tầng.
Cloud computing đem lại lợi ích kinh tế bằng cách chia sẻ tài nguyên, giúp các
doanh nghiệp giảm chi phí đầu tư vào hạ tầng. Sự tiến bộ của các công nghệ mạng
tốc độ cao, sự giảm giá thành của máy tính và thiết bị lưu trữ cùng với sự phổ biến
của ảo hóa phần cứng, kiến trúc hướng dịch vụ, tự động hóa và tiện ích máy tính đã
góp phần thúc đẩy sự phát triển của cloud computing.
Cloud computing gồm 5 đặc tính cơ bản:
• Tính rộng mở (On-demand self-service): Người dùng có thể tự động triển
khai tài nguyên và dịch vụ theo nhu cầu mà không cần phải qua bất kỳ sự
can thiệp nào từ nhà cung cấp.
• Truy cập mạng rộng (Broad network access): Người dùng có thể truy cập
vào các tài nguyên và dịch vụ cloud từ mọi nơi trên thế giới thông qua Internet.
• Tính dễ mở rộng (Resource pooling): Tài nguyên của nhiều khách hàng được
tổng hợp và quản lý trên cùng một hạ tầng, giúp tối ưu hóa việc sử dụng tài nguyên.
• Tính đoàn kết (Rapid elasticity): Tài nguyên và dịch vụ có thể được cấp phát
và giải phóng nhanh chóng để đáp ứng nhu cầu sử dụng của khách hàng.
• Dịch vụ đo lường (Measured service): Khách hàng được cung cấp với các
công cụ đo lường để giám sát và điều khiển việc sử dụng tài nguyên và dịch
vụ của họ, giúp tối ưu hóa hiệu quả và chi phí.
Các đặc tính này giúp cloud computing trở thành một giải pháp linh hoạt, tiết kiệm
chi phí và phù hợp với nhu cầu của các doanh nghiệp và tổ chức hiện nay.
Có 3 mô hình dịch vụ được sử dụng để định nghĩa các dịch vụ cung cấp trong Cloud computing, đó là:
• Infrastructure as a Service (IaaS): Mô hình cung cấp cơ sở hạ tầng như máy
chủ, mạng và lưu trữ dữ liệu, cho phép người dùng tự quản lý, cấu hình và
triển khai các ứng dụng và dịch vụ trên đó. Microsoft Office 365 là ví dụ
điển hình của mô hình SaaS.
• Platform as a Service (PaaS): Mô hình cung cấp một nền tảng để phát triển,
chạy và quản lý các ứng dụng, bao gồm cả cơ sở dữ liệu và các công cụ phát
triển. Ngoài Windows Azure, Amazon Web Service (AWS) là ví dụ điển hình trong mô hình này.
• Software as a Service (SaaS): Mô hình cung cấp các ứng dụng và dịch vụ
trực tuyến thông qua một môi trường đám mây, cho phép người dùng truy
cập và sử dụng chúng thông qua một trình duyệt web hoặc ứng dụng di
động, mà không cần phải quản lý hoặc cập nhật phần mềm trên thiết bị của mình.
Có bốn mô hình triển khai cho Cloud computing, bao gồm: Private cloud,
Public cloud, Hybrid cloud, Community cloud.
• Public Cloud: mô hình triển khai dịch vụ cloud công cộng cho phép các
doanh nghiệp hoặc cá nhân thuê tài nguyên máy chủ và lưu trữ từ nhà cung
cấp dịch vụ cloud. Các nhà cung cấp dịch vụ công cộng phải đảm bảo tính
khả dụng và bảo mật cho khách hàng của họ.
• Hybrid Cloud: mô hình kết hợp giữa các tài nguyên cloud công cộng và
riêng tư trong một môi trường duy nhất. Hybrid cloud cho phép các doanh
nghiệp linh hoạt trong việc sử dụng tài nguyên theo yêu cầu và đáp ứng nhu cầu kinh doanh.
• Community Cloud: mô hình đưa các tổ chức có mục đích tương tự nhau vào
cùng một môi trường cloud. Mô hình này cho phép chia sẻ tài nguyên giữa
các thành viên trong cộng đồng và cung cấp tính bảo mật cao hơn so với mô hình public cloud.
• Private Cloud: mô hình đảm bảo tài nguyên cloud được triển khai và quản lý
bởi một tổ chức hoặc doanh nghiệp riêng, giới hạn cho sử dụng nội bộ.
Private cloud có thể được triển khai trên nền tảng vật lý hoặc ảo hóa.
2. Tổng quan về Private Cloud.
Private cloud là một mô hình Cloud Computing mà các tài nguyên tính toán
được cung cấp trong một môi trường riêng tư, chỉ cho phép truy cập bởi một nhóm
người dùng cụ thể trong một tổ chức.
Trong private cloud, doanh nghiệp tự quản lý và vận hành hạ tầng Cloud
Computing của mình, thay vì sử dụng các dịch vụ công cộng của các nhà cung cấp
dịch vụ đám mây. Do đó, các tài nguyên tính toán và lưu trữ được quản lý và bảo
mật tốt hơn, giúp doanh nghiệp đảm bảo tính riêng tư và bảo mật của dữ liệu.
Hai mô hình dịch vụ được áp dụng trong Private Cloud bao gồm: Platform as a
Service (PaaS) và Infrastructure as a Service (IaaS). Mô hình đầu tiên là Platform
as a Service (PaaS) cho phép một tổ chức cung cấp mọi thứ từ các ứng dụng miễn
phí cho đến các ứng dụng trả phí. Mô hình thứ hai là Infrastructure as a Serice
(IaaS) cho phép một tổ chức sử dụng tài nguyên của cơ sở hạ tầng như máy tính, hệ
thống mạng và các thiết bị lưu trữ như một dịch vụ.
Các doanh nghiệp có thể triển khai private cloud bằng cách sử dụng các giải
pháp máy chủ ảo hoá hoặc các nền tảng container như Docker hoặc Kubernetes.
Private cloud cũng cung cấp cho người dùng các tính năng của Cloud Computing
như khả năng tự động hóa, linh hoạt, tăng giảm linh hoạt tài nguyên, khả năng mở
rộng dễ dàng và chi phí tính toán linh hoạt.
Một số ưu điểm của private cloud bao gồm tính bảo mật cao, kiểm soát tài
nguyên dễ dàng, linh hoạt về việc triển khai và quản lý, và khả năng tùy chỉnh dịch
vụ cho phù hợp với nhu cầu của tổ chức. Tuy nhiên, điều này đòi hỏi một mức độ
kỹ thuật cao để quản lý và vận hành, cũng như đòi hỏi chi phí đầu tư cao hơn so với
các mô hình đám mây công cộng.
3. Tổng quan về Virtualization:
Ảo hóa là quá trình triển khai một hệ thống máy tính ảo trên nền tảng của một
hệ thống máy tính thật. Nó cũng bao gồm việc ảo hóa các nền tảng phần cứng máy
tính các thiết bị như phần cứng máy tính, thiết bị lưu trữ, tài nguyên, và hệ thống
mạng máy tính. Nói cách khác ảo hóa là kỹ thuật cho phép người dùng chia sẻ một
instance vật lý của một tài nguyên hoặc ứng dụng giữa nhiều người dùng và tổ chức khác nhau.
Ý tưởng của ảo hóa không phải là điều gì mới. Ý tưởng này được IBM giới
thiệu vào năm 1960 khi các mainframe được sử dụng. Các mainframe hầu như
không được sử dụng hết hiệu suất cũng như tính năng. Ảo hóa là một phương pháp
tối ưu trong việc cung cấp các tài nguyên hệ thống cho các ứng dụng khác nhau
hoạt động trên các mainframe
Hình 1-2. Sự khác biệt về kiến trúc máy tính giữa công nghệ truyền thống với công nghệ ảo hóa
Do sự phát triển của công nghệ như Utility Computing và Cloud Computing,
công nghệ ảo hóa được chú trọng hơn trong sự phát triển của các công nghệ mới gần đây.
4. Tổng quan về Hypervisor:
Theo Redhat, hypervisor là phần mềm khái quát phần cứng từ một hệ điều hành
cho phép nhiều hệ điều hành cùng chạy trên cùng nền tảng phần cứng. Hypervisor
chạy trên hệ thống cho phép các máy ảo chạy trên nền phần cứng của host.
Theo VMWare, hypervisor là phần mềm cung cấp các tính năng phân vùng ảo
chạy trực tiếp trên phần cứng, nhưng ảo hóa các dịch vụ mạng ở mức tối đa.
Hypervisor là phần mềm máy tính, firmware hay phần cứng nhằm tạo và chạy
máy ảo. Một máy tính mà một hypervisor chạy một hay nhiều máy ảo được gọi là
máy Host và mỗi máy ảo được gọi là máy Guest.
Hypervisor biểu diễn bằng một nền tảng vận hành ảo chứa Guest OS và quản lý
vận hành Guest OS. Các instance trong các hệ điều hành có thể chia sẻ nhau các tài
nguyên phần cứng ảo, chẳng hạn, các instance chứa Linux, Windows và macOS có
thể cùng chạy trên một máy tính đơn x86. Cơ chế Hypervisor trái ngược với OS
virtualization, tại đó tất cả các instance (container) phải chia sẻ cùng một nhân
(kernel) thông qua Guest OS để phân chia các không gian sử dụng khác nhau.
Hình 1-3. Hai cơ chế ảo hóa phần cứng
Do sự phát triển của công nghệ ảo hóa nên các nền tảng phần cứng cũng có sự
thay đổi. Intel hay AMD đã thiết kế các hệ thống vi xử lý mới mở rộng từ kiến trúc
x86 tương ứng với những công nghệ được biết ngày nay là Intel VT-x hay AMD-V.
Chipset Intel 80286 đã được giới thiệu về 2 phương thức về địa chỉ bộ nhớ: địa chỉ
bộ nhớ thực (real mode) và địa chỉ bộ nhớ ảo (protected mode). Địa chỉ bộ nhớ ảo
cung cấp các tính năng hỗ trợ multicasting như phần cứng hỗ trợ bộ nhớ ảo và thành phần vi xử lý.
CHƯƠNG 2. GIỚI THIỆU VỀ OPENSTACK I.
Tổng quan về Openstack:
Openstack là một nền tảng phần mềm mã nguồn mở Cloud Computing, được
phát triển theo mô hình Infrastructure as a Service (IaaS) quản lý tài nguyên hệ
thống máy tính và cung cấp tài nguyên (các server ảo và các tài nguyên khác) cho
người dùng. Nền tảng phần mềm bao gồm một nhóm các chức năng liên quan đến
nhau điều khiển xử lý các nhóm phần cứng, lưu trữ và hệ thống mạng trong data
center. Người sử dụng quản lý thông qua một dashboard dựa trên nền web, các
công cụ dòng lệnh hoặc thông qua các API RESTful.
OpenStack là một dự án chung của Rackspace Hosting và của NASA vào
năm 2010. Kể từ năm 2016, OpenStack được quản lý bởi OpenStack Foundation
(một tổ chức phi lợi nhuận) được thành lập vào tháng 9 năm 2012 để quảng bá
phần mềm OpenStack và cộng đồng người dùng và hơn 500 công ty đã tham gia dự án. II.
Cấu trúc dịch vụ:
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:
III. Các module chính được cung cấp trong Openstack:
1. Openstack indentity module
OpenStack Identity (Keystone) là một trong những module chính của
OpenStack. Nó cung cấp một dịch vụ quản lý danh tính trung tâm (Identity as a
Service) cho các dịch vụ khác trong hệ thống OpenStack. Với Keystone, người
dùng có thể xác thực và quản lý quyền truy cập của họ vào các dịch vụ khác
trong hệ thống OpenStack. Keystone cho phép quản lý người dùng, nhóm người
dùng, vai trò và các dự án (project), cho phép cấu hình các chính sách và quyền
truy cập của người dùng đến các tài nguyên trong hệ thống. Keystone cũng có
thể được tích hợp với các dịch vụ bên ngoài, chẳng hạn như Active Directory
hoặc LDAP, để quản lý các thông tin đăng nhập và quản lý danh tính của người dùng.
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 nguyên 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.
Các API trong Openstack Compute (Nova): Tên API Chức năng nova-api
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 hy- nova-compute pervisor
(Libvirt KVM, Vmware API của Vmware)
nova-network Cho phép người dùng quản lý các tác vụ liên quan đến mạng novascheduler Cho
phép tối ưu các hoạt động của VM instance nova-conduc- tor
Cho phép người dùng truy nhập vào các node thông qua database
3. Openstack network module
OpenStack Networking (Neutron) có chức năng quản lý mạng và địa chỉ IP.
OpenStack Networking đả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 multi-tenancy 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).
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) 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 hoàn toà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.
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) 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à toà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.
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 back-end, 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.
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. Ngoà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.
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
toá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.
IV. 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:
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.
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.
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.
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.
CHƯƠNG 3. TRIỂN KHAI CÀI ĐẶT HỆ THỐNG PRIVATE
CLOUD CHO CÁC ỨNG DỤNG ĐÀO TẠO VÀ THỰC HÀNH DỰA
TRÊN GIẢI PHÁP MÃ NGUỒN MỞ OPENSTACK I.
Hệ thống phần cứng
Có thể triển khai openstack trên các hệ thống máy tính server có cấu hình cao
mỗi máy tính sẽ có nhiệm vụ riêng biệt nhưng trong trường hợp bài báo cáo này e
sẽ demo trên máy ảo trên 1 máy chủ vật lý duy nhất. II.
Quy hoạch máy chủ:
Mô hình Private Cloud sử dụng Openstack cần có:
• Controller Node: Controller Node chịu trách nghiệm quản lý điều phối các
hoạt động của các Computer Node và các thành phần khác phục vụ quản lý
máy ảo (tạo ,hủy ,cấu hình máy ảo ) . quản lý network ảo
• Nhiều Compute Node: Nơi thực hiện việc tạo các máy ảo,host các máy ảo,
cung cấp tài nguyên cho các máy ảo hoạt động
• Thêm Storage node hoặc các thành phần khác: Cấp phát tài nguyên lưu
trữ (các máy ảo,file chia sẻ) Controller Compute KeyStone Glance Nova Storage Dashboard Network Cinder Compute Neutron Swift Nova Network Network Neutron Neutron Controller Node Compute Node Storage Node
Các dịch vụ chính được cài đặt trong Controller Node: STT Các module Chức năng 1 KeyStone
Là dịch vụ dùng để quản
lý việc xác thực người dùng khi truy cập và sử dụng các dịch vụ của Openstack 2 Glance
Là dịch vụ dùng để quản
lý image liên quan đến ổ
đĩa ảo và cấu hình cài
đặt trên các ổ đĩa ảo khi sử dụng Openstack 3 Dasboard
Là dịch vụ dùng để hỗ
trợ người dùng quản lý hệ thống Openstack thông qua giao diện đồ họa 4 Nova
Là dịch vụ dùng để quản
lý việc truy xuất cơ sở
dữ liệu và phục vụ các
tác vụ liên quan tới máy ảo 5 Neutron
Là dịch vụ dùng để quản lý kết nối mạng giữa Controller node với các node khác trong Openstack
Các dịch vụ chính được cài đặt trong Computer Node : STT Các module Chức năng 1 Nova
Là dịch vụ dùng để quản lý các máy ảo cũng như
cập nhật trạng thái của các máy ảo trong hệ thống Openstack 2 Neutron
Là dịch vụ dùng để quản lý kết nối mạng giữa Compute node với các node khác trong Openstack
Các dịch vụ trong Storage Node: STT Các module Chức năng 1 Cinder
Là dịch vụ dùng để quản
lý các thiết bị lưu trữ khối và cung cấp cho người dùng các API tự
phục vụ theo yêu cầu và nhu cầu sử dụng 2 Swift
Là dịch vụ dùng để lưu
trữ dự phòng và truy xuất dữ liệu 3 Neutron
Là dịch vụ dùng để quản lý kết nối mạng giữa Storge node với các node khác trong Openstack
Khi triển khai hệ thống Openstack, Storage node có thể được cài đặt chung
với Compute node. Đồng thời, Controller node cũng cung cấp dịch vụ như SQL
Database để lưu trữ thông tin về hệ thống, MQ (đặc biệt là RabbitMQ) để trao đổi
thông tin với Compute node hay NTP (Network Time Protocol) để đồng bộ thời
gian giữa các máy ảo với máy host. Ngoài ra, Compute node cũng cung cấp các
dịch vụ tường lửa để đảm bảo an toàn cho các máy ảo.
Bài toán quy hoạch máy chủ: STT Mô hình Ưu điểm 1 All-in-one deployment
động ổn định. Ban Mô hình khó cấu
đầu dễ tiếp cận hệ hình cho các nút. thống Khắc phục Các nút chức năng sự lãng phí và tối dễ xảy ra xung đột 2 Multi-node deployment ưu tài nguyên so và ảnh hưởng tới với mô hình nhau làm giảm Nhược điểm Gây
Mô hình đơn giản, dễ cài đặt. ra sự lãng phí tài
Hệ thống sau khi triển khai hoạt nguyên
Physical Compute hiệu suất hoạt and Physical động Controller 3 Hyper-converged
Mô hình tách biệt, Mô hình phức
tạp, deployment các nút chức năng quản trị viên cần hoạt động độc lập.
có kinh nghiệm về Hệ thống sau khi
quản trị hệ thống. triển khai hoạt Khó khăn trong
động ổn định. việc quản trị và Tối ưu tài nguyên kết nối mạng đến hệ thống. từng máy ảo Dễ dàng mở rộng hệ thống
Để triển khai hệ thống Cloud, việc bố trí cài đặt các thành phần chức năng
(controller node, compute node, ...) vào server nào với hình thức và phương pháp
nào là rất quan trọng, ảnh hưởng đến năng lực xử lý và hiệu suất sử dụng tài nguyên của hệ thống.
- Triển khai thông thường (Multi-node deployment) trong đó các nút chức năng
được triển khai trên các máy vật lý tách biệt nhau. Trong mô hình này, một máy
sẽ được triển khai Controller node và hai máy còn lại sẽ được cài đặt Compute
node. Việc cài đặt tách biệt giúp cho tài nguyên quản lý, điều phối của hệ thống
Cloud và tài nguyên cung cấp cho các máy ảo người dùng là tuyệt đối tách biệt,
không xung đột và gây ảnh hưởng lẫn nhau, làm cho hệ thống hoạt động ổn
định. Tuy nhiên, với mô hình này, tài nguyên phần cứng của hệ thống sẽ bị lãng
phí và không hiệu quả. Controller node sẽ được cài đặt lên server có cấu hình
lớn hơn so với nhu cầu sử dụng thực tế, trong khi đó, để triển khai Controller
node chỉ cần sử dụng một phần nhỏ của tài nguyên đó.
- Có thể có 1 sự lựa chọn khác là triển khai mô hình (All-in-one deployment)
triển khai các chức năng trên cùng một máy vật lý, trong đó một máy sẽ được
triển khai đồng thời làm Controller node và Compute node, các máy còn lại chỉ
được cài đặt Compute node. Việc triển khai này dễ tiếp cận và không đòi hỏi
nhiều tài nguyên trong giai đoạn đầu của việc triển khai. Tuy nhiên, mô hình
này khó cấu hình và việc cấu hình trên cùng một máy vật lý có thể dẫn đến xung đột.
Việc cài đặt chung các chức năng trên cùng một máy vật lý làm cho tài
nguyên quản lý, điều phối của hệ thống Cloud và tài nguyên cung cấp cho các
máy ảo người dùng có thể ảnh hưởng lẫn nhau do không được tách biệt và
gây ảnh hưởng tới hiệu suất hoạt động của hệ thống. Hệ thống sẽ ưu tiên cấp
phát tài nguyên cho Controller node nhằm đảm bảo nhu cầu hoạt động, nhưng
tài nguyên CPU và RAM cấp phát cho các máy ảo trong Compute node sẽ bị
chia sẻ dẫn tới hiệu suất hoạt động của các máy ảo bị giảm sút hoặc có thể
một số máy ảo bị treo hệ thống.
Khi số lượng máy ảo lớn cần hoạt động, hệ thống có thể ưu tiên cấp phát tài
nguyên như RAM và CPU cho các máy ảo trong Compute node hoạt động ổn
định. Tài nguyên CPU và RAM cấp phát Controller node sẽ bị chia sẻ hoặc khi
cần thêm tài nguyên cho nhu cầu xử lý các tác vụ, hệ thống sẽ không cấp phát
thêm làm giảm hiệu suất hoạt động của toàn bộ hệ thống.
- Một cách tiếp cận triển khai khác là triển khai controller node và compute node
trên một hoặc nhiều máy ảo trên 1 máy vật lý (Hyper-converged deployment).
Compute node là một máy ảo được triển khai trên một máy chủ vật lý và được
dùng để cung cấp tài nguyên cho các máy ảo khác trong hệ thống đám mây.
Compute node có thể chạy nhiều máy ảo khác nhau, tùy thuộc vào nhu cầu sử
dụng tài nguyên của người dùng.
Controller node là một máy ảo khác được triển khai trên cùng một máy vật lý
và được dùng để quản lý và điều khiển hệ thống đám mây. Controller node có
thể cung cấp các dịch vụ như quản lý tài nguyên, quản lý máy ảo, cung cấp các
dịch vụ mạng và bảo mật cho hệ thống đám mây.
Mô hình này giúp tận dụng tối đa tài nguyên phần cứng của máy chủ vật lý,
đồng thời tách biệt được tài nguyên dùng cho quản lý hệ thống đám mây và
tài nguyên cho các máy ảo người dùng. Điều này giúp cải thiện hiệu suất sử
dụng của hệ thống đám mây và đảm bảo tính linh hoạt trong việc quản lý và
triển khai các ứng dụng và dịch vụ trên đám mây.
Triển khai mô hình này sẽ có những hạn chế và thách thức cần phải đối mặt. Vì
mô hình này phức tạp hơn so với các mô hình đơn giản khác, quản trị viên cần
phải có kinh nghiệm về quản trị server và hệ thống để có thể cấu hình, kết nối
và quản trị hệ thống hiệu quả. Đặc biệt là việc quản lý kết nối giữa các thành
phần, bao gồm kết nối giữa server ảo với server vật lý và giữa server ảo với các
máy ảo cũng là một thách thức cần được giải quyết.
Việc giải quyết những thách thức này đòi hỏi quản trị viên phải có kiến thức
chuyên môn sâu rộng và kinh nghiệm thực tiễn, để có thể tối ưu hóa hoạt động
của hệ thống và đảm bảo tính ổn định của nó. Ngoài ra, mô hình này cũng đòi
hỏi tài nguyên phần cứng và kỹ thuật khá cao, do đó, việc triển khai mô hình
này cần phải được đánh giá kỹ lưỡng và xác định rõ những ưu điểm và hạn
chế của nó trước khi quyết định áp dụng cho hệ thống Cloud của mình. III.
Quy trình triển khai quy hoạch máy chủ trên máy ảo virtualbox
Triển khai một máy ảo bên trong một máy chủ vật lý và kết nối máy ảo ra bên
ngoài thông qua một mạng bridge. Bố trí như vậy có hai lợi ích chính:
Máy ảo được kết nối mạng ngang hàng với máy vật lý, dẫn đến việc cài đặt và
triển khai chức năng Controller node vào máy ảo đơn giản hơn, giống như triển
khai Controller node vào một máy chủ vật lý độc lập.
Việc tách biệt Controller node vào một máy ảo giúp tài nguyên dành cho điều
khiển Private Cloud được tách biệt tối đa với các máy ảo người dùng, giúp cải
thiện hiệu suất và bảo mật của hệ thống.