Determining whether or not a SCSI disk is in use

David J Brooks daeg at houston.rr.com
Fri Apr 14 21:48:31 UTC 2006


On Friday 14 April 2006 16:43, Garrett Cooper wrote:
> On Apr 14, 2006, at 1:21 PM, Bigby Findrake wrote:
> > On Fri, 14 Apr 2006, Bigby Findrake wrote:
> >
> > I'm sorry, I'm an idiot - the script, in its current incarnation,
> > needs to be modified.  It's doing exactly what you don't want it to
> > do - it will shut down the disk if there was activity.  The if
> > statement should read:
> >
> > if [ $STATUS -ne 0 ]
> >
> >> On Fri, 14 Apr 2006, Garrett Cooper wrote:
> >>> Yes. Recently accessed or is being accessed.
> >>> -Garrett
> >>
> >> Well, for a shell-script-hack, which (i) requires no new kernel
> >> and (ii) could be fairly portable but (iii) could conceivably miss
> >> some activity, you could do something like the following:
> >>
> >> #!/bin/sh
> >>
> >> DISKDEV=da0
> >> SHUTDOWN_COMMAND="camcontrol stop 0,1,0"
> >> SECONDS=60
> >>
> >> # check for activity
> >> # watch iostat for $SECONDS seconds for anything
> >>
> >> iostat -d $DISKDEV 1 5 | awk ' NR>2 && $2>0 { print "x" } ' |\
> >> grep x > /dev/null
> >>
> >> STATUS=$?
> >>
> >> if [ $STATUS -eq 0 ]
> >> then
> >>
> >> 	# there was activity,
> >> 	$SHUTDOWN_COMMAND
> >> fi
>
> 	Brilliant! That's exactly what I was looking for!
> 	The only thing I've noticed is that there is a small amount of data
> being transferred while the disk is idle, so perhaps the sampling
> needs to watch for the amount of data as well as the overall
> transactions being done to properly fix up a script to do this?
> 	Anyhow, I'll end up doing that, but thanks for the command :).

Perhaps a softupdate hasn't completed yet? 

David
-- 
Sure God created the world in only six days,
but He didn't have an established user-base.


More information about the freebsd-questions mailing list