fastdfs は、オープンソースの分散ファイル システムです。その機能には、ファイル ストレージ、ファイル同期、ファイル アクセスなどが含まれ、大容量ストレージと負荷分散の問題を解決します。docker は、オープン ソースのアプリケーション コンテナ エンジンです。アプリケーションおよび依存関係パッケージをポータブル イメージにパッケージ化できます。
このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
FastDFS は、C 言語で書かれたオープンソースの分散ファイル システムです。 FastDFSは、バックアップの冗長化、ロードバランシング、線形拡張などの仕組みを十分に考慮し、高可用性、高性能などを重視したインターネット向けのソフトウェアであり、高パフォーマンスのファイルサーバークラスタを簡単に構築できます。ファイルのアップロードとダウンロードを提供します。サービスを待っています。
FastDFS アーキテクチャには、トラッカー サーバーとストレージ サーバーが含まれます。クライアントは Tracker サーバーにファイルのアップロードとダウンロードを要求し、Storage サーバーは Tracker サーバーのスケジュールに従ってファイルのアップロードとダウンロードを最終的に完了します。
トラッカー サーバーの役割は負荷分散とスケジューリングです。ファイルをアップロードするときに、トラッカー サーバーを通じて、いくつかのポリシーに従ってストレージ サーバーを見つけて、ファイル アップロード サービスを提供できます。トラッカーは、追跡サーバーまたはスケジューリング サーバーと呼ばれることがあります。
ストレージ サーバーはファイル ストレージに使用されます。クライアントによってアップロードされたファイルは、最終的にストレージ サーバーに保存されます。ストレージ サーバーは独自のファイル システムを実装せず、オペレーティング システムのファイル システムを使用してファイルを管理します。ストレージはストレージサーバーと呼ぶことができます。
サーバー側の 2 つの役割:
トラッカー: クラスターを管理し、トラッカーはクラスターを実装することもできます。各トラッカー ノードは同等のステータスを持ちます。 Storageクラスタのステータスを収集します。
ストレージ: 実際にファイルを保存する場合、ストレージは複数のグループに分かれており、各グループ間で保存されるファイルは異なります。各グループには複数のメンバーを含めることができます。グループ メンバー内に保存されているコンテンツは同じです。グループ メンバーのステータスは同じです。マスターとスレーブの概念はありません。
アップロード ファイル プロセス
クライアントがファイルをアップロードした後、ストレージ サーバーはファイル ID を返します。このファイル ID は、後でファイルのインデックス情報にアクセスするために使用されます。ファイル インデックス情報には、グループ名、仮想ディスク パス、2 レベルのデータ ディレクトリ、およびファイル名が含まれます。
ファイル名
group1/M00/00/00/wKi9hVz-GUKABj4gAAOTipWhnKM434.jpg
グループ名: ファイルがアップロードされるストレージ グループの名前。ファイルは正常にアップロードされました ストレージサーバーがファイルを返した場合、クライアントはそれを自分で保存する必要があります。
仮想ディスク パス: ストレージによって構成された仮想パス。ディスク オプション store_path* に対応します。 store_path0 が設定されている場合は M00、store_path1 が設定されている場合は M01 になります。
データ 2 レベル ディレクトリ: ストレージ サーバーによって各仮想ディスク パスの下に作成される 2 レベル ディレクトリは、データ ファイルの保存に使用されます。
ファイル名: ファイルアップロード時とは異なります。ファイル名は、ソース ストレージ サーバーの IP アドレス、ファイル作成タイムスタンプ、ファイル サイズ、乱数、ファイル拡張子、その他の情報を含む特定の情報に基づいてストレージ サーバーによって生成されます。
シンプルな FastDFS
4.1イメージを取得します
既存の FastDFS Docker イメージを使用して FastDFS を実行できます。
イメージはダウンロードして入手できます
docker image pull delron/fastdfs
既存のイメージ バックアップ ファイルを直接使用することもできます
docker load -i 文件路径/fastdfs_docker.tar
イメージをロードした後、トラッカーとストレージの実行を開始できます高速DFS。
4.2. トラッカーの実行
次のコマンドを実行してトラッカー サービスを開始します
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
fastDFS トラッカーの実行ディレクトリをローカルの /var にマップします/fdfs /tracker ディレクトリ。
次のコマンドを実行して、トラッカーが実行されているかどうかを確認します。
docker container ls
トラッカー サービスを停止する場合は、次のコマンドを実行します。
docker container stop tracker
停止後、 -トラッカーを実行すると、次のコマンドを実行できます
docker container start tracker
4.3. storage の実行
次のコマンドを実行してストレージ サービスを開始します
docker run -dti --network=host --name storage -e TRACKER_SERVER=10.211.55.5:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
TRACKER_SERVER=このマシンの IP アドレス: 22122、このマシンの IP アドレスは必要ありません。127.0.0.1 を使用します。
fastDFS ストレージ実行ディレクトリをローカルの /var/fdfs/storage ディレクトリにマップします。
次のコマンドを実行して、ストレージが実行されているかどうかを確認します。docker container lsストレージ サービスを停止する場合は、次のコマンドを実行できます。
docker container stop storage停止後、ストレージを再実行しますで、次のコマンド
docker container start storageを実行できます。 注: 再実行できない場合は、/data ディレクトリ内の /var/fdfs/storage fdfs_storagged.pid ファイルを削除してから、storage を再度実行できます。 推奨される学習: 「
docker ビデオ チュートリアル 」
以上がfastdfs と docker とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。