仮想環境としてVMwareESXiを使っていましたが、Broadcom社に買収されてから、個人で利用するには、ハードルが高くなってしまいました。そのため、ProxmoxVEを仮想基盤として使うことにします。
Proxmoxの製品
Proxmox(プロックスモックス)とは、サーバー仮想化環境を提供する製品で、その中核を成す製品は、Proxmox VE(Proxmox Virtual Environment)となります。
下記のような製品群があります。
| Proxmox製品群 | 役割 | VMware脳で例えると |
|---|---|---|
| Proxmox VE (Proxmox Virtual Environment) | 仮想マシン(VM)とコンテナ(LXC)を実行・管理する仮想化基盤。 | ESXi + vCenter Server |
| Proxmox BS (Proxmox Backup Server) | 仮想マシン(VM)とコンテナ(LXC)のバックアップを管理する専用サーバー。 | VMware vSphere Data Protection / Veeam |
| Proxmox MG (Proxmox Mail Gateway) | メール通信を保護するためのセキュリティゲートウェイ。 | VMware製品に直接対応なし |
| Proxmox DM (Proxmox Datacenter Manager) | 複数の Proxmox 環境を一元的に監視・管理する管理基盤。 | vCenter Server |
Proxmoxは、オープンソースで提供されていて、企業などで使う場合は、有料のサブスクリプションのサポート契約を結ぶのが通常だと思います。
Proxmox VEのインストール
インストール自体は、とても簡単です。
今回は、転がっていたThinkpad E495に入れて、今後、使用感を試してみたいと思います。
Proxmox VEの入手
Proxmox VEは、Proxmoxのサイトから入手可能です。(proxmox-ve_9.1-1.isoをダウンロード)
インストールメディアの作成
インストールメディアは、USBメモリーに作成するので、定番の「rufus」を使用します。
作成する際の情報を設定して[スタート]ボタンを押下します。

「DDイメージモードで書き込む」を選択して[OK]ボタンを押下します。
※ Thinkpad E495では、「ISOイメージモードで書き込む(推奨)」を選択するとインストール時に失敗します。

Thinkpad E495へのインストール
画面を見ればわかる内容ですが、下記のような流れでインストールを進めます。
- 作成したUSBメモリーをThinkpad E495の左側のUSBポートに差し込んで電源の投入をします。
- Lenovoのロゴ画面が表示されたら[F12]キーを押下します。
- 「Boot Menu」に表示される「USB HDD : General USB Flash Disk」を選択し[Enter]キーを押下します。
- Proxmoxの画面が表示されたら「Install Proxmox VE (Graphical)」を選択し[Enter]キーを押下します。
- EULA(エンドユーザー使用許諾契約)画面が表示されたら右下の[I agree]ボタンを押下します。
- Proxmox Virtual Environment(PVE)の画面が表示されたら、インストール先のディスクを示す「Target Harddisk」を確認して、[Next]ボタンを押下します。
[Options]ボタンを押下すると、使用したいFilesystemを選択できます。 - Location and Time Zone selectionの画面が表示されたら、
「Country:Japan」「Time zone:Asia/Tokyo」「Keyboard Layout:Japanese」
を選択して、[Next]ボタンを押下します。
英語キーボードを使用されている場合は、「Keyboard Layout:U.S. English」を選択します。 - Administration Password and Email Addressの画面が表示されたら、
「Password:パスワード」「Confirm:同じパスワード」「Email:メールアドレス」
を入力して、[Next]ボタンを押下します。
ここで入力するメールアドレスは、障害などで通知される送信先となります。動作に必須ではないので、ダミーのメールアドレス(root@localhostとか)でも良いです。あとで変更可能です。 - Management Network Configurationの画面が表示されたら、
「Management Interface:使用するNIC」
「Hostname(FQDN):pve02.int.orangetakam.com」
「IP address(CIDR):192.168.1.112/24」
「Gateway:192.168.1.1」
「DNS Server:192.168.1.11」
を入力して、[Next]ボタンを押下します。
■ Pin network interface names ← ネットワーク名を固定にする
にチェックを入れて[Next]ボタンを押下します。 - Summary画面が表示されたら、内容を確認します。
■ Automatically reboot after successful installation
にチェックを入れて[Install]ボタンを押下します。 - インストールが完了すると自動でマシンリブートされ、ログイン画面が表示されます。
ブラウザからのログイン
インストールが完了したら、ブラウザからログインしてみます。

有償サブスクリプションの案内です。
企業で利用する場合は、安全のためサポート契約を結びましょう。

無事にインストールもできました。

ん!?下段にエラーが出ています。
Enterpriseリポジトリの無効化とNo-Subscriptionリポジトリの有効化
有償サブスク契約をしていない場合、Enterpriseリポジトリに接続しようとして失敗しているメッセージです。外部にネットワーク接続をしていない場合も出力されると思います。
Enterpriseリポジトリの無効化
下記の2つを1つずつ選択して[無効]ボタンを押下します。
URI: https://enterprise.proxmox.com/debian/pve
URI: https://enterprise.proxmox.com/debian/ceph-squid

これで無効化できました。

No-Subscriptionリポジトリの有効化
次に、No-Subscriptionリポジトリの有効化を行ないます。
[追加]ボタンを押下すると、メッセージが表示されるので、[OK]ボタンを押下します。

リポジトリのプルダウンメニューから「No-Subscription」を選択して[追加]ボタンを押下します。

これでリポジトリが追加されました。

蓋を閉じてもスリープさせない
蓋を閉じるとスリープをさせないようにします。
root@pve02:~# vi /etc/systemd/logind.conf
: (省略)
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
#HandleLidSwitchDocked=ignore
: (省略)
root@pve02:~# systemctl restart systemd-logind
| 種類 | パラメータ | 説明 | デフォルト値 |
|---|---|---|---|
| 仮想端末 | NAutoVTs | 自動起動する仮想端末数を指定する | 6 |
| ReserveVT | 予約しておく仮想端末番号を指定する | 6 | |
| プロセス | KillUserProcesses | ログアウト時にユーザープロセスを終了するかどうかを指定する | no |
| KillOnlyUsers | 終了対象ユーザーを限定する ※誰も対象にしない | (空) | |
| KillExcludeUsers | 終了対象外ユーザーを指定する | root | |
| 抑止 | InhibitDelayMaxSec | 電源操作前に待つ最大秒数を指定する | 5 |
| UserStopDelaySec | ユーザー停止時の待ち時間を指定する | 10 | |
| スリープ | SleepOperation | 使用可能なスリープ方式を指定する | suspend-then-hibernate |
| 電源キー | HandlePowerKey | 電源ボタン短押し動作を指定する | poweroff |
| HandlePowerKeyLongPress | 電源ボタン長押し動作を指定する | ignore | |
| 再起動キー | HandleRebootKey | 再起動キー動作を指定する | reboot |
| HandleRebootKeyLongPress | 再起動キー長押し動作を指定する | poweroff | |
| サスペンド | HandleSuspendKey | サスペンドキー動作を指定する | suspend |
| HandleSuspendKeyLongPress | サスペンドキー長押し動作を指定する | hibernate | |
| ハイバネート | HandleHibernateKey | ハイバネートキー動作を指定する | hibernate |
| HandleHibernateKeyLongPress | 長押し時の動作を指定する | ignore | |
| 蓋 | HandleLidSwitch | 通常時に蓋を閉じた動作を指定する | suspend |
| HandleLidSwitchExternalPower | AC接続時の蓋動作を指定する | suspend | |
| HandleLidSwitchDocked | 外部モニタ接続時の蓋動作を指定する | ignore | |
| セキュリティ | HandleSecureAttentionKey | セキュアアテンションキーを指定する | secure-attention-key |
| 抑止無視 | PowerKeyIgnoreInhibited | 電源キーで抑止無視を指定する | no |
| SuspendKeyIgnoreInhibited | サスペンドキーで抑止無視を指定する | no | |
| HibernateKeyIgnoreInhibited | ハイバネートキーで抑止無視を指定する | no | |
| LidSwitchIgnoreInhibited | 蓋イベントで抑止無視を指定する | yes | |
| RebootKeyIgnoreInhibited | 再起動キーで抑止無視を指定する | no | |
| タイミング | HoldoffTimeoutSec | 起動直後に操作を無視する時間を指定する | 30s |
| アイドル | IdleAction | アイドル時の動作を指定する | ignore |
| IdleActionSec | アイドル判定時間を指定する | 30min | |
| ランタイム | RuntimeDirectorySize | /runの最大サイズを指定する | 10% |
| RuntimeDirectoryInodesMax | /runのinode上限を指定する ※上限を設けない(OSに依存) | 未設定 | |
| IPC | RemoveIPC | ログアウト時にIPC削除を指定する | yes |
| 制限 | InhibitorsMax | 抑止オブジェクト最大数を指定する | 8192 |
| SessionsMax | 同時セッション最大数を指定する | 8192 | |
| セッション | StopIdleSessionSec | アイドルセッション停止時間を指定する | infinity |
| 保守 | DesignatedMaintenanceTime | 指定メンテナンス時間を指定する ※機能を無効 | 未設定 |
※ デフォルト値の意味
値アリ→ その値が適用
(空)→ 管理者が意図的に「空」を指定
未設定 → systemdが何も制御しない/機能が無効/制限なし
感想と今後
所感では、直感的でよく考えられたUIだと思います。
あとは、実際に使ってみて、操作性や機能などを検証していきたいです。
時間とやる気ががあれば、、、