前回、 IBM System x3250 M4に構築したProxmox VE 8の今回は基本設定編。パッケージリポジトリや無償版ならではのポップアップ抑止、データストア追加やSNMP、NICボンディングの設定を施します。
リポジトリ校正とパッケージ更新
Proxmox VE 8のWebUIログイン後、左メニューの Updates >> Repositories に、APTパッケージリポジトリがあります。デフォルトでは有償エンタープライズ向けリポジトリがあるので、これを無効にしてから、 Add ボタン押下でリポジトリを追加します。
プルダウンの中から無償で利用可能な、 No-Subscription を選択して追加。
無償版リポジトリの使用は非推奨との警告に変わりますが、これはこういうもの。
階層一つ上の Updates へ上がり、 Refresh ボタンを押してパッケージリストの更新、 >_Upgrade ボタンでパッケージのアップグレードまでWebUI上で済ませることができました。
ログイン後のポップアップ抑止
ソフトウェアパッケージを最新の状態へ更新したら、WebUIログイン後出て来る You do not have a valid subscription... のポップアップメッセージの抑制に取り掛かります(本項はもちろん自己責任にて)。
SSHでProxmoxノードへ入り、次のディレクトリへ移動。
|
1 2 3 4 5 6 7 |
root@pve77:~# cd /usr/share/javascript/proxmox-widget-toolkit root@pve77:/usr/share/javascript/proxmox-widget-toolkit# ls -l drwxr-xr-x 2 root root 4096 Oct 9 23:47 css drwxr-xr-x 2 root root 4096 Oct 9 23:47 images -rw-r--r-- 1 root root 592588 Apr 24 01:25 proxmoxlib.js -rw-r--r-- 1 root root 334770 Apr 24 01:25 proxmoxlib.min.js drwxr-xr-x 2 root root 4096 Oct 9 23:47 themes |
中にある proxmoxlib.js を適宜バックアップの後、エディタで編集します(560行付近が対象部位)。
|
1 2 3 4 5 6 7 8 9 10 |
BEFORE) success: function(response, opts) { let res = response.result; if (res === null || res === undefined || !res || res .data.status.toLowerCase() !== 'active') { AFTER) success: function(response, opts) { let res = response.result; if (false) { |
if文の条件句をダミーにすげ替えて保存。PVEプロキシサービスを再起動して反映させます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
root@pve77:# systemctl restart pveproxy root@pve77:# systemctl status pveproxy ● pveproxy.service - PVE API Proxy Server Loaded: loaded (/lib/systemd/system/pveproxy.service; enabled; preset: enabled) Active: active (running) since Thu 2024-10-10 21:58:19 HKT; 7s ago Process: 294925 ExecStartPre=/usr/bin/pvecm updatecerts --silent (code=exited, status=0/SUCCESS) Process: 294928 ExecStart=/usr/bin/pveproxy start (code=exited, status=0/SUCCESS) Main PID: 294929 (pveproxy) Tasks: 4 (limit: 9438) Memory: 160.7M CPU: 1.737s CGroup: /system.slice/pveproxy.service ├─294929 pveproxy ├─294930 "pveproxy worker" ├─294931 "pveproxy worker" └─294932 "pveproxy worker" |
その後、ブラウザ上では一旦ログアウトの後、 Ctl+F5 で強制再読込みすることでキャッシュクリアしてからログインすると、ポップアップは出なくなります。
もちろん、関連するパッケージ proxmox-widget-toolkit を更新すると、上述の改変は元に戻ってしまうのであしからず。ネット上ではこの改変作業をバッチで行う例も見受けられますね。
データストアの追加
前回のハードウェアRAID構築で、300GB、500GBと言う2つのRAID1ボリュームがこのサーバに搭載され、その前者にProxmox VEのシステムを入れました( /dev/sda )。
ここではもう一つのRAID1ボリューム( /dev/sdb )をデータストアにして、仮想マシンを収納できるようにします。
Disks >> LVM-Thin に移り、 Create: Thinpool を押して作成します。
これで仮想マシンを格納するデータストア( VD1 )の準備が整いました。
ストレージ構成を lsblk で確認すると、次のようになっていました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
root@pve77:~#lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 278.5G 0 disk ├─sda1 8:1 0 1007K 0 part ├─sda2 8:2 0 1G 0 part └─sda3 8:3 0 277.5G 0 part ├─pve-swap 252:0 0 7.7G 0 lvm [SWAP] ├─pve-root 252:1 0 79.4G 0 lvm / ├─pve-data_tmeta 252:2 0 1.7G 0 lvm │ └─pve-data 252:4 0 170.8G 0 lvm └─pve-data_tdata 252:3 0 170.8G 0 lvm └─pve-data 252:4 0 170.8G 0 lvm sdb 8:16 0 464.7G 0 disk ├─VD1-VD1_tmeta 252:5 0 4.6G 0 lvm │ └─VD1-VD1-tpool 252:7 0 455.3G 0 lvm │ ├─VD1-VD1 252:8 0 455.3G 1 lvm │ ├─VD1-vm--100--disk--0 252:9 0 20G 0 lvm │ └─VD1-vm--100--disk--1 252:10 0 360G 0 lvm └─VD1-VD1_tdata 252:6 0 455.3G 0 lvm └─VD1-VD1-tpool 252:7 0 455.3G 0 lvm ├─VD1-VD1 252:8 0 455.3G 1 lvm ├─VD1-vm--100--disk--0 252:9 0 20G 0 lvm └─VD1-vm--100--disk--1 252:10 0 360G 0 lvm |
SNMPサービスの導入
ProxmoxノードをSNMPで監視したいので、snmpdをターミナル上でインストールします。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
root@pve77:~# uname -a Linux pve77 6.8.4-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.4-2 (2024-04-10T17:36Z) x86_64 GNU/Linux root@pve77:~# apt update root@pve77:~# apt list -a snmpd snmpd/stable 5.9.3+dfsg-2 amd64 The following additional packages will be installed: libsensors-config libsensors5 libsnmp-base libsnmp40 Suggested packages: lm-sensors snmp-mibs-downloader snmptrapd The following NEW packages will be installed: libsensors-config libsensors5 libsnmp-base libsnmp40 snmpd 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. Need to get 4,415 kB of archives. After this operation, 8,028 kB of additional disk space will be used. Do you want to continue? [Y/n] y |
SNMPv2を読み取り専用で利用したいだけなので、設定ファイルで必要なのは以下の項目。
|
1 2 3 4 5 6 7 |
agentaddress udp:161 view systemonly included .1 view systemonly included .1.3.6.1.2.1.1 view systemonly included .1.3.6.1.2.1.25.1 rocommunity public default -V systemonly |
サービスの再起動後、Mikrotik社のSNMPツールDudeから、このProxmoxノードを監視できることを確認。
ただ一つ難点が。サービスステータス確認すると、何やら不安をかられるメッセージが毎分挙がっていました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
root@pve77:/etc/snmp# service snmpd status ● snmpd.service - Simple Network Management Protocol (SNMP) Daemon. Loaded: loaded (/lib/systemd/system/snmpd.service; enabled; preset: enabled) Active: active (running) since Mon 2024-10-14 10:21:01 HKT; 19min ago Main PID: 1151603 (snmpd) Tasks: 1 (limit: 9438) Memory: 3.7M CPU: 672ms CGroup: /system.slice/snmpd.service └─1151603 /usr/sbin/snmpd -LOw -u Debian-snmp -g Debian-snmp -I -smux mteTrigger mteTriggerConf -f Oct 14 10:31:01 pve77 snmpd[1151603]: systemstats_linux: unexpected header length in /proc/net/snmp. 237 != 224 Oct 14 10:32:01 pve77 snmpd[1151603]: systemstats_linux: unexpected header length in /proc/net/snmp. 237 != 224 Oct 14 10:33:01 pve77 snmpd[1151603]: systemstats_linux: unexpected header length in /proc/net/snmp. 237 != 224 Oct 14 10:34:01 pve77 snmpd[1151603]: systemstats_linux: unexpected header length in /proc/net/snmp. 237 != 224 Oct 14 10:35:01 pve77 snmpd[1151603]: systemstats_linux: unexpected header length in /proc/net/snmp. 237 != 224 |
調べてみると、どうやらsnmpdが6.x系カーネルをサポートしていないためらしく、snmpdの開発ペースを鑑みても対策の見込み薄かも知れません。
ProxmoxのSytem Logもsnmpdのこのメッセージに埋め尽くされてしまうので、
こちらのフォーラムスレッドを参考に、サービス定義ファイルを編集します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[Unit] Description=Simple Network Management Protocol (SNMP) Daemon. After=network-online.target ConditionPathExists=/etc/snmp/snmpd.conf [Service] LogLevelMax=notice # ←追加 Type=notify RuntimeDirectory=agentx ExecStart=/usr/sbin/snmpd -LOw -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target |
変更内容の反映後、確かに当該メッセージを抑制することができました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
root@pve77:~# systemctl restart snmpd root@pve77:~# systemctl status snmpd ● snmpd.service - Simple Network Management Protocol (SNMP) Daemon. Loaded: loaded (/lib/systemd/system/snmpd.service; enabled; preset: enabled) Active: active (running) since Thu 2024-12-05 16:51:03 HKT; 5s ago Main PID: 4033549 (snmpd) Tasks: 1 (limit: 9438) Memory: 4.3M CPU: 19ms CGroup: /system.slice/snmpd.service └─4033549 /usr/sbin/snmpd -LOw -u Debian-snmp -g Debian-snmp -I -smux mteTrigger mteTriggerConf -f root@pve77:~# date Thu Dec 5 04:51:19 PM HKT 2024 root@pve77:~# journalctl -u snmpd -n 5 Dec 05 16:47:25 pve77 snmpd[801]: systemstats_linux: unexpected header length in /proc/net/snmp. 237 != 224 Dec 05 16:48:25 pve77 snmpd[801]: systemstats_linux: unexpected header length in /proc/net/snmp. 237 != 224 Dec 05 16:49:25 pve77 snmpd[801]: systemstats_linux: unexpected header length in /proc/net/snmp. 237 != 224 Dec 05 16:50:25 pve77 snmpd[801]: systemstats_linux: unexpected header length in /proc/net/snmp. 237 != 224 Dec 05 16:51:03 pve77 systemd[1]: snmpd.service: Consumed 31min 33.291s CPU time. |
もちろん根本的な解決ではありませんが、ProxmoxのSystem Logから消えてくれただけでも大助かり。
NIC Bonding
前回搭載したIntel Quad GbEボードの4口のNICは、デフォルトでLinux Bridge vmbr0 に繋がっているいる状態。IPアドレスはこのブリッジに付与されています。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
auto lo iface lo inet loopback iface enp28s0f0 inet manual iface enx42f2e937c588 inet manual iface enp28s0f1 inet manual iface enp29s0f0 inet manual iface enp29s0f1 inet manual iface enp6s0 inet manual iface enp11s0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.###.###/24 gateway 192.168.###.### bridge-ports enp28s0f0 enp28s0f1 enp29s0f0 enp29s0f1 bridge-stp off bridge-fd 0 |
この4口を束ねてリンクアグリゲーションによる高速化を図るべく、WebUI上でBondingインターフェイスを作成するも、現在試用中のポートを含めて一気に設定するのはやはり無理。
そこで、 /etc/network/interfaces をターミナル上で直接編集(編集前にバックアップ忘れずに)。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
auto lo iface lo inet loopback iface enp28s0f0 inet manual iface enx42f2e937c588 inet manual iface enp28s0f1 inet manual iface enp29s0f0 inet manual iface enp29s0f1 inet manual iface enp6s0 inet manual iface enp11s0 inet manual auto bond0 iface bond0 inet manual bond-slaves enp28s0f0 enp28s0f1 enp29s0f0 enp29s0f1 bond-miimon 100 bond-mode 802.3ad bond-xmit-hash-policy layer2+3 auto vmbr0 iface vmbr0 inet static address 192.168.###.###/24 gateway 192.168.###.### bridge-ports bond0 bridge-stp off bridge-fd 0 |
設定を保存後、networkingサービスを再起動。しばし疎通が途絶えますが、記述に間違えがなければ疎通はほどなく回復します。
|
1 2 3 |
root@pve77:~# cp /etc/network/interfaces /etc/network/interfaces.bak root@pve77:~# nano /etc/network/interfaces root@pve77:~# systemctl restart networking.service |
変更後のインターフェイス構成をWebUIから確認。
これで疎通も問題ないしめでたし、と思っていると対方のネットワークスイッチ側で4口中3口が無効状態に。スイッチ側でもリンクアグリゲーションの設定が必要なのですが、また別途調べて設定してみます。
最後に、ターミナルに入ったついでに、定番のIPv6無効化。インクルードファイルを見ていないようなので、設定本体の末尾に直接記述します。
|
1 2 |
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 |
設定を反映させ、IPv6が消えているのを確認。
|
1 2 3 4 5 6 7 8 9 10 |
root@pve77:~# nano /etc/sysctl.conf root@pve77:~# sysctl -p net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 root@pve77:~# ip a show dev vmbr0 27: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff inet 192.168.###.###/24 scope global vmbr0 valid_lft forever preferred_lft forever |
参考)
Proxmox VE ノード本体の設定は以上です。次回はいよいよ仮想マシンを作成してみます。

















