Jump to content 日本-日本語

製品 >  ソフトウェア >  HP- UX Developer Edge

HP-UX 11i 構成可能カーネル・パラメータ(HP-UX 11.0 用)

fs_async
HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
fs_async は、ディスクへのデータ構造の書き込みを同期のみで行うか、それとも同期と非同期の両方で行うかを指定します。

指定可能な値:


最小値 0 (ディスクへの書き込みを同期のみで行います)
最大値   1 (ディスクへの非同期書き込みを可能にします)
デフォルト値   0

0または1のいずれかを指定してください。詳細は、 パラメータ値の指定 を参照してください。

説明


fs_async は、ディスクにファイル・システム形式のデータ構造を書き込むときに、非同期書き込みを行えるようにするかどうかを指定します。fs_asyncの値を省略した場合は、同期書き込みのみが行われます。

同期書き込みには、ファイル・システム上のファイル・システム形式のデータ構造の更新中にシステム・クラッシュが発生した場合に、ファイル・システムの完全性を復元しやすいという利点があります。

非同期書き込みを有効に設定した場合でも、HP-UXファイル・システムのNFSクラスタ環境に対するセマンティクスが保持されます。さらに、カーネル内に非同期書き込み機能が組み込まれている場合でも、open()をO_SYNCフラグ (同期書き込み) 付きで呼び出してオープンしたファイルに対しては、継続して同期書き込みが行われます。

ディスクへの非同期書き込みには、ファイル・システムの性能を大幅に向上できるという利点があります。ただし、システム・クラッシュが発生すると、それまでディスクに非同期で書き込まれていたファイル・システム・データ構造が復元不能になる可能性があります。同期書き込みと非同期書き込みの使い分けは、このヘルプ・ページに用意されているチュートリアルを参照してください。

関連するパラメータ


なし。

付加情報


大容量記憶に関するパラメータの概要
  構成可能なファイル・システムのパラメータ
  構成可能カーネル・パラメータ・ヘルプのブラウズ

チュートリアル: 同期書き込みと非同期書き込みについて


書き込み可能でオープンしたファイルにデータを書き込むときには、データがいったんバッファに蓄積され、定期的にディスクに書き込まれます。end-of-file条件によりファイルをクローズするときには、それまでにバッファ内に蓄積されたデータがディスクに書き込まれ、新しいファイル・サイズとブロック・ポインタ情報を反映するようにiノードが更新され、さらに、ファイル・システムの空きディスク・ブロック・リストが更新されます。ディスクへの書き込み中にシステム・クラッシュや電源異常が発生してもファイル・システムが壊れる危険性が最小限になるようなシーケンスで更新処理を実行すれば、ファイル・システムの完全性を最大限に保護することができます。このようなシーケンスで行われる更新処理を同期書き込みと呼びます。

HP-UXファイル・システムでは、空きスペース・リスト、ブロック、iノードなどのファイル構成要素をディスク・デバイス上のさまざまな場所にランダムに保存します。このため、特定のシーケンスでファイル情報ブロックを書き込む場合には、ディスク上の目的の位置に移動してから書き込み処理を行うことになり、その分、時間が必要になります。このシーケンスの途中で電源異常やシステム・クラッシュが発生すると、1つまたは複数のブロックが更新されずに残され、そのためにファイル・システムの整合性が失われる可能性があります。このような不整合を修復するには、fsckコマンドを使用します。詳細は、HP-UX Referenceのfsck(1M) を参照してください。

fs_asyncカーネル・パラメータによる非同期書き込みでは、安全性よりも速度を重視してディスク上のファイル・システム情報を更新するので、書き込み先の検索とその場所への移動による遅延が少なくなります。しかし、非同期書き込みの実行中にシステム・クラッシュが発生した場合、fsckにより自動的に修復できない不整合がファイル・システムに発生する可能性は同期書き込みの場合よりもかなり高くなります。

クラッシュ後の復元


同期書き込みだけを使用しているときには、ディレクトリ、ファイルiノード、空きスペース・リストなどに対する更新は、いずれもfsckによる追跡が可能なシーケンスで行われます。このシーケンスでディスク・ブロックを更新しているときにクラッシュが発生した場合は、fsckによって、クラッシュの発生場所を特定し、欠落している更新情報を修復することができます。しかも、多くの場合は、システム管理者がfsckを対話式に操作しなくても、データが自動的に修復されます。

一方、fs_asyncによって非同期書き込みを使用可能に設定しているときにクラッシュが発生した場合には、fsckは、書き込みのシーケンスを認識できないため、データを自動修復できなくなる可能性が高くなります。自動修復ができない場合は、システム管理者がfsckを対話式に操作して、システム情報の不整合を復元するとともに、ディレクトリやiノード・エントリを修復しなければならなくなります。

非同期書き込みを使用する理由


同期書き込みでは、データを書き込んだファイルをクローズするときにディスク・ブロックの書き込みと更新が完了するまで待機しなければなりません。このため、ファイルとディレクトリに対して書き込みとクローズを頻繁に行うプログラムやアプリケーションの場合は、性能が低下します。一方、非同期書き込みを可能に設定すると、このような遅延が大幅に減り、その分性能が向上します。ただし、ディスク I/O よりもCPUに対する負荷の方が大きいアプリケーションの場合、非同期書き込みを使用しても性能はほとんど向上しません。

非同期書き込みを使用する理由


非同期書き込みによってシステムの性能を効果的に向上できるのは、以下のような場合です。

  • 電源異常が発生する可能性が低い場合 (電源や無停電電源の信頼性が非常に高い場合)。
  • データのセキュリティを強化するための予防策が講じられている場合 (ファイル・システムのバックアップや冗長性が十分に確保されている場合) か、または、システム・クラッシュに対するデータの保護よりもシステムの性能を重視している場合。
  • ユーザーがディスク・ファイルおよびディレクトリのオープン、書き込み、クローズを頻繁に行うアプリケーションを使用する場合。
  • 非同期書き込みによって、そのリスクを十分に補う性能向上が見込める場合。
非同期書き込みを使用可能にするには、fs_asyncの値をデフォルト値の0から1に変更します。
最初のページへ    

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

オンラインサポート
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項