Skip to the content.

Tìm hiểu về Openstack Nova

Khái niệm tổng quan

Nova là một Openstack project mà cung cấp một cách để cấp phát và quản lí các instances(hay máy ảo). Nova hỗ trợ tạo máy ảo, server baremetal(thông qua Ironic), và hỗ trợ giới hạn với container. Nova chạy như một bộ các daemon trên Linux node, làm việc với trình ảo hóa thông qua drive để thực hiện việc cấp phát và quản lý máy ảo.

Nó yêu cấu một số dịch vụ khác của Openstack để có thể sử dụng được nhũng chức năng cơ bản:

Kiến trúc hệ thống của Nova

Nova được xây dựng theo hướng microservice với nhiều thành phần để biểu diễn các chức năng khác nhau. Người dùng giao tiếp với Nova thông qua REST API, trong khi đó các thành phần của Nova sẽ giao tiếp với nhau sử dụng cơ chế truyền tin nhắn RPC.

API server xử lý các REST request, thường là thực hiện các read/write với database, hoặc các thành phần của Nova giao tiếp với nhau qua RPC message để có thể xử lý và tạo phản hồi cho REST calls. RPC message được thực hiện thông qua thư viện oslo.messaging.

Nova cũng sử dụng một database tập trung mà về mặt logic, nó chia sẻ với tất cả các thành phần của Nova. Nhưng để hỗ trợ nâng cấp thì database được truy cập thông qua một lớp đối tượng để đảm bảo trong quá trình nâng cấp, nova-compute của phiên bản trước đó vẫn có thể giao tiếp với DB mới. Để làm được điều này thì nova-compute chuyển hướng các database request qua RPC message đến một thành phần của Nova là nova-conductor.

Để mở rộng triển khai Nova theo chiều ngang, Cells cần được triển khải. Tìm hiểu thêm về cell tại đây

Các thành phần

Tài liệu tham khảo: