Hugo Andrade Cartaxeiro wrote:
>
> Hi Afs'ers,
>
> I've recently installed a fileserver on SparcCenter running Solaris
> 2.3 and replaced fsck with vfsck as I did in all other fileservers and
> also as stated in the manual. My questions are two:
>
> 1) Which fsck should I replace ?
> /usr/sbin/fsck,
> /usr/lib/fs/usf/fsck or both ?
>
> 2) During startup, the system calls fsck with "-F ufs"
> argument, which is not understood by vfsck and exit without
> checking the disks.
>
> Then / and /usr (e.g.) were mounted read-only, and the
> system didn't goes any further from here. Only booting
> single-user from CDROM I was able to replace the standard
> fsck to allow system to come up.
>
> How can I solve this problem ? A shell-script to strip out
> the "-F ufs"?? Humm, I don't like it!
>
> Why isn't vfsck compatible with the *standard* arguments
> the system invokes it ?
>
>
> Any help or hint would be appreciated,
> tks in adv,
I never liked the idea to replace the original fsck by vfsck.
On SUNOS 4.1.3 vfsck even checks a partition if it is clean which results in
significantly longer boot times. Also I simply have a little bit more
confidence in the original fsck :-).
Hence I did not replace fsck with vfsck and instead dit the following:
In /etc/fstab:
#
# Disk for AFS
#
# NOTE this entry MUST have a pass number of 0 and noaouto option
# as it MUST NOT be fsck'ed with normal fsck and will be mounted in
# /usr/local/etc/rc.custom after a vfsck is executed for this disk.
#
/dev/sd3g /vicepa 4.2 rw,noauto 1 0
In /etc/rc.local:
if [ -d /vicepa ]; then
echo "AFS startup..."
fi
# modload the afs driver on the server
# /vicepa exits only on the server
if [ -d /vicepa ]; then
if [ -f /usr/afs/bin/modload/rc.modload.server ]; then
echo "Running modload for AFS."
sh /usr/afs/bin/modload/rc.modload.server
fi
fi
# vfsck the AFS filesystem on the server
# /vicepa exits only on the server
AFSDEVICES="/dev/rsd3g"
if [ -d /vicepa ]; then
if [ -x /usr/afs/bin/vfsck ]; then
echo "checking AFS filesystems..."
for AFSDEV in $AFSDEVICES
do
/usr/afs/bin/vfsck $AFSDEV
done
else
echo "OOPS: /usr/afs/bin/vfsck missing."
fi
fi
# mount the AFS filesystems on the server
# /vicepa exits only on the server
AFSFILESYSTEMS="/vicepa"
if [ -d /vicepa ]; then
echo -n "mounting AFS filesystems:"
for AFSFS in $AFSFILESYSTEMS
do
echo -n " $AFSFS"
intr mount $AFSFS
done
echo "."
fi
# start AFS bosserver on server
# /vicepa exits only on the server
if [ -d /vicepa ]; then
if [ -f /usr/afs/bin/bosserver ]; then
echo "Starting AFS bosserver."
/usr/afs/bin/bosserver&
fi
fi
# start AFS afsd on server
# /vicepa exits only on the server
if [ -d /vicepa ]; then
if [ -f /usr/vice/etc/afsd ]; then
echo "Starting AFS afsd."
/usr/vice/etc/afsd -nosettime
fi
fi
Hope this helps,
Stefan
--
Stefan Tritscher Intel Corporation | e-mail: [EMAIL PROTECTED]
European Supercomputer Development Center (ESDC) | phone: +49-89-99143-307
Dornacher Str. 1, 85622 Feldkirchen b. M., FRG | fax: +49-89-99143-932