Proxmox VE 6.1の初期設定

Proxmox VE 6.1の初期設定を紹介

最初に

Proxmox VE 6.1
使用したISOはproxmox-ve_6.1-1.iso

インストール処理が終わった直後に行う初期設定を紹介していきます

SSH接続確認

WEBGUI上でもシェル画面はありますので必須ではありませんが
SSHクライアントソフトから接続した方が操作が楽なので
まずはSSH接続を確認します

ProxmoxはESXiと違って最初からSSHが許可されているので
WEBGUIを開かずしていきなり接続トライが可能です
IPはインストール設定で入力したIP
ポートは22
rootログイン可能
rootパスワードはインストール設定で入力したパスワード

Linux pve01 5.3.10-1-pve #1 SMP PVE 5.3.10-1 (Thu, 14 Nov 2019 10:43:13 +0100) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@pve01:~#

文字列からもDebianベースなのが確認できます

CUI上のテキストエディタについてはviやnanoが元々入っていますが
Debianのviは方向キー問題などが面倒なのでnano推奨です
どうしてもviを使いたい場合は.vimrcファイルで対処することになりますが
Proxmox固有の問題ではないのでDebian viで検索する方が情報が多いです

この検索ワードはProxmox全般に当てはまる話で
Proxmoxは既存技術の寄せ集めで構成されているおかげで
トラブルが発生しても「proxmox ***」と調べるより
「debian ***」や「デーモン名 ***」で調べた方がヒットします

時刻関係

PC内部の時間がズレているとWEBGUIだけでなく
いろんなプロセスに影響しますので先に確認します

もしこの段階で数時間のズレがあった場合は各デーモンを確認するのも面倒なので
UEFIの時間をUTCにしっかり合わせてから再インストールした方が無難です

timedatectlで確認

timedatectlコマンドを使って現在時刻を確認します

root@pve01:~# timedatectl
               Local time: Thu 2020-01-16 06:18:08 JST
           Universal time: Wed 2020-01-15 21:18:08 UTC
                 RTC time: Wed 2020-01-15 21:18:08
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

UTC・JST・タイムゾーン・NTP有効かをチェックします

NTP設定

NTPクライアントデーモンはsystemd-timesyncd
インストールしたままの場合はpool.ntp.orgのサービスが使用されています

別のNTPサービスやLAN内のサーバを指定したい場合はconfを編集します
confファイルの位置は/etc/systemd/timesyncd.conf
MFEEDのサービスの場合はNTP=ntp.jst.mfeed.ad.jpを記述するだけ

サービス再起動して動作確認します

root@pve01:~# nano /etc/systemd/timesyncd.conf
root@pve01:~# systemctl restart systemd-timesyncd
root@pve01:~# journalctl --since -1h -u systemd-timesyncd
-- Logs begin at Thu 2020-01-16 01:45:48 JST, end at Thu 2020-01-16 06:17:21 JST. --
Jan 16 06:17:21 pve01 systemd[1]: Stopping Network Time Synchronization...
Jan 16 06:17:21 pve01 systemd[1]: systemd-timesyncd.service: Succeeded.
Jan 16 06:17:21 pve01 systemd[1]: Stopped Network Time Synchronization.
Jan 16 06:17:21 pve01 systemd[1]: Starting Network Time Synchronization...
Jan 16 06:17:21 pve01 systemd[1]: Started Network Time Synchronization.
Jan 16 06:17:21 pve01 systemd-timesyncd[7809]: Synchronized to time server for the first time 210.173.160.87:123 (ntp.jst.mfeed.ad.jp).
root@pve01:~#

ログイン時のダイアログを無効にする

WEBGUIへログインすると
「有効なサブスクリプションがありません」のダイアログが表示されます

OKボタンを押すだけなのでそのままスルーして運用してもいいのですが
ダイアログを無効にする方法が一応あるので試してみました
編集するファイルは/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
該当部分はこちら

root@pve01:~# nano /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 
root@pve01:~#

if文の条件をdata.status !== ‘Active’からfalseにするだけです(画像中央部)

書き換えをコマンド1発で処理したい場合はこちら

root@pve01:~# sed -i.orig "s/data.status !== 'Active'/false/g" "/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js"
root@pve01:~#

ファイルを保存したら即時反映されますが
WEBGUIへアクセスするPC側でproxmoxlib.jsがブラウザキャッシュに残っていると
ダイアログが出る状態のままになるので必ずキャッシュクリアを行ってください

このsedコマンドは同じディレクトリにオリジナルファイルをコピーするので
不具合が発生した場合はproxmoxlib.js.origをproxmoxlib.jsに上書きすれば復旧可能です

今回のproxmoxlib.jsはアップデートの影響で頻繁に上書きされてしまうので
ダイアログが出始めたら再度この処理が必要になります

今回の対処法はProxmox 6.1(6.1-5)で動作確認できましたが
いつ記述方法が変わってもおかしくないので
sedを実行前にソースを確認した方が無難です

アップデート機能のリポジトリ変更

インストールしたままだとProxmox VEエンタープライズリポジトリが有効になっていますが
有償サポートを受けていない場合は当然ながらこのリポジトリは使えません

そのままだとアップデート画面にも一部リポジトリしか表示されず
タスク上でもエラーが記録されます

「再表示」ボタンを選択した際のログ
エンタープライズリポジトリにアクセスできず
最後にタスクエラーになっているのがわかります

対処法としてはProxmox VEエンタープライズリポジトリを無効にして
Proxmox VEサブスクリプションなしリポジトリを有効にします

この設定変更を実施しないと日常のアップデートが利用できません

Proxmox VEエンタープライズリポジトリを無効にする

編集するファイルは/etc/apt/sources.list.d/pve-enterprise.list

root@pve01:~# nano /etc/apt/sources.list.d/pve-enterprise.list
root@pve01:~#

ファイルの中身はリポジトリが1行記載されているだけ

これをコメントアウトにします

Proxmox VEサブスクリプションなしリポジトリを有効にする

編集するファイルは/etc/apt/sources.list

root@pve01:~# nano /etc/apt/sources.list
root@pve01:~#

ファイルの中身はこちら

ここにリポジトリを以下のように追記します
コメントは後でわかりやすくしてるだけなので下の行だけでももちろんOK

# PVE pve-no-subscription repository
deb http://download.proxmox.com/debian/pve buster pve-no-subscription

追記した後のファイルがこちら

アップデートを実行

リポジトリ設定が終わればWEBGUIからアップデートの動作確認をする為
アップデート画面の「再表示」ボタンを選択します

TASK OKで終わっていれば正常です

アップデート画面に戻るとDebian系しか表示されていなかった所に
Proxmox系のアップデートも表示されるようになります
ページ下のタスクもエラー解消が確認できます

「再表示」ボタンの右にある「アップグレード」ボタンを押すと
ポップアップでコンソール画面が表示されて更新処理が開始されます
特別なことはしておらずapt-getを実行しているだけです

Do you want to continue? [Y/n]を聞かれて入力待ちになるので
yを入力してからエンターキーで処理続行

Your System is up-to-dateと出ればOKです
今回はカーネルも更新されているので再起動の指示が書かれています
ポップアップの画面はもう必要ないので「×」で閉じます

WEBGUIの右上にある再起動ボタンからサーバを再起動します
復帰したらサマリー画面でカーネルとPVEマネージャーのバージョンを確認します
(左上のバージョン表記もちゃんと変わってます)

更新前(ISOからインストールしたまま)

更新後

HDスペースの使用容量が増えているのは前のカーネルが残っている影響です
残っているカーネルを確認する場合はこちらのコマンドを使います

root@pve01:~# dpkg --list | grep "pve-kernel"
ii  pve-firmware                         3.0-4                       all          Binary firmware code for the pve-kernel
ii  pve-kernel-5.3                       6.1-1                       all          Latest Proxmox VE Kernel Image
ii  pve-kernel-5.3.10-1-pve              5.3.10-1                    amd64        The Proxmox PVE Kernel Image
ii  pve-kernel-5.3.13-1-pve              5.3.13-1                    amd64        The Proxmox PVE Kernel Image
ii  pve-kernel-helper                    6.1-1                       all          Function for various kernel maintenance tasks.
root@pve01:~#

昔のProxmoxは手動で不要なカーネルを削除していかないと
容量をひたすら食う仕様だったが6.x系から最低限必要な分だけ残して
他は削除されるように変更されているらしいのでちゃんと機能すれば監視する必要はない模様

ちなみに今回のアップデートだと「ログイン時のダイアログ」部分で
編集したjsファイルだけ上書きされて元に戻ってました

syslogへの不要なログを抑制(レプリケーション)

/var/log/syslogを見てみるとこんな状態です

root@pve01:~# tail -n30 /var/log/syslog 
Jan 16 20:22:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:22:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:22:00 pve01 systemd[1]: Started Proxmox VE replication runner.
Jan 16 20:23:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:23:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:23:00 pve01 systemd[1]: Started Proxmox VE replication runner.
Jan 16 20:24:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:24:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:24:00 pve01 systemd[1]: Started Proxmox VE replication runner.
Jan 16 20:25:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:25:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:25:00 pve01 systemd[1]: Started Proxmox VE replication runner.
Jan 16 20:26:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:26:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:26:00 pve01 systemd[1]: Started Proxmox VE replication runner.
Jan 16 20:27:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:27:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:27:00 pve01 systemd[1]: Started Proxmox VE replication runner.
Jan 16 20:28:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:28:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:28:00 pve01 systemd[1]: Started Proxmox VE replication runner.
Jan 16 20:29:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:29:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:29:00 pve01 systemd[1]: Started Proxmox VE replication runner.
Jan 16 20:30:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:30:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:30:00 pve01 systemd[1]: Started Proxmox VE replication runner.
Jan 16 20:31:00 pve01 systemd[1]: Starting Proxmox VE replication runner...
Jan 16 20:31:00 pve01 systemd[1]: pvesr.service: Succeeded.
Jan 16 20:31:00 pve01 systemd[1]: Started Proxmox VE replication runner.
root@pve01:~#

レプリケーション機能を使わない人には毎分こんなログを書き込まれても邪魔なだけですので
該当のpvesr.timerを停止してしまうことで対処します

root@pve01:~# systemctl disable pvesr.timer
Removed /etc/systemd/system/timers.target.wants/pvesr.timer.
root@pve01:~#

元に戻す場合もsystemctlで可能

root@pve01:~# systemctl enable pvesr.timer
Created symlink /etc/systemd/system/timers.target.wants/pvesr.timer → /etc/systemd/system/pvesr.timer.
root@pve01:~#

最後に

次の記事ではクラスタを構成してみる予定です