PrestoserveTM は、ディスク書き込みの多いアプリケーションにおける応答時間の短縮のためのハードウェア / ソフトウェア製品です。この製品では、ディスクブロックデバイスの書き込み操作を選択的に不揮発性メモリーにキャッシュすることによって、パフォーマンスを加速し、ディスクの入出力ボトルネックを減少させます。
Prestoserve を使用すれば、NFSTM サーバー、ディスク入出力の多いアプリケーション、およびファイルシステムのパフォーマンスが向上します。
DiskSuite は、次の制約のもとで、Prestoserve と完全に互換性があります。
ストライプ / 連結
トップレベルのメタデバイス (ミラーは好ましくない。「Prestoserve をミラーと使用することが好ましくない理由」を参照)
配下のコンポーネント (つまり、サブミラー)
状態データベースの複製
トランスメタデバイス (および配下のマスターデバイスとロギングデバイス)
簡単な理由として、Prestoserve でミラーを使用すると、入出力サブシステムにシステムのアキレス腱となる部分が生じます。これこそ、ミラーの設計目的に反するものです。Prestoserve を使用すると、ミラーの MTBF はおよそ単体ディスクと同じレベルまで低下します。
Prestoserve は、トランスメタデバイス上では使用できません。ロギング UFS 上で Prestoserve を使用すると、システムがハングアップしたりパニック状態になることがあります。Prestoserve は、デバイスからの入出力を NVRAM にリダイレクトすることによって動作します。このリダイレクションは、ロギング UFS とメタデバイス間の通信プロトコルを妨害します。
次の手順では、DiskSuite と一緒に使用する Prestoserve をロードし、有効にする方法について説明します。基本的には、DiskSuite ドライバの後から Prestoserve をロードするよう、/etc/system ファイルを編集します。
exclude: drv/pr |
/etc/init.d/SUNWmd.init ファイルを編集し、start 節の最後に次の行を追加する。
'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
;;
|
/etc/init.d/prestoserve ファイルを編集する。
次の行を、
presto -u |
次のように変更します。
presto -u /<ファイルシステム>... |
このコマンドで、<ファイルシステム>... は、Prestoserve により加速されるすべてのファイルシステムのリストです。次の項目は除外してください。