Quản lý vòng đời của VM, Snapshot, Clone Và Template Trên Proxmox VE
1. Giới thiệu
Trong bài lab trước, chúng ta đã tạo một VM và cài đặt Ubuntu Server từ file ISO. Khi vận hành hệ thống ảo hóa, người quản trị cần phải biết cách khởi động, tắt máy, sao chép VM, tạo template và khôi phục trạng thái khi cần thiết.
Trong bài lab này chúng ta sẽ cùng thực hành những thao tác trên.
Bạn có thể tham khảo bài viết dưới đây nếu như chưa đọc bài lab trước
2. VM sử dụng trong lab
Có thể sử dụng VM Ubuntu Server đã tạo
Kiểm tra storage trước khi thực hành:
vNode Tutorial
pvesm status
Trong Web UI, vào Datacenter > Storage để kiểm tra:
- Dung lượng còn trống
- Loại Backend storage
- Các loại nội dung được hỗ trợ
- Storage nào chứa disk của VM nguồn
- Storage nào có thể dùng để tạo bản clone
Không phải backend nào cũng hỗ trợ mọi chức năng snapshot hoặc linked clone. Khả năng thực hiện phụ thuộc vào loại storage, định dạng disk và cấu hình cụ thể

3. Quản lý trạng thái VM
| Thao tác | Chức năng | Lưu ý |
| Start | Khởi động VM | VM sẽ chuyển sang trạng thái hoạt động nếu thành công |
| Shutdown | Yêu cầu hệ điều hành khách tắt máy | Phụ thuộc vào khả năng phản hồi của guestOS và cấu hình |
| Reboot | Khởi động lại VM | Giống như khởi động lại máy tính |
| Stop | Bắt buộc dừng VM ở cấp hypervisor | Tương tự việc ngắt nguồn đột ngột có nguy cơ mất dữ liệu chưa được ghi |
| Console | Mở giao diện console của VM | Hữu ích khi cần đăng nhập hoặc xử lý lỗi không SSH được |
| Reset | Reset cứng VM | Giống như nút nguồn trên case máy tính hoặc tắt nguồn (stop) rồi bật (start) lại ngay lập tức |
Cần phân biệt Shutdown và Stop. Shutdown là yêu cầu tắt máy theo cơ chế phù hợp của hệ thống. Còn Stop là dừng VM mà không đảm bảo dữ liệu hoàn tất việc ghi dữ liệu.
Lưu ý: Không sử dụng Stop trong trường hợp VM vẫn hoạt động bình thường và VM bình thường vẫn phản hồi
3.1 Thực hành trên Web UI
Chọn một VM, xác nhận trạng thái hiện tại. Thử mở Console để xem trạng thái hoạt động của VM đó. Nếu như thấy VM đó hoạt động thì thực hiện Shutdown

Sau khi tắt thành công bạn sẽ thấy thông báo ở thanh Task ở dưới
Chờ VM chuyển sang trạng thái Stopped, khởi động lại bằng Start. Sau đó kiểm tra Console sau khi VM hoạt động

3.2. Thực hành bằng CLI
Chạy các lệnh dưới đây ở trên Node Server
Thay 101 bằng VM ID mà bạn đang sử dụng
Kiểm tra trạng thái:
vNode Tutorial
qm status 101
Khởi động VM:
vNode Tutorial
qm start 101
Yêu cầu hệ điều hành tắt máy:
vNode Tutorial
qm shutdown 101
Yêu cầu khởi động lại:
vNode Tutorial
qm reboot 101
Bắt buộc dừng VM:
vNode Tutorial
qm stop 101
Sau mỗi thao tác bạn có thể kiểm tra lại status bằng lệnh kiểm tra trạng thái đầu tiên để xem trạng thái VM.
4. Phân biệt Snapshot, Backup và Clone
| Chức năng | Mục đích | Đặc điểm |
| Snapshot | Lưu trạng thái VM tại một thời điểm để có thể quay lại | Phụ thuộc vào storage và cấu hình, không thay thế backup độc lập |
| Backup | Tạo bản sao lưu khôi phục khi có sự cố | Có thể lưu trên storage khác với nơi chứa VM |
| Clone | Tạo 1 VM mới dựa trên VM nguồn hoặc template | Có thể tạo bản sao độc lập hoặc bản sao phụ thuộc vào nguồn |
4.1. Snapshot
Snapshot ghi nhận trạng thái VM tại một thời điểm. Ví dụ trước khi thay đổi cấu hình ứng dụng hoặc thử nâng cấp hệ thống bạn có thể snapshot lại. Giống như một điểm checkpoint lưu VM tại thời điểm lúc đó.
Chọn VM (1) > Snapshots (2) > Take Snapshot (3). Sau đó đặt tên bấm Take Snapshot

Để kiểm tra snapshot bằng CLI dùng lệnh dưới đây:
vNode Tutorial
qm listsnapshot 101
Xác minh tên và mô tả của snapshot
Tiếp theo đó là khôi phục snapshot chọn snapshot ở trong danh sách chọn Rollback
Lưu ý: Khi rollback thì VM sẽ quay lại thời điểm mà bản snapshot được tạo nên có thể làm mất những thay đổi được thực hiện sau thời điểm snapshot

4.2. Thực hành Clone
Clone tạo bản sao đầy đủ của các disk cần sao chép. Sau khi tạo thành công, bản clone sẽ không phụ thuộc vào disk nguồn mà theo cách Linked Clone phụ thuộc
Để đảm bảo VM nguồn không có tác vụ đang chạy thì để đơn giản và giảm rủi ro nhất quán dữ liệu thì nên Shutdown VM trước khi clone
Chọn VM nguồn cần clone chọn More > Clone

Đặt tên, ở phần Target Storage sẽ chọn được storage đích thích hợp hoặc cũng có thể đặt chung với VM nguồn

Hai VM có thể có cấu hình tương tự, nhưng có VM ID riêng, và disk được sao chép theo cơ chế Full Clone
4.3. Template
Template là một VM được chuyển sang trạng thái mẫu dùng để làm cơ sở để tạo VM mới. Thay vì phải cài đặt lại thủ công từ đầu cho từng máy, quản trị viên có thể chuẩn bị một VM nền rồi sử dụng template để triển khai nhiều bản sao.
Lưu ý: Sau khi chuyển đổi, VM không còn hoạt động như một VM thông thường để khởi động trực tiếp theo cách cũ
Để có thể chuyển đổi một VM thành template, trước tiên cần chắc chắn rằng VM đang ở trạng thái Tắt
Tiếp đó vào VM bấm More > Convert to template

Để có thể clone từ template thì từ template bấm More > Clone

Tiếp đó nhập VM ID hoặc Proxmox sẽ tự tạo, đặt tên
Về phần Mode:
- Full Clone: Tạo bản sao đầy đủ, không phụ thuộc vào disk nguồn sau khi clone, là bản sao độc lập so với template.
- Linked Clone: Tạo một VM mới dựa trên template hoặc nguồn được hỗ trợ. Trong đó disk của bản clone phụ thuộc vào dữ liệu nền của nguồn.

5. Kết luận
Qua bài lab trên chúng ta đã tìm hiểu các thao tác đối với VM, tạo snapshot cũng như tạo một template để triển khai nhiều VM mà không cần phải cài đặt thủ công lại từ đầu.
Khi áp dụng vào môi trường thực tế, tránh thực hiện thao tác xóa, rollback hoặc chuyển đổi template khi chưa hiểu rõ tác động.
Tài liệu tham khảo:
Chúc các bạn thành công!
