Created
April 7, 2025 21:11
-
-
Save szabbenjamin/4ee20101ed3a5607c7c4adfe56dac1a7 to your computer and use it in GitHub Desktop.
proxmox_disks.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| echo "Merevlemezek listázása sorozatszámmal, modellel, kapacitással és használati állapottal (Proxmox-specifikus, UUID ellenőrzéssel)" | |
| # Ellenőrizd, hogy a szükséges eszközök telepítve vannak-e | |
| if ! command -v lsblk &> /dev/null || ! command -v smartctl &> /dev/null || ! command -v blkid &> /dev/null; then | |
| echo "A script futtatásához telepítsd a következő csomagokat: lsblk, smartmontools, blkid" | |
| exit 1 | |
| fi | |
| # Listázza az összes fizikai merevlemezt | |
| drives=$(lsblk -nd -o NAME,TYPE | awk '$2=="disk" {print $1}') | |
| for drive in $drives; do | |
| device="/dev/$drive" | |
| # Sorozatszám lekérdezése | |
| serial=$(sudo smartctl -i "$device" | grep "Serial Number" | awk -F': ' '{print $2}') | |
| if [ -z "$serial" ]; then | |
| serial="N/A" | |
| fi | |
| # Lemez modellje | |
| model=$(sudo smartctl -i "$device" | grep "Device Model\|Model Number" | awk -F': ' '{print $2}') | |
| if [ -z "$model" ]; then | |
| model="N/A" | |
| fi | |
| # Lemez kapacitása | |
| size=$(lsblk -nd -o SIZE "$device") | |
| # Használat ellenőrzése | |
| status="Nincs használatban" | |
| vmid="N/A" | |
| # 1. Ellenőrizd, hogy része-e egy ZFS pool-nak | |
| if zpool status | grep -q "$drive"; then | |
| status="Használatban (ZFS pool)" | |
| fi | |
| # 2. Ellenőrizd, hogy része-e egy LVM volume group-nak | |
| if pvs | grep -q "$drive"; then | |
| status="Használatban (LVM)" | |
| fi | |
| # 3. Ellenőrizd, hogy van-e csatolva partíció | |
| mountpoints=$(lsblk -nr -o MOUNTPOINT "$device"* | grep -v '^$') | |
| if [ -n "$mountpoints" ]; then | |
| status="Használatban (csatolva: $mountpoints)" | |
| fi | |
| # 4. Ellenőrizd, hogy használja-e bármilyen virtuális gép (UUID alapján) | |
| uuids=$(blkid -o value -s UUID "$device"* 2>/dev/null) | |
| for uuid in $uuids; do | |
| # Megnézi, hogy az UUID szerepel-e bármelyik VM konfigurációs fájlban | |
| for config in /etc/pve/qemu-server/*.conf; do | |
| if grep -q "$uuid" "$config"; then | |
| status="Használatban (VM-hez rendelve UUID alapján)" | |
| vmid=$(basename "$config" .conf) | |
| break 2 | |
| fi | |
| done | |
| done | |
| echo "Eszköz: $device" | |
| echo " Sorozatszám: $serial" | |
| echo " Modell: $model" | |
| echo " Kapacitás: $size" | |
| echo " Állapot: $status" | |
| echo " VM ID: $vmid" | |
| echo "" | |
| done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment