八ヶ岳 中山峠より天狗岳を望む
Date/Time: 2014:01:06 09:31:38
Camera: RICOH
Model: GR DIGITAL 4
Exporsure Time: 1/800 [s]
FNumber: 7.1
Aperture Value: 5.6
Focal Length: 6.0 [mm]

y2blog » Proxmoxを仮想サーバ&コンテナー運用環境として試してみる(環境構築編)

3

04

2025

Proxmoxを仮想サーバ&コンテナー運用環境として試してみる(環境構築編)

Proxmoxの仮想サーバ&コンテナー運用環境を試してみる


昨年のBroadcomによるVMWare製品群の大幅なライセンス方針の改定により、これまでVMWare製品で運用していた各種システムを別な仮想ホスティング環境へ移行せざる負えなくなってしまった企業や組織が多いことだろう.Broadcomからのライセンス方針変更のアナウンスがあまりにも唐突で、詳しいライセンス改定方針が示されなかった事で、エンドユーザやVMWare製品をライセンス販売していた多くのITベンダーまでもが大混乱に陥ってしまった.多くの企業や組織の情報システム部門は未だに頭を抱えていることだろう.


VMWare製品に見切りを付けて他のソリューションへ移行する事を考えている企業や組織も多いことだろう.ここ数年 Proxmox というオープンソースベースの仮想サーバ&Linuxコンテナー運用環境についての記事を目にするようになってきた.どうやらこの Proxmox がVMware製品群から脱却するための有力なソリューションとして注目を集めているようだ.


Proxmoxが実際にどの程度使い物になるのか試して見たかったので、前の記事『ArubaのAPを用いて認証VLANを実装してみる#2(RADIUSサーバとの連携)』のテスト環境を急遽Proxmoxを用いて新規構築することにした.Proxmox環境を実際に構築しながら、仮想サーバやLinuxコンテナを動かしてみようと思う.


これまでのKVMベースの仮想サーバ運用環境ではコマンドラインを駆使しなければならなかったが、ProxmoxのWEB GUIはかなり洗練されていて、VMwareの VCenter Server 的な運用管理ができそうなので、仮想サーバ環境の運用面では大分負担が軽くなりそうだ.


Proxmox Virtual Environment(PVE)の概要


ProxmoxはオーストリアのProxmox Server Solutions社が開発している製品群のブランド名で、Proxmox Virtual Environment(PVE)、Proxmox Backup Server、Proxmox Mail Gatewayの3製品がメジャーなプロダクツのようだ.今回は仮想サーバ&Linuxコンテナーの運用環境であるPVEについて紹介することにする.


オープンソースベースの製品ではあるが、Proxmox Server Solutions社のサポートサブスクリプション(有償)を購入してサポートサービスを受けることもできる.日本でも現在2社(AXISClassact)ほどProxmox Server Solutions社のパートナーとして登録されているようなので、これらのパートナーを通じてインテグレーションサービスを受けることができるので、企業などでの利用でもそれなりの安心感は得られそうだ.


Proxmox Virtual Environmentの機能について簡単に説明するのは難しいので、先ずは Features のページを一通り眺めて見るのが良いだろう.


サーバ仮想化の方式として、Kernel-based Virtual Machine (KVM)とContainer-based virtualization (Linux Containers)の2方式を併用することが可能で、複数台の物理サーバマシンによるクラスタリングを組んでHA(High Availability)構成での運用が行える.また、ソフトウェアによるネットワーク構築やローカルストレージとネットワークストレージを組み合わせた柔軟なストレージ構成を採ることができ、VMWare製品などと較べてもそれ程遜色のないシステム構成や運用ができるのではないかと思う.尤も、私がVMware製品群に携わっていたのは大分昔の事なので、最新のVMWare製品群と較べることはできないのだが、少なくとも全てオープンソースベースの製品群の組み合わせなので、ブラックボックス仕様に悩まされたりベンダーロックインで身動きが取れなくなる心配はしなくても済むだろう.


PVEのインストールは簡単な筈だけど...


PVEのインストールの概要は、Get Started のページにあるように、

 1. ISOイメージのダウンロード & ISOイメージからブータブルメディア(USBドライブ、CD/DVD)を作成する
 2. ブータブルメディアからインストーラーを起動し、PVEを物理サーバにインストールする
 3. PVEの設定

という簡単なGUIベースの作業な筈なのだが、物理サーバにGPUが搭載されている場合はGPUの種類(古いGPUや最新の物など)によってはPVEインストーラが起動段階でハングアップしてしまいそこから先へ一切進めなくなる事態が発生する可能性があるそうなので、もしGPU関連でインストールが上手く行かない場合は、GPUカードを外してインストールかGPUカードが無ければ画面出力ができない機種であれば、シリアルコンソールベースでインストール作業を進めて、後でGPUカードを載せると良いだろう.


私は仕事場に転がっていたSuperMicroの4Uサーバ筐体にNvidia GTX-3090 GPUボード1枚を載せた状態でPVEをインストールした際に、このインストーラーハングアップの洗礼を食らってしまった.同じ筐体に GTX-3080 の構成では無事GUIインストーラーが動いたので、インストーラーの起動OS(Debian) のドライバ廻りの問題のようだ.


この現象が起きた場合の回避策としては、インストーラーの起動OS(Debian) のGRUBのカーネルパラメータを編集して、インストーラの起動時にグラフィクス関連のドライバーを読み込まないようにすると良いようだ. [ “Adding the nomodeset Kernel Parameter” (Proxmox Wiki)” ]

企業などで、同じ仕様のPVEノードを大量にデプロイする場合は、“Automated Installation(Proxmox Wiki)” を参考にすると良いだろう.



Proxmox Host Server
今回 Proxmox (PVE) をインストールしたSuperMicroのサーバ筐体(1号機)


Proxmox GUI Installer
GUIベースのインストールで簡単な筈だが...
Installer Stacked
インストーラーが起動中にハングアップしてしまう

Edit GRUB Parms
GRUBのカーネルパラメータを編集モードで確認
nomodeset parameter
“vga=788” ==> “nomodeset” へ変更

Invoke Text-base Installer
テキストベースのインストーラが無事起動した

Management GUI
Proxmox(PVE)の管理コンソールは使い勝手が良さそう


Proxmox(PVE)環境をクラスタ構成で構築してみる


PVE環境をクラスター化する前に、クラスターを組むためのシステム的な要件を先ず確認しておく必要がある.クラスターを構成する各物理サーバのハードウェアスペックや構成、搭載しているリソースなどが全部同じであれば、運用上とても楽ちんなのだが、大抵の場合は各物理マシン毎に異なる場合が殆どだろう.クラスターを構成する上でのハードウェアの要件を定義するのはどのような構成を採るのかによって大きく異なるので簡単には決められないだろうが、実際にテスト運用をしてみながら最終的な構成を作っていくしかなさそうだ.


幸いなことに、今回は使っていないほぼ同じスペックのSuperMicro製のサーバマシンを4台ほど確保できたので、比較的楽にシンメトリーな構成を組むことができそうだ.今回検証用に用意できたサーバのスペックや構成を簡単に紹介しておく.


今回インストールしたProxmox(PVE) のバージョンは 8.3.4 で、インストール後に PVEのアップデート用のリポジトリに “pve-no-subscription” を追加してベースOSの debian12 (Bookworm) とPVE廻りのアップデートを最初に実行してある.この状態で、”Shell” を起動し各種HW情報取得コマンドを実行してみる.尚、ここで表示する情報は4号機にNVidia A6000カードを2枚差したときの物だ.




【CPU情報】
root@pve04:~# lscpu
Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          46 bits physical, 48 bits virtual
  Byte Order:             Little Endian
CPU(s):                   20
  On-line CPU(s) list:    0-19
Vendor ID:                GenuineIntel
  BIOS Vendor ID:         Intel(R) Corporation
  Model name:             Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz

 ...

Virtualization features:  
  Virtualization:         VT-x
Caches (sum of all):      
  L1d:                    320 KiB (10 instances)
  L1i:                    320 KiB (10 instances)
  L2:                     10 MiB (10 instances)
  L3:                     13.8 MiB (1 instance)

 ...


【サーバ筐体&マザーボード】
Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Supermicro
        Product Name: SYS-5049A-TR
        Version: 0123456789
        Serial Number: A3xxxxxxxxxx92
        UUID: ec---00-7---2-1--eb-8000-3c--f75---43
        Wake-up Type: Power Switch
        SKU Number: To be filled by O.E.M.
        Family: To be filled by O.E.M.

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: Supermicro
        Product Name: X11SPA-T
        Version: 1.01
        Serial Number: W0xxxxxxx86
        Asset Tag: To be filled by O.E.M.
        Features:
                Board is a hosting board
                Board is replaceable
       Location In Chassis: To be filled by O.E.M.
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0


【メモリ情報】
root@pve04:~# free -ht
               total        used        free      shared  buff/cache   available
Mem:            92Gi       3.4Gi        89Gi        71Mi       1.1Gi        89Gi
Swap:          8.0Gi        14Mi       8.0Gi
Total:         100Gi       3.4Gi        97Gi
root@pve04:~# 

【電源ユニット確認】
root@pve04:~# dmidecode -t 39
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.2.1 present.

Handle 0x001A, DMI type 39, 22 bytes
System Power Supply
        Power Unit Group: 1
        Location: PSU1
        Name: PWS-2K20A-1R
        Manufacturer: SUPERMICRO
        Serial Number: P2K20CK41HB0590
        Asset Tag: N/A
        Model Part Number: PWS-2K20A-1R
        Revision: 2.0
        Max Power Capacity: 2200 W
        Status: Present, OK
        Type: Switching
        Input Voltage Range Switching: Auto-switch
        Plugged: Yes
        Hot Replaceable: Yes

Handle 0x001B, DMI type 39, 22 bytes
System Power Supply
        Power Unit Group: 2
        Location: PSU2
        Name: PWS-2K20A-1R
        Manufacturer: SUPERMICRO
        Serial Number: P2K20CK41HB0589
        Asset Tag: N/A
        Model Part Number: PWS-2K20A-1R
        Revision: 2.0
        Max Power Capacity: 2200 W
        Status: Present, OK
        Type: Switching
        Input Voltage Range Switching: Auto-switch
        Plugged: Yes
        Hot Replaceable: Yes

root@pve04:~# 
【GPUカード確認】
root@pve04:~# lspci | grep -i nvidia
19:00.0 VGA compatible controller: NVIDIA Corporation GA102GL [RTX A6000] (rev a1)
19:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)
b3:00.0 VGA compatible controller: NVIDIA Corporation GA102GL [RTX A6000] (rev a1)
b3:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)
root@pve04:~# 

【NIC情報確認】
root@pve04:~# lspci | grep Ethernet
04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
05:00.0 Ethernet controller: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] (rev 02)
root@pve04:~# 

【PVEのネットワーク設定】
root@pve04:~# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: eno2:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 3c:ec:ef:75:93:bb brd ff:ff:ff:ff:ff:ff
    altname enp5s0
3: eno1:  mtu 1500 qdisc mq master vmbr0 state UP group default qlen 1000
    link/ether 3c:ec:ef:75:94:33 brd ff:ff:ff:ff:ff:ff
    altname enp4s0
4: vmbr0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 3c:ec:ef:75:94:33 brd ff:ff:ff:ff:ff:ff
    inet 192.168.xxx.yyy/24 scope global vmbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::3eec:efff:fe75:9433/64 scope link 
       valid_lft forever preferred_lft forever
root@pve04:~# 

【物理NICのリンクモード確認】
root@pve04:~# ethtool eno2        <===  Aquantia AQC107 
Settings for eno2:
        Supported ports: [ TP ]
        Supported link modes:   100baseT/Full
                                1000baseT/Full
                                10000baseT/Full
                                2500baseT/Full
                                5000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  100baseT/Full
                                1000baseT/Full
                                10000baseT/Full
                                2500baseT/Full
                                5000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: Unknown
        Supports Wake-on: pg
        Wake-on: g
        Current message level: 0x00000005 (5)
                               drv link
        Link detected: no

root@pve04:~# ethtool eno1          <===  Intel I210 
Settings for eno1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        MDI-X: off (auto)
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
root@pve04:~# 

SuperMicroのサーバ用の筐体とマザーボードなので、一般的なPCとはかなりスペックが異なるが、業務用途でPVEを動かすホストマシンとしては安心して利用することができるだろう.先日、NVidiaの株価と連動するようにSuperMicro社の株価も爆上がりしたが、サーバ専用機としてSuperMicro社の製品が多く使われているのはやはり業務用としての信頼性や安定性が優れているからなのだろう.


多くの仮想サーバをホストするマシンのCPUとしては今回のシングルソケットのXeon Silver 4210Rは少し貧弱なので、本番運用する際にはCPUを2個積んだサーバを用意する方が良いかもしれない.


マザーボードの背面パネルにはEthernetポートが3つあるが、PVEで使用することが可能なのは2つだけだ、赤い方のポートは10Gに対応しているが、もう一方のポートは1Gなので、クラスター構成を採る場合には少し心許ない.PCIeスロットは豊富にあるので、10GのNICを追加して、クラスター間の専用リンクとして使いたいところだ.


搭載しているメモリが16GBx6枚でメモリの容量が少なめだが、マザーボードメモリスロットは12スロットあるので、本番用に稼働させる場合は256GB位は欲しいところだ.今回は検証用途なのでとりあえずこの状態でコンテナーを動かすためのGPUサーバとしてテストしてみようと思う.電源ユニットも 2.2kWが2台(冗長構成)なので、A6000クラスのGPUなら4枚程度は問題なく行けそうだ.


NIC Ports
3つ有るEthernetポートの1つはサーバ管理用のIPMIポートなのでPVEからは認識されていない


[ 続く... ]

Calendar

March 2025
S M T W T F S
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
  • Blogroll

  • Meta