目次
- qm:VM(QEMU/KVM)の管理
- pve-firewall:内蔵ファイアウォールの管理
- pvesm:ストレージ管理
- pveum:ユーザー/ロール管理
- pvesh:Proxmox API シェル
- pvecm:クラスタ管理(Corosync)
- ha-manager:HA(高可用性)管理
- vzdump:バックアップ取得
- qmrestore:バックアップからのVM復元
- proxmox-backup-client:Proxmox Backup Server 連携
1. qm:VM(QEMU/KVM)の管理
qm
は Proxmox の中核CLIで、VMの作成・設定変更・起動停止・スナップショット・マイグレーションなどを行います。
- 基本書式:
qm [options] <command> [arguments]
代表的なサブコマンドと例
# VM一覧(ID/状態を確認)
qm list
# VM新規作成(ID=103、2GB RAM、2 vCPU、vmbr0へVirtIO NIC)
qm create 103 --name "DebianVM" --memory 2048
\--net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26
# ディスク追加(SCSI 32GB)
qm set 105 --scsi0 local-lvm:32G
# CD-ROM(ISO)をアタッチ
qm set 105 --ide2 local\:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
# ブート順の設定(まずCD、次にディスク)
qm set 105 --boot order=ide2;scsi0
# 起動/停止/シャットダウン
qm start 103
qm stop 103
qm shutdown 101
# 同一クラスタ内の別ノードへライブ/オフライン移行
qm migrate 103 node2
# スナップショット取得とロールバック
qm snapshot 103 "before\_upgrade"
qm rollback 103 "before\_upgrade"
# クローン作成(フル)
qm clone 103 104 --name "DebianClone" --full
# ディスク容量を拡張(+10GB)
qm resize 103 scsi0 +10G
2. pve-firewall:内蔵ファイアウォールの管理
ノード/データセンター/VM/CT 単位のルールをCLIから制御します(GUIの「Firewall」と同等の機能)。ゾーンやグループ、マクロを用いた一貫性のあるポリシー管理が可能です。
# 有効化
pve-firewall enable
# 状態確認(ルールや有効化状況)
pve-firewall status
# ログのフォロー
pve-firewall log --follow
3. pvesm:ストレージ管理
pvesm
は Proxmox VE Storage Manager。ディレクトリ、LVM、ZFS、NFS、CIFS/SMB、Ceph、Proxmox Backup Server などのストレージ追加・表示・検査を行います。
# 既存ストレージの状態
pvesm status
# ストレージの内容(ボリューム)一覧
pvesm list local
# NFSストレージを追加(例)
pvesm add nfs nfs-backup --server 192.168.1.10
\--export /volume1/proxmox --content images,backup
4. pveum:ユーザー/ロール管理
pveum
は Proxmox のユーザー、グループ、ロール(RBAC)をCLIで操作します。組織の権限設計や自動化に有用です。
# ユーザー追加(ローカルレルム)
pveum user add user1@pve --password 'STRONG_PASS'
# 既存ロールの一覧
pveum role list
# パス /vms/100 における "PVEVMAdmin" 権限を付与
pveum aclmod /vms/100 --user user1\@pve --roles PVEVMAdmin
5. pvesh:Proxmox API シェル
pvesh
は Proxmox REST API をローカルから叩くためのシェル。クラスタ情報の取得、VM/CT/ストレージの各種操作の自動化で重宝します。
# 次の空きVMIDを取得
pvesh get /cluster/nextid
# クラスタ内ノード一覧
pvesh get /nodes
# VM 100 の設定を取得
pvesh get /nodes/\/qemu/100/config
6. pvecm:クラスタ管理(Corosync)
pvecm
は Proxmox クラスタの作成・参加・状態確認などを行います。Corosync を用いた信頼性の高いノード間通信を前提とします。
# 新規クラスタ作成(マスターノード側)
pvecm create my-cluster
# 参加(ジョイン)コマンドの生成(トークン)
pvecm addnode \
# クラスタの状態
pvecm status
# ノード一覧
pvecm nodes
7. ha-manager:HA(高可用性)管理
ha-manager
は VM/CT のHA設定(リソース登録、グループ、フェンシング、フェイルオーバー動作)を行います。クラスタと適切な共有ストレージ、フェンス機構が前提です。
# VM 100 をHA管理に登録
ha-manager add vm:100
# HAリソースの一覧
ha-manager status
# リソース削除
ha-manager remove vm:100
8. vzdump:バックアップ取得
vzdump
は VM/CT のバックアップ(スナップショット)を生成します。スケジュールやフック、圧縮・帯域制御など豊富なオプションを備えます。
# VM 100 をスナップショットモードでバックアップし、/mnt/backup へ保存
vzdump 100 --mode snapshot --storage nfs-backup --compress zstd
# 複数VMを対象に(ID列挙)
vzdump 100 101 102 --mode snapshot --storage pbs-repo
9. qmrestore:バックアップからのVM復元
qmrestore
は vzdump
で取得したバックアップから VM を復元します。新しい VMID で別名復元も可能です。
# バックアップ(.vma.zst 等)から VMID 200 として復元
qmrestore /mnt/backup/vzdump-qemu-100-*.vma.zst 200 --storage local-lvm
10. proxmox-backup-client:Proxmox Backup Server 連携
Proxmox Backup Server(PBS)と連携してデータを送受信するクライアントです。VM/CTのネイティブ統合に加え、ファイルレベルのバックアップにも活用できます。
# リポジトリを指定してバックアップ(例:/data を "daily" に)
proxmox-backup-client backup data.pxar:/data \
--repository 'pbs@pbs@192.168.1.10:8007:repo1' --backup-id daily
# 復元(リストア)
proxmox-backup-client restore
\--repository 'pbs\@pbs\@192.168.1.10:8007\:repo1'
\<BACKUP-ID/TIMESTAMP> data.pxar /restore-target
活用のヒント
- 本番環境では各操作の前にスナップショット/バックアップを取得。
- 繰り返す作業はシェルスクリプト化し、
cron
/systemd timer
で自動化。 - クラスタ関連(
pvecm
/ha-manager
)はネットワーク設計とフェンスを最優先で確認。 pvesh
は API パスの学習にも有効。複雑な一括処理や外部ツール連携に最適。
まとめ
GUIとCLIを使い分けることで、Proxmox の運用はより安全かつ効率的になります。上記10コマンド(qm
/pve-firewall
/pvesm
/pveum
/pvesh
/pvecm
/ha-manager
/vzdump
/qmrestore
/proxmox-backup-client
)を押さえ、日常運用・トラブル対応・自動化の基盤にしてください。
コメント