MENU

ProxmoxをCodexに操作させてみた|専用プールで権限を限定して実験用VMを作る

Proxmoxの既存VMとCodex専用プールを分け、Codexから実験用VMを作成する構成のイメージ

新しいソフトやAIの実行環境を、ちょっと試してみたい。最近はそう思うことが増えました。ただ、そのたびにVMを作り、OSを入れ、必要なソフトを準備するのが面倒でした。

そこで、ProxmoxにCodex専用の実験場所を作り、VMの作成からセットアップまで任せてみました。稼働中の重要なVMもあるので、専用のリソースプールを用意し、VMのディスクを置く領域も一般用と分けました。

使ってみた感想は、めちゃくちゃ楽でした。最初の権限設定などは自分で行いましたが、準備が整ってからは、Ubuntuを作ってRTX 3080 TiでOllamaを動かすところまで、ほぼ丸投げで進められました。

この記事では、2026年9月29日の構築記録をもとに、どこまで権限を渡したか、途中で何が足りなかったか、実際に自分で操作した部分をまとめます。

目次

AIの実験をするたびにVMを作るのが面倒だった

AI関係は、試したいツールやモデルが次々と出てきます。既存の環境に全部入れるより、用途ごとにVMを用意して試したいと思っていました。

手元のProxmoxにはRTX 3080 Tiもあります。実験ごとにVMを分け、使うVMへ3080 Tiを割り当てる運用を考えました。1枚のGPUを複数のVMで同時に共有する方式ではありませんが、毎回メインの環境を作り直さずに試せるのは魅力でした。ProxmoxのPCIパススルーの説明

環境を分ける仕組みはProxmoxにある。それなら、面倒なVM作成やセットアップをCodexに任せられないか、というのが出発点でした。

重要なVMに触らせないために専用プールを作った

すでに重要なVMが動いていたので、Proxmox全体の管理権限を渡すつもりはありませんでした。一方、実験用のVMなら、Codexに構築や設定を任せて試してみたい。

そこで作ったのが、codex-labという専用のリソースプールです。

リソースプールは、VMなどの管理対象をまとめ、まとめた対象に権限を付けるために使えます。今回はCodexが扱う実験用VMをここに集めました。Proxmox公式のユーザー管理とリソースプール

Proxmoxのcodex-labプールに実験用VMとUbuntuテンプレートが所属している画面
2026年10月5日時点のcodex-lab。実験用VMとUbuntuテンプレートを専用プールにまとめています。

準備したものは、次の組み合わせです。

用途今回用意したもの
仮想化環境Proxmox VE 9.2.2(Ubuntu構築時のAPI確認値)
実験用VMをまとめる専用プール codex-lab
Proxmoxへ接続する専用ユーザー codex@pve とAPIトークン
VMのディスクを置く800GiBの専用ストレージ pve2-codex-hdd
VMの通信に使う利用するネットワークブリッジ vmbr0

既存の重要なVMはこのプールに入れず、既存VMの個別パスやProxmox全体の/にも管理権限を付けませんでした。ProxmoxホストへのSSHやroot権限も渡していません。

ただし、プールは権限をまとめる仕組みです。CPUやメモリ、ネットワークまで独立するわけではないので、実験用VMは小さめに作る方針にしました。今回はネットワークを別のVLANへ分離した構成でもありません。

VMの保存領域もCodex用と一般用に分けた

プールだけでなく、VMのディスクを保存する場所も分けました。ChatGPTに「ローカルHDDとNASのどちらを使うか」「容量をどう分けるか」を相談し、Proxmox2の3TB HDD内に、Codex用と一般用の領域をそれぞれ800GiBずつ用意しています。

具体的には、同じHDDのLVM領域に、VMの仮想ディスクを置くための「thin pool」を2つ作りました。Proxmoxには、次の名前で登録しています。

用途ストレージ名確保した容量
Codexが作る実験用VMpve2-codex-hdd800GiB
一般用のVMpve2-general-hdd800GiB

残りは後から必要な方へ追加できるよう、未割り当てで残しました。Codex用ユーザーにはpve2-codex-hddへの権限を付け、一般用のpve2-general-hddには付けていません。実験用VMの保存先を決めておくと、Codexにも「ここを使って」と指示しやすくなります。

この準備も、自分だけで設計したわけではありません。ChatGPTが出した手順を自分で実行し、lvsやpvesm statusの結果を貼って確認しながら進めました。その後、構成をCodexへ引き継ぎ、API接続とVM作成を任せています。

保存領域は分けていますが、物理的には同じHDDです。ディスクの故障や読み書きの負荷は共有します。

実際に渡した権限と接続方法

現在付けている権限

2026年10月5日に管理画面で確認した、専用ユーザーの権限は次のとおりです。

対象のパス付けたロール今回の用途
/pool/codex-labPVEAdmin、PVEPoolUser実験用プール内の管理
/storage/pve2-codex-hddPVEDatastoreAdminCodex用ストレージの管理
/sdn/zones/localnetworkPVESDNUser今回のVMが使うブリッジの利用
/storage/codex-isoCodexISOUserISO置き場の利用(後述)
/mapping/pci/codex-3080tiPVEMappingUserGPUマッピングの利用(後述)
codex@pveに専用プール、ストレージ、ネットワーク、GPUマッピングの権限を設定した一覧
2026年10月5日時点のアクセス権限。対象ごとのパスと、codex@pveに付けたロールを確認できます。

プールにVMの権限を付けるだけでなく、ディスクの保存先やネットワークの利用権限も必要でした。上のパスや名前は今回の環境のものです。

初期構築の相談記録では、プールはPVEVMAdmin、ストレージはPVEDatastoreUserでした。10月5日時点では、上の表の、より広いロールになっています。今回の「権限を限定」は、権限を付ける対象を専用プール・ストレージ・ネットワーク・GPUマッピングに絞った、という意味です。ネットワークの利用権限はlocalnetwork単位で付けており、vmbr0だけに限定したACLではありません。

専用ユーザーのAPIトークンで操作した

Windows上のCodexから、専用ユーザーのAPIトークンを使ってProxmoxへ接続しました。CodexがPowerShellのAPI接続スクリプトと、Ubuntu構築に使うPythonの補助スクリプトを作成し、操作を進めています。

このときは、APIトークンの「Privilege Separation(権限分離)」をOFFにし、専用ユーザーと同じ権限を使う設定にしました。ユーザー自体を実験用途に限定し、権限設定をそちらにまとめた形です。

権限分離をONにする構成では、ユーザーとトークンの両方に権限を設定します。トークンで使えるのは両者に共通する権限です。APIトークンの権限についての公式説明

認証情報はVaultwardenで管理しました。Codex用のアカウントを用意し、必要な認証情報を入れたコレクションにアクセスできるようにして、Bitwarden CLIから読み出しています。

ここでも一度つまずきました。コレクションの閲覧権限が「パスワードを非表示」になっていたため、APIシークレットを取得できなかったのです。パスワードを表示できる閲覧権限へ直すと、Proxmoxへの認証が通りました。

まずOSなしの小さなVMで作成テストをした

最初からAI環境一式を頼む前に、空のVMを1台作り、専用プールとストレージを使えるか確認しました。

項目作成テストの内容
VM名codex-permission-test
プールcodex-lab
CPU1コア
メモリ1GiB
ディスク専用ストレージに8GiB
ISOと起動ISOなし、起動しない

API経由でVMを作成でき、プールへの所属とディスクの保存先も確認できました。最初の段階ではOSを入れず、停止したまま残しています。

Codexへの指示では、使ってよいプール・ストレージ・ネットワークを指定し、権限エラーが出たらその場で止めて報告するようにしました。依頼内容を短くまとめると、次のような形です。

codex-lab内にテスト用VMを1台作ってください。
ディスクは指定した専用ストレージを使い、1コア・1GiB・8GiBにします。
ISOは付けず、起動もしないでください。

既存VM、Proxmoxホスト、権限設定は変更しないでください。
権限エラーが出たら、実行しようとした操作とエラーを報告してください。
作成後は、プール・保存先・VM設定を確認してください。

Ubuntu構築で足りなかったISOとGPUの権限

空VMの作成テストが済み、次はGPUを使うUbuntu用VMを作ることにしました。そこで追加の準備が必要になったのが、ISO置き場とGPUの使用権限です。

VM用のディスク置き場にはISOを保存できなかった

最初に用意したpve2-codex-hddは、VMのディスク用のLVM-thinストレージでした。ここにはインストール用のISOを置けず、既存のISO置き場にもCodexのアクセス権限がありませんでした。

そこで、ISO専用のディレクトリ型ストレージcodex-isoを自分で追加しました。そのストレージだけを対象に、次の権限をまとめたCodexISOUserというロールを付けています。

Datastore.Audit
Datastore.AllocateSpace
Datastore.AllocateTemplate

VMディスクの利用権限とは別に、ISOを扱う権限も準備したわけです。このISO置き場は既存ファイルシステム内のディレクトリなので、専用の容量上限を設けたものではありません。

UbuntuのISOは、最終的には別のProxmoxノードにあったものを自分でコピーしました。Codex側で進めていた公式サイトからのダウンロードが遅く、手元にあるISOを使った方が早そうだったためです。

GPUは人がマッピングを作りCodexには使用権限を渡した

RTX 3080 Tiについても、最初のトークンではGPUマッピングを作成・使用できませんでした。

ここは、自分でProxmoxの「データセンター → リソースマッピング → PCI」を開き、3080 Ti用のcodex-3080tiというマッピングを作りました。GPU本体と付属の音声機能をまとめています。

Proxmoxのcodex-3080tiマッピングがホストデータと一致しIOMMUグループ13と表示された画面
RTX 3080 Ti用のPCIマッピング。2026年10月5日時点では、ホストデータとの一致を確認できています。

そのうえで、/mapping/pci/codex-3080tiにPVEMappingUserを付け、Codexがこのマッピングを使えるようにしました。マッピングを作成・変更する権限は渡していません。

GPUを渡す前の確認も人の作業がありました。Proxmoxホストで確認コマンドを実行して結果を渡し、モニターは3080 Ti側からマザーボード側の出力へ切り替えています。

ISO置き場とGPUの使用権限がそろったところで、CodexがUbuntu用VMを作り、GPUマッピングを割り当てました。その後、自分がISOをコピーし、CodexがUbuntuのインストールへ進みました。GPUパススルーの細かな設定と、後日出たIOMMUエラーの対処は、次のOllamaの記事にまとめています。

あわせて読みたい
ProxmoxでRTX 3080 TiをGPUパススルー|Ubuntu・OllamaでローカルLLMを動かしてみたProxmoxでRTX 3080 TiをUbuntuへGPUパススルーし、OllamaでQwen3 8Bを動かした記録。PCIマッピングの設定、IOMMUエラーの復旧、日本語要約の実測時間と回答例を紹介します。

自分で操作したところとCodexに任せたところ

振り返ると、手作業が多かったのは、最初に実験場所を整える部分でした。

作業担当
専用プール・ユーザー・権限の準備、HDD内のCodex用/一般用領域の作成自分(ChatGPTに相談しながら実施)
Vaultwardenへの認証情報の保管とアクセス設定自分
接続用スクリプトの作成、API接続と空VMの作成テストCodex
ISO置き場の追加、GPUの確認・映像出力の切り替え、マッピングと使用権限の設定自分
Ubuntu用VMの作成とGPUマッピングの割り当てCodex
別ノードにあったUbuntu ISOのコピー自分
自動インストール用メディアの作成、UbuntuのインストールとSSH鍵の設定Codex
NVIDIAドライバ・Ollama・モデルの導入と動作確認Codex

最初は「手でやったのはGPUパススルーくらい」という印象でしたが、振り返ると、権限設定やISOの準備も自分で行っていました。それだけ、準備後のUbuntu内のセットアップは任せきりだったという感覚です。

できあがったVMは、Ubuntu 24.04.4、4 vCPU、メモリ8GiB、ディスク40GiBの構成です。RTX 3080 Tiを認識し、OllamaでQwen3 8Bが応答するところまで確認しています。

Proxmoxへの操作はAPI経由、できあがったUbuntu内の作業はSSH経由で進めました。Ubuntu内では管理作業を許可していますが、ProxmoxホストのSSH権限を渡したわけではありません。

まとめ:最初の準備が済むと実験がかなり楽になった

専用プールと保存領域を分け、権限を用意するところは手間がかかりました。そこもChatGPTに相談しながら進めています。途中でISO置き場やGPUの権限が足りないことも分かり、Codexの案内を見ながら自分で追加設定しました。

でも、環境が整ってからは本当に便利でした。3080 TiでOllamaを動かす実験も、VMの作成からOS・ソフトの導入まで、ほぼ丸投げで進められました。

重要なVMは自分で管理し、実験用のVMはCodexに任せる。自分には、この分け方が合っていました。試したいものが出てきたときに、毎回VMを手で作るところから始めなくてよくなったのが、一番大きかったです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

こんにちは、「雑記.com」運営者のTakaです。
実際に買った・使った・困った・直した・試した経験をもとに、IT・ガジェット・投資・教育などの実体験やトラブル解決をまとめています。
使ってわかったこと、試行錯誤した過程、解決までの具体的な手順を、日々の選択や困りごとの解決に役立つ形で紹介します。

目次