Hướng Dẫn Chuyển Đổi File Backup Từ Proxmox KVM (“vma.zst”) Sang KVM (“qcow2.gz”)

VPS
16 Tháng 1, 2025

Nếu bạn đang sử dụng Proxmox KVM và muốn chuyển đổi file backup dạng .vma.zst sang định dạng .qcow2.gz để sử dụng cho VPS chạy ảo hóa KVM, thì bài viết này sẽ hướng dẫn chi tiết từng bước. Đảm bảo bạn thực hiện đúng các bước để tránh mất mát dữ liệu.


1. Giải Nén File Backup “.vma.zst”

File .vma.zst là file backup được nén bằng định dạng Zstandard. Để bắt đầu, bạn cần giải nén nó:

Lệnh thực hiện:

zstd -d your-backup.vma.zst

Sau khi giải nén, bạn sẽ nhận được file có định dạng .vma.


2. Trích Xuất File Disk Image Từ File “.vma”

File .vma không chỉ chứa dữ liệu ổ đĩa mà còn bao gồm metadata. Bạn cần trích xuất file disk image từ file này.

Lệnh thực hiện:

vma extract your-backup.vma -v output-directory/

Khi thực hiện lệnh trên, bạn sẽ thấy các file được trích xuất:

  • File metadata (không cần thiết).
  • File disk image (thường có tên như vm-100-disk-0.raw).

Hãy lưu ý vị trí của file disk image để sử dụng trong bước tiếp theo.


3. Chuyển Đổi File Disk Image Sang “.qcow2”

Định dạng .raw không được tối ưu để sử dụng trên KVM, vì vậy bạn cần chuyển đổi nó sang định dạng .qcow2.

Lệnh thực hiện:

qemu-img convert -f raw -O qcow2 vm-100-disk-0.raw vm-100-disk-0.qcow2

Kết quả sẽ là file vm-100-disk-0.qcow2, đây là file disk image đã được chuyển đổi và có thể sử dụng trực tiếp với KVM.


4. Nén File “.qcow2” Thành “.qcow2.gz” (Tuỳ Chọn)

Nếu bạn muốn tiết kiệm dung lượng lưu trữ, hãy nén file .qcow2 thành .qcow2.gz:

Lệnh thực hiện:

gzip vm-100-disk-0.qcow2

Kết quả là file vm-100-disk-0.qcow2.gz, bạn có thể sử dụng file này làm backup trên VPS KVM.


5. Gắn File Backup Vào VPS KVM

Để sử dụng file backup vừa chuyển đổi, hãy thực hiện các bước sau:

  1. Tạo một VPS mới trên hệ thống KVM.
  2. Gắn file vm-100-disk-0.qcow2 (hoặc giải nén từ .qcow2.gz) vào VPS:
    • Đặt file disk image vào thư mục lưu trữ của KVM.
    • Cập nhật cấu hình để VPS nhận diện file disk image.
  3. Cấu hình lại mạng và các thông số cần thiết.
  4. Boot lại hệ thống và kiểm tra hoạt động.

Lưu Ý Quan Trọng

  • Đảm bảo bạn đã cài đặt các công cụ cần thiết:
    • Zstandard (zstd)
    • vma (đi kèm với Proxmox)
    • qemu-img
  • Luôn sao lưu dữ liệu trước khi thực hiện để tránh rủi ro.
  • Kiểm tra tính tương thích giữa file backup và cấu hình phần cứng của VPS mới.

Kết Luận

Chuyển đổi file backup từ Proxmox KVM sang KVM không quá phức tạp nếu bạn làm theo đúng hướng dẫn trên. Quá trình này bao gồm việc giải nén, trích xuất, chuyển đổi và cấu hình lại hệ thống. Hy vọng bài viết này giúp bạn thực hiện thành công và dễ dàng quản lý hệ thống VPS của mình!

Phiên bản file Script xử lý nhanh

#!/bin/bash

# Yêu cầu người dùng nhập tên file gốc
read -p "Hãy nhập tên file backup (.vma.zst): " BACKUP_FILE

# Kiểm tra xem file đã nhập hay chưa
if [ -z "$BACKUP_FILE" ]; then
    echo "Error: Bạn chưa nhập tên file. Vui lòng thử lại."
    exit 1
fi

# Kiểm tra xem file có tồn tại không
if [ ! -f "$BACKUP_FILE" ]; then
    echo "Error: File '$BACKUP_FILE' không tồn tại!"
    exit 1
fi

# Bước 1: Giải nén file .vma.zst
echo "[1/4] Giải nén file $BACKUP_FILE..."
zstd -d "$BACKUP_FILE" -o "${BACKUP_FILE%.zst}" || { echo "Error: Giải nén thất bại."; exit 1; }

# Bước 2: Trích xuất file disk image từ file .vma
VMA_FILE="${BACKUP_FILE%.zst}"
OUTPUT_DIR="xu-ly"
echo "[2/4] Trích xuất file disk image từ $VMA_FILE..."

# Xử lý nếu thư mục đã tồn tại
if [ -d "$OUTPUT_DIR" ]; then
    echo "Thư mục $OUTPUT_DIR đã tồn tại. Đang xóa thư mục cũ..."
    rm -rf "$OUTPUT_DIR" || { echo "Error: Không thể xóa thư mục $OUTPUT_DIR."; exit 1; }
fi

mkdir -p "$OUTPUT_DIR"
vma extract "$VMA_FILE" -v "$OUTPUT_DIR" || { echo "Error: Trích xuất thất bại."; exit 1; }

# Tìm file disk image (dạng .raw) trong thư mục output
RAW_FILE=$(find "$OUTPUT_DIR" -name '*.raw' | head -n 1)
if [ -z "$RAW_FILE" ]; then
    echo "Error: Không tìm thấy file .raw sau khi trích xuất."
    exit 1
fi

# Bước 3: Chuyển đổi file .raw sang .qcow2
echo "[3/4] Chuyển đổi file $RAW_FILE sang định dạng .qcow2..."
QCOW2_FILE="${RAW_FILE%.raw}.qcow2"
qemu-img convert -f raw -O qcow2 "$RAW_FILE" "$QCOW2_FILE" || { echo "Error: Chuyển đổi thất bại."; exit 1; }

# Bước 4: Nén file .qcow2 (tuỳ chọn)
echo "[4/4] Nén file $QCOW2_FILE thành .qcow2.gz..."
gzip "$QCOW2_FILE" || { echo "Error: Nén thất bại."; exit 1; }

# Thông báo hoàn tất
echo "Hoàn tất! File backup đã được chuyển đổi và nén thành: ${QCOW2_FILE}.gz"
exit 0

Chúc bạn thành công.

Quảng Cáo

Blog ..

Hướng dẫn dịch vụ ..

Zalo
Proxy
VPS
Tài khoản
Hosting
Tên miền
Facebook