オープンソースのクラウドネイティブ分散ファイルシステム - 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をご覧ください。

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

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

推薦する

BurstNet - 20% オフ/VPS

Burst.net、20% オフの割引コード: WINTER20、12 月 31 日まで有効、スクラ...

VMWARE クラウドネイティブテクノロジースタックについての簡単な説明

1. Tanzuとはスワヒリ語で「tanzu」は成長する枝を意味します。日本語で「たんず」とは、モジ...

中国初のフルアクセスWAFが好評、Tencent Cloud WAFが再びガートナーに認められる

最近、Tencent Cloud WAF は、国際的に有名な調査機関である Gartner が発表し...

tmhhost: フィリピンサーバー、1456元/e3-1230v3/8gメモリ/1Tハードディスク/20M帯域幅

tmhhost はフィリピンで独立したサーバー サービスを提供しています。サーバーはフィリピンの P...

サーバー仮想化技術に関する深い知識

サーバー仮想化テクノロジーは、IBM メインフレーム仮想化 z/VM にまで遡ることができます。これ...

Oracle: GoldenGate をクラウドネイティブのフルマネージド サービスにする

[51CTO.com クイック翻訳] Oracleは4月21日、人気のリアルタイムデータ構造Gold...

手術にGPSを装備:北京協和医学院病院とテンセントが共同で国産手術ナビゲーションシステムをリリース

7月5日、北京協和医学院病院とテンセントAIラボは、完全に独立した知的財産権を持つポータブルなインテ...

clamhost-6.4 USD/1G RAM/KVM/80G HDD/1T トラフィック

Clamhost、関連する紹介は見つかりませんでした。Web サイトは比較的シンプルですが、製品は安...

リンク取引からの脱却についての簡単な議論

ご存知のとおり、検索エンジンはサイトが獲得したリンクの数と質を分析し、サイトを評価します。これは、最...

百度のフェニックスネスト買収で何が起こったかは、フェニックスネストの将来を物語るだろう

私は2009年に百度の入札に接して以来、ずっと百度の入札を観察してきました。詳細に研究したとは言えま...

ハイブリッド クラウドの 4 つのハイブリッド モードの特徴は何ですか?

ハイブリッドクラウドとは何ですか? [[434436]]ハイブリッド クラウドとは、パブリック クラ...

ウェブマスターはオンライン マーケティングの 7 つのステップを知っていますか?

インターネットが急速に発展する時代において、電子商取引のオンライン マーケティングは徐々に従来のマー...

servarica: 年間 12 ドル、カナダの VPS、ネイティブ IP、1G メモリ/1 コア/500g ハード ドライブ/2T トラフィック

Servarica は、500G ハード ドライブで年間 12 ドルという低価格の高構成のカナダ V...

ホスト評価YY:Linodeのアップグレードから熾烈な海外IDC市場を見る

2010 年以降、誰もが突然仮想ホストから VPS に移行したようです。移行が速すぎるように感じませ...

APPの迅速な運用とプロモーション、新しいメディアチャネルの運用を見逃さない

ほとんどのAPP運営者は運営する際に、迅速に新規ユーザーを獲得し、ダウンロード数を増やしたいと考えて...