管理者が知っておくべきTop 10のProxmox CLIコマンド

Proxmox仮想環境(VE)は、ウェブブラウザーで使いやすいグラフィカルインターフェースで管理することができます。ただし、特定のシナリオでは、コマンドラインインターフェース(CLI)を使用した方が良い場合もあります。CLIには、より詳細な構成、バッチ処理、スクリプティング、自動化などの利点があります。

Proxmox仮想環境を管理するための標準のLinuxコマンドとProxmox固有のコマンドがあります。このブログ投稿では、効果的な管理のためのトップ10のProxmox固有コマンドと例を紹介しています。

1. qm

「qm」コマンドは、主要なProxmox CLIコマンドの1つであり、「qm」はQEMU Managerの略称です。これは、Proxmox仮想環境(Proxmox VE)内の仮想マシン(VM)を管理するために使用されます。Proxmox上の仮想マシンは、QEMU/KVMベースであり、「qm」コマンドがそれらとやり取りします。このコマンドを使用して、VMの作成、編集、構成、起動、停止、移行が可能です。

コマンドの一般的な構文は次のとおりです:

qm [options] <command> [arguments]

仮想マシンの一覧表示

VMの状態とIDを確認できます。Proxmox CLIでこのVMを管理する際には、IDが必要になる場合があります。

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」という名前のVMを作成し、2GBのRAM、1ソケット、2コア、およびvmbr0にブリッジ接続されたVirtioネットワークインターフェースを持っています。OSタイプはLinux(l26で示されています)。

VMにディスクを添付する

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

このコマンドは、SCSIインターフェースを使用してVMに32GBのディスクを添付します。

OSインストール用のCD-ROMを添付する

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

このコマンドは、ゲストオペレーティングシステムのインストールやその他の目的のために、Debian ISOをVMのIDE CD-ROMドライブに添付します。

ブート順序の設定

qm set 105 --boot order=ide2;scsi0

この例で使用されるコマンドは、VMが最初にCD-ROM(IDE2)、次にディスク(SCSI0)からブートするように設定します。

仮想マシンの起動

構文:

qm start <vmid>

例:

qm start 103

ID 103のVMを起動します。

VMを停止する

qm stop <vmid>

このコマンドは、実行中のVMを即座に停止します。この方法でVMを停止することは、物理マシンの電源プラグを引き抜くのと同じです。

qm stop 103

ID 103のVMを停止します。

Proxmox CLIでVMをシャットダウンする

qm shutdown <vmid>

このコマンドは、ゲストOSがファイルを閉じ、プロセスを適切に終了させることを許可しながら、VMを優雅にシャットダウンします。

qm shutdown 101

VM ID 101にシャットダウンシグナルを送信しています。

VMを別のノードに移行する

qm migrate <vmid> <targetnode>

このコマンドは、VMを現在のノードから同じProxmoxクラスター内の別のノードに移行します。

例えば、ID 103のVMをnode2に移行するには、次のコマンドを使用します:

qm migrate 103 node2

VMのスナップショットを取得する

qm snapshot <vmid> <snapshotname>

このコマンドは、VMのスナップショットを作成し、メモリ、ディスク、デバイスの状態を含む現在の状態をキャプチャします。

qm snapshot 103 "before_upgrade"

このコマンドは、ID 103のVMのスナップショットを取得し、それに「before_upgrade」という名前を付けます。リスクのある操作、たとえばソフトウェアのアップグレードを行う前にスナップショットを取得するのは便利です。

スナップショットからVMの状態を復元する

qm rollback <vmid> <snapshotname>

このコマンドは、VMを以前のスナップショットにロールバックし、スナップショットが取得された時点の状態に復元します。

例えば、VM内のソフトウェアアップグレードが失敗した場合、次のコマンドでVMの状態を復元できます:

qm rollback 103 "before_upgrade"

スナップショットが撮影された後に行われた変更は破棄されます(元に戻されます)。

仮想マシンのクローン作成

qm clone <vmid> <newid> [--name <newname>] [--full]

qm cloneコマンドは、既存のVMをクローンして異なるIDの新しいVMを作成します。ディスク全体をクローンする(フルクローン)か、リンクされたストレージのみをクローンするかを選択できます。

qm clone 103 104 --name "DebianClone" --full

このコマンドは、IDが103のVMをID104の新しいVMにクローンし、名前を「DebianClone」とします。fullオプションは、すべてのデータをコピーするフルクローンを作成します。

仮想マシンのディスクのサイズ変更

qm resize <vmid> <disk> <size>

qm resizeコマンドは、VMに接続されている仮想ディスクのサイズを変更するために使用され、拡張または縮小できます。ゲストOSが変更に対応できることを確認してください。

qm resize 103 scsi0 +10G

このProxmox CLIコマンドは、IDが103のVMの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

pvesmコマンドは、Proxmox CLIにおいて、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はストレージタイプに特有の追加オプションを定義します。

例:

VMイメージやISOファイルを保存できる、new-datastore1という名前の新しいディレクトリベースのストレージプールを、/mnt/storage-nameに作成する場合:

pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso

既存のストレージバックエンドをProxmox VEに追加する

このコマンドの原理はpvesm createコマンドと似ていますが、新しいストレージを作成するのではなく、既に存在するストレージをProxmoxの設定に追加して利用可能にします。

例:

192.168.101.100/export/dataにある既存のNFS共有を、test-nfs-storageという名前でProxmox VEに追加する場合:

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プールをVMイメージ、ISOファイル、バックアップファイルを保存できるように変更する方法:

pvesm set local-storage01 --content images,iso,backup

指定したストレージプールに新しいボリュームを割り当ててVMまたはコンテナに使用する

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>

Where:

パスワード <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 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

このコマンドは、VM電源設定を管理し、CD-ROMを構成する権限を持つvmmanagerという役割を作成します。

既存の役割の変更

管理者は、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を設定するオブジェクトパス(例えば、特定のVMのための/vms/100やクラスタ全体のための/)です。

roles <rolename>は割り当てる役割です。

users <userid>は役割が割り当てられるユーザーです。

groups <groupname>は役割が割り当てられるグループです。

例:

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

このコマンドは、VM 104上のvmmanager役割をuser4@pveに割り当て、ユーザー(user4)がvmmanager役割の権限に従ってその特定のVMを管理できるようにします。aclremoveコマンドは、オブジェクトからACLを削除するために使用されます。

認証領域管理

認証領域は、ユーザーがシステムに認証する方法を定義します(例えば、PAM、LDAP、またはActive Directoryを使用)。Proxmox VEではrealmコマンドを使用して認証領域を管理できます。

構文:

pveum realm <command> [options]

ここで、コマンドは:

listは利用可能なすべての領域をリストするためのもの

addは新しい領域を追加するためのもの

modifyは既存の領域を修正するためのものです。

remove 既存のレルムを削除します

たとえば、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 web インターフェースで行われるほとんどのアクションを実行できます。pvesh コマンドは、Proxmox VE REST API のシェルとして機能し、コマンドラインから直接API呼び出しを行うことができます。このコマンドを使用すると、Proxmox 仮想インフラストラクチャの仮想マシン、ストレージ、ネットワーク、およびその他の要素を管理できます。

構文:

pvesh <command> [options]

リソースやAPI エンドポイントをリスト表示

このコマンドは、Linuxのlsコマンドに似ていますが、Proxmox VE環境で利用可能なAPIパスやリソースをリスト表示します。

pvesh ls /path

例:

pvesh ls /cluster/resources

このコマンドは、VM、コンテナ、ストレージを含む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上のVM100の名前をnew-vm-nameに変更します。

リソースの作成

createコマンドを使用すると、新しいリソースを作成できます。たとえば、新しい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

このコマンドは、ノード pve-node1 にID 106 の新しいVMを作成し、名前は new-vm-name、RAMは2GB、CPUコアは2つです。

VMの起動

pvesh を使用してVMまたはコンテナを起動するコマンドがあります:

pvesh start /path

たとえば、ノード pve-node1 にあるID 101 のVMを起動するには、次のコマンドを実行します:

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

VMのシャットダウン

stopコマンドとは異なり、シャットダウンコマンドはVMまたはコンテナを正常にシャットダウンします:

pvesh shutdown /path

たとえば、ProxmoxホストのID 101のVMをシャットダウンするには、その名前が pve-node1 であるコマンドを使用します:

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

すべてのVMの起動

ノードまたはクラスター全体のすべてのVMを起動または停止するには、対応するコマンドを使用できます:

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

クラスタにノードを追加する

既存のProxmoxクラスタに新しいノードを追加するには、addnodeコマンドを使用します。このコマンドは、クラスタに追加したいノードで実行します。

pvecm add <master-node-ip>

例:

IPアドレス192.168.101.121のマスターノードによって制御されるクラスタに現在のProxmoxホストを追加します:

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) 機能を管理するために使用されます。このコマンドラインユーティリティを使用すると、重要な VM の高可用性を構成し、それらが実行されているノードが失敗した場合にクラスター内で再起動する方法を設定できます。Proxmox CLI の hamanager ツールは、Proxmox 高可用性マネージャーと連携します。

構文:

ha-manager <command> [options]

ステータスの表示

HA リソースの現在のステータスを表示するには、次のコマンドを使用します:

ha-manager status

出力は、HA に構成されている VM または CT、現在の状態 (開始、停止)、HA 状態およびフェイルオーバー状態、実行されているノードを表示します。

VM の HA を有効にする

構文:

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

ここで:

<vmid> は、HA に追加する VM または CT の ID です。

group <groupname> は、リソースを追加する HA グループ (オプション) です。

max-restarts <n> は、リソースが失敗した場合の最大再起動試行回数です。

max-migrate-tries <n> は、リソースが再起動できない場合の他のノードへの最大移行試行回数です。

例:

HAマネージャーにID 105のVMを追加し、最大3回の再起動試行と1回の移行試行を設定します:

ha-manager add 105 --max-restarts 3 --max-migrate-tries 1

VMのHAステータスを無効にする

高可用性ステータスを無効にし、HAマネージャーからVMを削除するには、removeコマンドを使用します。

ha-manager remove <vmid>

例えば、ID 105のVMのHAステータスを無効にするには、次のコマンドを実行します:

ha-manager remove 105

コマンドを実行後、そのVMは高可用性リソースとして管理されなくなります。

VM移行

高可用性VMをクラスタ内の別のノードに手動で移行するには、migrate コマンドを使用します:

ha-manager migrate <vmid> <targetnode>

例えば、ID 106のVMを<pve-node2というノードに移行するには、次のコマンドを実行します:

ha-manager migrate 106 pve-node2

8. vzdump

vzdumpコマンドは、Proxmox VEでネイティブのProxmoxツールを使用してバックアップを作成するために使用されます。このコマンドは、VMとコンテナのバックアップをサポートしています。バックアップは.vma、.tgzまたは.lzo形式で保存できます。

構文:

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

ここで:

vmidはバックアップしたいVMまたはコンテナのIDです。

–モード<mode>はバックアップモードを定義します。サポートされているバックアップモードは3つあります:

  • snapshot– Proxmox仮想マシンまたはコンテナのライブスナップショットを取得します。このモードはデフォルトで使用され、VMまたはコンテナが実行中の場合にバックアップを実行できます。
  • suspend– このモードはバックアップを実行する前にVMまたはコンテナを一時停止するため、データの整合性を確保できます。このモードによる短いダウンタイムが欠点です。
  • stop– バックアップを実行する前に仮想マシンまたはコンテナを停止します。このアプローチによりバックアップデータの整合性を保持できますが、より長いダウンタイムが必要です。

–圧縮<type>は圧縮方法を指定するために使用されます。サポートされている3つの圧縮オプションがあります:

  • lzo– Proxmoxバックアップ用の軽量で高速な圧縮(デフォルトで使用)。
  • gzip– より効率的な圧縮方法ですが、データの圧縮には時間がかかります(圧縮が遅い)。
  • zstd– この圧縮タイプは、高い圧縮比と最適なパフォーマンスを提供する現代の圧縮アルゴリズムを使用しています。

–ストレージ<storage>はバックアップファイルの保存先を指定します。これはローカルディレクトリ、NFS共有、またはProxmoxストレージプールである可能性があります。

–最大ファイル数<n>は保持するバックアップファイルの数を制限します。制限に達すると古いバックアップが自動的に削除されます。

remove <mode>は、指定されたモードに従ってバックアップファイルを自動的に削除します。モードには以下が含まれます:

  • old – 新しいバックアップが作成されると、古いバックアップを削除します。
  • fail – 失敗したバックアップのみを削除します。

複数のVMをバックアップ

VMのID 101、102、および103を順番にバックアップします:

vzdump 101 102 103

圧縮してバックアップを保存

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

このオプションを使用したvzdumpコマンドは、次の操作を行います:

  • VM 101のバックアップをローカルという名前のストレージに保存します。ローカルストレージは、Proxmoxホスト上のローカルディレクトリまたはストレージプールである可能性があります。
  • 圧縮にはgzipが使用されます。gzip圧縮で暗号化されたバックアップを作成するには時間がかかる場合がありますが、結果としてバックアップファイルが小さくなります。
  • 最新の3つのバックアップのみが保持され、古いものは自動的に削除されます。

ログファイルを省略

vzdump 102 --exclude-path /var/log

VM 102をバックアップしますが、/var/logディレクトリを除外し、ログファイルを省略することでバックアップのサイズを減らします。

古いバックアップを削除

vzdump 101 --storage nfs-backup --maxfiles 5 --remove old

これは古いバックアップを削除する自動バックアップです。VM 101をバックアップし、バックアップをnfs-backupストレージに保存し、最新の5つのバックアップのみを保持し、古いバックアップは自動的に削除します。

スナップショットモードでバックアップ

vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7

すべてのVMとコンテナのバックアップ(夜間バックアップなど)をスナップショットバックアップモードを使用して作成します。バックアップはというNFS共有に保存されます。帯域幅は20480 Kバイト/秒(20 MBps)に制限され、ネットワークの過負荷を防ぎます。最新の7つのバックアップのみが保持され、古いバックアップは自動的に削除されます。

9. qmrestore

qmrestoreコマンドは、Proxmox仮想環境でvzdumpコマンドを使用して作成されたバックアップから仮想マシンを復元するために使用されます。これらのvzdumpおよびqmrestoreコマンドは、VMのバックアップと復元のためのネイティブなProxmoxツールです。バックアップは新しいVMまたは既存のVMに復元できます。

構文:

qmrestore [options] <backupfile> <vmid>

ここで:

<backupfile>は復元したいバックアップファイルのパスです。このファイルは通常vzdumpコマンドによって生成され、ディレクトリまたはネットワークストレージデバイスに保存されます。

<vmid>は復元したいVMのIDです。VM IDがすでに存在する場合、特定のオプションを使用してこれを防がない限り、既存のVMが上書きされます。

コマンドオプション:

forceは、同じIDの既存のVMを上書きするために使用され、確認の質問はありません。このオプションを使用すると、同じIDの仮想マシンの現在の状態を失っても構わない場合にVMを復元できます。

uniqueは、復元されたVMに対して新しい一意のVM IDを生成するために使用されます。既存のVMを上書きせずに新しいVMを作成することでバックアップを復元する場合は、このオプションの使用を検討してください。

storage <storage>は、復元されたVMの仮想ディスクイメージのターゲットストレージ場所を指定します。このオプションが指定されていない場合、VMは元のストレージまたはデフォルトのストレージに復元されます。

pool <pool>は、復元されたVMをProxmox仮想環境内の特定のリソースプールに割り当てることを可能にします。リソースプールは、仮想マシンをグループ化して管理を容易にするために使用されます。

hostname <name>は、復元されたVMのホスト名を設定します。このオプションは、復元されたVMのホスト名を元のホスト名とは異なるものに設定したい場合に便利です。

name <name>は、復元されたVMのカスタム名(Proxmoxユーザーインターフェースに表示される名前)を設定します。これは、バックアップされた元のVM名とは異なるものです。

元のIDにVMを復元する

元のIDにVMを復元する:

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 の VM に復元します。もし ID 101 の VM が既に存在する場合、それは上書きされます。

新しい VM にバックアップを復元する

新しい VM にバックアップを復元する:

qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 102 --storage local-lvm

このコマンドはバックアップを ID 102 の新しい VM に復元し、そのディスクイメージを local-lvm ストレージに保存します。

ホスト名と VM 名を変更して復元する

バックアップを復元し、ホスト名と名前を変更する:

qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"

バックアップを ID 103 の新しい VM に復元し、VM の名前を 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 <アーカイブ名> <パス> --repository <リポジトリ> [オプション]

ここで:

<アーカイブ名>はバックアップアーカイブに付けたい名前です。

<パス>はバックアップを取りたいディレクトリまたはファイルのパスを定義します。

repository <リポジトリ>はProxmox Backup Server上のターゲットリポジトリであり、通常はuser@pbs:datastoreの形式です。

例:

proxmox-backup-client backup etc.pxar /etc --repository root@[email protected]:datastore1

このコマンドは、/etcディレクトリをProxmox Backup Serverの10.10.10.101にあるdatastore1にバックアップします。バックアップはetc.pxarという名前のアーカイブとして保存されます。

リストアコマンドの基本構文

リストアコマンドは、proxmox-backup-clientコマンドラインツールを使用してProxmox Backup Serverからローカルシステムにデータを復元するために使用されます。

proxmox-backup-client restore <アーカイブ名> <パス> --repository <リポジトリ> [オプション]

ここで:

<アーカイブ名>は復元したいアーカイブの名前です。

<パス>はデータが復元されるパスです。

repository <リポジトリ>はバックアップが保存されているリポジトリです。

例:

proxmox-backup-client restore etc.pxar /restore/etc --repository root@[email protected]:datastore1

このコマンドは、Proxmox Backup Serverのetc.pxarアーカイブをdatastore1からローカルディレクトリ/restore/etcにある10.10.10.101のProxmox Backup Serverに復元します。

Conclusion

Proxmox CLIコマンドは、ストレージ、仮想マシン、クラスタ、VMバックアップなどProxmox仮想環境を管理する強力なツールセットです。包括的なVMバックアップ戦略を実装したい場合は、NAKIVO Backup&Replicationをインストールし、Proxmox VE VMのエージェントレスバックアップ機能を使用してください。

Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands/