Cloud Storage FUSE 構成ファイル

このページでは、Cloud Storage FUSE 構成ファイルを使用して、Cloud Storage FUSE の動作を永続的に構成する方法について説明します。構成ファイルを使用するには、マウント コマンドの一部として、--config-file フラグで構成ファイルのパスを指定します。

構成ファイルは、次の形式とフィールドを使用する YAML ファイルです。一部のフィールドは、コマンドライン オプションで指定することもできます。

write:
  create-empty-file: boolean
logging:
  file-path: "string"
  format: enum
  severity: enum
  log-rotate:
    max-file-size-mb: integer
    backup-file-count: integer
    compress: boolean
file-cache:
  max-size-mb: integer
  cache-file-for-range-read: boolean
metadata-cache:
  stat-cache-max-size-mb: integer
  ttl-secs:integer
  type-cache-max-size-mb: integer
cache-dir: integer

構成フィールド

次の表に、構成ファイルで指定できるフィールドを示します。特に記載がない限り、すべてのフィールドは省略可能です。

フィールド 説明
create-empty-file マウントされたバケット内の新しいファイルへの書き込みを開始したときに、Cloud Storage にゼロバイトのファイルを作成するかどうかを指定するブール値。このフィールドを省略した場合、デフォルト値の false が使用されます。
file-path ログが書き込まれるログファイルのパス。文字列で指定します。例: /var/logこのフィールドを省略すると、stdout(Cloud Storage FUSE がフォアグラウンド モードで実行されている場合)または syslog(バックグラウンド モードで実行されている場合)にログが転送されます。
format ログが生成される形式。列挙型で表します。値は textjson です。このフィールドを省略した場合、デフォルト値の json が使用されます。
severity

Cloud Storage FUSE で生成するログの重大度。列挙型で表します。値が小さいほど重大度が低く、大きいほど高くなります。

  • trace
  • debug
  • info
  • warning
  • error

重大度レベルを指定すると、Cloud Storage FUSE は、重大度が同等以上のログを生成します。たとえば、warning を指定すると、Cloud Storage FUSE は警告とエラーのログを生成します。off を指定して、すべてのロギングをオフにすることもできます。次の 3 つのオプションのいずれかがコマンドに指定されている場合、重大度レベルは自動的に trace に設定されます。

  • --debug_fuse
  • --debug_gcs
  • --debug_mutex

このフィールドを省略した場合、デフォルト値の info が使用されます。

max-file-size-mb ログファイルがローテーションされる前に到達可能な最大サイズ(MB 単位)。最小値は 1 です。このフィールドを省略した場合、デフォルト値の 512 が使用されます。
backup-file-count ローテーション後に保持しておくログファイルの最大数。ログが書き込まれているアクティブなファイルは除きます。値を 0 に設定すると、ローテーションされたログファイルがすべて保持されます。このフィールドを省略した場合、デフォルト値の 10 が使用されます。
compress ローテーションされたログファイルを gzip で圧縮するかどうかを指定するブール値。このフィールドを省略した場合、デフォルト値の true が使用されます。
max-size-mb

ファイル キャッシュで使用できる最大サイズ(MiB 単位)。max-size-mb が存在する場合、Cloud Storage FUSE でファイル キャッシュを有効にします。これは、Cloud Storage FUSE キャッシュがマウントされたディレクトリ内で使用できる合計容量を制限する場合に便利です。

  • cache-dir に指定したディレクトリのキャッシュで使用可能な容量をすべて使用するには、-1 を指定します。
  • ファイル キャッシュを無効にするには、0 を指定します。

このフィールドを省略した場合、デフォルト値の -1 が使用されます。

cache-file-for-range-read

最初の読み取りがゼロ以外のオフセットから行われたときに、オブジェクト全体を非同期でダウンロードして Cloud Storage FUSE のキャッシュ ディレクトリに保存するかどうかを決定するブール値。複数のランダム読み取りまたは部分読み取りを行う場合は、true に設定する必要があります。このフィールドを省略した場合、デフォルト値の false が使用されます。

オフセット 0 から部分読み取りを行う場合、Cloud Storage FUSE は常に非同期で完全なオブジェクトをダウンロードしてキャッシュに保存します。

stat-cache-max-size-mb

統計情報キャッシュで使用できる最大サイズ(MiB)。統計情報キャッシュは常にメモリ内に保持されます。

  • ワークロードに最大 20,000 個のファイルが含まれる場合は、32 を指定します。ワークロードのファイルが 20,000 ファイルを超える場合は、6,000 ファイルを追加するごとにサイズを 10 ずつ増やします(ファイルあたり平均約 1,500 バイト)。
  • -1 を指定すると、統計情報キャッシュは必要な量のメモリを使用します。
  • 統計情報キャッシュを無効にするには、0 を指定します。

このフィールドを省略した場合、デフォルト値の 32 が使用されます。

ttl-secs

キャッシュに保存されたメタデータ エントリの有効期間(TTL)を秒単位で定義します。

  • -1 を指定すると、TTL の有効期限をバイパスし、キャッシュから利用可能な場合にファイルを配信します。
  • 最新のファイルが読み取られるようにするには、0 を指定します。この値を使用すると、Get メタデータ呼び出しが行われ、キャッシュ内のファイルのオブジェクトの世代が Cloud Storage に保存されているものと一致していることを確認します。詳細については、ttl-secs フラグについてをご覧ください。

このフィールドを省略した場合、デフォルト値の 60 が使用されます。

type-cache-max-size-mb

タイプ キャッシュが使用できるディレクトリあたりの最大サイズ(MiB 単位)。タイプ キャッシュは常にメモリ内に保持されます。

  • マウントするバケットの 1 つのディレクトリ内にあるファイルの最大数が 20,000 以下の場合は、4 を指定します。マウントする 1 つのディレクトリ内のファイルの最大数が 20,000 を超える場合は、5,000 ファイルごとに値を 1 増やします(ファイルあたり平均約 200 バイト)。
  • タイプ キャッシュが必要な量のメモリを使用できるようにするには、-1 を指定します。
  • タイプ キャッシュを無効にするには、0 を指定します。

このフィールドを省略した場合、デフォルト値の 4 が使用されます。

cache-dir ファイル キャッシュ データを格納するディレクトリを指定します。ファイル キャッシュを有効にするには、このフィールドを指定する必要があります。