update: 05. 07. 2016
Pozice: Linux / Vlastni Scripty / Mapa disku v RAIDu /
Zobrazí jaké fizické disky, které jsou v soft.raidu (mdadm) připojené.
Zobrazí stavy disků připojených v soft.raidu (mdadm). Funkce hddmdstat zobrazi jména fizyckých zařízení (id), a hddmdstatdisk zobrazí jáký disk v boxu má problém pro případnou výměnu. Je však nutné doplnit funkce hddmap a hddmapls
Příklady:
/ --- Zobrazí id připojených disků --- / # hddmdstat Personalities : [raid1] md6 : active raid1 (sdj2)ata-SAMSUNG_HD502HJ_S26EJ9FZ302491-part2[1](F) (sdi2)ata-SAMSUNG_HD502IJ_468611CQ328161-part2[0] 278539264 blocks super 1.2 [2/1] [U_] bitmap: 0/3 pages [0KB], 65536KB chunk md5 : active raid1 (sdj1)ata-SAMSUNG_HD502HJ_S26EJ9FZ302491-part1[1] (sdi1)ata-SAMSUNG_HD502IJ_468611CQ328161-part1[0] 209584128 blocks super 1.2 [2/2] [UU] bitmap: 0/2 pages [0KB], 65536KB chunk md0 : active raid1 (sdb1)ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M6CKJL0C-part1[3] (sda1)ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1FSTEUU-part1[2] 1953382400 blocks super 1.2 [2/2] [UU] bitmap: 5/15 pages [20KB], 65536KB chunk unused devices:
/ --- Zobrazí do konsole barevně --- / # hddmdstatdisk md6 HDD5(2) HDD3(2) md5 HDD5(1) HDD3(1) md0 HDD2(1) HDD1(1)
/ --- Zobrazí do konsole bez barev --- / # hddmdstatdisk nc +md6 -HDD5(2) +HDD3(2) +md5 +HDD5(1) +HDD3(1) +md0 +HDD2(1) +HDD1(1)
/ --- Aktualizuje seznam nových disku v raidu --- / # hddmdstatdisk update md6 HDD5(2) HDD3(2) md5 HDD5(1) HDD3(1) md0 HDD2(1) HDD1(1)
cd /usr/local/sbin &&\ wget http://www.mtom.cz/dl/Linux/Vlastn%C3%AD+Scripty/Mapa+disku+v+RAIDu/hddmdstat &&\ wget http://www.mtom.cz/dl/Linux/Vlastn%C3%AD+Scripty/Mapa+disku+v+RAIDu/hddmdstatdisk &&\ wget http://www.mtom.cz/dl/Linux/Vlastn%C3%AD+Scripty/Mapa+disku+v+RAIDu/hddmap &&\ wget http://www.mtom.cz/dl/Linux/Vlastn%C3%AD+Scripty/Mapa+disku+v+RAIDu/hddmapls &&\ chmod +x /usr/local/sbin/hddmdstat
/usr/local/sbin/hddmdstat
#!/bin/sh cp /proc/mdstat /tmp/mdstat for DISK in `ls /dev/disk/by-id/|grep "^scsi\|^ata"`; do NM=`echo -n "$DISK"` DV=`ls -l "/dev/disk/by-id/$DISK" | cut -f2 -d'>'| sed 's;\.\|\/\| ;;g'` cat /tmp/mdstat | sed 's; '$DV'\[; ('$DV')'$NM'\[;g' > /tmp/mdstatb cp /tmp/mdstatb /tmp/mdstat done cat /tmp/mdstat rm /tmp/mdstatb rm /tmp/mdstat
/usr/local/sbin/hddmdstatdisk
#!/bin/sh HDDCACHE="/var/cache/hddmdstat" # Create casch dir if [ ! -d $HDDCACHE ]; then mkdir -p $HDDCACHE fi cat /proc/mdstat|grep md|sed 's;\[[0-9]\];);g'|cut -f '1,5-32' -d ' ' > $HDDCACHE/hddmdstat_act1.txt hddmap|while read DISKS; do DBOX="`echo $DISKS|cut -f 1 -d ' '`" HDM="`echo $DISKS|cut -f 2 -d ' '|sed 's;/dev/;;g'`" cat $HDDCACHE/hddmdstat_act1.txt|sed "s;$HDM;$DBOX(;g" > /tmp/mdmap.txt cp /tmp/mdmap.txt $HDDCACHE/hddmdstat_act1.txt done if [ "$1" = "update" ]; then cp $HDDCACHE/hddmdstat_act1.txt $HDDCACHE/hddmdstat_set.txt fi if [ ! -e $HDDCACHE/hddmdstat_set.txt ]; then cp $HDDCACHE/hddmdstat_act1.txt $HDDCACHE/hddmdstat_set.txt fi cp $HDDCACHE/hddmdstat_act1.txt $HDDCACHE/hddmdstat_cmp.txt cp $HDDCACHE/hddmdstat_set.txt $HDDCACHE/hddmdstat_act2.txt if [ "$1" != "nc" ]; then cat $HDDCACHE/hddmdstat_set.txt|sed 's@\([^ ]\+\)@\\\\\\033[1m\\\\\\033[31;40m\1\\\\\\033[0m@g' > $HDDCACHE/hddmdstat_act1.txt else cat $HDDCACHE/hddmdstat_set.txt|sed 's;\([^ ]\+\);-\1;g' > $HDDCACHE/hddmdstat_act1.txt fi for DIS in `cat $HDDCACHE/hddmdstat_cmp.txt`; do if [ "$1" != "nc" ]; then cat $HDDCACHE/hddmdstat_act1.txt|sed 's@31;40m'$DIS'@32;40m'$DIS'@g' > /tmp/mdmap.txt else cat $HDDCACHE/hddmdstat_act1.txt|sed 's@-'$DIS'@+'$DIS'@g' > /tmp/mdmap.txt fi cp /tmp/mdmap.txt $HDDCACHE/hddmdstat_act1.txt done rm /tmp/mdmap.txt cat $HDDCACHE/hddmdstat_act1.txt|while read E; do /bin/echo -e "$E" done
Soubory ke stažení
Nazev | typ | Delka | Vytvořeno |
---|---|---|---|
hddmdstatdisk | hddmdstatdisk | 1 KB | 05. 07. 2016 |
hddmdstat | hddmdstat | 353 B | 24. 06. 2016 |
hddmap | hddmap | 467 B | 03. 07. 2016 |
hddmapls | hddmapls | 493 B | 11. 07. 2016 |