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.
Stripes/concatenations
Top-level metadevices (mirror is discouraged; see "Why is Using Prestoserve With Mirrors Discouraged?")
Underlying component (i.e., submirror)
State database replicas
Trans Metadevices (and the underlying master devices and logging devices)
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.
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.
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.
Add the following line to the /etc/system file.
exclude: drv/pr |
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 ;; |
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: