Controller Node :
• MariaDB – Galera : là công cụ tạo ra nhiều bản sao dữ liệu giống hệt nhau trên các
máy chủ khác nhau, phục vụ cho mục đích dự phòng, có cơ chế tự đồng bộ.
• RabbitMQ : cung cấp liên kết trung gian – message broker để các thành phần của
Bên gửi chỉ việc gửi bản tin đến các hàng chờ - Queue trong message broker, bên nhận chỉ cần đăng ký nhận bản tin từ các Queue này.
• Keystone : cung cấp các dịch vụ nhận dạng, xác thực, theo dõi và cho phép người
dùng.
• Apache2 : được cài đặt trên phần cứng máy chủ web server, để xử lý các yêu cầu
gửi đên máy chủ dưới giao thức HTTP.
• Hrizon : cung cấp giao diện nền web cho người dung cuối và người quản trị đám
mây để tương tác với các dịch vụ khác của OpenStack. Ví dụ : Vận hành các Instance, cấp phát địa chỉ IP, kiểm soát cấu hình truy cập các dịch vụ.
• Nova – api : Tiếp nhận và phản hồi các lời gọi API từ người dùng cuối. Dịch vụ
này hỗ trợ OpenStack Compute API và một API quản trị đặc biệt cho những người dùng thực hiện các tác vụ quản trị. Nó thực hiện một số chính sách và khởi tạo hầu hết các hoạt động điều phối, chẳng hạn như tạo máy ảo.
• Nova – scheduler : lấy các yêu cầu tạo máy ảo từ hàng đợi và xác định xem server
compute nào sẽ được chọn để vận hành máy ảo.
• Nova – cert : là các chương trình chạy nền trên linux, có thể tự đóng mở mà không
ảnh hưởng đến giao diện người dùng.
• Nova – novncproxy : Cung cấp một proxy để truy cập máy ảo đang chạy thông qua
kết nối VNC. Hỗ trợ các novnc client chạy trên trình duyệt.
• Nova – consoleauth : Ủy quyền tokens cho người dùng mà console proxies cung
cấp. Dịch vụ này phải chạy với console proxies để làm việc.
• Neutron – server : Dịch vụ này chạy trên các nút mạng để phục vụ Networking API,
tạo mô hình mạng và đánh địa chỉ IP cho mỗi cổng. Neutron-server và các Plugin agent yêu cầu truy cập vào cơ sở dữ liệu (database) để lưu trữ thông tin lâu dài và truy cập vào message queue (RabbitMQ) để giao tiếp nội bộ (giữa các tiến trình và với các tiến trình của các project khác).
• Cinder – api : chức năng xác thực và chuyển request trong toàn bộ dịch vụ Cinder.
Request được gửi tới cinder-scheduler rồi điều hướng tới cinder-volumes phù hợp.
• Cinder – scheduler : Dựa trên request được điều hướng tới, cinder-scheduler
chuyển request tới Cinder Volume Service thông qua giao thức AMQP (lưu trữ bản tin điều hướng trong Queue của RabbitMQ hoặc Qpid).
• Cinder – volume : Quản lý các công nghệ lưu trữ back-ends khác nhau. Tương tác
trực tiếp với phần cứng hoặc phần mềm cung cấp khối lưu trữ. Cung cấp khung nhìn của volume cung cấp cho người dùng.
• Keepalived : cung cấp khả năng tạo độ sẵn sàng cao (High Avaiability – HA) cho
hệ thống dịch vụ và khả năng cân bằng tải đơn giản.
• Haproxy (High Availability Proxy): là phần mềm cân bằng tải TCP/HTTP và giải
pháp proxy mã nguồn mở phổ biến, được sử dụng để cải thiện hiệu suất (performance) và sự tin cậy (reliability) của môi trường máy chủ bằng cách phân tán lưu lượng tải
(workload) trên nhiều máy chủ (như web, application, database).
• Memcached : là hệ thống phần phối và lưu trữ bộ nhớ đệm, chứa dữ liệu trên
• Glance – api : nó tiếp nhận lời gọi Image API để thực hiện tìm kiếm, thu thập và lưu trữ các images.
• Glance – registry: lưu trữ, thực thi và thu thập metadata về các image (size, type). Network Node :
• Neutron – openvswitch – plugin – agent : Chạy trên các Compute node để quản lý
cấu hình các switch ảo cục bộ (vSwitch). Các plugin này xác định xem những agent nào đang chạy.
• Neutron – l3 – agent : Cung cấp kết nối ra mạng ngoài (Internet) cho các VM trên
các tenant networks nhờ L3/NAT forwarding.
• Neutron – dhcp – agent : Cung cấp dịch vụ DHCP (11) cho tenant networks. Agent
này chịu trách nhiệm duy trì cấu hình DHCP.
• Neutron – metadata – agent : thêm các tủy chỉnh đến Instances thông qua Neutron
như: ssh keys, passwords, hostnames Compute Node :
• Nova – compute :thực hiện tác vụ quản lý vong đời của các máy ảo như : Tạo và
hủy các Instance thông qua các hypervisor APIs. Tiến trình xử lý của nova-compute khá phức tạp, về cơ bản thì daemon này sẽ tiếp nhận các hành động từ hàng đợi và thực hiện một chuỗi các lệnh hệ thống như vận hành máy ảo KVM và cập nhật trạng thái của máy ảo đó vào cơ sở dữ liệu.
• Neutron – openvswitch – plugin – agent : Chạy trên các Compute node để quản lý
cấu hình các switch ảo cục bộ (vSwitch). Các plugin này xác định xem những agent nào đang chạy.
KẾT LUẬN
Sự đổi mới nhanh chóng của công nghệ, đòi hỏi doanh nghiệp phải có những giải pháp tối ưu nhất trong việc triển khai các dịch vụ hạ tầng, bao gồm cả về chi phí triển khai, giải pháp bảo mật và nguồn nhân lực quản trị hệ thống. Từ đó cho thấy một tương lai phát triển mạnh mẽ của mô hình Điện toán đám mây, đáp ứng đầy đủ tất cả những yêu cầu doanh nghiệp đặt ra. Điện toán đám mây cung cấp nguồn tài nguyên được ảo hóa ở mức độ rất cao, không phụ thuộc vào vị trí địa lý, với dịch vụ quản trị tự động hỗ trợ xử lý việc cấp phát và thu hồi tài nguyên, quản lý các thay đổi, đảm bảo các yêu cầu bảo mật và kiểm soát toàn bộ môi trường một cách thuận tiện nhất. Cũng từ đây mà khái niệm ảo hóa ra đời, cho phép tạo ra nhiều máy ảo trên một máy chủ vật lý, mỗi máy ảo cũng được cấp phát tài nguyên phần cứng như máy thật gồm có Ram, CPU, NIC, ổ cứng, các tài nguyên khác và HĐH riêng. Trong đề tài này, đã ứng dụng nền tảng mã nguồn mở OpenStack để xây dựng mô hình Private Cloud cho doanh nghiệp. Với OpenStack, doanh nghiệp hoặc các nhà cung cấp dịch vụ có thể vận hành, điều khiển, quản lý các hạ tầng thiết bị ảo, điện toán đám mây và lưu trữ dữ liệu.
PHỤ LỤC
(1) Data Center: là thuật ngữ chỉ khu vực chứa Server và các thiết bị lưu trữ, bao gồm
nguồn điện, các thiết bị lưu trữ như Rack, Cables, có khả năng sẵn sàng và độ ổn định cao. Ngoài ra còn bao gồm các tiêu chí khác như : tính module hóa cao, khả năng mở rộng dễ dàng, nguồn và làm mát, hỗ trợ hợp nhất Server và lưu trữ mật độ cao.
(2) SAN: là hệ thống trong đó các thiết bị lưu trữ được tổ chức thành một mạng riêng,
tách rời khỏi hệ thống LAN (Local Area Network – Mạng cục bộ). SAN là một mạng có tốc độ cao dành riêng cho việc lưu và quản trị dữ liệu, bao gồm các công nghệ phần cứng, phần mềm và các thành phần kết nối mang khác để cung cấp các kết nối giữa các server và thiết bị lưu trữ.
(3) HTTP (HyperText Transfer Protocol) - giao thức truyền tải siêu văn bản. Đây là một
giao thức ứng dụng trong bộ các giao thức TCP/IP (gồm một nhóm các giao thức nền tảng cho internet).
(4) CIFS (Common Internet File Sharing), hệ thống chia sẻ file phổ biến trên Internet.
Đây là một giao thức có thiết kế rất đơn giản và đáp ứng dụng đầy đủ nhu cầu cơ bản của người dùng. Với giao thức này người dùng có thể cấu hình quyền Read-Only (chỉ đọc) hoặc Read-Write (đọc và ghi) hoặc đặt mật khẩu đối với dữ liệu được chia sẻ. Dữ liệu đó có thể là một tập tin hay là một thư mục.
(5) Real Time Streaming Protocol (RTSP) – Giao thức truyền tin thời gian thực là một
giao thức điều khiển truyền thông mạng ở tầng ứng dụng được thiết kế để sử dụng trong các hệ thống giải trí và truyền thông để điều khiển máy chủ chứa các dữ liệu truyền tin đa phương tiện (streaming media). Giao thức này được sử dụng để thiết lập và điều khiển các phiên truyền thông giữa các trạm cuối. Các máy khách của các máy chủ truyền thông ban ra các lệnh như phát, thâu và tạm dừng, để điều khiển thời gian thực của các phương tiện truyền tin trực tuyến từ máy chủ tới máy khách (Video On Demand) hoặc từ máy khách đến máy chủ (Voice Recording).
(6) Hypervisor hay còn có tên khác là Virtual machine monitor (VMM) là từ dùng để
chỉ các phần mềm , firmware hoặc thậm chí là một phần cứng chuyên dụng dùng để tạo ra các máy ảo (Virtual machine).
(7) API - Application Programming Interface (giao diện lập trình ứng dụng), là phần mềm trung gian cho phép 2 ứng dụng giao tiếp với nhau. Mỗi khi sử dụng các ứng dụng, chẳng hạn như Facebook, hoặc các ứng dụng gửi tin nhắn tức thì hoặc kiểm tra thời tiết trên điện thoại, đồng nghĩa với việc bạn đang sử dụng API.
(8) LDAP - Lightweight Directory Access Protocol là một giao thức ứng dụng truy cập
(9) SQL - Structured Query Language hay ngôn ngữ truy vấn mang tính cấu trúc, là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ.
(10) Plugin là một bộ phần mềm hỗ trợ mà thêm những tính năng cụ thể cho một phần
mềm ứng dụng lớn hơn. Nếu được hỗ trợ, plug-in cho phép tùy biến các chức năng của một ứng dụng. Ví dụ, plug-in thường được sử dụng trong các trình duyệt web để chơi video, quét virus, và hiển thị các loại tập tin mới. Ví dụ hai plug-in được biết đến rộng rãi bao gồm Adobe Flash Player và QuickTime. Plugin không tự hoạt động nếu phần mềm ứng dụng chính không chạy.
(11) Dynamic Host Configuration Protocol (DHCP - giao thức cấu hình động máy chủ)
là một giao thức cho phép cấp phát địa chỉ IP một cách tự động cùng với các cấu hình liên quan khác như subnet mask và gateway mặc định. Máy tính được cấu hình một cách tự động vì thế sẽ giảm việc can thiệp vào hệ thống mạng. Nó cung cấp một database trung tâm để theo dõi tất cả các máy tính trong hệ thống mạng. Mục đích quan trọng nhất là tránh trường hợp hai máy tính khác nhau lại có cùng địa chỉ IP.
DANH MỤC TỪ VIẾT TẮT
HĐH Hệ điều hành
API Application Programming Interface
VM Virtual Machine
IaaS Infrastructure as a Service
PaaS Platform as a Service
SaaS Software as a Service
NIC Network Interface Card
PSTN Public Switched Telephone Network
CPU Central Processing Unit
HTTP HyperText Transfer Protocol
TÀI LIỆU THAM KHẢO
Cloud Computing: From Beginning to End(Paperback) by Mr. Ray J Rafaels
Cloud Computing (Mit Press Essential Knowledg… (Paperback) by Nayan B. Ruparelia
Virtualization Essentials(Paperback) by Matthew Portnoy OpenStack in Action(Paperback) by V. K. Cody Bumgardner
Amazon Web Services in Action (Paperback) by Andreas Wittig, Michael Wittig Learning OpenStack(Paperback) by Alok Shrivastwa, Sunil Sarat
Mastering KVM Virtualization (Kindle Edition) by Humble Devassy Chirammal, Prasad Mukhedkar
http://www.stepupdesign.net/2018/06/udemy-aws-certified-developer-associate.html https://www.openstack.org/ https://vietstack.wordpress.com https://github.com/hocchudong/thuctap032016/blob/master/NDChien/NDChien_Vaitr ovacacthanhphantrongprojectOpenStack.md#11