... czyli zapisek z cyklu linuksowej czarnej magii.
Poniższy skrypt nakazuje jądru ponowne wyszukanie nie zauważonych dotychczas urządzeń dyskowych. Przydaje się głównie w przypadkach ambitnych (np. uniknięcie rebootu po dołożeniu nowego dysku do macierzy albo dokonfigurowaniu go dla wirtualnej maszyny Vmware) ale można próbować i w trywialnych (np. gdy system z jakiegoś powodu nie zauważył wsadzonego śledzia czy dysku zewnętrznego).
Skrypt wygląda tak:
#!/bin/sh for i in /sys/class/scsi_host/host*/scan do echo "- - -" | sudo tee $i done
i można go zapisać pod nazwą np. rescan_dysk i używać w razie potrzeby.
O co chodzi
Zapis z tee jest jedynie drobną sztuczką. Tak samo zadziała:
echo "- - -" >> /sys/class/scsi_host/host0/scan
tylko trzeba to wykonać z konta root, a do powyższej formy nie da
się wygodnie dopisać sudo.
Pliki w drzewie sys jak wiadomo nie są prawdziwymi plikami
ale pozwalają na komunikację z jądrem. 
Pętla for iteruje po wszystkich istniejących w danym systemie
szynach a minusy pełnią rolę gwiazdek (nakazują wyszukiwanie
wszystkich urządzeń z danej szyny).  Możliwa jest bardziej konkretna
forma, np
echo "0 5 1" >> /sys/class/scsi_host/host2/scan
nakazuje jądru poszukanie urządzenia o busid 2, channel 0, target 5 i LUN 1 (i nie każcie mi tego tłumaczyć na polski).
Te numerki przewijają się w wielu sytuacjach, np. widać je
w /sys/bus/scsi/devices (powyższe urządzenie powinno się tam pojawić
jako /sys/bus/scsi/devices/2:0:5:1), w tej samej formie wypisuje
je lsscsi.
Uwaga: technika niestety nie działa wewnątrz VPS działajacego pod kontrolą Xena, Xen nie wizualizuje dysków jako napędów SCSI.
 RSS
RSS Feedly
Feedly Email
Email Subskrybuj
Subskrybuj

