このページでは、Cloud Storage FUSE 構成ファイルを使用して、Cloud Storage FUSE の動作を永続的に構成する方法について説明します。構成ファイルを使用するには、マウント コマンドの一部として、--config-file
フラグで構成ファイルのパスを指定します。
構成ファイルは、次の形式とフィールドを使用する YAML ファイルです。一部のフィールドは、コマンドライン オプションで指定することもできます。
app-name: "APP_NAME" write: create-empty-file: CREATE_EMPTY_FILE logging: file-path: "FILE_PATH" format: FORMAT severity: SEVERITY log-rotate: max-file-size-mb: MAX_FILE_SIZE backup-file-count: BACKUP_FILE_COUNT compress: COMPRESS file-cache: max-size-mb: MAX_SIZE cache-file-for-range-read: CACHE_FILE_FOR_RANGE_READ enable-parallel-downloads: ENABLE_PARALLEL_DOWNLOADS parallel-downloads-per-file: PARALLEL_DOWNLOADS_PER_FILE max-parallel-downloads: MAX_PARALLEL_DOWNLOADS download-chunk-size-mb: DOWNLOAD_CHUNK_SIZE metadata-cache: enable-nonexistent-type-cache: ENABLE_NONEXISTENT_TYPE_CACHE stat-cache-max-size-mb: STAT_CACHE_MAX_SIZE ttl-secs: TTL_SECS type-cache-max-size-mb: TYPE_CACHE_MAX_SIZE cache-dir: "CACHE_DIR" only-dir: "ONLY_DIR" gcs-auth: anonymous-access: ANONYMOUS_ACCESS key-file: "KEY_FILE" reuse-token-from-url: REUSE_TOKEN_FROM_URL token-url: "TOKEN_URL" gcs-connection: billing-project: "BILLING_PROJECT" client-protocol: CLIENT_PROTOCOL custom-endpoint: "CUSTOM_ENDPOINT" http-client-timeout: HTTP_CLIENT_TIMEOUT limit-bytes-per-sec: "LIMIT_BYTES_PER_SEC" limit-ops-per-sec: "LIMIT_OPS_PER_SEC" max-conns-per-host: MAX_CONNS_PER_HOST max-idle-conns-per-host: MAX_IDLE_CONNS_PER_HOST sequential-read-size-mb: SEQUENTIAL_READ_SIZE implicit-dirs: IMPLICIT_DIRS file-system: kernel-list-cache-ttl-secs: KERNEL_LIST_CACHE_TTL_SECS ignore-interrupts: IGNORE_INTERRUPTS dir-mode: "DIR_MODE" file-mode: "FILE_MODE" fuse-options: FUSE_OPTIONS gid: GID rename-dir-limit: RENAME_DIR_LIMIT temp-dir: "TEMP_DIR" uid: UID foreground: FOREGROUND gcs-retries: max-retry-sleep: MAX_RETRY_SLEEP multiplier: "MULTIPLIER" metrics: stackdriver-export-interval: STACKDRIVER_EXPORT_INTERVAL debug: log-mutex: LOG_MUTEX exit-on-invariant-violation: EXIT_ON_INVARIANT_VIOLATION
構成フィールド
次の表に、構成ファイルで指定できるフィールドを示します。特に記載がない限り、すべてのフィールドは省略可能です。
フィールド | 説明 |
---|---|
app-name |
マウントのアプリケーション名。 |
create-empty-file |
マウントされたバケット内の新しいファイルへの書き込みを開始したときに、Cloud Storage にゼロバイトのファイルを作成するかどうかを指定するブール値。このフィールドを省略した場合、デフォルト値の false が使用されます。 |
file-path |
ログが書き込まれるログファイルのパス。文字列で指定します。例: /var/log このフィールドを省略すると、stdout(Cloud Storage FUSE がフォアグラウンド モードで実行されている場合)または syslog(バックグラウンド モードで実行されている場合)にログが転送されます。 |
format |
ログが生成される形式。列挙型で表します。値は text か json です。このフィールドを省略した場合、デフォルト値の json が使用されます。 |
severity |
Cloud Storage FUSE で生成するログの重大度。列挙型で表します。値が小さいほど重大度が低く、大きいほど高くなります。
重大度レベルを指定すると、Cloud Storage FUSE は、重大度が同等以上のログを生成します。たとえば、
このフィールドを省略した場合、デフォルト値の |
max-file-size-mb |
ログファイルがローテーションされる前に到達可能な最大サイズ(MB 単位)。最小値は 1 です。このフィールドを省略した場合、デフォルト値の 512 が使用されます。 |
backup-file-count |
ローテーション後に保持しておくログファイルの最大数。ログが書き込まれているアクティブなファイルは除きます。値を 0 に設定すると、ローテーションされたログファイルがすべて保持されます。このフィールドを省略した場合、デフォルト値の 10 が使用されます。 |
compress |
ローテーションされたログファイルを gzip で圧縮するかどうかを指定するブール値。このフィールドを省略した場合、デフォルト値の true が使用されます。 |
max-size-mb |
ファイル キャッシュで使用できる最大サイズ(MiB 単位)。
このフィールドを省略した場合、デフォルト値の |
cache-file-for-range-read |
最初の読み取りがゼロ以外のオフセットから行われたときに、オブジェクト全体を非同期でダウンロードして Cloud Storage FUSE のキャッシュ ディレクトリに保存するかどうかを決定するブール値。複数のランダム読み取りまたは部分読み取りを行う場合は、 オフセット |
enable-parallel-downloads |
ファイル キャッシュ ディレクトリをプリフェッチ バッファとして使用し、複数のワーカーを使用してサイズの大きいファイルを並列でダウンロードすることで、サイズの大きいファイルの読み取りを高速化します。デフォルト値は 並列ダウンロードを使用するには、ファイル キャッシュを有効にする必要があります。並列ダウンロードと、そのサポート プロパティの構成方法について詳しくは、並列ダウンロードを使用して読み取りパフォーマンスを改善するをご覧ください。 |
parallel-downloads-per-file |
Cloud Storage からファイル キャッシュにオブジェクトをダウンロードするために、ファイルごとに生成する goroutine の最大数を指定します。デフォルト値は |
max-parallel-downloads |
ファイルのダウンロード ジョブ全体で、任意の時点で生成できる goroutine の最大数。デフォルトは、マシン上の CPU コア数の 2 倍です。上限をバイパスするには、値 |
download-chunk-size-mb |
オブジェクトをファイル キャッシュにダウンロードするときに、各 goroutine が Cloud Storage に対して行う 1 回の読み取りリクエストのサイズを MiB で指定します。デフォルト値は |
enable-nonexistent-type-cache |
Cloud Storage でファイルが見つからない場合、NonexistentType 型のキャッシュ エントリが作成されます。ファイルが Cloud Storage で作成されても、ファイルの NonexistentType エントリがキャッシュに保存されている場合、Cloud Storage FUSE は、NonexistentType エントリがタイプ キャッシュから削除されるまで、そのファイルをリクエストできません。デフォルト値は false です。 |
stat-cache-max-size-mb |
統計情報キャッシュで使用できる最大サイズ(MiB)。統計情報キャッシュは常にメモリ内に保持されます。
このフィールドを省略した場合、デフォルト値の |
ttl-secs |
キャッシュに保存されたメタデータ エントリの有効期間(TTL)を秒単位で定義します。
このフィールドを省略した場合、デフォルト値の |
type-cache-max-size-mb |
タイプ キャッシュが使用できるディレクトリあたりの最大サイズ(MiB 単位)。タイプ キャッシュは常にメモリ内に保持されます。
このフィールドを省略した場合、デフォルト値の |
cache-dir |
ファイル キャッシュ データを格納するディレクトリを指定します。ファイル キャッシュを有効にするには、このフィールドを指定する必要があります。 |
only-dir |
バケット内の特定のディレクトリのみをマウントします。 |
anonymous-access |
リクエストの認証を無効にします。このフィールドは、認証をサポートしていないカスタム エンドポイントを使用している場合、または Cloud Storage FUSE を使用して一般公開バケットをマウントしている場合に設定します。デフォルト値は false です。 |
key-file |
Cloud Storage へのリクエストを認証するための認証情報 JSON キーファイルの絶対パスを指定します。デフォルトでは、Cloud Storage FUSE はアプリケーションのデフォルト認証情報を使用してリクエストを認証します。 |
reuse-token-from-url |
token-url から取得したトークンを使用するよう指定します。デフォルト値は true です。 |
token-url |
key-file が存在しない場合にアクセス トークンを取得するための URL を指定します。 |
billing-project |
マウントされたバケットにアクセスされたときに、課金に使用するプロジェクトを指定します。リクエスト元による支払いで有効にしたバケットをマウントするときに、多くの場合、このフラグは必要になります。デフォルトのプロジェクトはありません。 |
client-protocol |
Cloud Storage バックエンドとの通信に使用されるプロトコルを指定します。HTTP/1.1 の場合、値は http1 になり、HTTP/2 の場合は http2 になります。デフォルト値は http1 です。 |
custom-endpoint |
データを取得するための代替カスタム エンドポイントを指定します。カスタム エンドポイントは、Cloud Storage JSON エンドポイント https://storage.googleapis.com/storage/v1 と同等のリソースとオペレーションをサポートする必要があります。
カスタム エンドポイントが指定されていない場合、Cloud Storage FUSE はグローバル Cloud Storage JSON API エンドポイント https://storage.googleapis.com/storage/v1 を使用します。
指定したカスタム エンドポイントで認証がサポートされていない場合は、anonymous-access フラグを true に設定して認証をバイパスします。 |
http-client-timeout |
Cloud Storage FUSE HTTP クライアントがタイムアウトになる前にサーバーからのレスポンスを待つ時間を指定します。デフォルト値は 0s で、タイムアウトがないことを示します。 |
limit-bytes-per-sec |
Cloud Storage FUSE が Cloud Storage からデータを読み込むことができる帯域幅の上限を指定します。測定時間は 30 秒です。デフォルトの上限値は "-1" で、この場合上限はありません。 |
limit-ops-per-sec |
30 秒間に測定される 1 秒あたりのオペレーションの上限を指定します。デフォルトの上限値は "-1" で、この場合、上限はありません。 |
max-conns-per-host |
サーバーごとに許可される TCP 接続の最大数を指定します。これは、client-protocol が http1 に設定されている場合に有効になります。デフォルト値は 0 です。これは、マシンの仕様で設定された上限を除き、TCP 接続に上限が存在しないことを指定します。 |
max-idle-conns-per-host |
サーバーごとに許可されるアイドル状態の接続の最大数を指定します。デフォルト値は 100 です。 |
sequential-read-size-mb |
Cloud Storage からダウンロードするデータのチャンクサイズをメガバイト(MB)単位で指定します。デフォルト値は 200 です。 |
implicit-dirs |
フォルダとマネージド フォルダが暗黙的に含まれています。 詳細については、GitHub のファイルとディレクトリのドキュメントをご覧ください。 |
kernel-list-cache-ttl-secs |
リスト キャッシュを有効にし、キャッシュに保存されたリストエントリの有効期間(TTL)を秒単位で定義します。リスト キャッシュのメモリ割り当ては、使用可能なメモリに基づいてカーネルによって制御されます。デフォルト値は 0 で、リストのキャッシュが無効になります。kernel-list-cache-ttl-secs フィールドを設定するには、ディレクトリ リスト レスポンスをカーネルのページ キャッシュに保持する時間を秒単位の正の値で指定します。エントリの有効期限をバイパスし、キャッシュから利用可能な場合に常にキャッシュからリスト レスポンスを返すには、-1 の値を指定します。 |
ignore-interrupts |
Control+C によってトリガーされる SIGINT など、システム割り込みシグナルを無視するように Cloud Storage FUSE に指示します。これにより、実行中のオペレーションがシグナルによって終了することがなくなります。値は true または false です。デフォルト値は true です。 |
dir-mode |
ディレクトリの権限ビット(8 進数)。デフォルト値は "755" です。 |
file-mode |
ファイルの権限ビットを 8 進数で指定します。デフォルト値は "644" です。 |
fuse-options |
追加のシステム固有のマウント オプションを指定します。 |
gid |
すべての i ノードのグループ識別子(GID)オーナーを指定します。デフォルトの GID 値は -1 です。 |
rename-dir-limit |
指定した上限よりも子孫の少ないディレクトリの名前を変更できます。デフォルトの上限値は 0 です。 |
temp-dir |
Cloud Storage にアップロードする前に書き込みがステージングされる一時ディレクトリのパスを指定します。デフォルト値はシステムのデフォルトです("/tmp" など)。 |
uid |
すべての i ノードのユーザー識別子(UID)所有者を指定します。デフォルトの UID 値は -1 です。 |
foreground |
フォアグラウンドで gcsfuse コマンドを実行します。デフォルト値は false です。 |
max-retry-sleep |
指数バックオフを使用した再試行ループで Cloud Storage FUSE がスリープできる最大時間を指定します。バックオフ時間が指定の最大時間を超えると、指定された最大時間で再試行が続行されます。デフォルトの上限値は 30s (30 秒)です。 |
multiplier |
再試行間の指数バックオフを指定します。値は、前の待機時間に基づく後続の待機時間の乗数です。デフォルト値は "2" です。 |
stackdriver-export-interval |
指定した間隔で指標を Cloud Monitoring にエクスポートします。デフォルト値は 0s (0 秒)で、エクスポートを指定しません。 |
log-mutex |
ミューテックスの保持時間が長くなりすぎると、デバッグ メッセージを出力します。このオプションを指定すると、ログの重大度が自動的に trace に設定されます。これには、トレースログ、デバッグログ、情報ログ、警告ログ、エラーログが含まれます。デフォルト値は false です。 |
exit-on-invariant-violation |
内部バリアントの違反が検出されると、プログラムを終了します。デフォルト値は false です。 |