オープンソースのクラウドネイティブ分散ファイルシステム - JuiceFS

オープンソースのクラウドネイティブ分散ファイルシステム - JuiceFS

最もよく知られている分散ファイルシステムは HDFS です。その正式名称は​Hadoop Distributed File System​​ ​で、Hadoop テクノロジー スタックが普及しているときに輝きます。クラウド コンピューティングが成熟するにつれて、データをクラウドに移行することがトレンドになってきました。ただし、オブジェクト ストレージとファイル ストレージの構造が異なるため、クラウドにビッグ データを保存すると、クエリ パフォーマンスが遅くなったり、データの一貫性を確保できなかったりするなど、多くの問題が発生します。

本日ご紹介するのは、クラウド環境向けに設計されたファイルシステムです。 JuiceFS は、「データ」と「メタデータ」を分離するプラグイン アーキテクチャを採用した、クラウド ネイティブの高性能分散ファイル システムです。ユーザーは、シナリオの要件に応じて適切なメタデータとデータ エンジンを選択できます。 JuiceFS を使用してデータを保存する場合、データ自体はオブジェクト ストレージ (Amazon S3 など) に永続化され、対応するメタデータは、必要に応じて Redis、MySQL、TiKV、SQLite などの複数のデータベースに保存できます。

JuiceFS は 2021 年 1 月に GitHub でオープンソース化されました。1 年半で 6.5K スターを獲得し、インフラ分野で注目度の高いプロジェクトとなっています。 JuiceFS は Aache 2.0 ライセンスを使用しているため、ユーザーは JuiceFS をさまざまなビジネス環境により自信を持って適用し、独自のアプリケーションと統合できます。 JuiceFS は、AI コンポーネント Fluid と PaddlePaddle で確認できます。

特性

  • POSIX 互換性: ローカル ファイル システムのように使用し、既存のアプリケーションとシームレスに統合し、ビジネスに干渉しません。
  • HDFS互換性: HDFS API [1]と完全に互換性があり、より強力なメタデータパフォーマンスを提供します。
  • S3互換性:S3プロトコルと互換性のあるアクセスインターフェースを実装するためのS3ゲートウェイ[2]を提供します。
  • クラウドネイティブ: CSIドライバー[3]を介してKubernetesでJuiceFSを簡単に使用できます。
  • 分散設計: 同じファイル システムを数千台のサーバーに同時にマウントでき、高性能な同時読み取りと書き込み、およびデータの共有が可能です。
  • 強力な一貫性: 確認されたファイルの変更はすべてのサーバー上ですぐに表示され、強力な一貫性が確保されます。
  • 強力なパフォーマンス: ミリ秒単位のレイテンシとほぼ無制限のスループット (オブジェクト ストレージのサイズによって異なります)。性能試験結果[4]を参照。
  • データ セキュリティ: 転送中の暗号化と保存中の暗号化をサポートします。詳細は[5]を参照
  • ファイルロック: BSD ロック (flock) と POSIX ロック (fcntl) をサポートします。データ圧縮: ストレージスペースを節約するために、LZ4 および Zstandard 圧縮アルゴリズムをサポートします。

すぐに始めましょう

JuiceFS のインストールは非常に簡単です。メタデータ ストレージ エンジン (Redis、MySQL など) とオブジェクト ストレージを準備する必要があります。最後に、JuiceFS クライアントをダウンロードし、コマンド ラインを実行してすぐに使用を開始します。

最新の JuiceFS クライアントのダウンロード アドレスは GitHub プロジェクト ページで見つかります。プラットフォーム用のコンパイル済みバージョンを選択し、ダウンロードして /usr/local/bin/juicefs にインストールします。

ターミナルで juicefs と入力して実行し、プログラムのヘルプ情報が返された場合は、JuiceFS クライアントが正常にインストールされたことを意味します。

ファイルシステムの作成

ファイル システムを作成するには、クライアントが提供する format コマンドを使用します。一般的な形式は次のとおりです。

 juicefs フォーマット[ コマンドオプション] META - URL NAME

ファイル システムをフォーマットするには、次の 3 種類の情報が必要であることがわかります。

  • [コマンド オプション]: ファイル システムのストレージ メディアを設定します。空白のままにすると、デフォルトでローカル ディスクがストレージ メディアとして使用されます。パスは $HOME/.juicefs/local、/var/jfs​、または C:/jfs/local です。
  • META-URL: メタデータ ストレージ、つまりデータベース関連の情報 (通常はデータベースの URL またはファイル パス) を設定するために使用されます。
  • NAME: ファイル システムの名前です。

ファイルシステムのマウント

ファイル システムをマウントするには、クライアントが提供する mount コマンドを使用します。一般的な形式は次のとおりです。

 juicefs mount [ コマンドオプション] META - URL マウントポイント

ファイルシステムを作成するコマンドと同様に、ファイルシステムをマウントするときには次の情報を指定する必要があります: **[コマンド オプション]**: ファイルシステム関連のオプションを指定するために使用されます。たとえば、-d を使用するとバックグラウンド マウントを実現できます。 META-URL: メタデータの保存を設定するために使用されます。つまり、データベースに関連する情報、通常はデータベースの URL またはファイル パスです。 MOUNTPOINT: ファイル システムのマウント ポイントを指定します。たとえば、次のコマンドは、myjfs ファイル システムを ~/jfs フォルダーにマウントします。

 juicefs マウント sqlite3://myjfs.db ~/jfs

以下のようなフィードバックが得られればマウント成功です! !

ファイルシステムを確認する

ファイルシステムがマウントされたら、juicefs bench コマンドを使用してファイルシステムの基本的なパフォーマンス テストと機能検証を実行し、JuiceFS ファイルシステムに正常にアクセスでき、パフォーマンスが期待どおりであることを確認できます。

 juicefsベンチ ~/jfs

juicefs bench コマンドを実行すると、指定された同時実行数 (デフォルトは 1) に従って、N 個の大きなファイル (デフォルトは 1) と N 個の小さなファイル (デフォルトは 100) を JuiceFS ファイル システムに書き込み、読み取り、単一操作の読み取りおよび書き込みスループットと待ち時間、およびメタデータ エンジンへのアクセスの待ち時間をカウントします。

検証が成功したら、ぜひあなたのスキルを披露し、より多くの遊び方を模索してください〜

プロジェクトアドレス: https://github.com/juicedata/juicefs.

参考文献

[1] HDFS API: https://juicefs.com/docs/zh/community/hadoop_java_sdk.

[2] S3 ゲートウェイ: https://juicefs.com/docs/en/community/s3_gateway。

[3] CSIドライバー: https://juicefs.com/docs/zh/community/how_to_use_on_kubernetes/.

[4]パフォーマンステスト結果: https://juicefs.com/docs/zh/community/benchmark/.

[5]詳細については、https://juicefs.com/docs/en/community/security/encryptをご覧ください。

<<:  マルチクラウド管理の課題を克服するにはどうすればよいでしょうか?

>>:  分散クラウドの自動化を拡張する際に考慮すべきこと

推薦する

Prometheus監視プラットフォームを導入する際には、6つの要素を考慮する必要がありますが、どれも無視することはできません。

企業がコンテナを導入する場合、コンテナの監視も優先されます。多くの企業がコンテナとマイクロサービスを...

2host-XEN PV VPS/サンノゼデータセンター/Gポート/無制限トラフィック

2009 年に設立された 2host は、現在 3,700 を超える顧客にホスティング サービスを提...

謝文:少し想像力が必要です。9. ビッグデータの時代について語る

2005年に業界でWEB2.0革命が推進されたとき、主に2種類の反応があったことを覚えています。一つ...

JVM の 3 色マーキングと読み取り/書き込みバリア

この記事は、Lao Zheng 氏が執筆した WeChat パブリックアカウント「運用と保守の開発ス...

クラウド コンピューティングの種類、サービス、使用法について知っておくべきすべてのことを網羅した決定版ガイド

クラウド コンピューティング、その種類、サービス、用途、そして組織にどのようなメリットをもたらすかに...

Azure Data Migration でデータをクラウドに移行する

[51CTO.com クイック翻訳] 企業がクラウドに移行してから10年以上経ちますが、大量のデータ...

パブリッククラウドインフラ支出が今年、非クラウドインフラ支出を上回る見込み

IDC は、クラウド インフラストラクチャのコンピューティングおよびストレージ システムへの支出が、...

iwebfusion: ハイエンド専用サーバーのセール価格をご覧ください。月額 189 ドル、4*e7-4870/512g メモリ/1Tssd...

最近、アメリカの老舗ホスティング会社 iwebfusion (2001 年に設立された H4Y Te...

5G時代の通信事業者のエッジコンピューティングのジレンマ

5G の継続的な発展により、5G は将来、あらゆる分野で広く利用されるようになるでしょう。新しい「5...

負け犬のウェブマスターのありふれた起業家の旅

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス私が最後にSong Ge...

Serverhub - 3.99 USD/1G メモリ/65G ハードディスク/1T トラフィック

Serverhub は、米国西海岸フェニックスにある有名なコンピュータセンターです。優れた立地と優れ...

キーワード選択戦略:人気のキーワードと人気のないキーワードと専門的なキーワードの関係

重要なヒント: ウェブサイトに適したキーワードを選択することは、検索エンジンからサイトが得るトラフィ...

トランセンド航空券予約ウェブサイトのユーザー役割需要分析

私がオンラインチケット予約について調査を行った理由は、実は最近受けた一連の筆記試験問題に端を発してい...

Zheye: ゴールデン 10 月、20% オフ プロモーション、VPS+サーバー: 日本\香港\シンガポール\米国

Zheye IO: 10 月のプロモーション、全アイテムが 20% オフ、更新時も同じ価格、VPS ...