ESXiのサブスクリプション方式の製品販売に切り替わる影響で無償版が消失したとの噂を聞き、移行先としてProxmox VEを選んでみました。

ちなみに、ただの使い捨て検証環境なのでESXiの中身を移行するというわけではなく、新規でProxmox VE環境を構築するという話です。既存の環境は全消しして、Proxmox VEを新環境をして迎い入れます。

Proxmoxって何と読むんだろうと、海外の動画をいくつか参照してみましたがそのまま
プロックスモックス
でした。それではプロックスモックスをインストールしていきたいと思います。

Proxmox VE をインストールする

公式サイトからイメージファイルをダウンロードして、USBに書き込みます。

https://www.proxmox.com/en/downloads

USBブートを行い、画面の指示通り進めていきます。
ありがたいことにGUIでインストールを進められます。

Install Proxmox VEを選択後、インストール前の処理が走ります。ここで「Trying to detect country」と表示されて無限に終わらない現象に出会いましたが、LANケーブルを引っこ抜いて再度やり直したらいけました。

EULAが出るので同意します。

インストール先のディスクを選択します。

国は「Japan」、タイムゾーンは「Tokyo」、Keyboard Layoutは「Japanese」で進めます。

rootのパスワードを設定します。メールアドレスは適当(書いてある通り、バックアップの失敗、高可用性イベントなど重要なアラート通知を行うためのメールアドレス)です。どうでもよかったら[email protected]とかでOKだと思います。

ネットワークの設定です。インターフェースの選択(オンボのIntel NICはしっかり認識されていました)、IPの設定を行います。

内容を確認してインストール開始です。自分のマシンでは数分でした。

Web UIの確認

インストールが完了すると、以下のURLでWebコンソールにアクセスできます。一旦は開けるかどうかの確認だけで、先に設定をSSH経由で行ってしまいましょう。

https://<IP>:8006/

各種設定

SSHにてCLIで設定を行います。

LANG環境変数の変更

dpkg-reconfigure locales

ログイン時の警告無効化

Web UIログイン時にサブスクリプションが無いことに怒られますが、無効化できます。
545行目あたりにExt.Msg.showとあるのでそいつをvoidに書き換えます

vi /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
543                     if (res === null || res === undefined || !res || res
544                         .data.status.toLowerCase() !== 'active') {
545                         Ext.Msg.show({
546                             title: gettext('No valid subscription'),
547                             icon: Ext.Msg.WARNING,
548                             message: Proxmox.Utils.getNoSubKeyHtml(res.data.url),
549                             buttons: Ext.Msg.OK,
550                             callback: function(btn) {
551                                 if (btn !== 'ok') {
552                                     return;
553                                 }
554                                 orig_cmd();
555                             },
556                         });

543                     if (res === null || res === undefined || !res || res
544                         .data.status.toLowerCase() !== 'active') {
545                         void({
546                             title: gettext('No valid subscription'),
547                             icon: Ext.Msg.WARNING,
548                             message: Proxmox.Utils.getNoSubKeyHtml(res.data.url),
549                             buttons: Ext.Msg.OK,
550                             callback: function(btn) {
551                                 if (btn !== 'ok') {
552                                     return;
553                                 }
554                                 orig_cmd();
555                             },
556                         });

あとはpveproxy.serviceを再起動します(systemctl restart pveproxy.service)。
一度でもログインしたことあるとダイアログが表示されてしまうので、その際はスーパーリロードしてみてください。

無償版のリポジトリを設定する

デフォルトだとサブスク前提のエンタープライズ向けリポジトリが設定されているので、無償版のリポジトリに変更します。Suitesをbusterにすると怒られるので「bookworm」にします。

vi /etc/apt/sources.list
# エンプラ版コメントアウト
# deb https://enterprise.proxmox.com/debian stretch pve-enterprise

# 無償版追加
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription

問題なければ、ノード > アップデート > リポジトリ画面が以下のようになります。

The no-subscription repository is not recommended for production use!
と、警告が出ますが問題ないようです。

ディスクを初期化して利用する

メインディスク以外に追加のHDDやSSDがある場合は、初期化して適切なファイルシステムとして設定して利用する必要があります。

ノード > ディスク で、ディスクを選択して「GPTでディスクを初期化」します。

そのあと、ノード > ディスク > LVM / LVM-Thin / ZFS いずれかを選択して、ディスクのファイルシステムを決定します。

Windows11をインストールしてみる

せっかくなのでWindows11をインストールしてみます。ESXiの時と少し設定方法が違うので戸惑いますが、慣れれば問題ありません。

Windowsイメージをアップロードする

ノード > local > ISOイメージで「アップロード」からイメージファイルをアップロードします。

ドライバイメージをアップロードする

Windowsにディスクとネットワークを認識させるために「VirtIO」というドライバが必要になります。

https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers

virtio-win.isoをダウンロードし、Windows ISOと同じくProxmox側にアップロードしておきます。

VMを作成する

早速画面右上の「VMを作成」から進めます。VM IDは特に変えず適当な名前を付けて次へ
(VM IDは自動で採番してくれるので特に変更する必要はなさそうです)

OSの設定では、先ほどアップロードしたISOを選択します。ゲストOSはWindowsに変更、ここでAdd additional drive for VirtIO drivers に選択を入れてISOを選択しておけば自動でマウントしてくれますので、忘れずに設定しておきましょう。

システム設定では、SCSIコントローラを「VirtIO SCSI single」、Qemuエージェントにチェックをつけます。EFIストレージとTPMストレージも選択しましょう。

ディスクの設定はIDEではなくSCSIを選択します。Windows11の動作要件は64GB以上なので、ディスクサイズはそれ以上を推奨です。

CPUの設定です。コアは2以上がよいでしょう。種別ですが、デフォルトで設定されている「x86-64-v2-AES」で問題なく動作しました。ここは要検証かなと思います。

メモリの設定です。メモリの余裕は心の余裕、できれば8GB以上が良いでしょう。

ネットワーク設定です。モデルはVirtIO(準標準化)を選択します。Realtekでも問題なく動作しましたのでVirtIOでなくてもいいかも。

完了後、左ペインに作成したVMが表示されるので選択し、コンソールからStart Nowしてみます。
例によって、起動して放置するとネットワークブートが始まって永遠にインストールが始まらないので、起動後にENTERキーを適当に連打しておきます。

さて、Windowsインストール画面ですが、ドライバが存在しないため何も認識していません。VM作成時にドライバディスクをマウントするように設定したので、「ドライバーの読み込」からインストールを行います。

OKを押しても認識してくれますが、ここは「参照」でピンポイントで選択したいと思います。

事前に用意した「virtio-win」を認識したドライブがあるので、以下のパスを選択します。

vioscsi > w11 > amd64

続けて以下もインストールしてください。

NetKVM > w11 > amd64

あとは通常通りWindowsをインストールすればOKです。

いずれも問題なく認識しており、サクサク動いてくれていました。

コンソール上のメモリ使用率が正しくとれていないようで、これは修正したいなと思っています。
Intune検証などでスナップショットを多用する予定ですが、スナップショットが可能なファイルシステムはWindowsの場合(TPMの関係か?)ZFSだけになりそうなので、ディスクの使い方は気を付けたほうがよさそうです。

おしまいです。

投稿者 miyu_sakatsuki

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です