Performance optimization engagement for a 7-host Proxmox R&D cluster.
Captures the accumulated work across host tuning, network analysis,
fleet assessment, and kubernetes architecture planning.
Contents:
- Host-side tunings (scripts/): CPU governor, swappiness, BBR, NFS
nconnect, tuned profiles -- complete on 5 of 7 hosts
- Validation + benchmarking scripts: iperf matrix, bond/NFS fixes
- Collected host data (returned-logs/): check.sh output from all 7
hosts + iperf results, including newly-validated pfv-tsys9
- AGENTS.md: operating context for AI agents
- PROJECT.md: board-ready fleet assessment with VM placement and
storage redundancy analysis (40 VMs across 7 hosts)
- K8S.md: kubernetes architecture deep-dive covering cnode/wnode
distribution, StorageClass design, and ETL/HPC workload planning
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
30 lines
1015 B
Bash
Executable File
30 lines
1015 B
Bash
Executable File
#!/bin/bash
|
|
# check-pkgs.sh - verify package install state.
|
|
set -uo pipefail
|
|
SSH_OPTS=(-o BatchMode=yes -o ConnectTimeout=8 -o StrictHostKeyChecking=accept-new)
|
|
|
|
for host in pfv-tsys6 pfv-tsys7; do
|
|
echo "=== $host ==="
|
|
ssh "${SSH_OPTS[@]}" "root@$host" '
|
|
for p in sysstat jq numactl nvme mtr-tiny dig bmon tcpdump; do
|
|
if command -v "$p" >/dev/null 2>&1; then
|
|
echo " ✓ $p"
|
|
else
|
|
echo " ✗ $p"
|
|
fi
|
|
done
|
|
# sysstat config
|
|
echo " sysstat service:"
|
|
systemctl list-unit-files 2>/dev/null | grep -i sysstat | sed "s/^/ /"
|
|
echo " sysstat enabled in /etc/default:"
|
|
if [ -r /etc/default/sysstat ]; then
|
|
grep ENABLED /etc/default/sysstat | sed "s/^/ /"
|
|
else
|
|
echo " no /etc/default/sysstat"
|
|
fi
|
|
# on Debian trixie, sysstat uses a different path
|
|
ls /etc/cron.d/sysstat* 2>/dev/null | sed "s/^/ found: /"
|
|
'
|
|
echo ""
|
|
done
|