Arnaud Houdelette wrote: > Mark Stapper a écrit : >> 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! >> >> > As I get quite the same issue with a 4 disk raidz pool, could you > please tell me the result of your tries ? which command do you use to > force the disks to spin up ? > > Thanks I have been using a shell script containing: #!/bin.sh dd if=/dev/ad4 of=/dev/null count=1& dd if=/dev/ad6 of=/dev/null count=1& dd if=/dev/ad8 of=/dev/null count=1& dd if=/dev/ad10 of=/dev/null count=1&
signature.asc
Description: OpenPGP digital signature