Mark Stapper a écrit :
Ivan Voras wrote:
2009/7/21 Mark Stapper <[email protected]>:
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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[email protected]"

Reply via email to