πΎ Diskstatus: Snel de Gezondheid van je Schijven Inzien
Wanneer je (oudere) mechanische harde schijven of SSD's in je Proxmox- of Linux-servers hebt draaien, is het essentieel om de gezondheidstatus (S.M.A.R.T.) nauwkeurig te monitoren. Hoewel Proxmox een ingebouwde grafische schijven-tab heeft, gooit een standaard smartctl commando vaak een onoverzichtelijke muur van tekst over je terminal.
Om dit proces te versnellen, heb ik een compact bash-script geschreven dat automatisch alle fysieke schijven filtert (en ZFS-volumes negeert) om vervolgens in één oogopslag een strak, kleurgecodeerd overzicht te tonen van de belangrijkste gezondheidsindicatoren.
ποΈ Het Schijfstatus Bash-Script (diskstatus)
Dit script herkent automatisch of een schijf een moderne NVMe SSD is of een traditionele SATA HDD, en past de getoonde parameters daar intelligent op aan.
#!/bin/bash
# Filter alle fysieke schijven en negeer ZFS virtuele volumes (zd)
DISKS=\$(lsblk -dno NAME | grep -v 'loop\|rbd\|zram\|zd')
echo "==========================================="
echo " PROXMOX DISK HEALTH OVERVIEW"
echo "==========================================="
for DISK in \$DISKS; do
DEVICE="/dev/\$DISK"
MODEL=(smartctl -i DEVICE | grep "Model Family\|Device Model\|Model Number" | cut -d':' -f2 | xargs)
echo -e "\n>>> DISK: \(DEVICE [\)MODEL]"
echo "-------------------------------------------"
if [[ \$DISK == nvme* ]]; then
# Toont specifieke NVMe slijtage- en temperatuurindicatoren
smartctl -a \$DEVICE | grep -E "Critical Warning|Percentage Used|Available Spare:|Temperature:|Power On Hours|Data Units Written"
else
# Toont uitsluitend de meest kritieke parameters voor SATA SSD/HDD
smartctl -A \$DEVICE | grep -E "Reallocated_Sector_Ct|Power_On_Hours|Temperature_Celsius" | awk '{printf "%-25s %s\n", \$2, \$10}'
# Voegt de algemene hardware teststatus (PASSED/FAILED) toe
smartctl -H \$DEVICE | grep "test result"
fi
echo "-------------------------------------------"
done
π οΈ Installatie & Uitvoering op de Server
Vanwege de directe hardware-interactie met de opslagcontrollers is voor het uitlezen van de S.M.A.R.T.-data absolute root-toegang (of sudo) vereist op de host.
1. Het script aanmaken
Log via SSH in op je Proxmox-host of Linux-server en maak het bestand aan:
Plak de bovenstaande code in het bestand, sla op metCtrl + O en sluit af met Ctrl + X.
2. Uitvoerbaar maken
Dwing het Linux-systeem om het script als een volwaardig commando te herkennen door de executie-rechten goed te zetten:
3. Het script draaien
Vanaf nu kun je op elk gewenst moment simpelweg het volgende commando typen in je terminal om een directe, schone gezondheids-update van al je schijven te krijgen: