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

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

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

推薦する

マルチクラウド ネットワーキング ソフトウェアがクラウド プラットフォーム上のネットワークとアプリケーションを接続する際の課題を解決する方法

調査会社IDCのデータセンターおよびマルチクラウドネットワーキング担当副社長ブライアン・ケースモア氏...

virmach: 日本 AMD シリーズ VPS 先行販売、年間 8.89 ドル、384M メモリ/1 コア/10gNVMe/1T トラフィック

#virmach日本vps# virmachのAMDシリーズVPS-Japan東京データセンターが、...

ローカルウェブサイトの破壊者は誰でしょうか? 私は生まれたときからモバイルと PC の違いを知っている 95 年代以降の世代です。

ローカル Web サイト分野が現在、いくつかの非常に困難な問題に直面していることは否定できません。 ...

簡単な説明: フォーラムに外部リンクを投稿する方法

SEO 最適化に関しては、「コンテンツが王様、外部リンクが女王様」とよく言われます。ウェブサイトでは...

3年間のSEO最適化で、ウェブサイト最適化における外部リンク構築について深い理解が得られました。

周知のとおり、ウェブサイトのSEO最適化のプロセスにおける外部リンクの役割は明らかです。百度のスパー...

SEOを学ぶための5つのポイント

多くの新しいウェブマスターはインターネット環境に参加したばかりで、無料のトラフィック チャネルである...

inertianetworks-30USD/年/KVM/512MB RAM/15GB HDD/1TBトラフィック/ロサンゼルス

inertianetworks.com は 2009 年からホスティング サービスを提供していますが...

ウェブサイトのランキングについての簡単な議論は、ウェブサイトのスナップショットの新しさや古さとは関係ありません。

多くのウェブマスターは、スナップショットが翌日のものだと毎日自問していますが、ウェブサイトのランキン...

電子商取引のホリデー ショッピング シーズンの売上の簡単な詳細を共有できます

マーケティング キャンペーンや e コマース販売 Web サイトは、一夜にして実現できるものではあり...

Google はコンテンツの独創性の問題に対処していますか?

Google は最近大きな変更を行いましたが、その中でも特に議論する価値のある変更が 1 つあります...

効率的な運用とイノベーションの加速により、SAP は Yongtai Biopharmaceuticals が患者にデジタルケアを提供できるよう支援します。

[51CTO.com からのオリジナル記事] 健康は常に国民が最も懸念する問題の 1 つです。 Yo...

frontlineservers-2.5$/512MB RAM/25GB HDD/250GB Flow/ダラス

frontlineservers, LLC は、2017 年 2 月 23 日に米国ダラスで登録され...

SEOVIPの助けを借りてSEOの長所と短所について話しましょう

数日前、元旦の休みにA5で見た「百度アルゴリズム更新、SEOVIPランキングが消えた原因を推測」とい...