Proxmox虛擬環境(VE)可以通過網頁瀏覽器中的用戶友好的圖形界面進行管理。然而,在特定情況下,最好使用命令行界面(CLI)。CLI提供了更詳細的配置、批處理、腳本編寫和自動化等優勢。
有標準的Linux命令和特定於Proxmox的命令來管理Proxmox虛擬環境。本博客文章涵蓋了前10個Proxmox特定命令,並提供了有效管理的示例。
1. qm
命令qm是主要的Proxmox CLI命令之一,qm 是QEMU Manager的縮寫。它用於管理Proxmox虛擬環境(Proxmox VE)中的虛擬機器(VMs)。Proxmox上的虛擬機器是基於QEMU/KVM的,qm命令與它們交互。您可以使用此命令創建、編輯、配置、啟動、停止和遷移VM。
命令的一般語法如下:
qm [選項] <命令> [參數]
列出虛擬機器
您可以查看VM的狀態和ID。您可能需要該ID來在Proxmox CLI中管理此VM。
qm list
創建新的虛擬機器
一般語法:
qm create <vmid> [選項]
示例:
qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26
以下 Proxmox CLI 命令創建一個 ID 為 103 的虛擬機,名稱為 “DebianVM”,擁有 2GB RAM、1 個插槽、2 顆核心,以及一個橋接到 vmbr0 的 Virtio 網路介面。操作系統類型為 Linux(由 l26 指示)。
將磁碟附加到虛擬機
qm set 105 --scsi0 local-lvm:32G
使用 SCSI 介面將 32GB 磁碟附加到虛擬機。
附加 CD-ROM 以進行操作系統安裝
qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
此命令將 Debian ISO 附加到虛擬機的 IDE CD-ROM 驅動器,以便安裝客戶操作系統或其他用途。
配置啟動順序
qm set 105 --boot order=ide2;scsi0
此示例中使用的命令配置虛擬機首先從 CD-ROM 啟動(IDE2),然後是磁碟(SCSI0)。
啟動虛擬機
語法:
qm start <vmid>
示例:
qm start 103
啟動 ID 為 103 的虛擬機
停止虛擬機
qm stop <vmid>
此命令立即停止正在運行的虛擬機。這種停止虛擬機的方式和拔掉實體機器的電源插頭是一樣的。
qm stop 103
停止 ID 為 103 的虛擬機。
在 Proxmox CLI 中關閉虛擬機
qm shutdown <vmid>
此命令優雅地關閉虛擬機(VM),允許來賓操作系統正確關閉文件和終止進程。
qm shutdown 101
向 ID 為 101 的虛擬機發送關閉信號。
將虛擬機遷移到另一個節點
qm migrate <vmid> <targetnode>
此命令將虛擬機從當前節點遷移到同一 Proxmox 集群中的另一個節點。
例如,將 ID 為 103 的虛擬機遷移到 node2,我們可以使用以下命令:
qm migrate 103 node2
對虛擬機進行快照
qm snapshot <vmid> <snapshotname>
該命令創建虛擬機的快照,捕獲其當前狀態,包括內存、磁碟和設備狀態。
qm snapshot 103 "before_upgrade"
此命令對 ID 為 103 的虛擬機進行快照,並將其命名為“before_upgrade”。在執行風險操作(如軟件升級)之前使用此命令進行快照是非常有用的。
從快照恢復虛擬機狀態
qm rollback <vmid> <snapshotname>
此命令將虛擬機回滾至先前的快照,恢復其狀態至快照創建時的點。
例如,如果虛擬機內的軟件升級不成功並失敗,我們可以使用以下命令恢復虛擬機狀態:
qm rollback 103 "before_upgrade"
自快照拍攝以來所做的任何更改將被丟棄(撤銷)。
克隆虛擬機器
qm clone <vmid> <newid> [--name <newname>] [--full]
命令 qm clone
用於克隆現有的虛擬機器以創建一個具有不同 ID 的新虛擬機器。您可以選擇克隆整個磁碟(完整克隆)或僅克隆鏈接存儲。
qm clone 103 104 --name "DebianClone" --full
此命令將 ID 為 103 的虛擬機器克隆到 ID 為 104 的新虛擬機器,並命名為 “DebianClone”。 ––full 選項將創建一個完整的克隆,複製所有數據。
調整虛擬機器的磁碟大小
qm resize <vmid> <disk> <size>
命令 qm resize
用於調整附加到虛擬機器的虛擬磁碟的大小,可以擴展或縮小。請確保來賓操作系統能夠處理此更改。
qm resize 103 scsi0 +10G
這個 Proxmox CLI 命令將 ID 為 103 的虛擬機器的 scsi0 磁碟大小增加 10GB。
2. pve-firewall
pve-firewall
命令用於管理 Proxmox 虛擬環境中的防火牆設置,包括 Proxmox 叢集。這個 Proxmox CLI 命令提供了友好的選項來配置防火牆規則,並允許管理員控制 Proxmox 節點、虛擬機和容器的網絡流量。Proxmox 防火牆與 Proxmox 管理界面緊密集成,使整個 Proxmox 環境的防火牆管理更加方便。pve-firewall 工具專門為 Proxmox VE 開發,與 iptables 中使用的更細粒度和手動方法相比,使用高級抽象來管理防火牆規則。
語法:
pve-firewall <command> [options]
運行 pve-firewall
命令以查看主要命令用法。
檢查狀態
檢查 Proxmox VE 防火牆服務的狀態:
pve-firewall status
輸出顯示當前節點的防火牆是否在運行。
啟動防火牆
在當前 Proxmox 節點上啟動防火牆服務:
pve-firewall start
重新加載防火牆
重新加載防火牆服務並應用防火牆配置更改,而無需停止和啟動防火牆服務。
pve-firewall reload
接受 SSH 流量
創建一個接受 SSH 流量的防火牆規則:
pve-firewall create rule -action accept -macro ssh
此命令創建一條規則以允許對 Proxmox 環境的 SSH 訪問。
其中:create <object> 創建一個新的防火牆對象,例如規則、安全組或 IP 集合。
刪除規則
要刪除規則,請使用命令:
pve-firewall delete rule <rule-id>
顯示日誌
顯示防火牆日誌,該日誌顯示流量和規則匹配:
pve-firewall log
輸出顯示最近的防火牆日誌條目。
拒絕 HTTP 流量
要創建一條拒絕任何 HTTP 流量的防火牆規則,請使用命令:
pve-firewall create rule -action drop -macro http
3. pvesm
在 Proxmox CLI 中,pvesm
命令是用於管理 Proxmox VE 中存儲配置的命令行實用程序。使用此命令行工具,您可以創建、刪除、修改和管理存儲池。此外,您可以執行各種與存儲相關的任務,例如創建目錄、添加存儲設備和管理內容類型。
語法:
pvesm <command> [options]
列出存儲
pvesm list <storage>
其中 <storage> 是要列出的存儲池(數據存儲)的名稱。
檢查所有或特定存儲池的狀態
pvesm status
輸出顯示存儲池狀態,包括其是否處於活動或非活動狀態、存儲類型及當前使用情況。
創建新的存儲池
pvesm create <type> <storage-id> --options
其中:
<type>是要創建的存儲後端類型(例如,dir、lvm、nfs、zfs)。
<storage-id>是存儲池的唯一名稱或ID。
––options定義特定於存儲類型的附加選項。
示例:
創建一個新的基於目錄的存儲池,名為new-datastore1,位於/mnt/storage-name,可以存儲虛擬機映像和ISO文件:
pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso
將現有的存儲後端添加到Proxmox VE
此命令的原理與pvesm create
命令類似,但不是創建新的存儲,而是將已存在的存儲添加到Proxmox配置中以使其可用。
示例:
將位於192.168.101.100的現有NFS共享,位於/export/data,添加到Proxmox VE,名稱為test-nfs-storage:
pvesm add nfs test-nfs-storage --server 192.168.101.100 --export /export/data --path /mnt/pve/test-nfs-storage --content images,iso
修改現有儲存池的配置
pvesm set <storage-id> --options
範例:
修改 local-storage01 池以允許儲存虛擬機映像、ISO 檔案和備份檔案:
pvesm set local-storage01 --content images,iso,backup
在指定的儲存池上為虛擬機或容器分配新卷
pvesm alloc <storage-id> <vmid> <size>
範例:
在 local-storage-name 池上為虛擬機 100 分配 10 GB 卷的命令:
pvesm alloc local-storage-name 100 10G
4. pveum
Proxmox 虛擬環境允許您創建多個用戶來管理 Proxmox VE。這可以通過使用 pveum
(用戶管理)命令的 Proxmox CLI 命令來實現。Proxmox 管理員可以管理用戶和組,並配置訪問控制和權限。這反過來又定義了誰可以訪問並被允許在 Proxmox 基礎架構的不同部分上採取行動。管理員可以分配訪問對象的權限,例如虛擬機、儲存、集群節點等。
語法:
pveum <command> [options]
將新用戶添加到 Proxmox VE
pveum useradd <userid> --password <password> --comment <comment> --groups <group>
其中:
––密碼 <password> 是新使用者的密碼。
––評論 <comment> 是使用者的選擇性評論或描述。
––群組 <group> 是使用者應屬於的群組(或群組)。
範例:
pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – admin group" --groups admin
此命令用於將名為 user2 的使用者新增至 admin 群組,並設定該使用者的描述和密碼。
刪除使用者
要刪除使用者,使用與新增使用者相同邏輯的 pveum
命令,例如:
pveum userdel user3@pve
此命令用於在 Proxmox 主機上刪除 user3。
建立群組
要在 Proxmox CLI 中建立新群組,使用 groupadd
命令。
語法:
pveum groupadd <groupname> --comment <comment>
範例:
pveum groupadd support --comment "Support Team Group"
此命令建立名為 support 的新群組,並附帶描述“支援團隊群組“。
刪除群組
與刪除使用者類似,您可以刪除群組。例如,要刪除 guests 群組,您可以使用以下命令:
pveum groupdel guests
添加角色
角色用於定義一組授權,以便分配給用戶和組。
語法:
pveum roleadd <rolename> --privs <privileges>
其中:
<rolename> 是要創建的角色名稱。
––privs <privileges> 是要分配給該角色的授權的逗號分隔列表(例如,VM.PowerMgmt,VM.Config.Disk)。
示例:
pveum roleadd vmmanager --privs VM.PowerMgmt,VM.Config.CDROM
此命令創建一個名為 vmmanager 的角色,具有管理虛擬機電源設置和配置 CD-ROM 的權限。
修改現有角色
管理員可以使用 rolemod
命令修改現有角色和權限(添加或刪除授權)。
語法:
pveum rolemod <rolename> --privs <privileges>
示例:
pveum rolemod vmmanager --privs +VM.Config.Network
此命令將 VM.Config.Network 授權添加到 vmmanager 角色。
修改 ACL
Proxmox 管理員可以通過將角色分配給特定 Proxmox 物件上的用戶或組來修改訪問控制列表 (ACL)。
語法:
pveum aclmod <path> --roles <rolename> --users <userid> --groups <groupname>
其中:
<path> 是要設定 ACL 的物件路徑(例如,/vms/100 用於特定的虛擬機或 / 用於整個集群)。
––roles <rolename> 是要分配的角色。
––users <userid> 是要被分配角色的使用者。
––groups <groupname> 是要被分配角色的群組。
範例:
pveum aclmod /vms/104 --roles vmmanager --users user4@pve
此命令將 vmmanager 角色分配給 user4@pve 在虛擬機 104 上,允許使用者(user4)根據 vmmanager 角色中的權限管理該特定虛擬機。aclremove
命令用於相應地從物件中移除 ACL。
身份驗證領域管理
身份驗證領域定義了使用者如何與系統進行身份驗證(例如,使用 PAM、LDAP 或 Active Directory)。您可以使用 Proxmox VE 中的 realm
命令管理身份驗證領域。
語法:
pveum realm <command> [options]
其中命令可以是:
list 列出所有可用的領域
add 新增一個新領域
modify 修改現有的領域
移除以移除現有的領域
例如,要列出 Proxmox VE 中配置的所有身份驗證領域,請使用以下命令:
pveum realm list
管理現有用戶
您可以使用此用戶命令列出、編輯和刪除現有用戶。
語法:
pveum user <command> <userid> [options]
命令可以是:
list列出所有用戶
modify修改用戶詳細資訊,例如更改密碼或更新註解
delete刪除用戶
例如,要列出 Proxmox 主機上的所有用戶,請使用以下命令:
pveum user list
要查看更多可用的命令和選項,請在 Proxmox CLI 中運行 pveum help
命令。
5. pvesh
通過使用 pvesh
命令,管理員可以與 Proxmox REST API 互動。此命令行工具允許您直接從 Proxmox CLI 執行幾乎可以通過 Proxmox 網頁介面完成的所有操作。pvesh
命令作為 Proxmox VE REST API 的外殼,允許您直接從命令行使用命令進行 API 調用。通過此命令,您可以管理虛擬機、存儲、網絡和 Proxmox 虛擬基礎設施的其他元素。
語法:
pvesh <command> [options]
列出資源或 API 端點
這個指令類似於 Linux 中的 ls 指令,但它列出 Proxmox VE 環境中可用的 API 路徑或資源。
pvesh ls /path
範例:
pvesh ls /cluster/resources
這個指令列出 Proxmox 叢集中的所有資源,包括虛擬機、容器和儲存。
擷取資訊
get 指令從特定的 API 端點擷取資訊。這個指令用於查詢資源的詳細資訊。
pvesh get /path
其中 path 是您想要擷取資訊的 API 路徑。
例如,要擷取節點 pve-node1 的狀態資訊,如 CPU 負載、記憶體使用率和運行時間,您可以使用以下指令:
pvesh get /nodes/pve-node1/status
修改配置
set 指令用於修改或更新資源的配置。這相當於在 REST API 中進行 POST 或 PUT 請求。
語法:
pvesh set /path --key value [--key value ...]
––key value 是您想要更改的設定的鍵-值對。
範例:
pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name
這個指令將節點 pve-node1 上虛擬機 100 的名稱更改為 new-vm-name。
創建資源
使用create命令可以創建新資源,例如新的虛擬機或儲存卷。
語法:
pvesh create /路徑 --鍵 值 [--鍵 值 ...]
例如,使用以下命令可以創建具有特定參數的新虛擬機:
pvesh create /nodes/pve-node1/qemu --vmid 106 --name new-vm-name --memory 2048 --cores 2
此命令在節點pve-node1上創建ID為106的新虛擬機,名稱為new-vm-name,具有2 GB的RAM和2個CPU核心。
啟動虛擬機
有一個使用pvesh啟動虛擬機或容器的命令:
pvesh start /路徑
例如,要啟動節點pve-node1上ID為101的虛擬機,您可以運行以下命令:
pvesh start /nodes/pve-node1/qemu/101
虛擬機關機
與停止命令不同,關機命令會優雅地關閉虛擬機或容器:
pvesh shutdown /路徑
例如,要關閉名為pve-node1的Proxmox主機上ID為101的虛擬機,請使用以下命令:
pvesh shutdown /nodes/pve-node1/qemu/101
啟動所有虛擬機
要在節點或整個集群中啟動或關閉所有虛擬機,可以使用相應的命令:
pvesh startall /nodes/<nodename>
pvesh stopall /nodes/<nodename>
6. pvecm
pvecm
命令是用於 Proxmox 集群管理的工具,用於管理和配置 Proxmox 集群。您可以使用此工具創建集群,以及加入和管理 Proxmox 集群中的節點。集群作為一個單一實體進行管理,具備配置功能,例如高可用性、虛擬機即時遷移、共享存儲等。
語法:
pvecm <command> [options]
要查看所有支持的 pvecm
命令,請運行以下命令:
man pvecm
創建集群
要創建一個新的 Proxmox VE 集群,您可以使用 create 命令。您應該在將形成集群的第一個節點(主節點)上運行此命令。
pvecm create <clustername>
示例:
以下命令創建一個名為 cluster01 的集群。此節點(我們運行命令的地方)成為集群的主節點。
pvecm create cluster01
將節點添加到集群
使用 addnode 命令將新節點添加到現有的 Proxmox 集群。請在您想要添加到集群的節點上運行此命令。
pvecm add <master-node-ip>
示例:
將當前 Proxmox 主機添加到由 IP 地址 192.168.101.121 控制的集群:
pvecm add 192.168.101.121
從集群中刪除節點
delnode 命令用於 Proxmox CLI 中從叢集中移除一個節點。
語法:
pvecm delnode <nodename>
範例:
移除名為 pve-node2 的節點的命令是:
pvecm delnode pve-node2
列出叢集中的所有節點
列出所有叢集節點並顯示其狀態(包括節點名稱和 IP 位址)的命令是:
pvecm nodes
設置新的主節點
您可以在 Proxmox 叢集中將另一個叢集節點設置為主節點:
pvecm setmaster <nodename>
其中 <nodename> 是您想指定為主節點的節點名稱。
顯示叢集狀態
您可以顯示 Proxmox 叢集的狀態,包括有關法定人數、節點數量及其角色的信息。
pvecm status
設置預期的節點數量
您可以使用 expected 命令檢查叢集中預期需要多少個節點才能達到法定人數。當某些叢集節點暫時離線時,您可能需要使用此命令以避免中斷。法定人數用於避免當不同叢集節點對叢集狀態有衝突信息時出現分裂腦的情況。
pvecm expected <number>
7. hamanager
hamanager
命令用於在創建 Proxmox 叢集後管理虛擬機的高可用性 (HA) 功能。這個命令行工具允許您為關鍵虛擬機配置高可用性,並設置當它們運行的節點故障時如何在叢集中重新啟動它們。Proxmox CLI 中的 hamanager 工具與 Proxmox 高可用性管理器互動。
語法:
ha-manager <command> [options]
查看狀態
要查看 HA 資源的當前狀態,您可以使用以下命令:
ha-manager status
輸出顯示有關配置為 HA 的虛擬機或 CT 的資訊,包括它們的當前狀態(啟動、停止)、HA 狀態和故障轉移狀態,以及它們運行的節點。
為虛擬機啟用 HA
語法:
ha-manager add <vmid> --group <groupname> --max-restarts <n> --max-migrate-tries <n>
其中:
<vmid> 是您要添加到 HA 的虛擬機或 CT 的 ID。
––group <groupname> 是要將資源添加到的 HA 組(可選)。
––max-restarts <n> 是資源故障時的最大重啟嘗試次數。
––max-migrate-tries <n> 是如果資源無法重新啟動,則遷移到另一個節點的最大嘗試次數。
範例:
將 ID 為 105 的虛擬機加入 HA 管理器,最大重啟嘗試次數為 3 次,失敗時最多進行 1 次遷移嘗試:
ha-manager add 105 --max-restarts 3 --max-migrate-tries 1
禁用虛擬機的 HA 狀態
使用 remove 命令來禁用虛擬機的高可用性狀態,並將虛擬機從 HA 管理器中移除。
ha-manager remove <vmid>
例如,要禁用 ID 為 105 的虛擬機的 HA 狀態,請運行以下命令:
ha-manager remove 105
執行該命令後,該虛擬機將不再被視為高可用資源進行管理。
虛擬機遷移
您可以使用 migrate 命令手動將高可用虛擬機遷移到集群中的另一個節點:
ha-manager migrate <vmid> <targetnode>
例如,要將 ID 為 106 的虛擬機遷移到名為 pve-node2 的節點,請運行以下命令:
ha-manager migrate 106 pve-node2
8. vzdump
vzdump
命令用於使用 Proxmox 原生工具在 Proxmox VE 中創建備份。此命令支持虛擬機和容器的備份。備份可以保存為 .vma、.tgz 或 .lzo 格式。
語法:
vzdump [options] <vmid> [<vmid2> ...]
其中:
vmid 是您要備份的虛擬機或容器的 ID。
––模式 <模式> 定義了備份模式。支援的備份模式有三種:
- snapshot – 拍攝 Proxmox 虛擬機器或容器的即時快照。這是默認使用的模式,可讓您在虛擬機器或容器運行時執行備份。
- suspend – 在備份之前暫停虛擬機器或容器,以確保數據一致性。此模式導致的短暫停機是其缺點。
- stop – 在執行備份之前停止虛擬機器或容器。這種方法可以保持備份數據的一致性,但需要更長的停機時間。
––壓縮 <類型> 用於指定壓縮方法。支援的壓縮選項有三種:
- lzo – Proxmox 備份的輕量級和快速壓縮(默認使用)。
- gzip – 這是更有效率的壓縮方法,但需要更多時間來壓縮數據(壓縮速度較慢)。
- zstd – 這種壓縮類型使用現代壓縮算法,提供高壓縮比和最佳性能。
––存儲 <存儲> 指定了備份文件的存儲目標。這可以是本地目錄、NFS 共享或 Proxmox 存儲池。
––maxfiles <n> 限制要保留的備份文件數量。如果達到限制,舊的備份將被自動刪除。
––自動移除 <mode> 根據指定的模式自動移除備份檔案。模式包括:
- 舊的 – 當創建新的備份時移除舊的備份。
- 失敗 – 僅移除失敗的備份。
備份多個虛擬機
依次備份 ID 為 101、102 和 103 的虛擬機:
vzdump 101 102 103
使用壓縮保存備份
vzdump 101 --storage local --compress gzip --maxfiles 3
帶有這些選項的 vzdump 命令執行以下操作:
- 將虛擬機 101 的備份保存到名為 local 的儲存空間。當地儲存可以是 Proxmox 主機上的本地目錄或儲存池。
- 使用 gzip 壓縮。創建使用 gzip 壓縮的加密備份可能需要更長的時間,但最終會得到一個較小的備份檔案。
- 僅保留 3 個最近的備份,而舊的備份將自動刪除。
省略日誌檔案
vzdump 102 --exclude-path /var/log
備份虛擬機 102,但排除 /var/log 目錄,通過省略日誌檔案來減少備份的大小。
移除舊備份
vzdump 101 --storage nfs-backup --maxfiles 5 --remove old
這是一個自動備份系統,會刪除舊的備份。它會備份虛擬機101,將備份存儲在nfs-backup存儲空間中,並保留最近的5個備份,自動刪除任何較舊的備份。
以快照模式備份
vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7
使用快照備份模式創建備份(例如每晚備份)所有虛擬機和容器。這些備份保存在名為nfs-backup的NFS共享中。帶寬限制為20480千字節每秒(20 MBps),以防止網絡過載。只保留最後7個備份,舊的備份會自動刪除。
9. qmrestore
使用qmrestore
命令從在Proxmox虛擬環境中使用vzdump
命令創建的備份中還原虛擬機。這些vzdump和qmrestore命令是Proxmox的本地工具,用於虛擬機備份和恢復。可以將備份還原到新的或現有虛擬機。
語法:
qmrestore [options] <backupfile> <vmid>
其中:
<backupfile>是要恢復的備份文件的路徑。此文件通常由vzdump
命令生成,並存儲在目錄中或網絡存儲設備上。
<vmid>是要還原的虛擬機的ID。如果虛擬機ID已存在,現有的虛擬機將被覆蓋,除非使用特定選項來防止此行為。
命令選項:
––force 用於覆寫具有相同 ID 的現有虛擬機,並且不會有確認問題。您可以使用此選項在不介意丟失具有相同 ID 的虛擬機當前狀態的情況下來恢復虛擬機。
––unique 用於為恢復的虛擬機生成一個新的唯一虛擬機 ID。考慮使用此選項通過創建一個新的虛擬機來恢復備份,而不覆寫任何現有的虛擬機。
––storage <storage> 指定恢復虛擬機的虛擬磁碟映像的目標存儲位置。如果未指定此選項,則虛擬機將恢復到其原始存儲或默認存儲。
––pool <pool> 允許您將恢復的虛擬機分配給 Proxmox 虛擬環境中的特定資源池。資源池用於將虛擬機分組,以便更輕鬆地管理。
––hostname <name> 設置恢復虛擬機的主機名稱。如果您希望為恢復的虛擬機設置不同於原始主機名稱的名稱,此選項會很有用。
––name <name> 為恢復的虛擬機設置自定義名稱(在 Proxmox 用戶界面中顯示的名稱),與備份的原始虛擬機名稱不同。
將虛擬機恢復至原始 ID
將虛擬機恢復至其原始 ID:
qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 101
此命令將備份檔案 vzdump-qemu-101-2023_08_27-00_00_00.vma 還原至 ID 為 101 的虛擬機。如果 ID 為 101 的虛擬機已存在,將會被覆蓋。
將備份恢復至新虛擬機
將備份恢復至新虛擬機:
qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 102 --storage local-lvm
此命令將備份恢復至 ID 為 102 的新虛擬機,並將其磁碟映像存儲於 local-lvm 儲存空間。
恢復並更改主機名稱和虛擬機名稱
恢復備份並更改主機名稱和名稱:
qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"
將備份恢復至 ID 為 103 的新虛擬機,將虛擬機重新命名為 MyRestoredVM 並將其主機名稱設置為 restored-vm。
10. proxmox-backup-client
proxmox-backup-client
命令是一個命令行工具,用於與 Proxmox 備份伺服器配合使用,這是一個原生的 Proxmox 備份解決方案,用於備份和還原操作。此工具允許管理員保護虛擬機、容器和其他類型的數據。proxmox-backup-client 工具與 Proxmox 備份伺服器 (PBS) 互動,以管理備份
語法:
proxmox-backup-client <command> [options]
備份命令的基本語法
proxmox-backup-client backup <archive-name> <path> --repository <repository> [options]
在哪裡:
<archive-name> 是您想要給備份檔案的名稱。
<path> 定義了您想要備份的目錄或文件的路徑。
––repository <repository> 是 Proxmox 備份伺服器上的目標儲存庫,通常以 user@pbs:datastore 的形式表示。
範例:
proxmox-backup-client backup etc.pxar /etc --repository root@[email protected]:datastore1
這個命令將 /etc 目錄備份到位於 10.10.10.101 的 Proxmox 備份伺服器的 datastore1 中。備份以 etc.pxar 命名的檔案形式存儲。
還原命令的基本語法
proxmox-backup-client
命令行工具的還原命令用於從 Proxmox 備份伺服器還原數據到本地系統。
proxmox-backup-client restore <archive-name> <path> --repository <repository> [options]
在哪裡:
<archive-name> 是您想要還原的檔案名稱。
<path> 是數據應該還原到的路徑。
––repository <repository> 是備份存儲的儲存庫。
範例:
proxmox-backup-client restore etc.pxar /restore/etc --repository root@[email protected]:datastore1
此命令將從 Proxmox 備份伺服器上的 etc.pxar 存檔恢復到本機目錄 /restore/etc,備份存儲於 datastore1,該伺服器位於 10.10.10.101。
結論
Proxmox CLI 命令是管理 Proxmox 虛擬環境的強大工具集,包括存儲、虛擬機器、集群、VM 備份等。如果您想實施全面的 VM 備份策略,請安裝 NAKIVO Backup & Replication,並使用 Proxmox VE VM 的無代理備份功能。
Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands-every-admin-should-know/