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

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

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

Proxmox用NAKIVOバックアップ

Proxmox用NAKIVOバックアップ

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

1. qm

このqm コマンドは、Proxmox CLI の主要なコマンドの1つであり、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“とともに VM を作成し、2GB RAM、1 ソケット、2 コア、そして vmbr0 にブリッジされる Virtio ネットワークインターフェースを持つことを示します。OS の種類は l26 で示されるように Linux です。

ディスクの 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

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

ブート順序の設定

qm set 105 --boot order=ide2;scsi0

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

仮想マシンの起動

構文:

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>

このコマンドは、VM を正常にシャットダウンし、ゲスト OS がファイルを閉じ、プロセスを適切に終了できるようにします。

qm shutdown 101

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

Proxmox CLI shutdown VM

別のノードへの VM の移行

qm migrate <vmid>
<targetnode>

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

たとえば、ID 103node2に移行する VM に対してコマンドを使用します:

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ディスクのサイズをVMID 103で10GB増やします。

2. pve-firewall

このpve-firewallコマンドは、Proxmox仮想環境(Proxmoxクラスターを含む)のファイアウォール設定を管理するために使用されます。このProxmox CLIコマンドは、ファイアウォールルールを設定するためのフレンドリーなオプションを提供し、Proxmoxノード、仮想マシン、およびコンテナへの出入のネットワークトラフィックを管理者が制御できるようにします。ProxmoxファイアウォールはProxmox管理インターフェースと緊密に統合されており、Proxmox全体の環境でのファイアウォール管理をより便利にします。このツールは特にProxmox VEのために開発されており、より詳細で手動のアプローチを使用するものより高水準の抽象化を使用してファイアウォールルールを管理します。pve-firewallツールは、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アクセスを許可するルールを作成します。

Where: 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 に作成し、VMイメージとISOファイルを格納できます:

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

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

このコマンドの原則は pvesm create コマンドと同様ですが、新しいストレージを作成する代わりに、既に存在するストレージがProxmox構成に追加されて利用可能になります。nn例:

NFS共有が 192.168.101.100 /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>

例:

ローカルストレージ名プールに10 GB のボリュームをVM 100用に割り当てるコマンド:

pvesm alloc local-storage-name 100 10G

4. pveum

Proxmoxバーチャル環境は、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

このコマンドは、VMの電源設定管理とCD-ROM設定の権限を持つロールvmmanagerを作成します。

既存のロールの修正

管理者はrolemodコマンドを使用して(特権の追加または削除)既存のロールと権限を修正できます。

構文:

pveum rolemod <rolename> --privs <privileges>

例:

pveum rolemod vmmanager --privs +VM.Config.Network

このコマンドは、ロールVM.Config.Networkvmmanager特権を追加します。

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 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

Checking the Proxmox authentication realm configuration

既存のユーザーの管理

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

構文:

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 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

情報を取得したい API パス path

例として、ノード 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 に変更します。

リソースの作成

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

たとえば、ID 101 という名前の Proxmox ホスト上の pve-node1 を持つ VM をシャットダウンするには、このコマンドを使用します: pvesh shutdown /nodes/pve-node1/qemu/101

すべての仮想マシンを起動しています

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

pvesh startall /nodes/<nodename>

pvesh stopall /nodes/<nodename>

6. pvecm

このpvecmコマンドは、Proxmoxクラスター管理用のツールで、クラスターの管理と構成に使用されます。このツールを使用して、クラスターを作成し、Proxmoxクラスター内のノードを参加および管理できます。クラスターは、例えば高可用性、ライブ仮想マシン移行、共有ストレージなどの機能を持つ単一のエンティティとして管理されます。

構文:

pvecm <command> [options]

サポートされているすべてのpvecmコマンドを確認するには、次のコマンドを実行します:

man pvecm

クラスターの作成

新しいProxmox VEクラスターを作成するには、createコマンドを使用できます。このコマンドは、クラスターを形成する最初のノード(マスターノード)で実行する必要があります。

pvecm create <clustername>

例:

以下のコマンドは、cluster01という名前のクラスターを作成します。このノード(コマンドを実行する場所)がクラスターのマスターノードになります。

pvecm create cluster01

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

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

pvecm add <master-node-ip>

例:

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

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 コマンドは、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> は、リソースを再起動できない場合に別のノードに移行する最大試行回数です。

例:

ID 105 を使用してVMをHAマネージャーに最大3回の再起動試行と失敗時に1回の移行試行付きで追加する:

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

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

仮想マシンの高可用性ステータスを無効にし、VMをHAマネージャーから削除するには、remove コマンドを使用してください。

ha-manager remove <vmid>

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

ha-manager remove 105

コマンドの実行後、VMはもう高可用リソースとして管理されません。

VMの移行

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

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 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 101102、および103を順次使用してVMをバックアップ:

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

VM102をバックアップしますが、/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キロバイト毎秒(20 MBps)に制限されています。過去7回のバックアップのみが保持され、古いバックアップは自動的に削除されます。

9. qmrestore

qmrestoreコマンドは、Proxmox仮想環境でvzdumpコマンドを使用して作成されたバックアップから仮想マシンを復旧するために使用されます。これらの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 のストレージに保存します。

復元およびホスト名とVM名の変更

バックアップの復元とホスト名および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のネイティブバックアップソリューションである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 向けのエージェントレスバックアップ機能を利用してください。

NBRをお試しください

NBRをお試しください

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

関連記事