檢視次數:

使用命令列介面 (CLI) 部署具有 Proxmox 叢集的服務閘道虛擬裝置。

確認是否符合系統需求。如需詳細資訊,請參閱服務閘道設備系統需求
注意
注意
以下 Proxmox 指示和螢幕截圖截至 2025 年 12 月 3 日有效。如需進一步協助,請查閱您的 Proxmox 文件。

步驟

  1. 移至Workflow and Automation服務閘道管理
  2. 點擊「Download Virtual Appliance」
    會出現「服務閘道虛擬裝置」面板。
  3. 選擇「Proxmox (QCOW2)」
  4. 點擊「Download Disk Image」以下載 QCOW2 檔案。
    秘訣
    秘訣
    複製註冊代碼以供後續步驟使用。註冊代碼若未使用,將在24小時內過期。
  5. 將磁碟映像檔上傳至 Proxmox 叢集。
    # scp <SG_image_path> root@<VM_IP>:/<SG_image_path>
    scp sg-va-3.0.24.10508-standard.qcow2 root@192.168.1.1:/SG/sg-va-3.0.24.10508-standard.qcow2
  6. 建立名為 pve-import-qcow2.sh 的腳本檔案於 Proxmox,其中包含下列內容:
    #!/bin/bash
    
    #############################################
    # Proxmox VE - Import QCOW2 Image Script
    # Purpose: Import qcow2 image and configure VM
    # Parameters: <vm_num> <qcow2_image_path>
    #############################################
    
    set -e  # Exit on error
    
    # Check parameter count
    if [ $# -ne 2 ]; then
        echo "[ERROR] Invalid number of parameters"
        echo "Usage: $0 <vm_num> <qcow2_image_path>"
        echo "Example: $0 100 /path/to/image.qcow2"
        exit 1
    fi
    
    VM_NUM=$1
    QCOW2_PATH=$2
    STORAGE="local-lvm"
    
    echo "[INFO] Starting process for VM $VM_NUM with image: $QCOW2_PATH"
    
    # Verify VM exists
    echo "[INFO] Checking if VM $VM_NUM exists..."
    if ! qm status $VM_NUM &>/dev/null; then
        echo "[ERROR] VM $VM_NUM does not exist"
        exit 1
    fi
    echo "[INFO] VM $VM_NUM exists"
    
    # Verify qcow2 file exists
    echo "[INFO] Checking if qcow2 image file exists..."
    if [ ! -f "$QCOW2_PATH" ]; then
        echo "[ERROR] File not found: $QCOW2_PATH"
        exit 1
    fi
    echo "[INFO] Image file exists"
    
    # Step 1: Import disk image
    echo "[INFO] Step 1/5: Importing disk image to $STORAGE..."
    echo "[INFO] This may take a while depending on image size..."
    echo ""
    
    # Import disk and suppress verbose output, only show progress
    qm importdisk $VM_NUM "$QCOW2_PATH" $STORAGE 2>&1 | grep -E "(transferred|successfully imported)" || true
    
    # Verify import completed successfully
    sleep 2
    if ! qm config $VM_NUM | grep -q "^unused0:"; then
        echo ""
        echo "[ERROR] Import failed - unused0 disk not found"
        exit 1
    fi
    
    echo ""
    echo "[INFO] Disk import successful"
    
    # Step 2: Get unused0 disk name
    echo "[INFO] Step 2/5: Getting unused disk information..."
    UNUSED_DISK=$(qm config $VM_NUM | grep "^unused0:" | awk '{print $2}')
    
    if [ -z "$UNUSED_DISK" ]; then
        echo "[ERROR] Could not find unused0 disk"
        echo "[WARN] Please check VM $VM_NUM configuration"
        exit 1
    fi
    echo "[INFO] Found unused disk: $UNUSED_DISK"
    
    # Step 3: Attach disk as virtio0
    echo "[INFO] Step 3/5: Attaching disk as virtio0..."
    if ! qm set $VM_NUM --virtio0 $UNUSED_DISK >/dev/null 2>&1; then
        echo "[ERROR] Failed to attach disk"
        exit 1
    fi
    echo "[INFO] Disk attached successfully"
    
    # Step 4: Adjust boot order (put virtio0 first)
    echo "[INFO] Step 4/5: Adjusting boot order..."
    
    # Get current boot order
    CURRENT_BOOT=$(qm config $VM_NUM | grep "^boot:" | sed 's/boot: //' | sed 's/order=//')
    
    if [ -z "$CURRENT_BOOT" ]; then
        # If no boot order is set, use default
        NEW_BOOT_ORDER="virtio0;scsi0;ide2;net0"
        echo "[WARN] No existing boot order found, using default"
    else
        # Remove existing virtio0 (if present) and add to front
        CURRENT_BOOT=$(echo "$CURRENT_BOOT" | sed 's/virtio0;//g' | sed 's/;virtio0//g' | sed 's/virtio0//g')
        # Clean up possible extra semicolons
        CURRENT_BOOT=$(echo "$CURRENT_BOOT" | sed 's/^;//' | sed 's/;$//' | sed 's/;;/;/g')
        
        if [ -z "$CURRENT_BOOT" ]; then
            NEW_BOOT_ORDER="virtio0"
        else
            NEW_BOOT_ORDER="virtio0;$CURRENT_BOOT"
        fi
    fi
    
    echo "[INFO] New boot order: $NEW_BOOT_ORDER"
    
    if ! qm set $VM_NUM --boot order=$NEW_BOOT_ORDER >/dev/null 2>&1; then
        echo "[ERROR] Failed to set boot order"
        exit 1
    fi
    echo "[INFO] Boot order configured successfully"
    
    # Step 5: Set SMBIOS tag
    echo "[INFO] Step 5/5: Setting SMBIOS tag..."
    if ! qm set $VM_NUM --smbios1 "manufacturer=Proxmox,product=ProxmoxVE" >/dev/null 2>&1; then
        echo "[ERROR] Failed to set SMBIOS tag"
        exit 1
    fi
    echo "[INFO] SMBIOS tag configured successfully"
    
    # Complete
    echo ""
    echo "========================================="
    echo "[INFO] All steps completed successfully!"
    echo "[INFO] VM $VM_NUM has been configured"
    echo "========================================="
    echo ""
    echo "[INFO] VM Configuration Summary:"
    qm config $VM_NUM | grep -E "^(virtio0|boot|smbios1):"
    
    exit 0
  7. 在 Proxmox 叢集上建立虛擬機器。
    趨勢科技 建議遵循服務閘道安裝所指定的 CPU 和記憶體需求。
    以下使用標準映像檔作為範例來說明如何建立虛擬機。
    1. 在 Proxmox 中,點擊「Create VM」
      sg_proxmox_1=9352b0cd-8ed0-4a64-9dcb-1b31155194ad.png
    2. 「Create: Virtual Machine」視窗中,選擇「OS」標籤,選擇「Do not use any media」,然後點擊「下一步」
      sg_proxmox_2=69cf4c84-1c1e-4079-9c17-6dfe35c653be.png
    3. 「Disks」標籤上,指定服務閘道安裝的需求,然後點擊「下一步」
      sg_proxmox_3=fd195a47-bed4-446c-a2ab-40e31061851d.png
    4. 「CPU」標籤上,指定服務閘道安裝的需求,然後點擊「下一步」
      sg_proxmox_4=4435fabb-eaff-4b85-9a91-629b4bac7e4d.png
    5. 「記憶體」標籤上,指定服務閘道安裝的需求,然後點擊「下一步」
      sg_proxmox_5=f16705b2-8f25-464a-8ad2-18f2a2cf4842.png
    6. 檢查 VM 配置並點擊「完成」以建立 VM。
      sg_proxmox_6=c460430d-a0e8-4419-b66e-ae4d15bb1fb4.png
  8. 登入 Proxmox 叢集並運行 pve-import-qcow2.sh 檔案以部署服務閘道設備。
    # bash <SG_script_path> <VM_NUM> </SG_image_path>
    bash pve-import-qcow2.sh "100" "sg-va-3.0.24.10508-standard.qcow2"
  9. 在服務閘道虛擬裝置上,使用預設憑證登入命令行介面 (CLI)。
    使用者名稱:admin
    密碼:V1SG@2021
  10. 更改您的密碼。
  11. 輸入enable並按下ENTER鍵以啟用管理命令。當被要求時,提供您的密碼。
    命令提示字元從 > 變更為 #。
  12. 使用以下 CLISH 命令配置所需的網路設定。
    Configure network primary ipv4.static <interface> <ip_cidr> <gateway> <dns1> [dns2] [cni]
    為主要網路介面配置靜態 IPv4 網路設定
    <interface>:網路介面的名稱(例如,eth0)
    <ip_cidr>: 網路介面的 IPv4 位址,使用 CIDR 表示法
    <gateway>: 閘道路由器地址
    <dns1>: 主要 DNS 伺服器地址
    [dns2]: 次要 DNS 伺服器地址
    [cni]:內部網路位址池(IP 位址以 .0.0 結尾)
  13. 要將服務閘道虛擬裝置註冊到Trend Vision One,請使用 SSH 工具,例如最新版本的 PuTTY,並使用具有管理員權限的帳戶輸入以下命令。
    register <registration_token>
    您可以在Trend Vision One(步驟4)下載虛擬裝置的同一畫面上獲取該令牌。
  14. 如有需要,請使用 CLI 來配置其他設定。
    如需有關可用命令的詳細資訊,請參閱 服務閘道 CLI 命令
    如需有關使用兩張網路卡設定虛擬裝置的詳細資訊,請參閱服務閘道虛擬裝置雙網路卡配置