すべての管理者が知っておくべきProxmox CLIコマンドトップ10

Proxmoxの仮想環境(VE)は、Webブラウザ上の使いやすいグラフィカルインターフェースで管理できます。ただし、特定の状況では、コマンドラインインターフェース(CLI)を使用する方が適している場合があります。CLIには、より詳細な設定、バッチ処理、スクリプト作成、自動化といった利点があります。

Proxmox仮想環境を管理するには、標準的なLinuxコマンドとProxmox固有のコマンドがあります。このブログ記事では、効果的な管理に役立つProxmox固有のコマンドトップ10を、具体例を交えて紹介します。

Proxmox向けNAKIVOバックアップ

Proxmox向けNAKIVOバックアップ

Proxmox VE 向けのエージェントレスでアプリケーションを認識するバックアップ機能。不変のクラウドバックアップを含む複数の保存先に対応しています。インスタントな粒度別復旧や完全復旧など、複数の復旧オプションを用意しています。

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

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 103DebianVM“という名前の、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 にシャットダウン信号を送信します。

Proxmox CLI shutdown 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 コマンドを実行すると、主なコマンドの使用方法を確認できます。

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 は、ストレージタイプに固有の追加オプションを定義します。

例:

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>

ここで:


<path>
は、ACLを設定するオブジェクトのパスです(例: /vms/100 は特定のVM、/ はクラスタ全体)。

--roles <rolename> は割り当てるロールです。

--users <userid> は、そのロールが割り当てられるユーザーです。 --groups <groupname> は、そのロールが割り当てられるグループです。

例:

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

このコマンドは、VM vmmanager上の user4@pve104 ロールを割り当て、ユーザー (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

Checking the Proxmox authentication realm configuration

既存のユーザーの管理

この user コマンドを使用して、既存のユーザーの一覧表示、編集、削除を行うことができます。

構文:

pveum user <command>
<userid> [options]

利用可能なコマンドは以下の通りです:

list すべてのユーザーを一覧表示する

modify パスワードの変更やコメントの更新など、ユーザーの詳細情報を変更する

delete ユーザーを削除する

例えば、Proxmoxホスト上のすべてのユーザーを一覧表示するには、次のコマンドを使用します:

pveum user list

利用可能なコマンドやオプションの詳細を確認するには、Proxmox CLIで pveum help コマンドを実行してください。

Proxmox VE には NAKIVO Backup & Replication を試してみてください

Proxmox VE には NAKIVO Backup & Replication を試してみてください

15日間の無料トライアルをご利用いただくと、ネイティブな変更追跡機能、不変ストレージ、および即時フル復元・詳細復元オプションを備えた、エージェントレスで増分方式のProxmox VMバックアップを実行できます。

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

Checking the Proxmox host 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>

ここで:


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

--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 101102103 の順に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 コマンドによって生成され、ディレクトリまたはネットワークストレージデバイスに保存されます。


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

コマンドオプション:

--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 向けのエージェントレスバックアップ機能を利用してください。

NAKIVO Backup & Replication をお試しください

NAKIVO Backup & Replication をお試しください

無料トライアルを利用して、本ソリューションのデータ保護機能をすべてお試しください。15日間無料。機能や容量の制限は一切ありません。クレジットカードも不要です。

関連記事