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

Reply via email to