[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: ext3 fsck question

On Fri, Feb 15, 2002 at 11:27:06PM +0000, mb/ext3 dcs qmul ac uk wrote:
> No. They're all volumes on an ICP-Vortex RAID 5 array, which appears as
> /dev/sda, so fsck serialises it. I'm not sure to go in parallel is a good
> idea, but it is hackable and if you like I'll give it a try.

Do a quick hack to your /etc/rc scripts so that the environment
variable FSCK_FORCE_ALL_PARALLEL is set before running fsck, and
you'll probably be much, much happier.

              If this environment  variable  is  set,  fsck  will
              attempt  to run all of the specified filesystems in
              parallel, regardless  of  whether  the  filesystems
              appear  to  be on the same device.  (This is useful
              for RAID systems or high-end storage  systems  such
              as those sold by companies such as IBM or EMC.)

If you have some devices which *should* be checked serially, because
they really are on the same physical device (i.e., you have some other
disk with multiple partitions, you'll need to use the fsck pass number
to keep things running serially).  What I *should* do is have some way
of specifying which devices should always have stuff run in parallel,
instead of it being a global on/off switch.  Maybe for the next

If it turns out you have too many volumes on your RAID 5 array to run
them *all* in parallel --- i.e., running that many fsck's are causing
you to swamp the I/O bandwidth of your RAID system, or the number of
e2fsck processes is starting to strain your memory, then besides
questioning whether or not your system is unbalanced and you whether
might get huge increases in performance by adding memory (memory is
cheap; adding memory is often the easiest, fastest way to speed up a
system), you can also control the maximum number of fsck processes run
at one time by upgrading to e2fsprogs 1.26, and then setting the
FSCK_MAX_INST environment variable:

              This  environment  variable  will limit the maximum
              number of file system checkers that can be  running
              at one time.  This allows configurations which have
              a large number of disks to avoid fsck starting  too
              many  file  system  checkers  at  once, which might
              overload CPU and memory resources available on  the
              system.   If  this value is zero, then an unlimited
              number of processes can be spawned.  This  is  cur-
              rently the default, but future versions of fsck may
              attempt to automatically determine  how  many  file
              system   checks  can  be  run  based  on  gathering
              accounting data  from the  operating system if this
	      environment variable is not set.

Hope this is helpful!!!

						- Ted

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]