proxmox-admin
Proxmox VEホストを管理し、`qm`コマンドによるVMの作成・管理、`pct`コマンドによるLXCコンテナの管理、ストレージ・ネットワーク・クラスターの設定、およびProxmox CLIを通じたプロビジョニング作業の自動化を行います。
description の原文を見る
Administers Proxmox VE hosts, creates and manages VMs with qm, manages LXC containers with pct, configures storage, networking, clusters, and automates provisioning tasks via the Proxmox CLI.
SKILL.md 本文
Proxmox VE 管理
概要
Proxmox VE は Debian をベースにした サーバー仮想化プラットフォームです。Web UI または CLI ツールを使用して KVM 仮想マシンと LXC コンテナを管理します。このスキルでは qm(VM)、pct(コンテナ)、およびサポートユーティリティを使用した CLI ベースの管理をカバーしています。
使用場面
- KVM 仮想マシンの作成、構成、管理
- LXC コンテナのスポーニングと管理
- Proxmox のストレージ、ネットワーク、またはクラスタリングの管理
- スクリプトによる VM/コンテナプロビジョニングの自動化
- Proxmox ホストまたはゲストの問題のトラブルシューティング
対象外: Web UI のみのワークフロー (以下の CLI 相当品を使用してください)。
クイックリファレンス
| ツール | 目的 |
|---|---|
qm | KVM 仮想マシンを管理 |
pct | LXC コンテナを管理 |
pvesm | ストレージを管理 |
pvecm | クラスタを管理 |
pveam | アプライアンス/テンプレートダウンロードを管理 |
pvesh | シェルから Proxmox API にアクセス |
pveperf | ホストパフォーマンスをベンチマーク |
qm による VM 管理
VM の作成
# ID 100 で VM を作成
qm create 100 --name my-vm --memory 2048 --cores 2 --sockets 1 \
--net0 virtio,bridge=vmbr0 --ostype l26
# local-lvm ストレージに SCSI ディスク付きで作成 (32GB)
qm create 100 --name my-vm --memory 4096 --cores 4 \
--scsi0 local-lvm:32 --scsihw virtio-scsi-pci \
--net0 virtio,bridge=vmbr0 --ostype l26
# インストール用の ISO をアタッチ
qm set 100 --cdrom local:iso/ubuntu-22.04-server.iso --boot order=ide2
VM ライフサイクル
| コマンド | 目的 |
|---|---|
qm start <vmid> | VM を開始 |
qm shutdown <vmid> | グレースフル ACPI シャットダウン |
qm stop <vmid> | 強制停止 (電源を抜くようなもの) |
qm reboot <vmid> | VM を再起動 |
qm reset <vmid> | ハードリセット |
qm suspend <vmid> | RAM にサスペンド |
qm resume <vmid> | サスペンドから再開 |
qm destroy <vmid> | VM とそのディスクを削除 |
qm destroy <vmid> --purge | VM、ディスク、すべての関連ジョブを削除 |
VM 構成
# 現在の構成を表示
qm config 100
# ハードウェアを変更
qm set 100 --memory 8192
qm set 100 --cores 4
qm set 100 --balloon 2048 # 動的メモリ (最小値)
qm set 100 --cpu cputype=host # ホスト CPU 機能をパススルー
qm set 100 --machine q35 # Q35 チップセットを使用 (PCIe パススルー用)
# ディスクを追加/リサイズ
qm set 100 --scsi1 local-lvm:50 # 50GB ディスクを追加
qm disk resize 100 scsi0 +20G # 既存ディスクを 20GB 拡張
# ネットワーク
qm set 100 --net0 virtio,bridge=vmbr0,tag=10 # VLAN タグ付き
qm set 100 --net1 virtio,bridge=vmbr1 # 2番目の NIC
# Cloud-init (自動プロビジョニング用)
qm set 100 --ide2 local-lvm:cloudinit
qm set 100 --ciuser admin --cipassword 'secret'
qm set 100 --ipconfig0 ip=10.0.0.50/24,gw=10.0.0.1
qm set 100 --sshkeys ~/.ssh/authorized_keys
qm set 100 --boot order=scsi0
# EFI / UEFI ブート
qm set 100 --bios ovmf --efidisk0 local-lvm:1,efitype=4m,pre-enrolled-keys=1
# シリアルコンソール (ヘッドレス)
qm set 100 --serial0 socket --vga serial0
# PCI パススルー (GPU、NIC など)
qm set 100 --hostpci0 0000:01:00.0,pcie=1
スナップショットとクローン
# スナップショットを作成
qm snapshot 100 before-upgrade --description "Before kernel upgrade"
# スナップショットを一覧表示
qm listsnapshot 100
# スナップショットにロールバック
qm rollback 100 before-upgrade
# スナップショットを削除
qm delsnapshot 100 before-upgrade
# VM をクローン (完全コピー)
qm clone 100 101 --name cloned-vm --full
# リンククローンとしてクローン (ベースディスクを共有、高速)
qm clone 100 101 --name linked-vm
テンプレート
# VM をテンプレートに変換 (戻すことはできません)
qm template 100
# テンプレートから VM を作成 (リンククローン)
qm clone 100 200 --name from-template
# テンプレートから VM を作成 (完全クローン)
qm clone 100 200 --name from-template --full
マイグレーション
# 別のノードへのオンラインマイグレーション
qm migrate 100 node2 --online
# オフラインマイグレーション
qm migrate 100 node2
監視
# VM ステータス
qm status 100
# すべての VM を一覧表示
qm list
# 実行中のプロセス/エージェント情報を表示
qm agent 100 ping
qm agent 100 get-osinfo
# モニターインターフェース (QEMU モニター)
qm monitor 100
pct によるコンテナ管理
コンテナの作成
# まずテンプレートをダウンロード
pveam update
pveam available --section system
pveam download local debian-12-standard_12.2-1_amd64.tar.zst
# ID 200 のコンテナを作成
pct create 200 local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
--hostname my-ct --memory 1024 --cores 2 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--password 'secret' --unprivileged 1
# 静的 IP で作成
pct create 201 local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
--hostname web-ct --memory 2048 --cores 2 \
--rootfs local-lvm:16 \
--net0 name=eth0,bridge=vmbr0,ip=10.0.0.51/24,gw=10.0.0.1 \
--nameserver 1.1.1.1 --unprivileged 1
コンテナライフサイクル
| コマンド | 目的 |
|---|---|
pct start <ctid> | コンテナを開始 |
pct shutdown <ctid> | グレースフルシャットダウン |
pct stop <ctid> | 強制停止 |
pct reboot <ctid> | コンテナを再起動 |
pct destroy <ctid> | コンテナとそのボリュームを削除 |
pct enter <ctid> | コンテナ内でシェルを開く |
pct exec <ctid> -- <cmd> | コンテナ内でコマンドを実行 |
pct console <ctid> | コンテナコンソールにアタッチ |
コンテナ構成
# 構成を表示
pct config 200
# リソースを変更
pct set 200 --memory 4096
pct set 200 --cores 4
pct set 200 --swap 1024
# マウントポイントを追加 (ホストからのバインドマウント)
pct set 200 --mp0 /mnt/data,mp=/data
# ストレージボリュームを追加
pct set 200 --mp1 local-lvm:50,mp=/var/lib/data
# ネットワーク
pct set 200 --net0 name=eth0,bridge=vmbr0,ip=10.0.0.60/24,gw=10.0.0.1
pct set 200 --net1 name=eth1,bridge=vmbr1,ip=dhcp
# 機能 (ネスティング、FUSE、NFS)
pct set 200 --features nesting=1
pct set 200 --features nesting=1,fuse=1,mount=nfs
# DNS
pct set 200 --nameserver "1.1.1.1 8.8.8.8" --searchdomain example.com
# ブート時に開始
pct set 200 --onboot 1 --startup order=1,up=30
コンテナスナップショットとクローン
# スナップショット
pct snapshot 200 clean-install
# ロールバック
pct rollback 200 clean-install
# クローン
pct clone 200 201 --hostname cloned-ct --full
ストレージ管理
# ストレージプールを一覧表示
pvesm status
# ストレージの内容を一覧表示
pvesm list local
pvesm list local-lvm
# ストレージを追加 (例)
pvesm add dir my-backup --path /mnt/backup --content backup
pvesm add nfs nfs-share --server 10.0.0.5 --export /exports/pve --content images,vztmpl
pvesm add lvm my-lvm --vgname my-vg --content rootdir,images
pvesm add zfspool my-zfs --pool rpool/data --content rootdir,images
# ストレージを削除
pvesm remove my-backup
# ISO をダウンロード
wget -P /var/lib/vz/template/iso/ https://example.com/image.iso
ネットワーク
# ネットワークインターフェースを一覧表示
cat /etc/network/interfaces
# 一般的なブリッジ構成 (/etc/network/interfaces)
# auto vmbr0
# iface vmbr0 inet static
# address 10.0.0.1/24
# bridge-ports eno1
# bridge-stp off
# bridge-fd 0
# ネットワーク変更を適用
ifreload -a
クラスタ管理
# 新しいクラスタを作成
pvecm create my-cluster
# 既存のクラスタに参加
pvecm add 10.0.0.1
# クラスタステータスを表示
pvecm status
# クラスタノードを一覧表示
pvecm nodes
# ノードを削除 (残りのノードから実行)
pvecm delnode nodename
# クォーラムを確認
pvecm expected 1 # クォーラムを強制 (危険、単一ノード復旧のみ)
ファイアウォール
# ノードファイアウォールサービスを開始または停止
pve-firewall start
pve-firewall stop
pve-firewall status
# /etc/pve/firewall/cluster.fw でデータセンターファイアウォールを有効化
# [OPTIONS]
# enable: 1
#
# 設定ファイルでルールを管理します。制限的なポリシーを有効化する前に
# リモート管理許可ルールを追加してください。
# Datacenter: /etc/pve/firewall/cluster.fw
# Node: /etc/pve/nodes/<node>/host.fw
# VM/CT: /etc/pve/firewall/<vmid>.fw
バックアップとリストア
# VM をバックアップ
vzdump 100 --storage local --mode snapshot --compress zstd
# コンテナをバックアップ
vzdump 200 --storage local --mode stop --compress zstd
# すべてのゲストをバックアップ
vzdump --all --storage local --mode snapshot --compress zstd --mailto admin@example.com
# VM をリストア
qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst 100
# コンテナをリストア
pct restore 200 /var/lib/vz/dump/vzdump-lxc-200-*.tar.zst
# 別のストレージにリストア
qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst 100 --storage local-lvm
一般的なプロビジョニングパターン
テンプレートからの Cloud-Init VM
# 1. ベース VM を作成して OS をインストール、テンプレートに変換
qm template 9000
# 2. クローンして cloud-init でカスタマイズ
qm clone 9000 110 --name web-server --full
qm set 110 --ciuser deploy --sshkeys ~/.ssh/authorized_keys
qm set 110 --ipconfig0 ip=10.0.0.110/24,gw=10.0.0.1
qm set 110 --nameserver 1.1.1.1
qm start 110
バッチ作成コンテナ
for i in $(seq 1 5); do
CTID=$((300 + i))
pct create $CTID local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
--hostname "worker-${i}" --memory 1024 --cores 2 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=10.0.0.$((60 + i))/24,gw=10.0.0.1 \
--unprivileged 1 --start 1
done
ディスクイメージをインポート (例: クラウドイメージ)
# クラウドイメージをダウンロード
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
# VM にインポート
qm disk import 100 jammy-server-cloudimg-amd64.img local-lvm
# インポートしたディスクをアタッチ
qm set 100 --scsi0 local-lvm:vm-100-disk-0
qm set 100 --boot order=scsi0
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| VM が起動しない | qm config <vmid> を確認、pvesm status でストレージの存在を確認 |
| "TASK ERROR: can't lock file" | まず実行中のタスクを確認; タスクが消えている場合は qm unlock <vmid> または pct unlock <ctid> を使用 |
| コンテナがネットワークを持たない | ブリッジの存在を確認: brctl show; ファイアウォールルールを確認 |
| ストレージがいっぱい | pvesm status で使用状況を確認; LVM シンプールについて lvs を使用 |
| クラスタクォーラムが失われた | 生き残ったノードで pvecm expected 1 (単一ノード復旧のみ) |
| マイグレーションが失敗 | 同じ CPU タイプを確認するか --online をライブマイグレーション用に使用; ノード間のネットワークを確認 |
| バックアップがロックエラーで失敗 | qm unlock <vmid> または pct unlock <ctid> |
| VM のディスク I/O が遅い | --scsihw virtio-scsi-single と ,iothread=1,discard=on のようなディスクオプションを使用 |
| ゲストエージェントが応答しない | VM に qemu-guest-agent をインストールして有効化: qm set <vmid> --agent 1 |
便利なパス
| パス | 内容 |
|---|---|
/etc/pve/ | クラスタ全体の構成 (pmxcfs) |
/etc/pve/qemu-server/<vmid>.conf | VM 構成ファイル |
/etc/pve/lxc/<ctid>.conf | コンテナ構成ファイル |
/etc/pve/storage.cfg | ストレージ定義 |
/etc/pve/nodes/ | ノード別構成 |
/var/lib/vz/ | デフォルトローカルストレージルート |
/var/lib/vz/template/iso/ | ISO イメージ |
/var/lib/vz/template/cache/ | コンテナテンプレート |
/var/lib/vz/dump/ | バックアップファイル |
/var/log/pve/tasks/ | タスクログ |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- bastos
- リポジトリ
- bastos/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/bastos/skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。