FastDFS 高可用性クラスターの展開とインストール

1. 環境情報:

サーバ 導入サービス
16.32.15.200 トラッカー (作業のスケジュール設定)、ストレージ (ストレージ)、Nginx、Keepalived
16.32.15.201 トラッカー (作業のスケジュール設定)、ストレージ (ストレージ)、Nginx、Keepalived
16.32.15.202 上記2人のVIPアドレス

2. FastDFS を導入する

通常の展開FastDFSはここでは省略されています。「FastDFS 単一ノードの展開とインストール」を参照してください。

3. トラッカーノードの構成

主に以下の構成項目を確認し、2 つのサーバーの構成が一致していることを確認します。

cat /etc/fdfs/tracker.conf

# 是否启用配置文件,false表示生效
disabled=false     
# 提供服务端口号
port=22122   
# 存储数据和日志目录
base_path=/home/fastdfs/tracker
# 0:轮循 1:指定组 2:负载平衡
store_lookup=2 

トラッカー ノードを起動すると、2 つのサーバーが同期して動作します。

fdfs_trackerd /etc/fdfs/tracker.conf restart
netstat -anpt |grep 22122

4. ストレージノードの構成

主に以下の構成項目を確認し、2 つのサーバーの構成が一致していることを確認します。

cat /etc/fdfs/storage.conf

# 是否启用配置文件,false表示生效
disabled=false						
group_name=group1    				        
port=23000						
base_path=/home/fastdfs/storage	                      
store_path0=/home/fastdfs/storage

# 存储路径个数,需要和store_path个数匹配
store_path_count=1
# tracker节点IP+端口
tracker_server=16.32.15.200:22122
tracker_server=16.32.15.201:22122
# http端口号
http.server_port=8888				

ストレージ ノードを起動すると、2 つのサーバーが同期して動作します。

fdfs_storaged /etc/fdfs/storage.conf restart
netstat -anpt |grep 23000

5. クラスター情報の表示

fdfs_monitor /etc/fdfs/storage.conf

[2023-02-27 19:50:16] DEBUG - base_path=/home/fastdfs/storage, connect_timeout=30, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

server_count=2, server_index=0

tracker server is 16.32.15.200:22122

group count: 2

Group 1:
group name = group1
disk total space = 27626 MB
disk free space = 14349 MB
trunk free space = 0 MB
storage server count = 2
active server count = 2
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0

        Storage 1:
                id = 16.32.15.200
                ip_addr = 16.32.15.200 (fdfs.huayunworld.com)  ACTIVE
                http domain = 
                version = 5.05
                join time = 2023-02-27 17:55:49
                up time = 2023-02-27 19:49:53
                total storage = 27626 MB
                free storage = 14349 MB
                upload priority = 10
                store_path_count = 1
                subdir_count_per_path = 256
                storage_port = 23000
                storage_http_port = 8888
                current_write_path = 0
                source storage id = 16.32.15.201
                if_trunk_server = 0
                connection.alloc_count = 256
                connection.current_count = 0
                connection.max_count = 0
                total_upload_count = 2
                success_upload_count = 2
                total_append_count = 0
                success_append_count = 0
                total_modify_count = 0
                success_modify_count = 0
                total_truncate_count = 0
                success_truncate_count = 0
                total_set_meta_count = 0
                success_set_meta_count = 0
                total_delete_count = 0
                success_delete_count = 0
                total_download_count = 0
                success_download_count = 0
                total_get_meta_count = 0
                success_get_meta_count = 0
                total_create_link_count = 0
                success_create_link_count = 0
                total_delete_link_count = 0
                success_delete_link_count = 0
                total_upload_bytes = 233900
                success_upload_bytes = 233900
                total_append_bytes = 0
                success_append_bytes = 0
                total_modify_bytes = 0
                success_modify_bytes = 0
                stotal_download_bytes = 0
                success_download_bytes = 0
                total_sync_in_bytes = 9
                success_sync_in_bytes = 9
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 3
                success_file_open_count = 3
                total_file_read_count = 0
                success_file_read_count = 0
                total_file_write_count = 3
                success_file_write_count = 3
                last_heart_beat_time = 2023-02-27 19:49:53
                last_source_update = 2023-02-27 18:33:28
                last_sync_update = 2023-02-27 18:29:25
                last_synced_timestamp = 2023-02-27 18:29:17 (-1s delay)
        Storage 2:
                id = 16.32.15.201
                ip_addr = 16.32.15.201  ACTIVE
                http domain = 
                version = 5.05
                join time = 2023-02-27 17:55:48
                up time = 2023-02-27 19:49:49
                total storage = 27626 MB
                free storage = 22996 MB
                upload priority = 10
                store_path_count = 1
                subdir_count_per_path = 256
                storage_port = 23000
                storage_http_port = 8888
                current_write_path = 0
                source storage id = 
                if_trunk_server = 0
                connection.alloc_count = 256
                connection.current_count = 0
                connection.max_count = 0
                total_upload_count = 1
                success_upload_count = 1
                total_append_count = 0
                success_append_count = 0
                total_modify_count = 0
                success_modify_count = 0
                total_truncate_count = 0
                success_truncate_count = 0
                total_set_meta_count = 0
                success_set_meta_count = 0
                total_delete_count = 0
                success_delete_count = 0
                total_download_count = 0
                success_download_count = 0
                total_get_meta_count = 0
                success_get_meta_count = 0
                total_create_link_count = 0
                success_create_link_count = 0
                total_delete_link_count = 0
                success_delete_link_count = 0
                total_upload_bytes = 9
                success_upload_bytes = 9
                total_append_bytes = 0
                success_append_bytes = 0
                total_modify_bytes = 0
                success_modify_bytes = 0
                stotal_download_bytes = 0
                success_download_bytes = 0
                total_sync_in_bytes = 233900
                success_sync_in_bytes = 233900
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 3
                success_file_open_count = 3
                total_file_read_count = 0
                success_file_read_count = 0
                total_file_write_count = 3
                success_file_write_count = 3
                last_heart_beat_time = 2023-02-27 19:49:52
                last_source_update = 2023-02-27 18:29:16
                last_sync_update = 2023-02-27 18:33:33
                last_synced_timestamp = 2023-02-27 18:33:29 (-1s delay)

Group 2:
... .... ...

6. nginx モジュール構成、2 つのサーバーの構成は一貫しています

cat /etc/fdfs/mod_fastdfs.conf 

base_path=/home/fastdfs/storage
store_path0=/home/fastdfs/storage
tracker_server=16.32.15.200:22122
tracker_server=16.32.15.201:22122
storage_server_port=23000

7. ファイルをアップロードして、2 つのノードが同期されているかどうかを確認します

cat /etc/fdfs/client.conf

base_path=/home/fastdfs/storage
tracker_server=16.32.15.200:22122
tracker_server=16.32.15.201:22122
fdfs_upload_file /etc/fdfs/mod_fastdfs.conf [上传文件名]

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-jB0Mvty3-1686547124370) (D:\MD Archives\IMG\image-20230227115824232.png) )]

9. 2 台のサーバーで nginx サービスをインストールし、キープアライブ仮想アドレスを構成します

省略... ... 最終的な実装は次のとおりです。

  • 16.32.15.200 Nginx マスター
  • 16.32.15.201 Nginx バックアップ
  • 16.32.15.202 キープアライブ仮想アドレス

10. FastDFS 高可用性の検証

画像ファイルをアップロードする

fdfs_upload_file /etc/fdfs/mod_fastdfs.conf /root/jg.png

[外部リンク画像の転送に失敗しました。ソース サイトには盗難防止リンク メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-M7YZVNSC-1686547124371) (D:\MD Archives\IMG\image-20230227121817978. png)]

ブラウザアクセス画像: http://IP:Port/group1/M00/00/00/ECAPyGP8n2aAfcY6AAONqU5ReXo078.png

[外部リンク画像の転送に失敗しました。ソース サイトには盗難防止リンク メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-Swoc04Ke-1686547124371) (D:\MD Archives\IMG\image-20230227122142304)。 png)]

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-ALfG6IWj-1686547124372) (D:\MD Archives\IMG\image-20230227122244446.png) )]

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-tNqsfYhB-1686547124372) (D:\MD Archives\IMG\image-20230227122341433.png) )]

この時点で、アクティブ/スタンバイ切り替えを実行し、仮想IPアドレスをスタンバイマシンに切り替えてからアクセスします。

[外部リンク画像の転送に失敗しました。ソース サイトには盗難防止リンク メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-zQAKiLmj-1686547124372) (D:\MD Archives\IMG\image-20230227122633374)。 png)]

おすすめ

転載: blog.csdn.net/weixin_45310323/article/details/131166695