CloudStack Tạo template, ISO để deploy VM trên CloudStack.

tunanh

Intern
1. Quy trình Đăng ký ISO / Template:

Mục đích triển khai:
Nạp file cài đặt Ubuntu Server 20.04 (dưới định dạng ISO) vào hệ thống CloudStack. Nhiệm vụ tải và lưu trữ file này sẽ được hệ thống giao phó tự động cho máy ảo hệ thống Secondary Storage VM (SSVM).
Các bước thực hiện chi tiết:
Bước 1: Khai báo nguồn ISO
  1. Trên giao diện quản trị, truy cập menu Images, ISOs, Chọn Register ISO.​
  2. Điền thông số định danh:
    • Name & Description: Ubuntu Server 20.04 LTS (Tên hiển thị của hệ điều hành).​
    • URL: Cung cấp đường dẫn HTTP/HTTPS trực tiếp tải file ISO từ máy chủ lưu trữ (Ví dụ: Link từ kho lưu trữ nội bộ hoặc trang chủ Ubuntu).​
    • Zone: Chọn Zone-POP-Lab (Nơi ISO sẽ được lưu trữ vật lý).​
  3. Cấu hình đặc tính hệ điều hành:
    • Bootable: Tích chọn Yes (Bắt buộc, để KVM có thể boot máy ảo từ đĩa ảo này).​
    • OS Type: Chọn Ubuntu 20.04 LTS (64-bit) (Giúp KVM tối ưu hóa driver ảo hóa VirtIO cho máy ảo).​
    • Extractable: Chọn Yes (Cho phép tải ngược ISO này ra ngoài nếu cần).​
  4. Bấm OK để hệ thống kích hoạt lệnh tải.​

1772618646482.png

Bước 2: Giám sát tiến trình tải (SSVM Action)
  1. Sau khi đăng ký, trạng thái của ISO sẽ là Allocated hoặc Downloading.
  2. Tiến trình nội bộ: Management Server gửi lệnh xuống Secondary Storage VM (SSVM). SSVM sẽ dùng mạng Management để ra Internet, kéo file ISO từ URL về và ghi vào ổ đĩa mạng NFS (Secondary Storage).
  3. Khi trạng thái chuyển sang Ready (Sẵn sàng), ISO đã có thể được dùng để Deploy VM.


1772618798904.png

  • Ta có thể quan sát xem file iso đã thông suốt và đang trong trạng thái tải chưa ở tag Zone. Nếu gặp lỗi không tải được hoặc request 421 khả năng cao Secondary Storage chưa được tạo hoặc bị lỗi.
1772618848657.png

2. Troubleshooting:
1. Kẹt trạng thái "Starting" của Secondary Storage VM (SSVM) gây gián đoạn tải ISO\
  • Khi đăng ký ISO, trạng thái tải luôn báo lỗi. Kiểm tra phần System VMs, nhận thấy SSVM liên tục kẹt ở trạng thái Starting. Giao diện Web UI báo lỗi We cannot stop VM instance... when it is in state Starting khi cố gắng xóa (Destroy) SSVM. Máy ảo Guest VM cũng báo lỗi No destination found do KVM Host bị đưa vào danh sách cách ly (Avoid Set).​
  • Nguyên nhân cốt lõi (Root Cause): 1. Qua kiểm tra management-server.log và agent.log, hệ thống ghi nhận lỗi: Storage pool not found và Storage source conflict.​
2. Do máy chủ KVM Host tắt đột ngột trước đó, tiến trình libvirtd (chịu trách nhiệm ảo hóa lõi) bị mất đồng bộ file cấu hình XML. Thư mục lưu trữ ổ cứng /var/lib/libvirt/images bị một Pool lưu trữ tạm thời chiếm giữ.
3. Khi CloudStack ra lệnh bật SSVM với mã UUID ổ cứng mới, KVM báo lỗi đụng độ và từ chối cấp phát Root Disk. Management Server bị "treo" chờ phản hồi, dẫn đến kẹt trạng thái (Deadlock) trong cơ sở dữ liệu MySQL.
  • khắc phục:​
  • Can thiệp cơ sở dữ liệu (Database Override): Ép xung Database CloudStack để gỡ bỏ khóa trạng thái ảo bằng lệnh MySQL: UPDATE vm_instance SET state='Stopped' WHERE name='tên VM bị kẹt';
  • Từ đó cho phép quản trị viên xóa (Destroy) SSVM bị kẹt trên Web UI.
  • Dọn dẹp tiến trình KVM (Libvirt Cleanup): Tại Node KVM vật lý, thực hiện ngắt Agent, dùng công cụ virsh để tiêu diệt các Pool rác (virsh pool-destroy, pool-undefine).
  • Tái đồng bộ hạ tầng: Cấu hình lại Primary Storage (NFS), khởi động lại dịch vụ cloudstack-agent và cloudstack-management. Hệ thống tự động sinh ra một SSVM mới (s-xxx-VM), nhận diện thành công Storage Pool sạch và khởi động thành công lên trạng thái Running/Up. Quá trình triển khai ISO và VM sau đó diễn ra trơn tru. Cần thiết thì xóa những primary cũ máy sẽ tự động tạo primary mới.
3. Khởi tạo Máy ảo (Deploy Virtual Machine)

Sau khi xử lý dứt điểm hạ tầng System VM và ISO chuyển sang trạng thái Ready, tiến trình tạo máy ảo được thực hiện với các thông số đã quy hoạch:
  • Bước 1: Truy cập Compute, Instances, Bấm Add Instance.​
  • Bước 2: Lựa chọn Zone (Zone-POP-Lab) và nguồn Boot từ ISO (Ubuntu Server 20.04 LTS vừa đăng ký).​
  • Bước 3: Lựa chọn gói tài nguyên điện toán Compute Offering (Ví dụ: Lab-Instance-Small - 1 Core, 1GB RAM).​
  • Bước 4: Lựa chọn lớp mạng Networks (Ví dụ: Lab-Isolated-Net-01 có hỗ trợ NAT ra Internet).​
  • Bước 5: Đặt tên định danh (Ví dụ: Ubuntu-Web-01) và bấm Deploy VM. CloudStack sẽ điều hướng thuật toán Allocator để chọn Node KVM phù hợp nhất, cấp phát tài nguyên và bật máy ảo.​
1772618925832.png

Chọn vào icon console ở góc sẽ truy cập được instance trên thông qua giao diện web.
1772618943877.png
 
Back
Top