e. Các thuộc tính của điện toán đám mây
2.3.4. Khối tính Nova
Được biết đến với tên gọi Nova. Ta sử dụng khối tính toán để lưu trữ và quản lý các hệ thống điện toán đám mây. Khối tính toán là một phần quan trọng của dịch vụ xây dựng từ cơ sở hạ tầng (Infrastructure as a Service, IaaS). Các module chính được chạy bằng Python.
Khối tính toán tương tác với khối định danh để xác thực, với khối cung cấp file .iso cho đĩa và máy chủ ảo và với khối bảng điều khiển cho người sử dụng dùng giao diện quản lý. Giới hạn được quy định tùy vào mỗi project (ví dụ như số lượng các máy ảo). Khối tính toán có thể mở rộng theo chiều ngang trên phần cứng đạt chuẩn, và dễ dàng sử dụng file .iso để tạo máy ảo.
Khối tính toán bao gồm các thành phần sau đây:
Giao diện lập trình ứng dụng (API).
- nova – api: Chấp nhận và trả lời kết thúc một lần phục vụ dựa trên việc tính toán câu lệnh trên API. Dịch vụ này hỗ trợ cho giao diện lập trình trên khối tính toán nhờ đó người sử dụng được phép thao tác quản lý. Nó thực thi việc khởi động hoạt động cả quy trình va một số thao tác khác, ví dụ như chạy một máy ảo.
- nova – api – metadata: Chấp nhận yêu cầu dữ liệu từ các trường. Các nova – api – metadata thường được sử dụng khi ta chạy ở chế độ nhiều máy chủ cùng được cài nova – network.
Các nhiệm vụ cốt lõi của nova.
- nova – compute: Cung cấp một quy trình từ việc tạo ra cho tới chấm dứt hoạt động của một máy ảo thông qua các hypervisor APIs, tương tự XenAPI dùng cho
28
XenServer/XCP và VMwareAPI dùng cho VMware. Về cơ bản, dịch vụ này chấp nhận các yêu cầu từ hàng đợi và thực hiện một loạt các lệnh hệ thống như khởi chạy một máy ảo từ KVM và cập nhật trạng thái của nó trong cơ sở dữ liệu.
- nova – scheduler: Nhận yêu cầu từ một máy ảo từ hàng đợi sau đó quyết định xử lý trên máy chủ nào.
- nova – conductor: Trung gian tương tác giữa các nova-compute và các cơ sở dữ liệu. Nó giúp loại bỏ các truy cập trực tiếp đến các cơ sở dữ liệu đám mây tạo bởi nova-compute. Các nova-conductor có quy mô theo chiều ngang. Tuy nhiên, nó không được triển khai vào máy chủ mà ở đó chạy nova-compute.
- nova – network: Nhận nhiệm vụ kết nối mạng từ hàng đợi và thao tác mạng. Thực hiện các nhiệm vụ như thiết lập cầu nối giao diện hoặc thay đổi quy tắc bảng định tuyến.
Giao diện điều khiển nova.
- nova – consoleauth: Ủy quyền cho người sử dụng thẻ mà giao diện điều khiển cung cấp. Dịch vụ này cần phải được chạy trên giao diện điều khiển để làm việc. Ta có thể chạy các proxy của một trong hai loại song song với việc chạy một nova – consoleauth service trong cùng một lần cấu hình.
- nova – novncproxy: Cung cấp quyền để truy cập trong trường hợp chạy qua một kết nối VNC. Hỗ trợ khách hàng sử dụng bộ trình duyệt VNC.
- nova – spicehtml5proxy: Cung cấp một proxy để truy cập trong trường hợp chạy qua một kết nối Spice. Hỗ trợ khách hàng sử dụng bộ trình duyệt HTML5.
- nova – xvpnvncproxy: Cung cấp một proxy để truy cập trường hợp chạy qua một kết nối VNC. Hỗ trợ riêng các khách hàng sử dụng Openstack chạy nền Java.
- nova – cert: Theo chuẩn x509.
Quản lý file .iso (dựa theo EC2).
- nova – objectstore: Một giao diện S3 cho đăng ký các máy ảo với các khối cung cấp file .iso. Được sử dụng chủ yếu cho việc cài đặt và phải hỗ trợ euca2ools (công cụ của AWS). Các công cụ euca2ools giao tiếp với nova – objectstore sử dụng ngôn ngữ S3, và nova – objectstore biên dịch yêu cầu S3 thành các yêu cầu gửi tới khối cung cấp file .iso.
29
- euca2ools client: Một tập hợp các dòng lệnh đã được biên dịch sẵn nhằm quản lý nguồn tài nguyên điện toán đám mây. Mặc dù nó không phải là một modul Openstack những ta vẫn có thể cấu hình nova-api để hỗ trợ bộ công cụ của EC2 này.
Giao diện người sử dụng và các thành phần khác.
- nova client: Cho phép người dùng có thể gửi các lệnh như một quản trị viên hoặc như người sử dụng dịch vụ đầu cuối.
- Hàng đợi: Một hub trung tâm làm cầu nối cho các gói tin đi qua giữa các quá trình xử lý. Thường được thực hiện với RabbitMQ, nhưng cũng có thể được thực hiện với một hàng đợi AMQP, như Apache Qpid hoặc Zero, MQ.