每位系統管理員都該知道的 10 大 Proxmox CLI 指令

Proxmox 虛擬環境 (VE) 可透過網頁瀏覽器中的直觀圖形介面進行管理。然而,在特定情境下,使用命令列介面 (CLI) 會更為合適。CLI 具備諸如更詳細的配置、批次處理、腳本編寫及自動化等優勢。

管理 Proxmox 虛擬環境時,既可使用標準的 Linux 指令,也可使用 Proxmox 專屬指令。這篇部落格文章將介紹 10 個最常用的 Proxmox 專屬指令,並附上範例,以協助您進行有效率的系統管理。

NAKIVO for Proxmox 備份

NAKIVO for Proxmox 備份

適用於 Proxmox VE 的無代理、應用程式感知備份解決方案,具備多種備份目標,包括不可變雲端備份。提供多種即時細粒度還原與完整還原選項。

1. qm

qm 命令是 Proxmox CLI 的主要命令之一,而 qm 是 QEMU 管理器的簡稱。 它用於管理 Proxmox 虛擬環境 (Proxmox VE) 中的虛擬機器 (VM)。 Proxmox 上的虛擬機器是基於 QEMU/KVM 的,並且 qm 命令與它們交互。 您可以使用此命令創建、編輯、配置、啟動、停止和遷移虛擬機器。

該命令的通用語法是:

qm [options] <command> [arguments]

列出虛擬機器

,您可以看到 VM 的狀態和 ID。您可能需要 ID 來在 Proxmox CLI 中管理此 VM。

qm list

Listing Proxmox virtual machines in the CLI

創建新的虛擬機器

通用語法:

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 核心和網路介面為 Virtio 的虛擬機器,網橋到 vmbr0。作業系統類型是 Linux(由 l26 指示)。

附加硬碟到虛擬機器

qm set 105 --scsi0 local-lvm:32G

使用 SCSI 介面將 32GB 硬碟附加到虛擬機器。

Attach a CD-ROM for OS installation

qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom

此命令將 Debian ISO 附加到虛擬機器的 IDE 光碟機以便安裝或其他目的。

配置啟動順序

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>

此命令使虛擬機器正常關機,允許客戶 OS 正確關閉檔案和終止過程。

qm shutdown 101

使用 ID 101 向虛擬機器發送關機信號。

Proxmox CLI shutdown VM

將虛擬機器遷移到其他節點

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 命令將 scsi0 虛擬機器中的 ID 103 磁碟的大小增加 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 命令以查看主要命令使用方式。

Using pve-firewall in Proxmox CLI

檢查狀態

檢查 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>
是要列出的儲存池(資料存放區)的名稱。

Listing resources on the local storage

檢查所有或特定儲存池的狀態

pvesm status

輸出將顯示儲存池狀態,包括是否處於活動狀態、儲存類型和當前使用情況的資訊。

Checking the status of a Proxmox storage pool

建立新的儲存池

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 /export/data 的現有 NFS 共用新增至 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>

示例:

命令是為 VM 100 在 local-storage-name 池上分配 10 GB 容量卷:

pvesm alloc local-storage-name 100 10G

4. pveum

Proxmox Virtual Environment 允許您建立多個用戶以管理 Proxmox VE。 這可透過 Proxmox CLI 指令,使用 pveum(使用者管理)指令來實現。Proxmox 管理員可以管理使用者和群組,並配置存取控制和權限。這進而定義誰可以訪問並允許對 Proxmox 基礎設施的不同部分採取行動。管理員可以將權限指派給存取物件,如虛擬機器、儲存設備、叢集節點等。

語法:

pveum <command> [options]

將新使用者新增至 Proxmox VE

pveum useradd <userid> --password <password> --comment <comment> --groups <group>

其中:

--password <password> 是新使用者的密碼。

--comment <comment> 是使用者的可選註解或描述。

--groups <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 為特定 VM,或 / 為整個叢集)。

--roles <rolename> 是要指派的角色。

--users <userid> 是指派該角色的使用者。 --groups <groupname> 是分配角色的群組。

示例:

pveum aclmod /vms/104 --roles vmmanager --users user4@pve

此命令將 vmmanager 角色指派給 VM user4@pve 上的104,從而允許該使用者(user4)根據 vmmanager 角色所包含的權限來管理這台特定的虛擬機器。aclremove 命令用於從物件中移除 ACL。

驗證領域管理

驗證領域定義了用戶如何與系統驗證(例如,使用 PAM、LDAP 或 Active Directory)。可以在 Proxmox VE 中使用 realm 命令管理驗證領域。

語法:

pveum realm <command> [options]

其中命令可以是:

list 列出所有可用領域

add 新增一個新領域

modify 修改現有領域

remove 移除現有領域

例如,要列出 Proxmox VE 中已配置的所有驗證領域,請使用以下命令:

pveum realm list

Checking the Proxmox authentication realm configuration

管理現有用戶

可以使用此用戶命令列出、編輯和刪除現有用戶。

語法:

pveum user <command>
<userid> [options]

命令可以是:

list 列出所有用戶

modify 修改用戶詳細資訊,例如更改密碼或更新評論

delete 刪除用戶

例如,要列出 Proxmox 主機上的所有用戶,請使用以下命令:

pveum user list

要查看更多可用命令和選項,請在 Proxmox CLI 中運行 pveum help 命令。

試試 NAKIVO Backup & Replication 搭配 Proxmox VE

試試 NAKIVO Backup & Replication 搭配 Proxmox VE

立即註冊 15 天免費試用,體驗無代理、增量式的 Proxmox 虛擬機器備份功能,具備原生變更追蹤、不可變動儲存,以及即時完整與細粒度還原選項。

5. pvesh

透過使用 pvesh 指令,管理員可以與 Proxmox REST API 進行互動。這個命令行工具讓管理員可以直接從 Proxmox 命令行界面完成幾乎所有能夠通過 Proxmox 網頁界面完成的操作。 pvesh 指令作為 Proxmox VE REST API 的 shell,允許管理員直接從命令行進行 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

Checking the Proxmox host status

修改配置

set 指令用於修改或更新資源的配置。這相當於在 REST API 中發出 POST 或 PUT 請求。

語法:

pvesh set /path --key value [--key value ...]

--key 值是您想要變更的設置鍵值對。

範例:

pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name

此命令將節點 100 上的 VM pve-node1 名稱更改為 new-vm-name

創建資源

創建命令允許您創建新資源,如新 VM 或儲存體。

語法:

pvesh create /path --key value [--key value ...]

例如,您可以使用命令創建具有特定參數的新 VM:

pvesh create /nodes/pve-node1/qemu --vmid 106 --name new-vm-name --memory 2048 --cores 2

此命令會在節點 106上創建 ID 為 pve-node1 的新 VM,名稱為 new-vm-name,2 GB 的 RAM 及 2 個 CPU 核心。

啟動虛擬機器

使用 pvesh 可以啟動一台 VM 或容器:

pvesh start /path

例如,要啟動節點 ID 101上的 VM pve-node1,可以運行以下命令:

pvesh start /nodes/pve-node1/qemu/101

VM 關機

與 “停止” 命令不同,關機命令會以平滑的方式關閉 VM 或容器:

pvesh shutdown /path

例如,若要關閉位於 Proxmox 主機(名稱為 ID 101)上的 VM pve-node1,請使用以下命令: 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 狀態和故障移轉狀態,以及它們運行所在的節點。

啟用虛擬機器的 HA

語法:

ha-manager add <vmid> --group <groupname> --max-restarts <n> --max-migrate-tries <n>

其中:


<vmid>
是您想要添加到 HA 的虛擬機器或儲存器的 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 or .lzo 格式儲存。

語法:

vzdump [options] <vmid> [<vmid2> ...]

其中:

vmid 是您想要备份的虛擬機器或容器的 ID。

--mode <mode> 定義备份模式。支持三種备份模式:

  • snapshot – 為 Proxmox 虛擬機器或容器拍攝即時快照。 此模式為預設模式,可讓您在虛擬機器或容器執行時進行備份。
  • suspend – 此模式會在備份前暫停虛擬機器或容器,藉此確保資料的一致性。 此模式的缺點在於會造成短暫的停機時間。
  • stop – 在執行備份前先停止虛擬機器或容器。此方法可確保備份資料的一致性,但會導致更長的停機時間。

--compress <type> 用於指定壓縮方式。目前支援三種壓縮選項:

  • lzo – 適用於 Proxmox 備份的輕量且快速的壓縮方式(預設使用)。
  • gzip – 這是更高效的壓縮方式,但壓縮資料所需時間較長(壓縮速度較慢)。
  • zstd – 此壓縮類型採用現代壓縮演算法,可在提供高壓縮比的同時維持最佳效能。

--storage <storage> 指定備份檔案的儲存目標。此處可設定為本機目錄、NFS 共用資料夾或 Proxmox 儲存池。

--maxfiles <n> 限制保留的備份檔案數量。若達到上限,較舊的備份檔案將自動刪除。

--remove <mode> 根據指定的模式自動移除備份檔案。 模式包括:

  • old – 在建立新備份時移除舊備份。
  • fail – 僅移除失敗的備份。

備份多台虛擬機器

依序備份具有 IDs 101102103 設定的虛擬機器:

vzdump 101 102 103

以壓縮方式儲存備份

vzdump 101 --storage local --compress gzip --maxfiles 3

帶有這些選項的 vzdump 指令會執行以下動作:

  • VM 101 的備份儲存至名為 local 的儲存空間。本地儲存空間可以是 Proxmox 主機上的本地目錄,或是儲存池。
  • 採用 gzip 壓縮方式。建立採用 gzip 壓縮方式加密的備份可能需要較長時間,但最終得到的備份檔案會更小。
  • 僅保留最近的 3 個備份,較舊的備份會自動刪除。

省略日誌檔案

vzdump 102 --exclude-path /var/log

備份虛擬機器 102 但排除 /var/log directory,透過省略日誌檔案來減少備份大小。

移除舊備份

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 指令用於從 Proxmox 虛擬環境中使用 vzdump 指令建立的備份中還原虛擬機器。這些 vzdumpqmrestore 指令是 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 Backup Server 配合使用,一種原生的 Proxmox 備份解決方案,用於備份和恢復操作。此工具允許管理員保護虛擬機器、容器和其他類型的資料。proxmox-backup-client 工具與 Proxmox Backup Server (PBS) 互動以管理備份

語法:

proxmox-backup-client <command> [options]

備份命令的基本語法

proxmox-backup-client backup <archive-name>
<path> --repository <repository> [options]

其中:

<archive-name> 是您要給備份檔案的名稱。


<path>
定義您要備份的目錄或檔案的路徑。

--repository <repository> 是 Proxmox Backup Server 上的目標儲存庫,通常以 user@pbs:datastore 的形式存在

範例:

proxmox-backup-client backup etc.pxar /etc --repository root@pbs@10.10.10.101:datastore1

此命令將 /etc 目錄備份到位於 datastore1 的 Proxmox Backup Server 上的 10.10.10.101 儲存庫。備份存儲為名為 etc.pxar 的檔案。

恢復命令的基本語法

恢復命令對於 proxmox-backup-client 命令行工具,用於將資料從 Proxmox Backup Server 恢復到本地系統。

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@pbs@10.10.10.101:datastore1

此命令將 etc.pxar 檔案從 datastore1 Proxmox Backup Server 上的 10.10.10.101 恢復到本地目錄 /restore/etc

結論

Proxmox 命令行命令是一組強大的工具,用於管理 Proxmox 虛擬環境,包括儲存、虛擬機器、叢集、虛擬機器備份等。如果您想實現綜合的虛擬機器備份策略,請安裝 NAKIVO Backup & Replication 並使用 Proxmox VE 虛擬機器的無代理備份功能。

試試 NAKIVO Backup & Replication

試試 NAKIVO Backup & Replication

立即申請免費試用,全面探索本解決方案的所有資料保護特點。15 天免費試用,特點與容量完全不受限制,無需提供信用卡資訊。

People also read