ウェブサイト検索

Ceph vs GlusterFS vs MooseFS vs HDFS vs DRBD |


現在のクラウド コンピューティング時代の全盛期におけるストレージ システムは、検討する価値のある温床です。世の中には数多くのツールやシステムがあるため、どのような目的で何を選択すればよいのかを知るのは難しいかもしれません。このガイドではその混乱を軽減し、利用可能な最も一般的なストレージ システムの概要を説明します。それらについてのヒントを得るために、先に読んでください。このガイドでは、Ceph、GlusterFS、MooseFS、HDFS、DRBD の比較について詳しく説明します。

1.セフ

Ceph は、オブジェクト、ブロック (RBD 経由)、およびファイル ストレージを 1 つの統合システムで独自に提供する堅牢なストレージ システムです。ブロックデバイスを仮想マシンに接続したい場合でも、非構造化データをオブジェクトストアに保存したい場合でも、Ceph はすべてを 1 つのプラットフォームで提供し、優れた柔軟性を実現します。 Ceph 内のすべてのものはオブジェクトの形式で保存され、RADOS オブジェクト ストアは、データ型に関係なく、これらのオブジェクトを保存する役割を果たします。 RADOS レイヤーは、データが常に一貫した状態に保たれ、信頼できるものであることを保証します。データの一貫性を確保するために、データのレプリケーション、障害検出、リカバリを実行するだけでなく、クラスタノード間でのデータ移行と再バランスも実行します。
Ceph は、高性能で大容量のデータストレージを目的とした POSIX 準拠のネットワークファイルシステム (CephFS) を提供します。 、レガシー アプリケーションとの最大限の互換性。オブジェクトへのシームレスなアクセスには、ネイティブ言語バインディング、または S3 および Swift 用に作成されたアプリケーションと互換性のある REST インターフェイスである radosgw (RGW) が使用されます。一方、ストレージ クラスター全体にストライプ化およびレプリケートされるブロック デバイス イメージへのアクセスは、Ceph の RADOS ブロック デバイス (RBD) によって提供されます。

Cephの特徴

  • 単一のオープンな統合プラットフォーム: ブロック、オブジェクト、およびファイル ストレージが 1 つのプラットフォームに結合されており、最新の CephFS も含まれています。
  • 相互運用性: Ceph Storage を使用すると、とりわけ互換性の高いアマゾン ウェブ サービス (AWS) S3 オブジェクト ストア実装の 1 つを提供できます。
  • シン プロビジョニング: スペースの割り当ては仮想のみであり、実際のディスク スペースは必要に応じて提供されます。これにより、柔軟性と効率が大幅に向上します。
  • レプリケーション: Ceph Storage では、保存されたすべてのデータが 1 つのノードから他の複数のノードに自動的にレプリケートされます。クラスター内には常に 3 つのデータが存在します。
  • 自己修復: モニターはデータセットを常に監視します。 3 つのコピーのうちの 1 つが失われた場合、コピーが自動的に生成され、常に 3 つのコピーが利用可能になります。
  • 高可用性: Ceph Storage では、保存されるすべてのデータが 1 つのノードから他の複数のノードに自動的にレプリケートされます。これは、特定のノード内の特定のデータセットが破損したり、誤って削除された場合に備えて、同じデータセットのコピーがさらに 2 つ存在するため、データの可用性が高くなるということを意味します。
  • Ceph は堅牢です。クラスターは何にでも使用できます。非構造化データを保存したい場合、データにブロック ストレージを提供したい場合、またはファイル システムを提供したい場合、またはアプリケーションが librados 経由でストレージに直接アクセスしたい場合、すべてが 1 つのプラットフォームで可能です。
  • スケーラビリティ: Ceph はクラスター内で動作するため、必要に応じてクラスターを増やすことができるため、将来の規模のニーズに対応できます。

Ceph は、ブロックストレージ、ビッグデータ、または librados と直接通信するその他のアプリケーションに最適です。すべてうまくいきます。 Ceph の詳細については、Ceph のドキュメントをご覧ください。

インストール:

  • CentOS 8 に Ceph 15 (Octopus) クラスターをインストールする
  • Ceph 15 (Octopus) ストレージ クラスターを Ubuntu にインストールする

2.ムースFS

Gemius (20 か国以上でインターネットを測定するヨーロッパの大手企業) のスピンオフとして約 12 年前に導入された MooseFS は、ビッグ データ ストレージ業界における画期的なコンセプトです。手頃な価格の汎用ハードウェアを使用して、データ ストレージとデータ処理を 1 つのユニットに組み合わせることができます。

MooseFSの特徴

  • 冗長性: すべてのシステム コンポーネントは冗長であり、障害が発生した場合には、ユーザーには意識されない自動フェイルオーバー メカニズムが存在します。
  • ノード上の計算: アイドル状態の CPU およびメモリ リソースを利用することで、システム全体の TCO を向上させるためのデータ ノード上の計算のスケジューリングのサポート。
  • アトミック スナップショット: 特定の時点でのファイル システムの即時かつ中断のないプロビジョニング。この機能はオンライン バックアップ ソリューションに最適です。
  • 階層型ストレージ: 総ストレージ コストを削減するために、さまざまなカテゴリのデータをさまざまな種類のストレージ メディアに割り当てること。ホットデータは高速 SSD ディスクに保存でき、使用頻度の低いデータは安価で低速な機械式ハード ディスク ドライブに移動できます。
  • ネイティブ クライアント: Linux、FreeBSD、および MacOS システム用に特別に設計された専用クライアント (マウント) コンポーネントを通じてパフォーマンスの向上が実現します。
  • グローバル ゴミ箱: 削除されたオブジェクト用の仮想グローバル スペース。ファイルおよびディレクトリごとに構成可能。この便利な機能を利用すると、誤って削除したデータを簡単に復元できます。
  • クォータ制限: システム管理者は、ディレクトリごとのデータ ストレージ容量を制限する制限を柔軟に設定できます。
  • ローリング アップグレード: サービスを中断することなく、一度に 1 ノードずつアップグレード、ハードウェアの交換および追加を実行できます。この機能により、ダウンタイムなしでハードウェア プラットフォームを最新の状態に維持できます。
  • 高速ディスク回復: ハードディスクまたはハードウェアに障害が発生した場合、システムは冗長コピーからシステム内の他の利用可能なストレージ リソースへの並列データ レプリケーションを即座に開始します。このプロセスは、従来のディスク再構築アプローチよりもはるかに高速です。
  • 並列処理: すべての I/O 操作を並列実行スレッドで実行し、高パフォーマンスの読み取り/書き込み操作を実現します。
  • 管理インターフェイス: コマンド ライン ベースや Web ベースのインターフェイスなど、豊富な管理ツールのセットを提供します。

MooseFS の詳細については、MooseFS ページを参照してください。

3. グルスターFS

Gluster は、無料のオープンソースのスケーラブルなネットワーク ファイルシステムです。一般的な既製のハードウェアを使用して、メディア ストリーミング、データ分析、その他のデータと帯域幅を大量に使用するタスク用の大規模な分散ストレージ ソリューションを作成できます。 GlusterFS ベースのスケールアウト ストレージ システムは、ドキュメント、画像、オーディオおよびビデオ ファイル、ログ ファイルなどの非構造化データに適しています。従来、分散ファイルシステムはメタデータ サーバーに依存していましたが、Gluster ではメタデータ サーバーが不要になりました。メタデータ サーバーは単一障害点であり、スケーリングのボトルネックになる可能性があります。代わりに、Gluster はハッシュ メカニズムを使用してデータを検索します。

グルスターの特徴

  • スケーラビリティ: 弾力性とクォータを提供するスケーラブルなストレージ システム。
  • スナップショット: ボリューム レベルおよびファイル レベルのスナップショットが利用可能で、これらのスナップショットはユーザーが直接要求できるため、ユーザーは管理者にスナップショットを作成してもらう必要がありません。
  • アーカイブ: アーカイブは、読み取り専用ボリュームと Write Once Read Many (WORM) ボリュームの両方でサポートされます。
  • パフォーマンスを向上させるために、Gluster は readdir() のデータ、メタデータ、およびディレクトリ エントリのキャッシュを実行します。
  • 統合: Gluster は、特に oVirt 仮想化マネージャーおよびサーバー用の Nagios モニターと統合されています。
  • ビッグ データ: Gluster ファイルシステム内のデータを使用してデータ分析を行いたい場合は、Hadoop 分散ファイル システム (HDFS) のサポートがあります。
  • libgfapi: アプリケーションは libgfapi を使用して、他のアクセス方法をバイパスし、Gluster と直接通信できます。これは、コンテキストの切り替えやカーネル空間へのコピー、カーネル空間へのコピーの影響を受けやすいワークロードに適しています。

Gluster のその他の詳細については、Gluster Docs を参照してください。

  • CentOS 8/CentOS 7 で Heketi を使用して GlusterFS ストレージをセットアップする

4.HDFS

Hadoop 分散ファイル システム (HDFS) は、複数のファイルを高速で同時に保存および取得できる分散ファイル システムです。これは、汎用ハードウェア上で便利に実行され、非構造化データを処理する機能を提供します。アプリケーション データへの高スループット アクセスを提供し、大規模なデータ セットを持つアプリケーションに適しています。 HDFS は、Hadoop YARN、Hadoop MapReduce、および Hadoop Common とともに、Hadoop の主要な構成要素です。これは、Hadoop フレームワークの基本コンポーネントの 1 つです。

HDFSの特徴

データ複製

HDFS は、大規模なクラスター内のマシン間で非常に大きなファイルを確実に保存するように設計されています。各ファイルをブロックのシーケンスとして保存します。ファイル内の最後のブロックを除くすべてのブロックは同じサイズです。ファイルのブロックはフォールト トレランスのために複製されます。

ファイルシステム名前空間

HDFS は、従来の階層ファイル構成をサポートします。ユーザーまたはアプリケーションはディレクトリを作成し、これらのディレクトリ内にファイルを保存できます。ファイル システムの名前空間階層は、他のほとんどの既存のファイル システムと似ています。ファイルを作成および削除したり、あるディレクトリから別のディレクトリにファイルを移動したり、ファイルの名前を変更したりできます。 HDFS はまだユーザー クォータを実装していません。 HDFS はハード リンクまたはソフト リンクをサポートしません。

屈強

HDFS の主な目的は、障害が発生した場合でもデータを確実に保存することです。一般的な 3 つのタイプの障害は、NameNode 障害、DataNode 障害、およびネットワーク分割です。

アクセシビリティ

HDFS には、アプリケーションからさまざまな方法でアクセスできます。 HDFS はネイティブに、アプリケーションが使用できる Java API を提供します。この Java API の C 言語ラッパーも利用できます。さらに、HTTP ブラウザを使用して HDFS インスタンスのファイルを参照することもできます。 WebDAV プロトコルを通じて HDFS を公開する作業が進行中です。

スケーラビリティ

HDFS は、大規模なクラスター内のマシン間で非常に大きなファイルを確実に保存するように設計されています。クラスターは、その時の必要に応じて増減できます。

高可用性

Hadoop 分散ファイル システムは、大規模なクラスタ内のマシン間で非常に大きなファイルを確実に保存するように設計されています。各ファイルをブロックのシーケンスとして保存します。ファイル内の最後のブロックを除くすべてのブロックは同じサイズです。ファイルのブロックは耐障害性のために複製されるため、障害が発生した場合でもデータの可用性が高くなります。

HDFS の詳細については、HDFS ページをご覧ください。

5. DRDB

DRBD は、カーネル ドライバー、いくつかのユーザー空間管理アプリケーション、およびいくつかのシェル スクリプトとして実装された分散複製ストレージ システムです。分散レプリケート ブロック デバイス (論理ボリューム スキーマ内の論理ブロック デバイス) は、複数のホスト間でブロック デバイスをミラーリングして、高可用性クラスターを実現します。 DRBD ベースのクラスターは、ファイル サーバー、リレーショナル データベース (MySQL など)、およびその他の多くのワークロードに同期レプリケーションと高可用性を追加するためによく使用されます。 DRBD 実装は基本的に、共有ディスク ファイル システム、別の論理ブロック デバイス (LVM など)、従来のファイル システム、またはブロック デバイスへの直接アクセスを必要とするアプリケーションの基礎として使用できます。

DRDBの特徴

  • DRDB には共有秘密認証がある
  • LVM(Logical Volume Manager)に対応
  • ハートビート/ペースメーカー リソース エージェント統合のサポートあり
  • 読み取りリクエストのロードバランシングがサポートされています
  • 完全な障害後の最新データの自動検出
  • デルタ再同期
  • 既存の展開は、データを失うことなく DRBD を使用して構成できます
  • 自動帯域幅管理
  • カスタマイズ可能なチューニングパラメータ
  • ピアによるオンラインデータ検証
  • 高可用性: ブロック デバイスは、複数のホスト間でブロック デバイスをミラーリングし、高可用性クラスターを実現します。
  • Xenなどの仮想化ソリューションと統合されており、Linux LVMスタックの下と上の両方で使用できます。

DRBD には、ここで説明されていないその他の詳細があります。 DRBD オンライン ドキュメントで見つけてください。

  • CentOS 8 に DRBD をインストールして構成する | RHEL8

結論

上記のシステムとその機能は、その内部の概要とその概要を示しています。それらの詳細については、それぞれの下で参照されているさまざまな Web ページを参照してください。最後まで読んでいただき、お役に立てば幸いです。

当社の Web サイトでその他の記事もご覧ください。

  • Kubernetes および Docker コンテナに最適なストレージ ソリューション
  • Minio を使用して S3 互換オブジェクト ストレージ サーバーをセットアップする方法
  • Stratis ストレージ管理チートシート
  • RAID、LVM、ZFS の比較
  • Ext4 と XFS – どちらを選択しますか?

関連記事: