Compute Engine 上のファイル サーバー

ファイル サーバー(ストレージ ファイラーとも呼ばれます)により、マシン全体で共有されるファイルの読み取りと更新をアプリケーションで行うことが可能になります。一部のファイル ソリューションはスケールアップ方式で、単一の VM に接続されたストレージで構成されます。一方、一部のソリューションはスケールアウト方式で、ストレージが接続された VM のクラスタで構成されますが、アプリケーションからは単一のファイル システム名前空間にみえます。

ファイル システムによってはネイティブ POSIX クライアントを使用しますが、多くのファイル サーバーでは、クライアント マシンがファイル システムにマウントできるようにするプロトコルを使用します。そうすることで、ローカルでホストされている場合と同様にファイルにアクセスできます。ファイル共有をエクスポートする際に最も一般的なプロトコルは、Linux の場合で NFS(Network File System)、Windows の場合で CIFS(Common Internet File System)か SMB(Server Message Block)になります。

このソリューションでは、ファイルの共有に使用する次のいくつかのオプションについて説明します。

Google Cloud Platform のすべてのサービスのパフォーマンスと予測可能性で基礎的な要素となるのは、Google が長年にわたって進化させてきたネットワーク スタックです。Google は、Jupiter ファブリックを使用して、お客様のワークロードに影響を与えることなく進化し続ける堅牢かつスケーラブルな、安定したネットワーキング スタックを構築しています。Google は内部でそのネットワーク能力の向上と強化を図っているため、お客様のファイル共有ソリューションでさらにパフォーマンスが向上するというメリットが得られます。Jupiter ファブリックの詳細については、その進化について説明している 2015 年の論文をご覧ください。

投資を最大限に活かすのに役立つ GCP の特長の 1 つは、カスタム VM タイプを指定する機能です。ファイラーのサイズを選択する際、メモリと CPU の適切な組み合わせを選択して、サブスクリプションの超過なしにファイラーが最適なパフォーマンスで動作するようにできます。

さらに、ファイル サーバーのストレージ デバイスに、必要なストレージ帯域幅と IOP、そしてネットワーク帯域幅が確実に提供されるように、適切な Compute Engine 永続ディスクの容量と vCPU の数を選択することが重要です。VM に対しては、vCPU ごとに 2 Gbps のネットワーク スループット(最大値)が提供されます。永続ディスクの調整については、永続ディスクとローカル SSD のパフォーマンスの最適化をご覧ください。

また、Cloud Storage はペタバイト規模のデータを高レベルの冗長性と低コストで保存するのに適しています。ただし、Cloud Storage のパフォーマンス プロファイルと API はここで説明するファイル サーバーのものとは異なります。

Compute Engine 永続ディスク

対象のデータが単一の VM からのアクセスで充分な規模である場合、または時間が経過してもデータに変更がない場合には、Compute Engine の永続ディスクを使用し、ファイル サーバーを一切使用しないという選択肢もあります。永続ディスクを使用する場合は、Ext4 や XFS などのファイル システムでフォーマットし、読み書きモードまたは読み取り専用モードでボリュームを接続できます。つまり、最初にボリュームをインスタンスに接続して必要なデータを読み込んでから、そのボリュームを読み取り専用ディスクとして数百もの仮想マシンに同時に接続できます。読み取り専用の永続ディスクの使用は、すべてのユースケースに有効であるとは限りませんが、ファイル サーバーを使用した場合に比べて、複雑性が大幅に軽減されます。

Compute Engine の永続ディスクは、費用に対するスケーリングとパフォーマンスのバランスを柔軟に取ることができるため、Google Cloud Platform(GCP)にデータを保存する方法として優れています。また、永続ディスクは、すばやくサイズ変更することもできるため、低コストかつ低容量で開始できます。インスタンスやディスクを追加して起動することで容量をスケーリングする必要はありません。永続ディスクのスループットと IOPS は、ディスク容量(SSD 永続ディスクの場合は vCPU)に比例します。つまり、サイズ変更により、ダウンタイムをほとんど(またはまったく)発生させずにパフォーマンスをスケーリングできます。

永続ディスクのもう 1 つのメリットは、パフォーマンスが安定していることです。インスタンスに接続した同じサイズのディスク(SSD 永続ディスクの場合は同じ数の vCPU)は、すべて同じパフォーマンス特性を持ちます。本番環境で永続ディスクを使用する前に事前準備やテストをする必要はありません。

予測しやすいのはパフォーマンスだけではありません。ボリュームをプロビジョニングした後で考慮すべき I/O コストがないため、永続ディスクのコストも簡単に見込めます。さまざまなコストとパフォーマンス特性を持つ 3 種類のディスクを選択できるので、容易にコストとパフォーマンスのバランスを取ることができます。

容量の合計が主な要件となる場合は、低コストの標準永続ディスクを使用します。耐久性を保ちつつ最高のパフォーマンスを実現するには、SSD 永続ディスクを使用します。

データがエフェメラルで、ミリ秒以下のレイテンシと高い IOPS が必要とされる場合は、優れたパフォーマンスを実現するために最大 3 TB のローカル SSD を活用できます。ローカル SSD は、インスタンスの割り当て済みネットワーク容量を使い切ることなく、DDR2 RAM と同等の速度で最大 70 万 IOPS を実現できます。

Compute Engine インスタンスに使用できるさまざまなディスクタイプの比較については、ブロック ストレージのドキュメントをご覧ください。

ファイラー ソリューションを選択する際の考慮事項

ファイラー ソリューションの選択では、コスト、パフォーマンス、スケーラビリティに関してトレードオフを見極める必要があります。明確に定義されているワークロードがある場合はその見極めが容易になりますが、多くの場合、そうではありません。ワークロードが時間とともに変化する場合や可変性が高い場合は、コスト削減よりも柔軟性と弾力性を優先してソリューションを拡大するのが賢明です。一方、一時的な既知のワークロードがある場合には、用途を特化したファイラー アーキテクチャを作成できます。そのようなファイラー アーキテクチャは削除や再作成がしやすいので、緊急のストレージ ニーズに対応できます。

最初に決定すべき事項の 1 つは、Google が管理するファイラー ソリューション、サポートされているパートナー ファイラー ソリューション、またはサポートされていないソリューションのうちどれを購入するかです。マネージド ソリューションでない場合は、管理する人員が長期的に必要となります。また、サポートされているソリューションはサポートされていないソリューションに比べ、必要なリソースが相当に少なくて済みます。

次に行うべきは、ファイラーの耐久性と可用性の要件の把握です。ほとんどのファイラー ソリューションはゾーン ソリューションであり、デフォルトではゾーンに障害が発生した場合の保護は行われません。そのため、ゾーン障害に対する障害復旧ソリューションが必要かどうかを検討することが重要です。さらに、アプリケーションの耐久性と可用性に関する要件を把握することも重要です。デプロイにおけるローカル SSD または永続ディスク(またはその両方)の選択は、ファイラー ソリューション ソフトウェアの構成と同様に、耐久性と可用性に大きく影響します。高い耐久性と可用性、またゾーンやリージョンの障害に対する保護を実現するために、それぞれのソリューションで慎重に計画する必要があります。

最後に、データにアクセスする必要がある場所(ゾーン、リージョン、オンプレミス データセンター)について検討します。オンプレミスからのアクセスとクラウド内からのアクセスを混在させることのできるソリューションは限られているため、データにアクセスするコンピューティング ファームの場所はファイラー ソリューションの選択に影響します。

ファイラー オプション

Elastifile

Elastifile は、GCP やハイブリッド クラウドでのエンタープライズ ストレージおよびデータ管理を簡素化します。Elastifile を使用すると、グローバル データに対して、費用効率とパフォーマンスに優れた並列アクセスが可能になります。その一方で、インテリジェントなオブジェクト階層化を行う動的にスケーラブルな分散ファイル システムを利用して、厳密な整合性を維持できます。Elastifile では、リファクタリングしなくても、既存の NFS アプリケーションと NAS ワークフローをクラウドで実行できます。さらに、エンタープライズ データサービスのメリット(高可用性、圧縮、重複除去、複製など)も利用できます。Kubernetes Engine とのネイティブ統合を行えば、コンテナ化されたワークロードのシームレスなデータ永続性、ポータビリティ、共有を実現できます。

Elastifile のデプロイやスケーリングは、ボタンを押すだけで実施できます。ファイル システムのインフラストラクチャはオンデマンドで簡単に作成やスケーリングができるため、ストレージのパフォーマンスと容量は、動的なワークフロー要件に応じて常時調整できます。Elastifile クラスタが拡張すると、それに比例してメタデータと I/O パフォーマンスがスケーリングされます。こうしてスケーリングされることで、ハイパフォーマンス コンピューティング、分析、クロスサイトのデータ集約、DevOps など、幅広い種類のデータ集約型ワークフローの拡張と迅速化が可能になります。したがって、Elastifile は、ライフ サイエンス、電子設計オートメーション(EDA)、石油とガス、金融サービス、メディアとエンターテイメントといったデータ中心型の業界で使用するのに最適な方法です。

Elastifile の CloudConnect 機能を使用すると、POSIX ファイル システムと Cloud Storage の間で細かな指定が可能な双方向データ転送が実現します。パフォーマンスを最適化して費用を最小限に抑えるために、CloudConnect ではデータが圧縮、重複除去されたうえで送信され、最初のデータ同期後に変更された部分だけが送信されます。CloudConnect をハイブリッド クラウドのデプロイに利用すると、任意のオンプレミス NFS ファイル システムから Cloud Storage に効率的にデータを読み込むことができ、費用効率の高い方法でデータをクラウドに格納できます。CloudConnect をクラウドで利用すると、Elastifile ファイル システムと Cloud Storage の間におけるデータ階層化の費用を最適化できます。

Elastifile でのデータの保管と管理の図

詳細については、次のリンクをご覧ください。

Quobyte

Quobyte は、クラウドとオンプレミスで稼働する並列分散型 POSIX 互換ファイル システムであり、数ペタバイトものストレージと数百万もの IOPS の利用を可能にします。この会社は Google の元エンジニアによって設立されました。この人物は、クラウドに関する深い技術的見識に基づいて Quobyte ファイル システムを考案し、設計しました。

Quobyte は、ライフ サイエンス金融サービス、航空宇宙工学、放送とデジタル制作、電子設計オートメーション(EDA)から従来の高性能コンピューティング(HPC)リサーチ プロジェクトまで、さまざまな業界における要求の厳しい大規模な本番環境で使用されています。

Quobyte は、Linux、Windows、NFS のすべてのアプリケーションにネイティブで対応しています。開発者は、既存のアプリケーションと新しく実装されたアプリケーションをクラウド、オンプレミスを問わず同じ環境で操作できます。Quobyte は、NFS より信頼性の高いファイル システムを必要とし、分散型環境用の設計になっていないアプリケーション向けに、キャッシュ整合性機能(任意)を提供します。さらに、Quobyte は複数のクライアントからの高速同時読み書きに対応する並列ファイル システムであるため、HPC アプリケーションはその利点を活用できます。

分散ファイル システムである Quobyte は、ノード数に比例して IOPS とスループットを線型にスケーリングするので、クラスタ化ソリューションや単一ファイラー ソリューションで生じるパフォーマンスのボトルネックを回避します。Quobyte ではそのネイティブ クライアント ソフトウェアを通じて数千もの Linux クライアントと Windows クライアントの仮想マシン(VM)やコンテナ化アプリケーションによるアクセスを可能にし、高い IOPS、少ないレイテンシ、数 GB/秒のスループットを実現します。このネイティブ クライアントはすべてのストレージ VM と直接通信し、場合によってはデータの複数のレプリカからの読み取りもできるため、NFS ゲートウェイでの追加のレイテンシやパフォーマンスのボトルネックを回避できます。

Compute Engine 上での Quobyte クラスタの作成や拡張はわずか数分で完了できるため、管理者はクラウド内のすべてのワークロードの実行やピーク ワークロードのバーストを行えます。最初は単一のストレージ VM を使用し、必要に応じて容量と VM を追加することで、リソースが不要になったときにデプロイのサイズを動的に縮小できます。

標準 Linux VM は、Compute Engine 上の Quobyte クラスタの基盤となります。インタラクティブ インストーラを使用すると、設定を素早く簡単にできます。データは、HDD か SSD ベースの接続された永続ディスクに保存されます。異なるパフォーマンス層として使用するなどして、単一のインストールに両方のタイプを使用できます。ボリューム ミラーリング機能を使用すると、ボリュームのジオレプリケーション災害復旧(DR)コピーを作成できます。このコピーはリモート リージョンの読み取り専用アクセスにも使用できます。

Quobyte にはモニタリング機能と自動化機能が組み込まれているため、数百ものストレージ VM のクラスタを簡単に維持できます。1 回のクリックで VM とディスクを追加や削除でき、新しいリソースは 1 分かからずに使用できるようになります。組み込みのリアルタイム分析機能により、ストレージを多く使う利用者やアプリケーションのアクセス パターンを特定できます。

Quobyte の 45 日間の無料試用版ライセンスは、www.quobyte.com/get-quobyte から直接入手できます。

Quobyte ファイル システムの図

Quobyte を使用すると、パフォーマンスのボトルネックを生じずに、数千ものクライアントがすべての VM と直接通信できます。異なる可用性ゾーンやオンプレミス クラスタ間で任意のボリューム ミラーリング機能を使用すると、複数のサイト間で(災害復旧などのために)読み取り専用データアクセス用のボリュームのレプリカを非同期で作成できます。

Avere vFXT

最高の読み取りパフォーマンスが要求されるワークロードの場合、Avere Systems により、最善のソリューションが提供されています。Avere のクラウドベースの vFXT クラスタ化クラウド ファイルシステムを使用すると、ペタバイト級のストレージと何百万という IOPS をユーザーに提供できます。

Avere vFXT の図

Avere vFXT は、ファイラーであるだけでなく、コンピューティング クラスタのできるだけ近くに作業データセットを配置することで既存のワークフローの変更を最小限に抑えることができる読み取り / 書き込みキャッシュでもあります。Avere を使用すると、バックアップ保存先としての Cloud Storage の費用効果と、Computing Engine のパフォーマンス、スケーラビリティ、1 秒単位の料金設定を利用できます。

Avere では、現在のオンプレミスのフットプリントを最大限に活用することもできます。vFXT で GCP を利用できるほか、Avere のオンプレミス FXT シリーズを使用して、従来のデバイスおよびストレージ配列のストレージを拡張可能なファイラーに統合して、単一の名前空間で扱えるようにできます。

オンプレミスのストレージ フットプリントからの移行を検討している場合は、Avere の FlashMove テクノロジーを利用して、クライアントでダウンタイムを発生させることなく Cloud Storage に移行できます。オンプレミス データに対する障害復旧メカニズムを提供するには、FlashMirror 機能を使用してオンプレミス ストレージを Cloud Storage に複製します。短期間に大量のストレージが必要であることがわかった場合、Cloud Storage を使用してワークロードをクラウドにバーストできます。ストレージとコンピューティングを必要なだけ使用し、その後は、継続的な費用を支払うことなくそれらをデプロビジョニングできます。

Avere では、SSD、RAM のような高速ローカル デバイスを使用して、コンピューティング デバイスのできるだけ近くに現在アクティブなデータセットをキャッシュに保存します。vFXT を使用すると、Cloud Storage のグローバルな冗長性と無制限のスケールを利用できる一方で、ユーザーはデータが自分のコンピューティング クラスタにローカルに配置されているかのようにデータを操作できます。

Avere を稼働させてファイラー ソリューションとして実行する方法については、Avere に直接お問い合わせください。Avere の詳細については、Google Cloud Platform 統合の概要をご覧ください。

Single Node File Server

Single Node File Server は、Cloud Marketplace でデプロイできます。デプロイには、Grafana によるモニタリングが含まれます。

Single Node File Server の図

Cloud Marketplace を使用して Single Node File Server をデプロイすると、バッキング ディスクのタイプ(標準または SSD)を構成できます。また、インスタンス タイプとデータディスクの合計サイズを構成することもできます。ファイラーのパフォーマンスは、インスタンス タイプに加え、ディスクのサイズとタイプの両方に左右されることに注意してください。ディスクのタイプとサイズによって合計スループットが決定されます。

ファイラーを完全にデプロイした後、ローカル サブネット上の任意のホストから NFS マウントや SMB マウントを使用して共有をマウントできます。容量が小さいディスクから始めて、お客様のパフォーマンスや容量のニーズに応じてディスクのサイズを変更できます。

ダウンタイムを許容できる場合には、インスタンスを停止し、インスタンス タイプを変更してからインスタンスを再起動することで、ファイラーをスケールアップすることもできます。Single Node File Server では、ディスクの共有プールを提供するために水平スケーリングを行うことはできませんが、個々のファイラーを必要なだけ作成できます。このアプローチは、開発を行う場合や共有ファイル システムのバックエンドをテストする場合に役立ちます。

Single Node File Server はゾーンまたはリージョン間で自動的にデータを複製することはありませんが、定期的にバックアップをとるためにデータディスクのスナップショットを作成できます。Single Node File Server には有償の公式サポートがないため、実行にかかる費用はインスタンス、ディスク、ネットワークの費用に直接関連します。一般に、このオプションはメンテナンスの必要が少ないはずです。

ファイル サーバー オプションの概要

次の表では、永続ディスクと 3 つのファイル サーバー オプションの特徴をまとめています。

ファイラー ソリューション最適なデータセットスループットマネージド サポートプロトコルのエクスポート高可用性ハイブリッド
Elastifile数十 TB~1 PB 未満数十~数百 GB/秒ElastifileNFSv3
Quobyte数十 TB~1 PB 未満数百~数千 GB/秒QuobyteLinux および Windows のネイティブ クライアント、Amazon S3、HDFS、NFSv4/3、SMB
Avere数十~数百 TB数十~数百 GB/秒AvereNFSv3、SMB2
読み取り専用 PD64 TB 未満180〜1,200 MB/秒×直接接続××
Single Node File Server64 TB 未満最大 16 Gb/秒×NFSv3、SMB3××

Compute Engine インスタンスに使用できるさまざまなディスクタイプの比較については、ブロック ストレージのドキュメントをご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...