イベントレポート '25/3月開催 とことんDevOps勉強会「Proxmox VE超入門」
今回のとことんDevOps勉強会は「Proxmox VE超入門」と題して、日本仮想化技術の水野が講師として登壇しました。
Proxmox VE(Virtual Environment)は、オープンソースで提供されている仮想化プラットフォームで、KVMによる仮想マシンとLXCによるコンテナを一元管理できる強力なツールです。サーバー仮想化に興味がある方や、オンプレミス環境での柔軟なインフラ構築を目指すエンジニアにとって、注目度の高い技術と言えるでしょう。
メインセッションでは、Proxmox VEの基本的な概念から、インストール方法、実際の仮想マシンの立ち上げまで、デモを交えながらわかりやすく解説しました。仮想化に初めて触れる方にも理解しやすい内容となっています。見逃した方は、アーカイブ動画や資料も公開しておりますので、ぜひご覧ください。
- セミナー動画
- 発表資料
- Q&Aまとめ
- Web UIの冗長化について
- インストール時のホスト名の指定について
- VMとLXCの使い分け、Docker利用時のベストプラクティス
- ハードウェア要件と異種構成ノードでの運用について
- 起動できない仮想マシンのディスク拡張について
- LVM on LVM環境でのディスク拡張の混乱について
- 異なる世代のホスト間でのライブマイグレーションについて
- 自宅のProxmox VMに外出先からアクセスする方法について
- 異なるPCでクラスタを組む場合の注意点について
- 書籍選びに迷ったときの判断について
- 複数NICを搭載したVMの優先NIC設定について
- PVEのアカウント権限に関する分かりやすいドキュメントについて
- 初期ネットワーク設定時のDNSサーバーの指定について
- ディスクの割り当てはシンプロビジョニングかどうか
- LXCコンテナから外部ストレージを参照する方法について
- 複数ストレージ構成時のインストール先とストレージの扱いについて
- ProxmoxのWeb UIへ別サブネットからアクセスする方法について
- おわりに
セミナー動画
発表資料
Q&Aまとめ
Web UIの冗長化について
質問
クラスタを組んだ際のWeb UIの冗長化?をどうするか気になってます(Node落とした時に切れないようにしたい)
回答
Proxmox VEでは、どのノードからでも同様の管理操作が可能です。そのため、特定のノードが落ちても、別のノードへアクセスすれば操作を継続できます。
インストール時のホスト名の指定について
質問
インストール時にしていするHostnameはどうするのがいいのでしょう ベストプラクティスがあれば知りたいです
回答
ホスト名に厳密なルールはありませんが、pve1やnode1のようにシンプルな名前で管理しているケースも多く、組織内で分かりやすければ十分です。役割や識別がしやすい命名を心がけると後々の運用が楽になります。
VMとLXCの使い分け、Docker利用時のベストプラクティス
質問
VM/LXCの使い分けと、Proxmox上でDockerを使うときのベストプラクティスみたいなものがあればお伺いしたいです。
回答
VMとLXCの使い分けは、主にカーネルへの依存度で判断します。MySQLやPHPなど、特定のカーネル機能に依存しない構成であれば、軽量なLXCの方が手軽で扱いやすいです。Dockerを使う場合、Proxmox上で直接動かすことはできないため、通常はVMを立て、その中にDocker環境を構築します。LXC上でもNested ContainerとしてDockerを動かすことは可能ですが、対応しているバージョンに制限があるなど注意点もあります。
ハードウェア要件と異種構成ノードでの運用について
質問
ハードウェア要件は仮想が使えるCPUであればいけますかね?ノードもハードウェアバラバラ構成でも行けますか?
回答
仮想化機能(Intel VT-xやAMD-V)に対応していれば基本的に動作可能です。ノードが異なるハードウェア構成でもクラスタは組めますが、CPUの世代や機能が異なると、ライブマイグレーション時に問題が出ることがあります。
起動できない仮想マシンのディスク拡張について
質問
仮想ディスクが容量超えて起動もできなくなった状態でも、仮想ディスクを拡張・割り当てて起動することは可能ですか?拡張したくても起動できない状態でハマってます
回答
ディスクの割り当て方法によりますが、起動不能な状態でもディスクの拡張を行う方法はあります。例えばより大きなディスクを用意した上で、新旧両方のディスクを別の仮想マシンにマウントし、中身をコピーするといった対応もできます。事前にスナップショットを取るなど、安全策も忘れずに。
LVM on LVM環境でのディスク拡張の混乱について
質問
Proxmox上でUbuntuのVMを立てると、LVM on LVMになって、ディスクの拡張手順がよくわからなくなってきます、、
回答
Proxmoxのデフォルト設定では、物理ホスト側もLVMを使い、Ubuntu側でもLVMを採用すると“LVM on LVM”の構成になりがちです。この場合、ホスト側で仮想ディスクを拡張した後、ゲストOS内でも物理ボリューム(PV)、ボリュームグループ(VG)、そして論理ボリューム(LV)と順に拡張作業が必要になります。手順が増えるため混乱しがちですが、一つずつ段階を踏んで操作すれば対応可能です。構成が複雑に感じる場合は、ゲスト側でLVMを使わない選択肢もあります。
異なる世代のホスト間でのライブマイグレーションについて
質問
世代が違うホストでもホスト間でライブマイグレーションは可能なのでしょうか? VMwareでいうEVC的な機能はありますか?
回答
異なるCPU世代間でもライブマイグレーションが動作するケースはありますが、Proxmoxでは公式には同一世代・同一機能のCPUを使うことが推奨されています。仮想マシン起動時にCPUの命令セットを指定する方法はありますが、安定したクラスタ運用を目指すなら、世代を揃えるのが無難です。
自宅のProxmox VMに外出先からアクセスする方法について
質問
すみません。IT初心者です。自宅でproxmoxで作成したVMを外出先からアクセスすることって簡単に可能ですか。
回答
Proxmoxだから特別制限があるということはなく、問題なく可能です。ただし自宅環境をインターネットから直接アクセスできるようにするのは、あまりおすすめはしていません。外出先からアクセスするにはルーターのポート開放やVPNの設定などが必要で、セキュリティ面でのリスクも伴います。構成の自由度が高い分、細かな管理が必要になるため、手軽さや安全性を重視する場合は、VPSなどのクラウドサービスを活用する方が簡単でしょう。
異なるPCでクラスタを組む場合の注意点について
質問
素人質問ですみません。お試しで複数PCでクラスタを組みたいんですが、機種はそろえる必要はないのでしょうか?
回答
クラスタ自体は異なる機種のPCでも構成できますが、特にCPUの世代や機能が異なると、ライブマイグレーション時に制限が出る場合もあります。実験や学習目的であればそこまで気にしなくても構いませんが、可能であれば同じ機種や似たスペックのPCを使う方が安心です。
書籍選びに迷ったときの判断について
質問
どちらの本を買おうか迷っていました・・・
回答
それぞれの書籍で扱っている内容や深さに違いがあり、完全に守備範囲が重なっているわけではありません。そのため、どちらが優れているというよりも、自分の知識レベルや目的に合う方を選ぶのが良いと思います。可能であれば、書店や試し読みなどで中身を軽く確認し、今の自分にとって読みやすそう、実用的だと感じる方を手に取るのが一番確実です。両方買っても損はしないかもしれませんが、まずは一冊からでも充分だと思います。
複数NICを搭載したVMの優先NIC設定について
質問
VMを作成するときに、複数のNICを搭載して、優先するNICを設定できますか?セットアップ時に使ったのが優先されてしまっています。
回答
Proxmoxでは、仮想マシン作成時や作成後にNICを追加し、接続先のブリッジを指定することで複数のネットワークインターフェースを持たせることが可能です。ただし、どのNICが優先されるかといった通信経路の扱いは、VM側のOS設定に依存します。たとえばUbuntuなどのLinux系では、netplanやinterfaces設定の記述順やメトリックで優先NICが決まります。Proxmox側での設定だけでは制御できないため、OSレベルで明示的な設定を行う必要があります。
PVEのアカウント権限に関する分かりやすいドキュメントについて
質問
PVEのアカウントの権限が分かりやすくまとめられているドキュメントあれば教えていただきたいです!
回答
実は「それがあれば自分もぜひ欲しい…」というのが正直なところです。Proxmox VEの公式ドキュメントには権限モデルについての記載はあるものの、直感的に理解しやすい形ではまとまっておらず、情報を追いかけるのに苦労することもあります。そもそもPVEの入門書を書いた動機の一つも、こうした公式情報の分かりづらさを補いたいという思いからでした。分かりやすい資料が見つかればぜひ共有してほしいくらいです。
初期ネットワーク設定時のDNSサーバーの指定について
質問
初期のネットワーク設定で参照するDNSサーバーはどのようにすればよいでしょうか?
回答
自宅環境でProxmoxを使う場合、DNSサーバーは普段ご自身が使用しているものをそのまま指定すれば問題ありません。例えばルーター経由で自動的に割り当てられるものや、Googleの8.8.8.8、Cloudflareの1.1.1.1などのパブリックDNSもよく使われます。私は自宅にキャッシュDNSサーバー(プライマリ・セカンダリ)を構築しているのでそれを指定していますが、そこまでしなくても基本的には大丈夫です。
ディスクの割り当てはシンプロビジョニングかどうか
質問
ディスクの割当はシンプロビジョニングとなるのでしょうか?
回答
特別な設定をしなければ、Proxmox VEではデフォルトでシンプロビジョニング(thin provisioning)となります。ただし、ストレージの種類や設定方法によってはフルプロビジョニングになる場合もあるため、確実に把握したい場合は仮想ディスク作成時のストレージタイプやフォーマットを確認することをおすすめします。
LXCコンテナから外部ストレージを参照する方法について
質問
外部ストレージ(SMB等)をLXCから参照させる場合、Proxmox自体にマウントさせてLXCから参照させるか、LXCから直接SMB接続させるのでは、どちらが良いでしょうか?向いているケースなどあれば知りたい。(CT番号に加算してゴニョゴニョがめんどくさく・・・
回答
どちらの方法も可能ですが、個人的にはコンテナから直接SMB接続する方がシンプルで好みです。ホスト側にマウントしてLXCにパススルーする形だと設定が複雑になりがちで、管理やトラブル対応の際に構成が分かりづらくなることがあります(いわゆる“ピタゴラスイッチ感”)。一方、直接接続はCT側での設定が完結しており、自己完結性も高く扱いやすいです。ただし、他のVMでも同じマウントを使い回したいなら、ホスト側でマウントする方法も有効です。
複数ストレージ構成時のインストール先とストレージの扱いについて
質問
物理マシンにSSDとNVMeのストレージがある場合、Proxmox VEをNVMeにインストールしたストレージとそれ以外のストレージの挙動を教えてほしいです。ISOストアはどちらかにしかないとか、後で設定できるとか
回答
Proxmox VEでは、インストール時に選択したストレージ(例:NVMe)がシステム用として使われ、そこに初期のストレージ構成(ISOイメージの保存先など)も紐づきますが、後からWebインターフェース上で他のディスク(例:SSD)に対しても用途を設定できます。たとえばISOイメージ、仮想ディスク、バックアップなど、どのストレージに何を置くかはあとから柔軟に管理可能です。このあたりの基本的な考え方や操作手順については、入門書にも詳しく解説しているので、ぜひ参考にしてみてください。
ProxmoxのWeb UIへ別サブネットからアクセスする方法について
質問
ProxmoxのWEBへアクセスするときですが、複数のNICとGWが設定されてないブリッジへIPルートを設定し、別サブネットからアクセスできるようにするのは、コンソールから設定ファイルを直接変更しかないでしょうか?
回答
少しトリッキーな構成で作られているのかもしれませんが、ProxmoxのWebインターフェースは基本的に全アドレスで待ち受けているため、ネットワーク経路さえ正しく通っていれば、どのNIC経由でもアクセスできるはずです。とはいえ、複数NIC+複雑なルーティングを使う場合は、Web UIからの設定だけでは完結せず、/etc/network/interfacesなどの設定ファイルを直接編集する必要が出てくる可能性があります。このような構成は筆者も深く検証していないため、細かい部分は実際に試しながら確認いただくのが良いと思います。
おわりに
ご参加いただいた皆さま、ありがとうございました。 次回の「とことんDevOps勉強会」も鋭意準備中です。イベントページの準備ができましたら、connpasspページよりお知らせします。