すべての管理者が知っておくべきProxmox CLIコマンドトップ10
Proxmoxの仮想環境(VE)は、Webブラウザ上の使いやすいグラフィカルインターフェースで管理できます。ただし、特定の状況では、コマンドラインインターフェース(CLI)を使用するほうが適しています。CLIには、より詳細な設定、バッチ処理、スクリプト作成、自動化といった利点があります。
Proxmox仮想環境を管理するには、標準的なLinuxコマンドとProxmox固有のコマンドがあります。このブログ記事では、効果的な管理に役立つProxmox固有のコマンドトップ10を、具体例を交えて紹介します。
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

新しい仮想マシンの作成
一般的な構文:
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 にシャットダウンシグナルを送信しています。

別のノードへの VM の移行
qm migrate <vmid>
<targetnode>
このコマンドは、現在のノードから同じ Proxmox クラスター内の別のノードに VM を移行します。
たとえば、ID 103をnode2に移行する 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コマンドを実行します。

ステータスを確認する
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>

すべてのストレージプールまたは特定のストレージプールの状況を確認中です
pvesm status
出力には、ストレージプールの状況が表示されます。アクティブまたは非アクティブの状態、ストレージタイプ、現在の使用状況が含まれています。
新しいストレージプールを作成中です
pvesm create <type> <storage-id> --options
ここで:
は作成するストレージバックエンドのタイプです(例:dir、lvm、nfs、zfs)。
<type>
<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.Networkにvmmanager特権を追加します。
ACLの変更
Proxmoxの管理者は、特定のProxmoxオブジェクトにユーザーやグループのロールを割り当てることでアクセス制御リスト(ACL)を変更できます。
構文:
pveum aclmod <path> --roles <rolename> --users <userid> --groups <groupname>
ここで:
はACLを設定するオブジェクトパス(例:特定のVM用の/vms/100 やクラスター全体の/)です。
<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

既存のユーザーの管理
このユーザーコマンドを使用して、既存のユーザーの一覧表示、編集、削除を行うことができます。
構文:
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
情報を取得したい API パス path
例として、ノード pve-node1 の CPU ロード、メモリ使用量、稼働時間などのステータス情報を取得するには、次のコマンドを使用します:
pvesh get /nodes/pve-node1/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>
次のとおりです:
は、HAに追加したいVMまたはCTのIDです。
<vmid>
--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 101、102、および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コマンドによって生成され、ディレクトリまたはネットワークストレージデバイスに保存されます。
は復旧したい仮想マシンのIDです。仮想マシンIDが既に存在する場合、このオプションが使用されない限り、既存の仮想マシンは上書きされます。
<vmid>
コマンドオプション:
--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 向けのエージェントレスバックアップ機能を利用してください。