すべての管理者が知っておくべきProxmox CLIコマンドトップ10
Proxmoxの仮想環境(VE)は、Webブラウザ上の使いやすいグラフィカルインターフェースで管理できます。ただし、特定の状況では、コマンドラインインターフェース(CLI)を使用する方が適している場合があります。CLIには、より詳細な設定、バッチ処理、スクリプト作成、自動化といった利点があります。
Proxmox仮想環境を管理するには、標準的なLinuxコマンドとProxmox固有のコマンドがあります。このブログ記事では、効果的な管理に役立つProxmox固有のコマンドトップ10を、具体例を交えて紹介します。
1. qm
qm コマンドは、Proxmox CLI の主要なコマンドの一つであり、 qm は QEMU Manager の略称です。これは、Proxmox 仮想環境(Proxmox VE)内の仮想マシン(VM)を管理するために使用されます。 Proxmox上の仮想マシンはQEMU/KVMベースであり、 qm コマンドはそれらを操作します。このコマンドを使用すると、仮想マシンの作成、編集、設定、起動、停止、および移行を行うことができます。
コマンドの一般的な構文は次のとおりです:
qm [options] <command> [arguments]
仮想マシンの一覧表示
仮想マシンのステータスと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“という名前の、2GB の RAM、1 ソケット、2 コア、および vmbr0にブリッジされた Virtio ネットワークインターフェースを持つ VM を作成します。OS タイプは Linux です( l26で示されています)。
VMへのディスクの接続
qm set 105 --scsi0 local-lvm:32G
SCSIインターフェースを使用して、32GBのディスクをVMに接続します。
OSインストール用のCD-ROMの接続
qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
このコマンドは、ゲストOSのインストールやその他の目的のために、DebianのISOファイルをVMのIDE CD-ROMドライブに接続します。
ブート順序の設定
qm set 105 --boot order=ide2;scsi0
この例で使用されるコマンドは、VMがまずCD-ROM(IDE2)から、次にディスク(SCSI0)から起動するように設定します。
仮想マシンの起動
構文:
qm start <vmid>
例:
qm start 103
以下のコマンドでVMを起動します ID 103
VMの停止
qm stop <vmid>
このコマンドは、実行中のVMを直ちに停止します。この停止方法は、物理マシンの電源プラグを抜くのと同じです。
qm stop 103
以下のコマンドでVMを停止します ID 103.
Proxmox CLI での VM のシャットダウン
qm shutdown <vmid>
このコマンドは、ゲスト OS がファイルを閉じ、プロセスを適切に終了できるようにして、VM を正常にシャットダウンします。
qm shutdown 101
ID 101を使用して VM にシャットダウン信号を送信します。

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 を、 ID 104を持つ新しい VM にクローンし、その名前を "DebianClone"とします。 --full オプションは、すべてのデータをコピーするフルクローンを作成します。
仮想マシンのディスクのサイズ変更
qm resize <vmid>
<disk>
<size>
qm resize コマンドは、VM に接続された仮想ディスクのサイズを変更(拡大または縮小)するために使用されます。ゲスト OS がこの変更に対応できることを確認してください。
qm resize 103 scsi0 +10G
この Proxmox CLI コマンドは、 scsi0 を使用している VM 上の 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 コマンドを実行すると、主なコマンドの使用方法を確認できます。

ステータスの確認
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
ここで:
は、作成するストレージバックエンドのタイプです(例:dir、lvm、nfs、zfs)。
<type>
<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 にある既存のNFS共有(パス: /export/data )を、 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>
ここで:
--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 という名前のロールを作成し、VMの電源設定の管理および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>
ここで:
は、ACLを設定するオブジェクトのパスです(例: /vms/100 は特定のVM、/ はクラスタ全体)。
<path>
--roles <rolename> は割り当てるロールです。
--users <userid> は、そのロールが割り当てられるユーザーです。 --groups <groupname> は、そのロールが割り当てられるグループです。
例:
pveum aclmod /vms/104 --roles vmmanager --users user4@pve
このコマンドは、VM vmmanager上の user4@pve に 104 ロールを割り当て、ユーザー (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

既存のユーザーの管理
この user コマンドを使用して、既存のユーザーの一覧表示、編集、削除を行うことができます。
構文:
pveum user <command>
<userid> [options]
利用可能なコマンドは以下の通りです:
list すべてのユーザーを一覧表示する
modify パスワードの変更やコメントの更新など、ユーザーの詳細情報を変更する
delete ユーザーを削除する
例えば、Proxmoxホスト上のすべてのユーザーを一覧表示するには、次のコマンドを使用します:
pveum user list
利用可能なコマンドやオプションの詳細を確認するには、Proxmox CLIで pveum help コマンドを実行してください。
5. pvesh
pvesh コマンドを使用することで、管理者は Proxmox REST API を操作できます。このコマンドラインツールを使用すると、Proxmox Web インターフェースで実行可能なほぼすべての操作を、Proxmox CLI から直接実行できます。 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
このコマンドは、ノード 100 上の VM pve-node1 の名前を 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
このコマンドは、ノード 106上に、ID pve-node1 、名前 new-vm-name、2 GB の RAM、2 つの CPU コアを持つ新しい VM を作成します。
VMの起動
pveshを使用してVMやコンテナを起動するコマンドがあります:
pvesh start /path
たとえば、ノード ID 101上で pve-node1 というVMを起動するには、次のコマンドを実行します:
pvesh start /nodes/pve-node1/qemu/101
VMのシャットダウン
stop コマンドとは異なり、shutdown コマンドはVMやコンテナを正常にシャットダウンします:
pvesh shutdown /path
たとえば、Proxmoxホスト ID 101上で pve-node1 というVMをシャットダウンするには、次のコマンドを使用します: pvesh shutdown /nodes/pve-node1/qemu/101
すべてのVMを起動する
ノード上またはクラスタ全体にあるすべてのVMを起動または停止するには、対応するコマンドを使用します:
pvesh startall /nodes/<nodename>
pvesh stopall /nodes/<nodename>
6. pvecm
pvecm コマンドは、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
クラスタからのノードの削除
Proxmox CLI では、 delnode コマンドを使用して、クラスタからノードを削除します。
構文:
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 High Availability Manager と連携します。
構文:
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>
ここで:
は、HA に追加する VM または CT の ID です。
<vmid>
--group <groupname> は、リソースを追加する HA グループです(オプション)。
--max-restarts <n> は、リソースが障害を起こした場合の再起動試行の最大回数です。
--max-migrate-tries <n> は、リソースを再起動できない場合に、別のノードへの移行を試行する最大回数です。
例:
ID 105 を持つ VM を、障害発生時に最大 3 回の再起動試行と 1 回の移行試行を設定して HA マネージャーに追加する場合:
ha-manager add 105 --max-restarts 3 --max-migrate-tries 1
VM の HA ステータスを無効にする
remove コマンドを使用して、仮想マシンの高可用性ステータスを無効にし、その VM を HA マネージャーから削除します。
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のネイティブツールを使用してバックアップを作成するために使用されます。このコマンドは、VMおよびコンテナのバックアップをサポートしています。バックアップは .vma, .tgz or .lzo 形式で保存できます。
構文:
vzdump [options] <vmid> [<vmid2> ...]
ここで:
vmid は、バックアップ対象のVMまたはコンテナのIDです。
--mode <mode> はバックアップモードを指定します。サポートされているバックアップモードは3つあります:
snapshot– Proxmoxの仮想マシンまたはコンテナのライブスナップショットを取得します。 このモードはデフォルトで使用され、VM やコンテナが実行中の状態でバックアップを実行できます。suspend– このモードでは、バックアップの前に VM やコンテナを一時停止させるため、データの一貫性を確保できます。 このモードでは、短時間のダウンタイムが発生するというデメリットがあります。stop– バックアップを実行する前に仮想マシンまたはコンテナを停止します。この方法ではバックアップデータの一貫性を維持できますが、より長いダウンタイムが必要となります。
--compress <type> は、圧縮方法を指定するために使用されます。サポートされている圧縮オプションは3つあります:
lzo– Proxmoxバックアップ向けの軽量かつ高速な圧縮(デフォルトで使用されます)。gzip– より効率的な圧縮方法ですが、データの圧縮に時間がかかります(圧縮速度が遅い)。zstd– この圧縮タイプは、最適なパフォーマンスで高い圧縮率を実現する最新の圧縮アルゴリズムを使用します。
--storage <storage> は、バックアップファイルの保存先を指定します。ローカルディレクトリ、NFS共有、またはProxmoxストレージプールが指定可能です。
--maxfiles <n> は、保持するバックアップファイルの数を制限します。制限数に達すると、古いバックアップは自動的に削除されます。
--remove <mode> は、指定されたモードに従ってバックアップファイルを自動的に削除します。 モードには以下があります:
old– 新しいバックアップが作成されると、古いバックアップを削除します。fail– 失敗したバックアップのみを削除します。
複数のVMをバックアップします。
IDs 101、 102、 103 の順にVMをバックアップします。
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
VM 102 をバックアップしますが、 /var/log directoryは除外され、ログファイルを省略することでバックアップのサイズを縮小します。
古いバックアップを削除します。
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-backup“というNFS共有に保存されます。 ネットワークの過負荷を防ぐため、帯域幅は 1 秒あたり 20480 Kバイト(20 MBps)に制限されています。最新の 7 つのバックアップのみが保持され、それより古いバックアップは自動的に削除されます。
9. qmrestore
qmrestore コマンドは、Proxmox 仮想環境において、 vzdump コマンドを使用して作成されたバックアップから仮想マシンを復元するために使用されます。これらの vzdump および qmrestore コマンドは、VM のバックアップと復元のための Proxmox ネイティブツールです。 バックアップは、新規または既存の仮想マシンに復元できます。
構文:
qmrestore [options] <backupfile>
<vmid>
ここで:
は、復元したいバックアップファイルへのパスです。このファイルは通常、
<backupfile>
vzdump コマンドによって生成され、ディレクトリまたはネットワークストレージデバイスに保存されます。
は、復元したい仮想マシンのIDです。VM IDがすでに存在する場合、これを防ぐための特定のオプションを使用しない限り、既存の仮想マシンは上書きされます。
<vmid>
コマンドオプション:
--force は、同じ ID を持つ既存の VM を上書きするために使用され、確認のメッセージは表示されません。このオプションは、同じ ID を持つ仮想マシンの現在の状態が失われても構わない場合に、VM を復元するために使用できます。
--unique は、復元された VM に対して新しい一意の VM ID を生成するために使用されます。既存の VM を上書きせずに新しい VM を作成してバックアップを復元する場合は、このオプションの使用を検討してください。
--storage <storage> は、復元されたVMの仮想ディスクイメージの保存先を指定します。このオプションが指定されていない場合、VMは元のストレージまたはデフォルトのストレージに復元されます。
--pool <pool> を使用すると、Proxmox仮想環境内の特定のリソースプールに復元されたVMを割り当てることができます。リソースプールは、管理を容易にするために仮想マシンをグループ化するために使用されます。
--hostname <name> は、復元されたVMのホスト名を設定します。 このオプションは、復元されたVMに元のホスト名とは異なるホスト名を設定したい場合に便利です。
--name <name> は、バックアップされた元のVM名とは異なる、復元されたVMのカスタム名(Proxmoxのユーザーインターフェースに表示される名前)を設定します。
VMを元のIDに復元
VMを元の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 のVMに復元します。 ID 101 という名前の VM がすでに存在する場合、その 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名の変更
バックアップの復元とホスト名およびVM名の変更:
qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"
バックアップを新しいVMに復元し、 ID 103を使用し、VMの名前を MyRestoredVM に変更し、ホスト名を restored-vmに設定します。
10. proxmox-backup-client
proxmox-backup-client コマンドは、ProxmoxのネイティブバックアップソリューションであるProxmox Backup Serverと連携して使用されるコマンドラインユーティリティであり、バックアップおよび復元操作に使用されます。 このツールを使用すると、管理者は仮想マシン、コンテナ、およびその他の種類のデータを保護できます。 proxmox-backup-client ツールは、Proxmox Backup Server (PBS) と連携してバックアップを管理します。
構文:
proxmox-backup-client <command> [options]
backup コマンドの基本構文は次のとおりです。
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という名前のアーカイブとして保存されます。
restoreコマンドの基本構文
proxmox-backup-client コマンドラインツールのrestoreコマンドは、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 10.10.10.101 にある Proxmox Backup Server の datastore1 から、 アーカイブをローカルディレクトリ /restore/etcに復元します。
結論
Proxmox CLI コマンドは、ストレージ、仮想マシン、クラスタ、VM バックアップなどを含む Proxmox 仮想環境を管理するための強力なツールセットです。包括的な VM バックアップ戦略を実装したい場合は、NAKIVO Backup & Replication をインストールし、Proxmox VE VM 向けのエージェントレスバックアップ機能を利用してください。