fastdfs 全套依赖阿里云盘地址: 「fastdfsv5.08安装全套依赖」 https://www.aliyundrive.com/s/hDpZdKVFBuk 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

 

一、 fastdfs    tracker ,storrage  安装 

1 安装gcc
	yum install -y gcc gcc-c++

2 安装libevent
	yum -y install libevent
	
3 安装其他依赖
	yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget 
	
3 安装 libfastcommon
	备注:libfastcommon有很多版本,实测github的 libfastcommonmaster 可以用
	
	
	下载地址:https://codeload.github.com/xintyan/libfastcommon-master/zip/refs/heads/master
	
	解压对应的zip包: unzip libfastcommon-master-master.zip
	
	进入目录: cd libfastcommon-master-master
	
	然后修改 make.sh 数据权限:chmod 777	make.sh
	
	编译 ./make.sh
	
	安装 ./make.sh install
	
4 安装 fastdfs
	下载地址:https://udomain.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.08/FastDFS_v5.08.tar.gz  
	
	解压缩: tar -zxvf FastDFS_v5.08.tar.gz
	
	进入解压完成的目录:cd FastDFS/
	
	编译 ./make.sh
	
	安装 ./make.sh install
	
	如果安装成功,/etc/init.d/目录下会有两个f服务启动文件:ls /etc/init.d/ | grep fdfs
			fdfs_storaged
			fdfs_trackerd
			
	在/etc/fdfs/ 下面有默认配置文件三个配置文件的例子,我们去掉sample后缀后修改对应参数就能启动了。
		client.conf.sample
		storage.conf.sample
		tracker.conf.sample
	
5 启动 tracker 
	
	复制配置文件: cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
	
	修改配置文件:vi /etc/fdfs/tracker.conf
	
				base_path:监听狗存储数据日志的路径,也可以不改,建议修改 fdfs 默认tracker 和  strorger 存储地址一样
				bind_addr:允许范围的地址,默认都允许
				port:端口默认22122
	
	
	(开发测试机才建议这么干)可能需要关闭防火墙:systemctl stop firewalld ,觉得每次关闭麻烦的直接禁用防火墙 开机启动 systemctl disable firewalld
	
	
	启动 tracker 服务:systemctl start fdfs_trackerd
	查看 tracker 服务状态: systemctl status fdfs_trackerd
	
	有需要可以设置成开机启动:chkconfig fdfs_trackerd on
	如果想关闭: chkconfig fdfs_trackerd off
	
6 启动strorage
	复制配置文件:cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
	
	编辑配置文件:
			base_path:storage存储数据日志的路径
			store_path0:这个是存上传文件的路劲
			tracker_server:tracker的地址端口
			
			
	如果修改了新的文件目录需要手动新建: mkdir -p /你指定的路径
	
	
	启动 tracker 服务:systemctl start fdfs_storaged
	
	检查服务是否启动成功:ps -ef |grep fdfs
		root       1493      1  0 06:33 ?        00:00:04 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
		root       1529      1  0 06:35 ?        00:00:06 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.

 

二、  linux 客户端使用

    安装fdfs以后,在 /etc/fdfs/  下有三个例子配置文件,其中一个是客户端的配置文件

  

-rw-r--r--. 1 root root  1459 Mar 17 06:20 client.conf
-rw-r--r--. 1 root root  1461 Mar 17 03:30 client.conf.sample   这个就是client配置文件的例子
-rw-r--r--. 1 root root   858 Mar 17 05:51 http.conf
-rw-r--r--. 1 root root 31172 Mar 17 05:51 mime.types
-rw-r--r--. 1 root root  3690 Mar 17 05:50 mod_fastdfs.conf
-rw-r--r--. 1 root root  7932 Mar 17 04:27 storage.conf
-rw-r--r--. 1 root root  7927 Mar 17 03:30 storage.conf.sample
-rw-r--r--. 1 root root  7201 Mar 17 03:35 tracker.conf
-rw-r--r--. 1 root root  7200 Mar 17 03:30 tracker.conf.sample
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

  

  复制这个配置文件:  cp client.conf.sample client.conf

  

  然后修改:tracker_server=10.10.10.11:22122 和 base_path=/home/fastdfs/client(client存放日志的位置)  到指定位置

  查看有那么fdfs相关的程序命令: ls -l /usr/bin/ |grep fdfs

  

-rwxr-xr-x. 1 root root    315288 Mar 17 03:30 fdfs_appender_test
-rwxr-xr-x. 1 root root    315064 Mar 17 03:30 fdfs_appender_test1
-rwxr-xr-x. 1 root root    301920 Mar 17 03:30 fdfs_append_file
-rwxr-xr-x. 1 root root    301584 Mar 17 03:30 fdfs_crc32
-rwxr-xr-x. 1 root root    301984 Mar 17 03:30 fdfs_delete_file
-rwxr-xr-x. 1 root root    302712 Mar 17 03:30 fdfs_download_file
-rwxr-xr-x. 1 root root    302304 Mar 17 03:30 fdfs_file_info
-rwxr-xr-x. 1 root root    316112 Mar 17 03:30 fdfs_monitor
-rwxr-xr-x. 1 root root   1101712 Mar 17 03:30 fdfs_storaged
-rwxr-xr-x. 1 root root    325192 Mar 17 03:30 fdfs_test
-rwxr-xr-x. 1 root root    320312 Mar 17 03:30 fdfs_test1
-rwxr-xr-x. 1 root root    447752 Mar 17 03:30 fdfs_trackerd
-rwxr-xr-x. 1 root root    302912 Mar 17 03:30 fdfs_upload_appender
-rwxr-xr-x. 1 root root    303928 Mar 17 03:30 fdfs_upload_file
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

  

上传文件: fdfs_test 配置文件路径 upload  需要上传的文件路径   ,返回 上传后的文件地址

下载:fdfs_test 配置文件路径 download  组名   文件地址  【新文件名字】    (组名就是上传文件返回的第一段)

删除: fdfs_test 配置文件路径 delete 组名   文件地址

 

 

 

 

 

 

三、 Java api 的使用

  创建 fdfs_client.conf 文件:

  

connect_timeout = 2
network_timeout = 30
charset = UTF-8
http.tracker_http_port = 8080
http.anti_steal_token = no
http.secret_key = FastDFS1234567890
tracker_server = 10.10.10.11:22122
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

  

导入maven 依赖: commons-io  是方便文件处理,不是必须

  

<dependency>
		    <groupId>net.oschina.zcx7878</groupId>
		    <artifactId>fastdfs-client-java</artifactId>
		    <version>1.27.0.0</version>
		</dependency>
		
		<!-- commons-io -->
		<dependency>
		    <groupId>commons-io</groupId>
		    <artifactId>commons-io</artifactId>
		    <version>2.4</version>
		</dependency>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

  

上传和下载的例子:

  

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.csource.common.MyException;
import org.csource.common.NameValuePair;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient1;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;

public class Main {

	public static void main(String[] args) throws IOException, MyException {
		 String conf_filename = new Main().getClass().getClassLoader().getResource("fdfs_client.conf").getPath().replaceAll("%20"," ");
         ClientGlobal.init(conf_filename);
         

         //建立连接
         TrackerClient tracker = new TrackerClient();
         TrackerServer trackerServer = tracker.getConnection();
         StorageServer storageServer = tracker.getStoreStorage(trackerServer);
         StorageClient1 client = new StorageClient1(trackerServer, storageServer);

         
         byte[] fileData =  FileUtils.readFileToByteArray(new File( "C:\\Users\\ZHANGYUKUN\\Desktop\\QQ截图20220317164211.png" ));
         
         //上传文件
         //设置元信息
         NameValuePair[] metaList = new NameValuePair[3];
         metaList[0] = new NameValuePair("fileName", "");
         metaList[1] = new NameValuePair("fileExtName", "");
         metaList[2] = new NameValuePair("fileLength", String.valueOf( fileData.length ));

         String fileId = client.upload_file1(fileData, "png", metaList);
         System.out.println( fileId );
         

         //下载文件
         byte[] file =  client.download_file1(fileId);
         FileUtils.writeByteArrayToFile(new File("C:\\\\Users\\\\ZHANGYUKUN\\\\Desktop\\\\2.png"), file);

	}

}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.

  

 

 

 

 

 

 

四、 fastdfs nginx 直联

7 nginx 直连 fastDFS 设置

	1. 解压fastdfs nginx 插件: fastdfs-nginx-module_v1.16.tar.gz


	
	2. 修改配置文件把config里面所有的/usr/local替换成/usr(我也不知道为什么这样搞)
			cd fastdfs-nginx-module/src
			vi config



	
	3. 安装Nginx的依赖库: yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel


		
	
	4. 下载nginx解压,并且引用fastdfs插件,然后编译安装
		下载地址: http://nginx.org/download/nginx-1.20.2.tar.gz
	
		解压:tar -zxvf nginx-1.20.2.tar.gz

		进入解压的nginx目录:cd  nginx-1.20.2		

		设置nginx配置文件包含fastdfs 插件:./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=你的插件所以路径/fastdfs-nginx-module/src

		编译安装nginx:make && make install
			备注:安装的nginx 的默认位置是  /opt/nginx ,这里面与 配置和日志文件,如果 nginx 启动课访问不到 log 下面的日志里面有范围异常信息

		修改nginx配置文件:vi  /opt/nginx/conf/nginx.conf   修改图中
		
		    server {
				listen       80;
				server_name  image.smarthome.com;

				#指定格式的路径,交给FastDFS模块处理
				location ~/group([0-9])/ {
					ngx_fastdfs_module;
				}

				location / {
					root   html;
					index  index.html index.htm;
				}

				error_page   500 502 503 504  /50x.html;
				location = /50x.html {
					root   html;
				}
			}


    



     fastdfs nginx插件 默认使用的配置文件路径是/etc/fdfs/mod_fastdfs.conf,我们把插件config目录下得插件配置文件复制过去(插件解压后根目录INSTALL文件里面说的)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
5.复制插件配置文件到:
		cp mod_fastdfs.conf /etc/fdfs/
  • 1.
  • 2.
6. 编辑插件配置文件指向tracker: vi /etc/fdfs/mod_fastdfs.conf
			tracker_server=tracker_serverIP:端口
			url_have_group_name=true
			store_path0=文件存储位置
  • 1.
  • 2.
  • 3.
  • 4.
5,进入Fast DFS的conf目录,复制 FastDFS 的部分配置文件到/etc/fdfs 目录:
		
		cd FastDFS/conf/
		cp http.conf mime.types /etc/fdfs/
  • 1.
  • 2.
  • 3.
  • 4.
8.启动nginx :nginx




	9.浏览器访问:ip/group1/M00/00/00/CgoKCmIxpXOAN46wAAAAOtIRWms521.txt 就可以看到对应文件了
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

  

 

 

五、fdfs 原理

  

fastdfs 安装和使用_配置文件

 

 

 

 

 

 

 

六 fastdfs 集群搭建

  1 单个个tracker 多个 storage

    我们只要修改多个  storage 里面的group_name=不同的组名,然后连接同一个tracker,这样就可以了。(默认是按照磁盘容量切换 storage ,可以在  tracker  配置文件里面指定负载均衡策略)。

      group_name=group2

  2 多个tracker,多个storage

    1 保持storage 有不同的组名。

      group_name=group2

    2 分别吧他们都注册到 tracker 上。

      tracker_server=192.168.1.200:22122
      tracker_server=192.168.1.201:22122

 

    3 是可以使用  fdfs_monitor /etc/fdfs/storage.conf 查看连接情况

        

[2022-03-18 13:00:52] DEBUG - base_path=/home/fdfs/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=1

tracker server is 192.168.1.201:22122

group count: 2

Group 1:
group name = group1
disk total space = 48096 MB
disk free space = 48021 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
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 = 192.168.1.200
                ip_addr = 192.168.1.200 (192.168.1.200)  ACTIVE
                http domain =
                version = 5.08
                join time = 2022-03-18 10:49:47
                up time = 2022-03-18 10:56:13
                total storage = 48096 MB
                free storage = 48021 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 = 1
                total_upload_count = 9
                success_upload_count = 9
                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 = 9
                success_set_meta_count = 9
                total_delete_count = 0
                success_delete_count = 0
                total_download_count = 215
                success_download_count = 215
                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 = 7674912
                success_upload_bytes = 7674912
                total_append_bytes = 0
                success_append_bytes = 0
                total_modify_bytes = 0
                success_modify_bytes = 0
                stotal_download_bytes = 228356660
                success_download_bytes = 228356660
                total_sync_in_bytes = 0
                success_sync_in_bytes = 0
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 224
                success_file_open_count = 224
                total_file_read_count = 1075
                success_file_read_count = 1075
                total_file_write_count = 37
                success_file_write_count = 37
                last_heart_beat_time = 2022-03-18 13:00:50
                last_source_update = 2022-03-18 12:38:17
                last_sync_update = 1969-12-31 19:00:00
                last_synced_timestamp = 1969-12-31 19:00:00

Group 2:
group name = group2
disk total space = 48096 MB
disk free space = 48023 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
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 = 192.168.1.201
                ip_addr = 192.168.1.201 (192.168.1.201)  ACTIVE
                http domain =
                version = 5.08
                join time = 2022-03-18 10:52:13
                up time = 2022-03-18 10:58:11
                total storage = 48096 MB
                free storage = 48023 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 = 1
                total_upload_count = 6
                success_upload_count = 6
                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 = 6
                success_set_meta_count = 6
                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 = 5430642
                success_upload_bytes = 5430642
                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 = 0
                success_sync_in_bytes = 0
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 6
                success_file_open_count = 6
                total_file_read_count = 0
                success_file_read_count = 0
                total_file_write_count = 26
                success_file_write_count = 26
                last_heart_beat_time = 2022-03-18 13:00:50
                last_source_update = 2022-03-18 12:39:02
                last_sync_update = 1969-12-31 19:00:00
                last_synced_timestamp = 1969-12-31 19:00:00
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158.
  • 159.
  • 160.
  • 161.

  

 

 

tracker相互是独立的,没有通讯,他们分别保持着storage的信息(地址,状态,等信息),然后通过groupName 来确定数据放在那个storage。如果storageName 不同,那么他们负载均衡的保存数据,如果groupName相同他们就是互为备份节点。

    在storage 内部可以指定多个 store 路径(比如storage主机上有2 个硬盘,我们可以指定 store1=路径a ,store2=路径b ),实测效果是多个store轮流存储文件。有些文档写的是多个store之间是互为备份,这是错的。

  

     store_path_count=n

  store_path0=/home/fdfs/storage/store1

  store_path1=/home/fdfs/storage/store2

  .

  .

  .

  store_path(n-1)=/home/fdfs/storage/store(n)

 

 

 

  4 集群下得nginx 级联

    编辑插件配置文件:vi /etc/fdfs/mod_fastdfs.conf

      修改:store_path0=本地storage得存储地址

           url_have_group_name = true

         group_name=本地storage组名

         tracker_server=192.168.1.200:22122
         tracker_server=192.168.1.201:22122(如果有多个tracker得话写多行)

 

  这样就可以在任意storage主机上直连任意一个组的文件了( ngxin fdfs插件会通过组名给我们找到后端非法到对应住的 storage )。

             

        

   如果我们设置两个storage的 groupName=group2的stotrage,那么他们会互为备份,如果一个新的同名节点加入集群(或者暂时离线的节点后面又加入了进来),会复制 数据。

    

  一个文件存储到group2以后两个storage都会有相同的数据

  

fastdfs 安装和使用_nginx_02

 

 

  我们使用 fdfs_moniter /etc/fdfs/storage.conf 可以看到 group2 有2 个storage节点

  

[root@anonymous ~]# fdfs_monitor /etc/fdfs/storage.conf
[2022-03-20 05:47:38] DEBUG - base_path=/home/fdfs/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=1

tracker server is 192.168.1.201:22122

group count: 2

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

        Storage 1:    组1 的 storage(虽然这个 storage 有两个 store,但是这里不会表现出来 )
                id = 192.168.1.200
                ip_addr = 192.168.1.200 (192.168.1.200)  ACTIVE
                http domain =
                version = 5.08
                join time = 2022-03-18 10:49:47
                up time = 2022-03-20 05:28:46
                total storage = 96192 MB
                free storage = 95968 MB
                upload priority = 10
                store_path_count = 2
                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 = 1
                total_upload_count = 24
                success_upload_count = 24
                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 = 24
                success_set_meta_count = 24
                total_delete_count = 0
                success_delete_count = 0
                total_download_count = 215
                success_download_count = 215
                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 = 9475242
                success_upload_bytes = 9475242
                total_append_bytes = 0
                success_append_bytes = 0
                total_modify_bytes = 0
                success_modify_bytes = 0
                stotal_download_bytes = 228356660
                success_download_bytes = 228356660
                total_sync_in_bytes = 0
                success_sync_in_bytes = 0
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 239
                success_file_open_count = 239
                total_file_read_count = 1075
                success_file_read_count = 1075
                total_file_write_count = 52
                success_file_write_count = 52
                last_heart_beat_time = 2022-03-20 05:47:17
                last_source_update = 2022-03-20 05:38:28
                last_sync_update = 1969-12-31 19:00:00
                last_synced_timestamp = 1969-12-31 19:00:00

Group 2:
group name = group2
disk total space = 48096 MB
disk free space = 48023 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:   组2 的storage1
                id = 192.168.1.201
                ip_addr = 192.168.1.201 (192.168.1.201)  ACTIVE
                http domain =
                version = 5.08
                join time = 2022-03-18 10:52:13
                up time = 2022-03-20 05:28:51
                total storage = 48096 MB
                free storage = 48023 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 = 1
                connection.max_count = 2
                total_upload_count = 11
                success_upload_count = 11
                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 = 11
                success_set_meta_count = 11
                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 = 6030752
                success_upload_bytes = 6030752
                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 = 1184009
                success_sync_in_bytes = 120065
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 13
                success_file_open_count = 13
                total_file_read_count = 0
                success_file_read_count = 0
                total_file_write_count = 33
                success_file_write_count = 33
                last_heart_beat_time = 2022-03-20 05:47:23
                last_source_update = 2022-03-20 05:37:58
                last_sync_update = 2022-03-20 05:38:56
                last_synced_timestamp = 2022-03-20 05:38:46 (0s delay)
        Storage 2:   组2的storage2
                id = 192.168.1.202
                ip_addr = 192.168.1.202 (192.168.1.202)  ACTIVE
                http domain =
                version = 5.08
                join time = 2022-03-18 10:52:13
                up time = 2022-03-20 05:32:36
                total storage = 48096 MB
                free storage = 48023 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 = 1
                connection.max_count = 2
                total_upload_count = 11
                success_upload_count = 11
                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 = 11
                success_set_meta_count = 11
                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 = 6030752
                success_upload_bytes = 6030752
                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 = 1184009
                success_sync_in_bytes = 120065
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 13
                success_file_open_count = 13
                total_file_read_count = 0
                success_file_read_count = 0
                total_file_write_count = 33
                success_file_write_count = 33
                last_heart_beat_time = 2022-03-20 05:47:36
                last_source_update = 2022-03-20 05:38:46
                last_sync_update = 2022-03-20 05:38:01
                last_synced_timestamp = 2022-03-20 05:37:58 (0s delay)
[root@anonymous ~]#
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158.
  • 159.
  • 160.
  • 161.
  • 162.
  • 163.
  • 164.
  • 165.
  • 166.
  • 167.
  • 168.
  • 169.
  • 170.
  • 171.
  • 172.
  • 173.
  • 174.
  • 175.
  • 176.
  • 177.
  • 178.
  • 179.
  • 180.
  • 181.
  • 182.
  • 183.
  • 184.
  • 185.
  • 186.
  • 187.
  • 188.
  • 189.
  • 190.
  • 191.
  • 192.
  • 193.
  • 194.
  • 195.
  • 196.
  • 197.
  • 198.
  • 199.
  • 200.
  • 201.
  • 202.
  • 203.
  • 204.
  • 205.
  • 206.
  • 207.
  • 208.
  • 209.
  • 210.
  • 211.
  • 212.
  • 213.
  • 214.
  • 215.
  • 216.
  • 217.
  • 218.
  • 219.
  • 220.
  • 221.
  • 222.
  • 223.
  • 224.
  • 225.