Một trong những use-case quan trọng nhất trong mọi dịch vụ Cloud là việc cấp phát máy ảo. Phần này sẽ trình bày việc một máy ảo được được cấp phát như thế nào trên OpenStack, bao gồm: workflow yêu cầu máy ảo, sự tương tác giữa các thành phần của các project khác nhau trong OpenStack [1].
Bước 1: Dashboard / CLI nhận thông tin đăng nhập và gởi tới Keystone để chứng thực
Bước 2: Keystone xác nhận tài khoản, sinh ra và gởi auth-token về. Token này được dùng gởi yêu cầu đến các thành phần khác qua REST-Call
Bước 3: Dashboard / CLI chuyển đổi yêu cầu tạo máy ảo trong ‘launch instance’ hoặc ‘nova boot’ thành REST-API và gởi đến nova-api
Bước 4: nova-api nhận và gởi yêu cầu đến keystone để kiểm tra auth-token và quyền truy cập.
Bước 5: Keystone kiểm tra token và gởi lại header được cập nhật cùng với quyền truy cập
Bước 6: nova-api tương tác với nova-database
Bước 7: Khởi tạo record database cho máy ảo mới
Bước 8: nova-api gởi yêu cầu rpc.call tới nova-scheduler
Bước 9: nova-scheduler chọn yêu cầu từ hàng đợi.
Bước 10: nova-scheduler tương tác với nova-database để tìm ra host phù hợp thông qua việc lọc và đánh trọng số.
Bước 11: Trả về thông tin host phù hợp cho máy ảo sau khi lọc và đánh trọng số.
Bước 12: nova-scheduler gởi yêu cầu rpc.cast tới nova-compute để tạo máy ảo trên host phù hợp.
Bước 13: nova-compute chọn yêu cầu từ hàng đợi
Bước 14: nova-compute gởi yêu cầu rpc.call tới nova-conductor để lấy thông tin nhưng host ID và flavor (RAM, CPU, DISK)
Bước 15: nova-conductor chọn yêu cầu từ hàng đợi
Bước 16: nova-conductor tương tác với nova-database.
Bước 17: Trả về thông tin máy ảo.
Bước 18: nova-compute chọn máy ảo từ hàng đợi.
Bước 19: nova-compute thực hiện REST call bằng việc chuyển auth-token tới glance-api để lấy Image URI bằng Image ID và tải image từ trung tâm lưu trữ.
Bước 20: glance-api kiểm tra token với keystone.
Bước 21: nova-compute lấy thông tin metadata của image.
Bước 22: nova-compute thực hiện REST-call bằng việc chuyển auth-token tới Network API để cấp phát cấu hình mạng cho máy ảo.
Bước 23: quantum-server kiểm tra auth-token với keystone.
Bước 24: nova-compute lấy thông tin cấu hình mạng.
Bước 25: nova-compute thực hiện REST-call bằng việc chuyển auth-token tới Volume API để gán các volume vào máy ảo
Bước 26: cinder-api kiểm tra auth-token với keystone
Bước 27: nova-compute lấy thông tin block storage
Bước 28: nova-compute phát sinh dữ liệu cho hypervisor và thực thi yêu cầu trên hypervisor.
Minh hoạ theo bài toán đóng gói vector (Vector Bin Packing Problem) [3], xem một máy chủ vật lý là một chiếc hộp lớn, các máy ảo là các chiếc hộp nhỏ hơn được đặt trong hộp lớn để mô phỏng cho việc ảo hoá. Khi cần đặt thêm máy ảo mà máy vật lý đã hết chỗ thì đặt máy ảo sang một máy vật lý khác. Bài toán đặt ra là xếp các máy ảo vào máy vật lý theo thời khoá biểu được cho trước sao cho việc sử dụng máy vật lý là hiệu quả nhất, sử dụng ít máy vật lý nhất.
» Tin mới nhất:
» Các tin khác: