トップページ » Solaris豆知識 » UFSロギング機能でパフォーマンス向上
カテゴリー
My Yahoo!に追加
Sun社提供情報
Solarisパッケージダウンロード
Sunマシンは買うには
blogs.sun.com
お勧めサイト
プライベートリンク

UFSロギング機能でパフォーマンス向上

Solaris 7 からUFSロギング機能が標準装備されました。(過去何回かパッチが出ているので最新のパッチを適用すること)
この機能は、トランザクション (ファイルの作成・変更など) をログ領域に格納してから、非同期でファイルシステムに適用することで、ファイルシステムの操作やシステムのブートを高速化する働きがあります。また、ファイルシステムの不整合問題がほとんどなくなるため、fsckを実行する必要がなくなります。このロギングにより、システムがクラッシュしたり異常停止した場合でも、ファイルシステムの修復が簡単かつ安全に行われ、システムをリブートする時間が短縮されます。

UFSロギングを有効にするには、mountコマンドのオプションloggingを使用します。

【コマンドラインでの設定例】

# umount /export/home
# mount -o logging /export/home
# mount -p | grep export
/dev/dsk/c0t0d0s7 - /export/home ufs - no rw,intr,largefiles,logging,
xattr,onerror=panic,suid


当然、常に使用する機能ですので/etc/vfstabファイルで全てのUFSファイルシステムに設定します。
システム稼働時にアンマウントできないファイルシステム(/,/var,/usr)にUFSロギングを適用するには下記のように編集後、システム再起動が必要になります。

【/etc/vfstabの設定例】
# cat /etc/vfstab
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c0t0d0s1 - - swap - no -
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no logging
/dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /usr ufs 1 no logging
/dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2
yes logging
/dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /opt ufs 2 yes logging
swap - /tmp tmpfs - yes -



ファイルシステムの高速化ついでにnoatimeオプションも紹介しておきます。通常 UFS では、ファイルにアクセスすると、そのアクセスした時間が記録されます。しかし、前回アクセスした時刻を確認する必要がなければ、大きなオーバーヘッドをかけてまでアクセス情報を維持する必要がありません。(たとえば、アクセス時間が重要でないにもかかわらず頻繁にアクセスされる Web サーバーのコンテンツなどを含むファイルシステム)

【アクセスタイムの確認例】ls コマンドで -u オプションを使用します。-l オプションで表示されるものは変更時間(modify time)。
# pwd
/etc/ftpd
# ls -lu
合計 14
-rw-r--r-- 1 root sys 1268 9月 20日 11:54 ftpaccess
-rw-r--r-- 1 root sys 551 9月 20日 11:54 ftpconversions
-rw-r--r-- 1 root sys 104 10月 3日 2002年 ftpgroups
-rw-r--r-- 1 root sys 108 9月 20日 11:54 ftphosts
-rw-r--r-- 1 root sys 114 9月 20日 11:54 ftpservers
-rw-r--r-- 1 root sys 189 9月 20日 11:54 ftpusers
# cat ftpaccess
...
# ls -lu
合計 14
-rw-r--r-- 1 root sys 1268 9月 21日 16:06 ftpaccess
-rw-r--r-- 1 root sys 551 9月 20日 11:54 ftpconversions
-rw-r--r-- 1 root sys 104 10月 3日 2002年 ftpgroups
-rw-r--r-- 1 root sys 108 9月 20日 11:54 ftphosts
-rw-r--r-- 1 root sys 114 9月 20日 11:54 ftpservers
-rw-r--r-- 1 root sys 189 9月 20日 11:54 ftpusers


【noatimeオプション設定例】
# umount /opt
# mount -o logging,noatime /opt
# mount -p | grep opt
/dev/dsk/c0t0d0s5 - /opt ufs - no rw,intr,largefiles,logging,xattr,noatime,
onerror=panic,suid



同様に/etc/vfstabファイルにnoatimeオプションを付加しておけば常に有効になります。

Solaris豆知識のその他のリンク

Solaris系技術トレーニング一覧

Solaris10システム管理基本コース
Solaris10ネットワーク・インターネットサーバー管理コース
セキュリティ・パフォーマンス管理・トラブルシューティング等
Sun Cluster、ボリューム管理ソフトウェア
仮想化技術全般
シンクライアント、SunRay、デスクトップソフトウェア
アイデンティティマネージメントサービス
アプリケーションサーバーとWebポータル
サーバー(ハードウェア)メンテナンス
Sun Java CAPS
MySQL