Ivan Voras wrote: > 2009/7/21 Mark Stapper <st...@mapper.nl>: > >> Ivan Voras wrote: >> >>> Mark Stapper wrote: >>> >>>> Good day, >>>> >>>> I am the proud user of a FreeBSD 7.2 AMD64 system housing, amongst other >>>> things, a data server. >>>> My "server"(It's called "Yoshi") runs FreeBSD from a mirrored system >>>> disc, and has a zfs RAIDZ array with 4 discs for bulky data. >>>> As it is a home server, and I work during the day, these four discs were >>>> spinning happily all day long without much use for them doing so. >>>> To save the world(and money) I issued the command "atacontrol spindown >>>> 1800" for all the discs in my array spinning them down after thirty >>>> minutes of idle spinning. >>>> So far so good, me very happy! However, when I access the array after >>>> the discs have been spun down, it spins up the discs one after the >>>> other... >>>> Mind you one AFTER the other, taking 4*9 seconds to do a "ls" command on >>>> my music directory. >>>> Content as I am with the smooth down- and upspinning of the disks, I >>>> would like it better if the four discs would spin up simultaneously. >>>> Thus my question: "Is it possible to \"group\" discs to be spun up >>>> together, or to issue a custom command upon upspinning of a disc such as >>>> to spin up other disks?" >>>> >>> Good question but the answer is probably no - it really only depends >>> on how ZFS accesses the drives; if it accesses them in sequence, you >>> can't change it. >>> >> I've been looking at writing a shell script which monitors >> /var/log/messages. >> something like: >> >> If last line in /var/log/messages is like "request while spun down. >> Starting." >> spinup disks >> >> couple of problems though, I should probably poll the kernel messages >> every second or so, but if I only check the last linee, I could miss the >> spinup message. >> I could count the number of lines in /var/log/messages and keep count of >> the number of lines i've seen. Problem with this approach is that it's >> not very efficient. >> So I was hoping there is a way to receive this kernel message directly. >> I am now thinking in the lines of a program which received a signal on >> new kernel messages available or something similar. >> >> Any thoughts? >> > > You could do what "tail -f" does and simply hook a kqueue to get new > messages from the /var/log/messages file. > I'll try that! thanks!
signature.asc
Description: OpenPGP digital signature