4 Kết quả và đánh giá
4.1.1 Cloud OpenStack
Sau khi chạy xong state để triển khai trên một máy, thu được một cloud OpenStack với đầy đủ các thành phần thiết yếu, các dịch vụ chạy ổn định, có thể đăng nhập vào dashboard với tài khoản và mật khẩu định trước ở pillar và tạo các máy ảo từ file ảnh cirros đã đưa vào.
• Số máy vật lý: 2
• Hệ điều hành máy vật lý: Ubuntu 12.04 LTS
• Số máy ảo cirros dựng lên từ dashboard: 9
• Tất cả các dịch vụ đã được cài đặt hoạt động tốt: mysql, rab- bitmq, nova, keystone, glance, horizon
• Có thể quản lý máy ảo (tạo mới, tắt, xóa) bằng dashboard hori- zon
• Các máy ảo dựng lên hoạt động ổn định, đầy đủ chức năng mà cirros cung cấp như ping đến đến máy thật và các địa chỉ mạng internet, dịch vụ ssh trên cirros chạy ổn định, cho phép người dùng ssh từ ngoài vào
Hình 4.1: Giao diện horizon sau khi cài đặt
Hình chụp giao diện của dashboard horizon, với project được chọn là admin, sau khi cài xong, chưa có máy ảo nào chạy nên thông số phần overview còn trống.
Hình 4.2: Giao diện horizon khi tạo một máy ảo
Hình trên chụp bảng điền thông tin khi tạo một máy ảo với tên cirros2, sử dụng khuôn mẫu m1.tiny với 1VCPU, 512MB RAM, và không sử dụng thêm ổ cứng ngoài phần mà cirros yêu cầu. Keypair là ssh key sử dụng để cloud đưa vào máy ảo khi nó được tạo, giúp cho người dùng có thể SSH vào sau khi máy ảo đã chạy. Security Groups cho phép lựa chọn nhóm các quy định bảo mật định trước, ở đây sử dụng nhóm có tên default.
Hình 4.3: Giao diện horizon sau khi tạo một máy ảo
Hình chụp horizon sau khi tạo thành công máy ảo cirros với tên máy là hvn01.
Hình 4.4: Giao diện horizon sau khi tạo hai máy ảo
Hình chụp horizon sau khi tạo 2 máy ảo cirros, phần Overview đã có các thông số tổng quan về 2 máy này bao gồm tên máy, số VCPU, lượng ổ cứng được cấp, lượng RAM được cấp, và thời gian mà máy ảo đã chạy.
Hình 4.5: Giao diện horizon khi 10 máy ảo cirros được tạo
Hình trên chụp màn hình phần giao diện của dashboard horizon sau khi dựng lên 10 máy ảo cirros. Cột Instance name là tên của máy ảo, cột IP Address hiển thị địa chỉ ip LAN của các máy ảo. Cột Size ghi thông tin về VCPU, RAM và ổ cứng mà máy ảo được cấp, tất cả 10 máy này đều dùng 1 VCPU, 512 MB RAM, kích thước ổ cứng mặc định theo đĩa cirros quy định. Cột Status ghi trạng thái của máy ảo, máy cirros11 có status là error bởi cloud không đủ RAM để cung cấp cho máy này, vậy nên nó không được tạo và không có địa chỉ IP. Cột Task ghi lại nhiệm vụ mà cloud đang thực hiện trong quá trình tạo, xóa, bật, tắt máy ảo. Cột PowerState ghi thông số về tình trạng máy ảo đang bật, tắt hay lỗi. Cột Actions cho phép người dùng thay đổi trạng thái máy ảo như bật, tắt, xóa hoặc xem log, kết nối VNC.
Hình 4.6: SSH vào máy ảo
Ảnh chụp GNOME terminal khi ssh vào một máy ảo có IP LAN được cấp là 192.168.122.3, đăng nhập bằng username cirros, sau khi đã truy cập được vào máy ảo cirros, thực hiện chạy lệnh ip addr để hiển thị các thông tin về các giao diện mạng của máy ảo này.
Thử nghiệm cài đặt thêm 1 node với vai trò nova-compute, từ node đầu tiên có thể liệt kê các máy host bằng dòng lệnh và thu được kết quả như sau khi cài trên 2 node:
4.1.2 Salt
Sau quá trình viết state, thu được 9 file SLS thực hiện cài toàn bộ các dịch vụ thiết yếu của OpenStack. Các state này có thể được chạy trên các máy sử dụng hệ điều hành Ubuntu 12.04 để cài đặt một hệ thống cloud hoàn chỉnh với số compute node tùy ý. Việc sử dụng Salt giúp việc cài đặt cloud các lần sau trở nên vô cùng đơn giản với công việc chính là điền các thông số cần thiết (IP máy cài mysql, IP máy cài rabbitmq, subnet mạng sử dụng, ...) rồi chạy state. Đặc biệt khi cần thay đổi cấu hình, cụ thể như cần thay đổi địa chỉ của máy chạy dịnh vụ mysql, chỉ cần thay đổi 1 lần duy nhất ở 1 file duy nhất, Salt giúp phân tán file này đến tất cả các máy compute node và restart lại dịch vụ nova-compute để áp dùng cấu hình mới này.
Triển khai trên một node, tổng thời gian cả quá trình cài đặt bằng tổng thời gian tải và cài đặt các gói cộng với thời gian tải file ảnh cirros, các phần công việc còn lại chiếm thời gian không đáng kể. Tốc độ của quá trình chủ yếu phụ thuộc vào tốc độ đường truyền internet. Nếu thực hiện cache trước các file ảnh và các gói cần cài, quá trình chạy state sẽ chỉ gồm thời gian cài đặt các gói, trên mô hình thử nghiệm, khoảng thời gian này dao động từ 7-10 phút, thời gian thực hiện có thể rất khác tùy theo tốc độ CPU, RAM và đĩa cứng của máy host.
Salt với ngôn ngữ cấu hình đơn giản giúp việc viết state không có gì khó khăn, với khả năng chỉ định thứ tự chạy các state giúp việc cài đặt theo thứ tự nhất định được đảm bảo. Các dịch vụ của salt
(salt-master, salt-minion) chạy ổn định, sử dụng ít CPU và RAM.