Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
witam, korzystam z narzędzia smartctl - w jaki sposób sprawdzić mogę czy dysk nadaje sie do uzytku albo nie jest ostro zajechany i zaraz moze odleciec w kosmos?
na które parametry powinienem zwrócić uwage?
chce napisac skrypt w bashu do automatycznego wykrywania takiego dysku w ramach nauki ale nie wiem, które parametry powinny zostac wziete pod uwage i w jaki wartosciach najlepiej
Offline







Podobno człowiek...;)








np tak:
# G1 ### wto sty 09 13:42:39 domek : ~ root ~> smartcheck /dev/sda - Model: Seagate Barracuda ES /dev/sda - Symbol: ST3400620NS /dev/sda - Seria: 9QH0BX9K /dev/sda: Power_On_Hours = 38930 /dev/sda: Reallocated_Sector_Ct = 0 /dev/sda: Spin_Retry_Count = 0 /dev/sda: Reported_Uncorrect = 0 /dev/sda: Current_Pending_Sector = 0 /dev/sda: Offline_Uncorrectable = 0 /dev/sda: UDMA_CRC_Error_Count = 0 /dev/sda: Multi_Zone_Error_Rate = 0
Skrypcio wygląda tak:
#!/bin/bash
#
SMARTCTL=`which smartctl 2>/dev/null`
if [ -z $SMARTCTL ] || [ ! -x $SMARTCTL ]; then
echo "It seems you have no smartmontools installed. "
echo "Invoke 'apt install smartmontools' and re-run script"
exit 1
fi
function check {
tmp_parm=`mktemp`
tmp_name=`mktemp`
$SMARTCTL -A $1 | sed -r 's/^\s+//g' > $tmp_parm
$SMARTCTL -i $1| sed -r 's/^\s+//g' > $tmp_name
echo -e $1 - `egrep -m1 "Model " $tmp_name | awk '{$1="";$2=""; print "Model: "$0}'`
echo -e $1 - `egrep -m1 "Device " $tmp_name | awk '{$1="";$2=""; print "Symbol: "$0}'`
echo -e $1 - `egrep -m1 "Serial " $tmp_name | awk '{$1="";$2=""; print "Seria: "$0}'`
for val in 9 5 10 11 171 172 177 181 187 188 196 197 198 199 200 231 ; do
print=`egrep "^$val " $tmp_parm | awk '{ print $2" = "$10 }'`
if [ ! -z "$print" ]; then
echo -n "$1: "
if [[ `echo $print | grep "Power_On_Hours" ` ]]; then
echo -e "\033[36;2m$print\033[0m"
elif [ `echo $print | awk '{ print $3 }'` != 0 ]; then
echo -e "\033[31;2m$print\033[0m"
else
echo -e "\033[32;2m$print\033[0m"
fi
fi
done
echo
rm -f $tmp_parm
rm -r $tmp_name
}
if [ $# -gt 0 ]; then
devices=$@
else
devices=`ls /dev/sd[a-z] 2>/dev/null ; ls /dev/nvme[0-9]n[0-9] 2>/dev/null`
fi
echo
if [ -b /dev/twe0 ]; then
check "-d 3ware,0 /dev/twe0"
check "-d 3ware,1 /dev/twe0"
else
for d in $devices; do
check $d
done
fiPoza tym skonfiguruj sobie dostarczanie maili systemowych do skrzynki (np przez ESMTP), skonfiguruj demona smartd, żeby pilnował parametrów dysków,
w razie problemów dostaniesz eleganckiego maila z informacją.
Sznurki:
https://wiki.archlinux.org/index.php/S.M.A.R.T.#daemon_management
https://www.techrepublic.com/blog/linux-and-open-so … -user-system/
Ja np mam tak ustawione:
cat /etc/smartd.conf
DEVICESCAN -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -W 4,35,48 -m root /dev/sda -H -l error -l selftest -t -I 194-W 4,40,48 -R 5 -m root
Gdzie parametr -m root oznacza, gdzie ma posłać pocztę (adres email lub nazwa użytkownika (p ile masz ustawione aliansy pocztowe)).
Pozdro
Ostatnio edytowany przez Jacekalex (2018-01-09 13:56:44)
Offline





Cenzor wirtualnego świata
Ale kombinujecie. xD
Demon smart potrafi sam wykrywać takie "padające w niedługim czasie" dyski i wysyła odpowiedni komunikat w logu systemowym. Praktycznie można sobie monitorować każdy z parametrów i jak te będą ulegać zmianie, to w logu będzie stosowna informacja, np:
Jan 07 18:11:31 morfikownia smartd[1286]: Device: /dev/sda [SAT], SMART Prefailure Attribute: 3 Spin_Up_Time changed from 142 to 141 Jan 08 10:54:23 morfikownia smartd[1286]: Device: /dev/sda [SAT], SMART Prefailure Attribute: 3 Spin_Up_Time changed from 141 to 142 Jan 08 18:49:01 morfikownia smartd[1286]: Device: /dev/sda [SAT], SMART Prefailure Attribute: 3 Spin_Up_Time changed from 142 to 141
A wszystko można se ustawić w /etc/smartd.conf . Ja mam tam taką linijkę:
/dev/sda -H -l error -l selftest -t -I 190 -I 194 -W 0,50,55
No i ona:
- włącza monitoring dysku /dev/sda
- sprawdza status żywotności dysku
- sprawdza liczbę błędów dysku
- sprawdza ilość błędnych testów
- monitoruje zmiany we wszystkich atrybutach dysku
- ignoruje zmiany w prametrach 190 i 194, które w przypadku mojego dysku odpowiadają za temperaturę.
- wypisuje log z informacją jedynie w przypadku gdy temperatura dysku przekroczy 50 stopni, a gdy przekroczy 55 to wysyła maila na konto root.
Ta konfiguracja może być rozbudowana jak cholera wliczając w to również automatyczne przeprowadzanie testów co jakiś czas. Więcej info jest w
$ man smartd.conf
Offline