CH-J Server ManagerSSH によるサーバー管理
メニュー
すべてのガイドと記事 →

SSHでProxmox VEを監視する方法

Proxmox VEのホスト、ゲスト、ストレージを確認するコマンドと、一般的なLinux監視で把握できること、見落とすことを解説します。

Webインターフェースと併せてSSHを使う理由

Proxmox VEはDebian上で動作するため、通常のLinuxツールとProxmoxコマンドでホストを確認できます。ポート8006のWebインターフェースが応答しない場合でもSSHは使え、ゲスト側では単なる遅さとしてしか現れないホストの問題を確認できます。ここで紹介するコマンドはホスト上で実行し、大半はroot権限が必要です。

ホストとバージョン

まずバージョン、負荷、Proxmoxサービスの状態を確認します。クラスターではクォーラムも確認してください。クォーラムがなければゲストの起動や変更はできません。

pveversion
uptime
systemctl --failed
systemctl status pveproxy pvedaemon pvestatd --no-pager
pvecm status

仮想マシンとコンテナー

qmは仮想マシン、pctはコンテナーを扱います。pveshはWebインターフェースと同じAPIを読み取るため、クラスター全体のデータもスクリプトで扱いやすい形式で返します。

qm list
pct list
pvesh get /cluster/resources --type vm --output-format json

ストレージ:dfだけでは不十分

dfが表示するのはマウント済みのファイルシステムだけで、LVM-thinプールやZFSプールの使用状況はわかりません。シンプールが満杯になるとゲストの停止や破損を招くことがあり、実容量を超えて割り当てられていることも多いため、データとメタデータの使用量を監視してください。ZFSではプールの健全性と容量を確認します。

pvesm status
sudo lvs -a
zpool status -x
zpool list

ZFSホストのメモリ

ZFS ARCキャッシュは通常のページキャッシュとは別に存在するため、ZFSホストは正常でもfreeではメモリがほぼ尽きたように見えることがあります。ARCのサイズは別途確認してください。仮想マシンはホスト上ではkvmプロセスとして現れ、ゲスト内でメモリが解放された後も、そのプロセスへの割り当てが残る場合があります。そのため、ホストとゲストの数値は一致するとは限りません。

awk '$1=="size"{print $3/1024/1024/1024" GiB"}' /proc/spl/kstat/zfs/arcstats
free -h
ps -eo pid,rss,cmd --sort=-rss | grep '[k]vm' | head -5

ログとバックアップ

バックアップの失敗やディスクエラーは、まずジャーナルに現れることがよくあります。タスクとログを定期的に確認し、ダッシュボードの緑のステータスだけに頼らないでください。SMARTデータにはsmartmontoolsが必要で、Proxmoxは標準でインストールしますが、RAIDコントローラー配下のディスクでは追加のオプションが必要な場合があります。

journalctl -p err -b --no-pager | tail -30
pvesh get /nodes/$(hostname)/tasks --errors 1 --limit 10
smartctl -H /dev/sda

ProxmoxでCH-J Server Managerが表示する内容

System MonitorにはProxmox専用の処理はありません。ホストをLinuxサーバーとして扱い、CPU、RAM、swap、ファイルシステム、稼働時間、ネットワークインターフェースを表示します。ゲストは一覧表示せず、Proxmox APIも使わず、ZFS ARCを使用済みメモリに数えます。qm、pct、pvesmにはSSHターミナルを使ってください。Disk ManagerはProxmoxストレージを認識し、ゲストボリュームを明示します。LVM、ZFS、システムディスクなど、保護されたホストストレージへの破壊的な変更は選択肢として提示しません。

詳しいドキュメント

Proxmox VE: pvesh →

Proxmox VE: pvesm →

生体認証によるロック解除とセキュリティ →