Proxmox虛擬環境(VE)可以通過用戶友好的圖形界面在網頁瀏覽器中進行管理。然而,在特定情況下,使用命令行界面(CLI)會更好。CLI提供了更多詳盡的配置、批量處理、腳本和自動化等優勢。
有標準的Linux命令和Proxmox專用命令來管理Proxmox虛擬環境。這篇博客文章涵蓋了10個Proxmox專用命令及其有效管理的示例。
1. qm
命令qm是Proxmox CLI的主要命令之一,qm是QEMU管理器的縮寫。它用於管理Proxmox虛擬環境(Proxmox VE)中的虛擬機(VM)。Proxmox上的虛擬機是基於QEMU/KVM的,qm命令與它們互動。您可以使用此命令創建、編輯、配置、啟動、停止和遷移虛擬機。
該命令的一般語法是:
qm [options] <command> [arguments]
列出虛擬機
您可以查看虛擬機的狀態和ID。您可能需要ID來在Proxmox CLI中管理此虛擬機。
qm list
創建一個新的虛擬機
一般語法:
qm create <vmid> [options]
示例:
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 的新群組,描述為“Support Team Group”。
刪除群組
類似於刪除用戶,您也可以刪除群組。例如,要刪除 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,使該使用者(user4)能根據 vmmanager 角色中的權限管理該特定虛擬機 104。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。
創建資源
創建命令允許您創建一個新的資源,例如新的虛擬機或存儲卷。
語法:
pvesh create /path --key value [--key value ...]
例如,您可以使用以下命令創建一個具有特定參數的新虛擬機:
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 /path
例如,要在節點 pve-node1 上啟動 ID 為 101 的虛擬機,您可以運行以下命令:
pvesh start /nodes/pve-node1/qemu/101
虛擬機關機
與停止命令不同,關機命令會優雅地關閉虛擬機或容器:
pvesh shutdown /path
例如,要在名為 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 集群中的節點。集群作為單一實體進行管理,配置特性包括高可用性、實時 VM 遷移、共享存儲等。
語法:
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。
––mode <mode> 定義備份模式。支持三種備份模式:
- 快照 – 對 Proxmox 虛擬機或容器進行即時快照。此模式為預設模式,允許在虛擬機或容器運行時執行備份。
- 暫停 – 此模式在備份之前暫停虛擬機或容器,以確保數據的一致性。此模式造成的短暫停機是其缺點。
- 停止 – 在執行備份之前停止虛擬機或容器。這種方法能夠保持備份數據的一致性,但需要更長的停機時間。
––compress <type> 用於指定壓縮方法。支持三種壓縮選項:
- lzo – 輕量且快速的 Proxmox 備份壓縮(預設使用)。
- gzip – 這是一種更有效的壓縮方法,但壓縮數據需要更多時間(壓縮速度較慢)。
- zstd – 此壓縮類型使用現代壓縮算法,提供高壓縮比和最佳性能。
––storage <storage> 指定備份文件的存儲目標。這可以是本地目錄、NFS 共享或 Proxmox 存儲池。
––maxfiles <n> 限制要保留的備份文件數量。如果達到限制,較舊的備份將自動刪除。
––自動移除 <mode> 根據指定的模式自動移除備份檔案。模式包括:
- 舊 – 在創建新的備份時移除舊的備份。
- 失敗 – 僅移除失敗的備份。
備份多個虛擬機器
依序備份 ID 為 101、102 和 103 的虛擬機器:
vzdump 101 102 103
使用壓縮保存備份
vzdump 101 --storage local --compress gzip --maxfiles 3
具有這些選項的 vzdump 命令執行以下操作:
- 將虛擬機器 101 的備份保存到名為 local 的儲存區。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 Kbytes(20 MBps),以防止網絡過載。僅保留最近的 7 個備份,舊備份會自動刪除。
9. qmrestore
qmrestore
命令用於從使用 vzdump
命令在 Proxmox 虛擬環境中創建的備份中恢復虛擬機。這些 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 備份伺服器 10.10.10.101 的 datastore1 中恢復 etc.pxar 存檔到本地目錄 /restore/etc。
結論
Proxmox CLI 命令是一套強大的工具,用於管理 Proxmox 虛擬環境,包括存儲、虛擬機、叢集、虛擬機備份等。如果您想實施全面的虛擬機備份策略,請安裝 NAKIVO 備份與復制,並使用無代理的備份功能來備份 Proxmox VE 虛擬機。
Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands/