Solstice DiskSuite 4.2.1 User's Guide

DiskSuite and Prestoserve

PrestoserveTM is a hardware/software product that speeds response time in disk write-bound applications. The product accelerates performance by selectively caching disk block device write operations in non-volatile memory, reducing disk I/O bottlenecks.

Prestoserve improves NFSTM server performance, many disk I/O bound applications, and many file systems.

DiskSuite is fully compatible with Prestoserve, with the following restrictions.

DiskSuite Objects Compatible With Prestoserve

DiskSuite Objects Incompatible With Prestoserve

Why is Using Prestoserve With Mirrors Discouraged?

The simple reason is that using Prestoserve together with mirors introduces a single point of failure into the I/O subsystem, which is exactly what mirrors are designed to avoid. The use of Prestoserve lowers the MTBF of a mirror to approximately the same as a single disk.

Why is Using Prestoserve With Trans Metadevices Discouraged?

Prestoserve cannot be used on trans metadevices. Using Prestoserve on a logging UFS can cause system hangs or panics. Prestoserve operates by redirecting I/O from a device to NVRAM. This redirection interferes with the communication protocol between a logging UFS and a metadevice.

How to Configure Prestoserve With DiskSuite (Command Line)

The following steps describe how to load and enable Prestoserve for use with DiskSuite. Basically, you edit the /etc/system file to load Prestoserve after the DiskSuite driver.

  1. Add the following line to the /etc/system file.


    exclude: drv/pr
  2. Edit the /etc/init.d/lvm.init file and add the following lines to the end of the "start" clause.


    'start')
    	rm -f /tmp/.mdlock
    	if [ -x "$METAINIT" -a -c "$METADEV" ]; then
    		#echo "$METAINIT -r"
    		$METAINIT -r
    		error=$?
    		#echo "$error"
    		case "$error" in
    		0|1)	;;
     
    		66)
    echo "Insufficient metadevice database replicas located."
    echo ""
    echo "Use metadb to delete databases which are broken."
    echo "Ignore any \"Read-only file system\" error messages."
    echo "Reboot the system when finished to reload the metadevice
    database."
    echo "After reboot, repair any broken database replicas which
    were deleted."
    			/sbin/sulogin < /dev/console
    echo "Resuming system initialization. Metadevice database will
    remain stale."
    			;;
     
    		*)	echo "Unknown $METAINIT -r failure $error."
    			;;
    		esac
        modload /kernel/drv/pr
        presto -p >/dev/null
    	fi
    	;;
  3. Edit the /etc/init.d/prestoserve file.

    Replace the following line:


    presto -u

    with the line:


    presto -u /filesystem...
    

    In this command, filesystem... is a list of every file system to be accelerated with Prestoserve. Do not include any of the following:

    • root (/)

    • /usr

    • /usr/kvm

    • /var

    • /var/adm