過去問ドリル

LinuCレベル4 システムアーキテクト ネットワークとストレージの選定 問15

ネットワークとストレージの選定/ストレージとアクセスプロトコル

5台のLinuxのアプリケーションサーバーが、同じディレクトリにある帳票ファイル群を同時に読み書きする。既存のアプリケーションはPOSIXのファイル操作でファイルの一部を書き換え、他のサーバーとの排他にはファイルロックを使っている。アプリケーションは改修しない前提である。ストレージの提供形態とプロトコルの選択として最も適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「ネットワークとストレージの選定」に対応。実際の試験問題ではありません)

正解:D

解説

複数のサーバーから同じファイルをPOSIXのセマンティクスで共有し、ロックで排他するという要件には、ファイルストレージが合います。NFSv4はロックの機能をプロトコル自体に含んでおり、あるクライアントが取ったファイルロックを他のクライアントも尊重するため、既存のアプリケーションを変えずに共有できます。ブロックストレージは1台のホストが専有するのが基本で、EXT4のような単一ノード向けのファイルシステムを複数台で同時にマウントするとデータが壊れます。オブジェクトストレージは部分的な書き換えやPOSIXのロックを前提としないため、改修なしでは使えません。

選択肢ごとの解説

  • A誤り。EXT4は複数ノードからの同時マウントを想定しておらず、各サーバーのキャッシュやメタデータが食い違ってファイルシステムが壊れます。
  • B誤り。オブジェクトストレージはオブジェクト全体の置き換えが基本で、部分的な書き換えやサーバー間で有効なファイルロックを提供しないため、改修が必要です。
  • C誤り。各サーバーが別々のファイルを更新するため同時更新が衝突し、サーバー間の排他もできず、同期までの間は内容が食い違います。
  • D正しい。ファイルストレージを複数台で共有でき、NFSv4のロックによってサーバー間の排他もアプリケーションを変えずに実現できます。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く