すべての管理者が知っておくべき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 を作成します。この VM には、2GB の RAM、1 ソケット、2 コア、そして vmbr0 にブリッジされた Virtio ネットワークインターフェースが設定されます。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
このコマンドは、ゲストオペレーティングシステムのインストールや他の目的で 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の 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ディスクのサイズをVMID 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 はストレージタイプに固有の追加オプションを定義します。
例:
ディレクトリベースのストレージプールを new-datastore1 の名前で /mnt/storage-name に作成し、VMイメージとISOファイルを格納できます:
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>
ここで:
--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
ここで、path は情報を取得したい API パスです。
例として、ノード 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
すべての 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>
例:
現在のProxmoxホストを、IPアドレス 192.168.101.121 を持つマスターノードによって制御されるクラスターに追加:
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>
次のとおりです:
は、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のバックアップを local という名前のストレージに保存します。ローカルストレージはProxmoxホストのローカルディレクトリまたはストレージプールです。gzip圧縮が使用されます。gzip圧縮を使用して暗号化されたバックアップの作成は時間がかかる場合がありますが、小さなバックアップファイルが得られます。- 最新のバックアップ3つだけを保持し、古いものは自動的に削除されます。
ログファイルを省略します
vzdump 102 --exclude-path /var/log
VM102をバックアップしますが、/var/log directoryを除外することでログファイルを省略してバックアップサイズを削減します。
古いバックアップを削除
vzdump 101 --storage nfs-backup --maxfiles 5 --remove old
これは自動化されたバックアップで、古いバックアップの削除を行います。 VM101のバックアップを行い、nfs-backupのストレージにバックアップを保存し、最新の5つのバックアップのみを保持し、古いバックアップは自動的に削除されます。
スナップショットモードでのバックアップ
vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7
すべてのVMとコンテナのバックアップ(夜間バックアップなど)を、スナップショットバックアップモードで作成します。バックアップはnfs-backupというNFS共有に保存されます。ネットワークが過負荷にならないように帯域幅は20480キロバイト毎秒(20 MBps)に制限されています。直近7つのバックアップのみが保持され、古いバックアップは自動的に削除されます。
9. qmrestore
qmrestoreコマンドは、Proxmox仮想環境でvzdumpコマンドを使用して作成されたバックアップから仮想マシンを復元するために使用されます。これらのvzdumpおよびqmrestoreコマンドは、VMのバックアップと復旧のためのProxmoxのネイティブツールです。バックアップは新規または既存のVMに復元することができます。
構文:
qmrestore [options] <backupfile>
<vmid>
ここで:
は復元したいバックアップファイルへのパスです。このファイルは通常、
<backupfile>
vzdumpコマンドによって生成され、ディレクトリまたはネットワークストレージデバイスに保存されます。
は復元したいVMのIDです。VM IDが既に存在する場合、これを防ぐ特定のオプションを使用しない限り、既存のVMは上書きされます。
<vmid>
コマンドオプション:
--forceは同じIDの既存のVMを上書きするために使用され、確認メッセージは表示されません。このオプションは、同じIDのVMの現在の状態が失われても問題ない場合に、VMを復元するために使用できます。
--uniqueは復元されたVMに新しい一意のVM IDを生成するために使用されます。既存のVMを上書きせずに新しいVMを作成してバックアップを復元するには、このオプションの使用を検討してください。
--storage <storage>は復元されたVMの仮想ディスクイメージの保存先を指定します。このオプションが指定されない場合、VMは元のストレージまたはデフォルトのストレージに復元されます。
--pool <pool>は復元されたVMをProxmox仮想環境の特定のリソースプールに割り当てることを可能にします。リソースプールは、管理しやすいようにVMをグループ化するために使用されます。
--hostname <name>は復元されたVMのホスト名を設定します。このオプションは、元のホスト名とは異なるホスト名を復元されたVMに設定したい場合に便利です。
--name <name>は復元されたVMのカスタム名(Proxmoxユーザーインターフェースに表示される名前)を設定します。これはバックアップされた元のVM名とは異なります。
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"
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 向けのエージェントレスバックアップ機能を利用してください。