Proxmox, Docker」カテゴリーアーカイブ

PBSにはメモリ8GBは必要

パフォーマンスについて。Proxmox Backup Serverはメモリが足りないと、リストア時間に非常に時間がかかる。

4GBでは常時メモリがフル状態。

リストアするVMの実容量は15GB程度。

33%まで5分ほどかかり、それ以降は急速に進んだ。PBSのメモリが足りないため、解凍処理で時間がかかっている可能性がある。

CPUはそれほど使わない様子。PBSはメモリが重要だと分かった。

ProxmoxでユーザをActive Directory認証する

グループとユーザ作成

$password = ConvertTo-SecureString "[email protected]" -AsPlainText -Force
New-ADUser -Name VMAdmin1 -AccountPassword $password -ChangePasswordAtLogon $false -CannotChangePassword $false -PasswordNeverExpires $true -Enabled $true
New-ADGroup -Name VMAdmins -GroupScope Universal -GroupCategory Security
Add-ADGroupMember -Identity VMAdmins -Members VMAdmin1

# ユーザ確認
Get-ADUser -Filter {sAMAccountName -like "VMA*"} -Properties * | select displayName,name,enabled,sAMAccountName,canonicalName | ft
# グループ確認
Get-ADGroup -Filter {sAMAccountName -like "VMA*"} -Properties * | select displayName,name,enabled,sAMAccountName,canonicalName | ft

ProxmoxのDNSを、ADに変更(任意)

ADの認証レルムを追加

DNSを変更していない場合は、IPで指定する。

BINDユーザとパスワードを入力する。今回はDC管理者を設定。「既定の同期オプション」は、すべて「はい」にしておく。

CN=DCAdmin,CN=Users,DC=sabaya,DC=lan

同期テストと確認

通常運用時は、ユーザのみ同期でいいかもしれない。

UsersとVMAdminsグループが同期されていればOK。

ログイン確認

レルムでADドメインを指定して、ログインする。

Proxmoxに簡易ファイアウォールを設定する

セキュリティ設定のため、WebGUI(8006)を、SSHポート転送の踏み台サーバからのみ許可してみる。

ポートフォワードサーバのエイリアスを追加

データセンターのFWメニューから追加する。

セキュリティグループの追加

エイリアスを追加していると「ソース」のドロップダウンから選べる。

ノードに適用

各ノードにセキュリティグループを適用すればOK。

Proxmoxでディスクベンチマーク

VMに仮想ディスクアサインする前の、基盤ディスクベンチマーク。ZFSのパフォーマンステストなどで使うと良い。

コマンド

apt install hdparm
hdparm -tT /dev/sda

キャッシュメモリが効いていることが分かる。速度はSATA6の仕様値。

実用スクリプト

以下のサイトを参考にし、Read/Writeの複数回テストができた。

# Read
for i in [1] [2] [3] [4] [5];do sleep 5;echo $'\n\n' $i;hdparm -t /dev/sda;done
# Write
for i in [1] [2] [3] [4] [5];do sleep 5;echo $'\n\n' $i;date;time dd if=/dev/zero of=/tmp/hdparm_write$i.tmp ibs=1M obs=1M count=1024;date;done

参考サイト

Proxmoxで特定権限のみのユーザを作成する

想定シナリオ

経理部のIT担当者に、経理部のVMに対してのみ、「メモリ・CPUの変更」「電源オンオフ」「スナップショットの作成」の権限を与える。

ロールの作成

非ビルトイン権限として追加されればOK。

グループの作成

グループのアクセス権限

VM101(Windowsテンプレート)と、VM104(稼働中の経理部VM)を割り当てる。

ユーザの作成

グループを割り当てる。レルムは”authentication server”とする必要がある。Linux OSユーザとして割り当てられる。

ユーザ権限の確認

動作確認

GUIに表示させるためには、”VM.Audit”も追加する必要があることが分かった。

「電源管理」「メモリ・プロセッサ変更」「スナップショット」のみ実行可能となっている。

Proxmoxでサブスクリプション警告を消す

Communityリポジトリで必ず出るメッセージを消す。今後のバージョンアップで無効化される可能性がある。

コマンド

sed -Ezi.bak "s/(Ext.Msg.show({\s+title: gettext('No valid sub)/void({ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

差分確認

grep -n -B 1 'No valid sub' proxmoxlib.js

参考ページ

Thanks for neat 1liner compilation together with grep confirmation step.

ProxmoxでLXCコンテナがあるとクラスター参加できない

“this host already contains virtual guests”というエラーになる。一度コンテナをバックアップして、クラスター参加後にリストアする必要がある。

Syslogを確認

nano /var/log/syslog
# Ctrl + Wでキーワード検索

ブラウザのWebシェルだと、Ctrl + Wでタブを閉じる動作になるため、nanoで検索できない。PowerShellやSSHクライアントで行う。

参考ページ

https://forum.proxmox.com/threads/cluster-join-failed-this-host-already-contains-virtual-guests.55965/

LXCコンテナはクラスター参加後に作成するのが望ましい。

Apache Guacamole パフォーマンステスト

前回のエントリでDockerにデプロイしたGuacamoleの検証をする。

接続確認

ポートを80にしたので、ホスト名入力だけで接続できる。guacadmin/guacadminでログイン。

VMにネイティブインストールする場合と違い、最初から日本語化されていた。

Windows VMへの接続作成

同時接続制限など、新しい項目が追加されていた。GPOで制限するよりも手軽かもしれない。

NLA認証をAnyにして接続。デフォルトだと最軽量の設定。

動作テスト

負荷テストのため、リッチグラフィックの設定にしてみる。

カラー深度とスケーリングの設定も変更。

動画再生は15fps程度。メディアファイルはローカル処理させたほうが良い。

動画再生すると、GuacamoleホストCPU使用率が20%を超えた。メモリは変化なし。

ブラウザのサイズを変えると、解像度もリニアスケールする。