Veritas™ File System プログラマーズリファレンスガイド - Linux

Last Published:
Product(s): InfoScale & Storage Foundation (7.3.1)
  1. Veritas File System Software Developer's Kit
    1.  
      Software Developer's Kit について
    2. File System Software Developer's Kit の機能
      1.  
        API ライブラリインターフェース
      2.  
        FCL(File Change Log)
      3.  
        マルチボリュームサポート
      4.  
        Veritas File System I/O
    3.  
      Software Developer's Kit RPM
    4.  
      必要なライブラリとヘッダーファイル
    5. コンパイル環境
      1.  
        異なるコンパイラによる再コンパイル
  2. FCL(File Change Log)
    1. FCL ファイルについて
      1.  
        記録される変更
      2. FCL(File Change Log)ファイルの使用
        1.  
          領域の使用状況
        2.  
          システムの完全スキャンの削減
        3.  
          ファイル履歴のトレース
      3.  
        FCL ログ記録のアクティブ化
      4. FCL ファイルのレイアウト
        1.  
          FCL(File Change Log)スーパーブロック
        2.  
          FCL(File Change Log)レコード
    2. レコードタイプ
      1.  
        特殊レコード
      2.  
        一般的なレコードの順番
    3. FCL(File Change Log)チューニングパラメータ
      1.  
        チューニングパラメータで FCL の拡張サイズを処理するには
    4. FCL(File Change Log)のアプリケーションプログラミングインターフェース
      1.  
        操作性
      2.  
        後方互換
      3. API 関数
        1.  
          FCL レコードにアクセスするための関数
        2.  
          FCL でオフセットとタイムスタンプをシークするための関数
        3. vxfs_fcl_open
          1.  
            戻り値
        4. vxfs_fcl_close
          1.  
            パラメータ
        5. vxfs_fcl_getinfo
          1.  
            戻り値
        6. vxfs_fcl_read
          1.  
            パラメータ
          2.  
            入力
          3.  
            出力
          4.  
            戻り値
        7. vxfs_fcl_getcookie
          1.  
            パラメータ
        8. vxfs_fcl_seek
          1.  
            パラメータ
          2.  
            戻り値
        9. vxfs_fcl_seektime
          1.  
            パラメータ
          2.  
            戻り値
        10. vxfs_fcl_sync
          1.  
            パラメータ
      4. FCL(File Change Log)レコード
        1.  
          定義
        2.  
          fcl_iostats 構造体
        3.  
          fcl_acsinfo 構造体
        4.  
          レコードの構造体のフィールド
      5. FCL(File Change Log)レコードのコピー
        1.  
          インデックス保守アプリケーション
        2. 使用状況プロファイルのコンピューティング
          1.  
            初期設定
          2.  
            手順の例
          3.  
            オフホスト処理
      6. Veritas File System と FCL のアップグレードとダウングレード
        1.  
          FCL バージョン 4 へのバージョン 3 ファイルの変換
        2.  
          Veritas File System バージョンのダウングレード
    5. パス名の逆引きルックアップ
      1.  
        i ノード
      2.  
        vxfs_inotopath_gen
  3. マルチボリュームサポート
    1.  
      MVS について
    2.  
      MVS の利用
    3. ボリュームアプリケーションプログラミングインターフェース
      1.  
        ボリュームセットの管理
      2.  
        ファイルシステムのボリュームセットの問い合わせ
      3.  
        ファイルシステム内のボリュームの変更
      4.  
        ボリュームのカプセル化とカプセル化の解除
    4. 割り当てポリシーアプリケーションプログラミングインターフェース
      1.  
        ファイル割り当ての指示
      2.  
        ポリシーの作成と割り当て
      3.  
        定義されたポリシーの問い合わせ
      4.  
        ポリシーの実施
    5.  
      データ構造
    6. ポリシーとアプリケーションプログラミングインターフェースの使用
      1.  
        割り当てポリシーの定義と割り当て
      2.  
        ボリュームアプリケーションプログラミングインターフェースの使用
  4. 名前付きデータストリーム
    1.  
      名前付きデータストリームについて
    2.  
      名前付きデータストリームの使用
    3.  
      名前付きデータストリームのアプリケーションプログラミングインターフェース
    4.  
      名前付きデータストリームの一覧表示
    5.  
      名前付きデータストリームの名前空間
    6.  
      ほかのシステムコールにおける動作の変更
    7.  
      名前付きデータストリームの問い合わせ
    8.  
      アプリケーションプログラミングインターフェース
    9.  
      コマンドリファレンス
  5. Veritas File System I/O
    1.  
      Veritas File System I/O について
    2.  
      凍結と解凍
    3. キャッシュアドバイザリ
      1.  
        ダイレクト I/O
      2.  
        同時 I/O
      3.  
        非バッファ I/O
      4.  
        その他のキャッシュアドバイザリ
    4. エクステント
      1. エクステント属性
        1.  
          属性の詳細
      2.  
        領域予約: ファイルへの事前領域割り当て
      3.  
        固定エクステントサイズ
      4.  
        エクステント属性のアプリケーションプログラミングインターフェース
      5. 割り当てフラグ
        1.  
          領域の予約での割り当てフラグ
        2.  
          予約領域の解放
        3.  
          非永続的な予約
        4.  
          予約領域を超えた書き込みの禁止
        5.  
          連続した予約領域
        6.  
          ファイルサイズに予約領域を含める
        7.  
          ファイルの増加分の読み取り
      6.  
        固定エクステントサイズでの割り当てフラグ
      7.  
        エクステント属性 API の使用方法
      8.  
        固定エクステントサイズの設定
  6. シン再生
    1.  
      シンストレージについて
    2.  
      シン再生について
    3. シン再生のアプリケーションプログラミングインターフェース
      1.  
        vxfs_ts_reclaim の戻り値

ダイレクト I/O

ダイレクト I/O とは、ファイルアクセスのための非バッファ形式の I/O です。VX_DIRECT キャッシュアドバイザリを設定している場合、ユーザーは、ディスクとユーザーバッファ間でデータを直接転送し、読み書きするよう要求します。 この機能により、データはカーネルにバッファリングされず、カーネルバッファとユーザーバッファ間のデータコピーが省略されるため、I/O に関連付けられている CPU オーバーヘッドを削減できます。ダイレクト I/O はまた、バッファキャッシュの領域が使われないため、その分、アプリケーションキャッシュなどほかの用途に活用できます。アプリケーションによっては、ダイレクト I/O 機能によってパフォーマンスが大幅に向上します。

ダイレクト I/O として実行される I/O 操作は、整列に関する基準を満たす必要があります。通常、ディスクドライバ、ディスクコントローラ、システムメモリ管理ハードウェアおよびソフトウェアが、整列制約を決めます。ファイルオフセットは、ブロックデバイスのブロックサイズに揃える必要があります。すべてのユーザーバッファは、長い境界またはセクタの境界に揃える必要があります。ファイルオフセットがセクタの境界に揃えられていないと、VxFS は直接読み取りまたは書き込みではなく、通常の読み取りまたは書き込みを実行します。

要求がダイレクト I/O の整列制約を満たさない場合は、データ同期 I/O が実行されます。メモリマップ I/O を使ってファイルがアクセスされている場合は、ダイレクト I/O の代わりにデータ同期 I/O が実行されます。

ダイレクト I/O は、同期 I/O と同様のデータ整合性を保持するため、現在、同期 I/O を使っている多くのアプリケーションで使うことができます。ダイレクト I/O 要求で領域割り当てやファイルの拡張を実行しない限り、i ノードメタデータへの書き込みがただちに実行されることはありません。

ダイレクト I/O の CPU コストは、RAW ディスク転送とほぼ同じです。大容量ファイルへの順次 I/O を、大容量転送サイズを使ったダイレクト I/O に置き換えると、バッファ付き I/O と同等の速度でデータが転送できるため、CPU オーバーヘッドを削減できます。

ファイルが拡張され、または領域が割り当てられる場合、ダイレクト I/O は i ノード更新の書き込みを、アプリケーションに制御を戻す前に実行する必要があります。この書き込みのため、ダイレクト I/O の一部のパフォーマンスの優位性が低下します。

ダイレクト I/O アドバイザリは、ファイル記述子単位で保持されます。