IT @ Jason Tools v3.65.1

PVE 系統報告檢視器

匯入 pvereport,整理節點資訊與排查線索。

匯入報告

接受 pvereport 產生的 .txt 或 .log,可一次選多個檔案。資料只在瀏覽器處理,不會送到任何伺服器;備註預設隱藏。

選擇 pvereport 檔案(支援 .txt)
可一次選擇多個檔案,或直接把檔案拖進來

一段指令,一個檔案(建議)

在任一節點的 Shell 貼上執行。它會跑 pvereport,接著把這一頁其他地方列出的補充命令一起收進同一個檔案;有叢集就整個叢集一起撈。跑完只會產生一個檔案,拖進上面的匯入區就可以了。

完整指令(點開來看)46 行
out="pvereport-$(hostname)-$(date +%Y%m%d-%H%M%S).txt" collect() { pvereport printf '\n===== jt-pvereport-extra node=%s =====\n' "$(hostname)" printf '\n==== info about ceph ====\n' for c in "pveceph status" "ceph -s" "ceph osd df tree" "ceph df" "ceph versions"; do printf '\n# %s\n' "$c"; $c 2>&1 || true done printf '\n==== info about storage ====\n' printf '\n# arc_summary\n'; arc_summary 2>&1 || true for p in $(zpool list -H -o name 2>/dev/null); do printf '\n# zpool status -v %s\n' "$p"; zpool status -v "$p" 2>&1 || true done printf '\n==== info about block devices ====\n' printf '\n# multipath -ll\n'; multipath -ll 2>&1 || true printf '\n# systemctl status multipathd\n'; systemctl status multipathd 2>&1 || true printf '\n==== info about hardware ====\n' printf '\n# uname -r\n'; uname -r 2>&1 || true printf '\n# proxmox-boot-tool kernel list\n'; proxmox-boot-tool kernel list 2>&1 || true printf '\n==== info about network ====\n' printf '\n# cat /etc/network/interfaces\n'; cat /etc/network/interfaces 2>&1 || true printf '\n# ip -details link show\n'; ip -details link show 2>&1 || true } nodes=$(pvecm nodes 2>/dev/null | awk '$1 ~ /^[0-9]+$/ {print $3}' | tr -d '()') : > "$out" if [ -z "$nodes" ]; then echo "===== jt-pvereport-bundle node=$(hostname) =====" >> "$out" collect >> "$out" 2>&1 echo "OK $(hostname)" else self=$(hostname) for n in $nodes; do echo "===== jt-pvereport-bundle node=$n =====" >> "$out" if [ "$n" = "$self" ]; then collect >> "$out" 2>&1; echo "OK $n" elif ssh -o BatchMode=yes -o StrictHostKeyChecking=accept-new "$n" \ "$(declare -f collect); collect" >> "$out" 2> "/tmp/jtpr-$n.err"; then echo "OK $n" else echo "##### jt-pvereport-bundle-error node=$n: $(head -n 1 "/tmp/jtpr-$n.err")" >> "$out" echo "FAIL $n" fi rm -f "/tmp/jtpr-$n.err" done fi echo "-> $out"

補上去的段落前面會有一行 jt-pvereport-extra 分隔線 —— 那是這段指令加的,不是 pvereport 產生的,這一頁會分開標示。撈不到的節點會留一行錯誤訊息,匯入後列成一筆錯誤,不會整台消失。

這一段沒有在本站的實機驗證過,跑之前請先確認節點之間真的可以免密碼 SSH(金鑰在 /etc/pve/priv/authorized_keys),並先單獨跑一次 pvecm nodes 看欄位位置對不對 —— 不同版本的輸出格式可能不一樣,取錯欄位會抓到空的節點名稱。沒有叢集時它會只收本機這一台。

其他做法:先選要收哪一種範圍

只要原廠的 pvereport

pvereport > pvereport.txt 2>&1

在每個 PVE 節點的 Shell 執行,等命令跑完再把檔案下載下來拖進這一頁。每台節點各要一份 —— 一台跑出來的報告不會包含其他節點的硬體與虛擬機設定。固定檔名會覆寫既有的檔案,可以自己換名稱。

報告沒帶到的東西,補這幾個命令 6

檢查發現裡的「下一步」指到的命令都在這裡。這一頁只讀 pvereport 的輸出,下面這些是要你在該節點自己執行、自己看結果的 —— 貼回這一頁不會被解析。要讓報告本身帶上某一段,就在那個節點重新產生一次 pvereport。

Ceph 現況

報告裡沒有 ceph 段落時。要在有 Ceph 服務的節點上跑 —— 只把 Ceph 當儲存用的節點跑不出這幾段。

pveceph status
ceph -s
ceph osd df tree

ZFS ARC 資訊

zarcstat 回報錯誤時改用這一支。擷取失敗不等於 ARC 容量是 0。

arc_summary

ZFS 受影響的檔案

pool 有資料錯誤時,用這一支列出是哪些檔案。把命令裡的 POOL 換成該 pool 的名稱。

zpool status -v POOL

開機核心

執行中的核心與已安裝的新版核心是兩件事。要判斷需不需要重開機,看可開機項目再對照目前執行中的版本。

proxmox-boot-tool kernel list
uname -r

多重路徑

multipath -ll 輸出是空的時候。空輸出既不能證明沒有多重路徑,也不能證明服務沒啟用。

systemctl status multipathd
multipath -ll

網路介面

iface 只有宣告、沒有位址或橋接設定時。把命令裡的 IFACE 換成該介面的名稱。

cat /etc/network/interfaces
ip -d link show IFACE
報告裡會有虛擬機備註、命令參數與網路設定。要把檔案交給別人或上傳到別的地方之前,請自己先看過一遍。
使用說明 8

這一頁怎麼讀,以及它刻意不替你下的結論

這一頁只讀證據、整理現況。需求與擴充規劃請用 PVE 資源計算機,測試結果請用 FIO 或 iperf3 分析器,防火牆規則請用 PVE 防火牆工具。
Pool 是 ONLINE 不代表資料完全正常 zpool status 的狀態欄與 errors 欄是兩件事。狀態 ONLINE、同時回報 25 筆資料錯誤,是完全合法的輸出。這一頁把兩個欄位分開顯示,不會因為看到 ONLINE 就給全綠。
最近一次重建的錯誤數是歷史,不是現況 scan 那一行寫的是上一次 resilver 或 scrub 當時遇到幾個錯誤;errors 那一行才是目前還存在的資料錯誤。兩個數字放在一起看會得到相反的結論,所以這裡分成兩列。
執行中的核心與已安裝的核心是兩列 套件裝了新版本、目前卻還跑著舊的,是「需要重新啟動」的線索。只顯示一個數字等於把線索藏起來。至於重新啟動後會載入哪一個,要看 proxmox-boot-tool 列出的開機項目 —— 這一頁只指出落差,不替你斷言。
擷取失敗會列成一筆發現,不會留白 命令回報錯誤、輸出是空的、報告裡根本沒有那個段落,是三種不同的狀況,而且沒有一種等於「值是零」。靜默留白會讓人以為那一項正常,所以這裡一律列出來。
叢集成員不相加,共用容量也不相加 三份報告各自說叢集有 5 個成員,那是同一座叢集被看了三次,不是 15 台。同一個共用儲存出現在每一份報告裡,也不代表容量有好幾份。這一頁顯示「已匯入幾份完整報告」,並且預設不產生全域總容量。
磁碟數字是配置,不是實際用量 快照、unused、ISO、EFI 與 TPM 都不算進目前的資料磁碟;沒寫大小的另外列成未知,不補 0。而且這是虛擬機的配置容量,不是 guest 已經用掉的空間,也還沒把精簡配置、共用磁碟區與副本算進去。
top 是一次採樣,PSI 不是使用率 報告裡的 top 只跑一次、依累積 CPU 時間排序、而且被截掉,不是全機即時排名;處理程序的 CPU 超過 100% 是多執行緒的正常現象。PSI 量的是「有工作因為資源不足而停等」的時間比例,跟 CPU 使用率是兩回事,load average 也不是百分比。
報告內容一律當成不可信的文字 備註裡可以寫任何東西,包括長得像命令或段落標題的行。這一頁不會執行它、不會把它當成標記渲染,也不會讓它改變切段結果;備註預設隱藏,而且不進匯出。去識別化只替換認得出來的識別項,不宣稱完整。
  • 目前支援多檔匯入、來源切段、版本與節點盤點、VM 與 LXC 盤點、ZFS 狀態、來源定位、安全匯出。解析基線是 pve-manager 9.x 的報告形狀。
  • 尚未支援LVM、iSCSI、多重路徑的結構化整理,以及前後兩份報告的差異比較。這些分頁不會用假資料佔位,會直接說明尚未支援。
  • 資料不離開瀏覽器解析全程在本機完成,不呼叫任何後端,也不寫進瀏覽器儲存空間。重新整理頁面就要重新匯入。