1、开始是一台 PC1—1 Storage 对应Group1。
2、如果硬盘快满了,可以增加一台机器PC2-1 Storage 对应Group2,新增文件会加到Group2。
3、如果需要冗余备份和负载均衡,可以增加PC1-2 Storage 对应Group1,增加PC2-2 Storage 对应Group2,系统自动进行同步,不需要人工干预。
4、如果Tracker压力过大,可以增加多台Tracker,组成TrackerGroup。
通过tracker配置,可以对group1和group2轮训的上传文件,或者手动指定上传组。
上传到group1的任何一台机器,都会同步到其他group1的机器。
一、增加group2
1、编译安装FastDFS(弄一个storage2.conf,用这个配置文件启动,不知道可以不)
2、仅作为storage server,修改配置文件storage.conf
group_name=group2
port=23001(因为测试机器少,group1和group2都在一台机器,所以修改下端口。group1和group2若在两台机器,此配置可以不修改!)
base_path=/fdfs2
store_path0=/fdfs2
tracker_server=192.168.20.160:22122
3、启动group2
[root@xxoo FastDFS2]# ls
bin conf include lib
[root@xxoo FastDFS2]# pwd
/usr/local/FastDFS2
到bin下
./fdfs_storaged ../conf/storage.conf[root@xxoo FastDFS2]# ps -ef|grep fdfs
root 26783 1 0 Jun06 ? 00:00:02 /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
root 31986 26950 0 10:11 pts/4 00:00:00 tail -f /fdfs2/logs/storaged.log
root 31993 1 0 10:12 ? 00:00:00 ./fdfs_storaged ../conf/storage.conf
root 32079 1 0 10:31 ? 00:00:00 /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
4、测试
1、脚本上传
[root@xxoo fdfs]# fdfs_upload_file /etc/fdfs/client.conf /tmp/f.png
group2/M00/00/00/wKgUoFGxSryATWJyAAA-xlb-210793.png
[root@xxoo fdfs]# fdfs_upload_file /etc/fdfs/client.conf /tmp/f.png
group1/M00/00/00/wKgUoFGxSr-Acze8AAA-xlb-210171.png
[root@xxoo fdfs]# fdfs_upload_file /etc/fdfs/client.conf /tmp/f.png
group2/M00/00/00/wKgUoFGxSsCAQOh3AAA-xlb-210767.png
[root@xxoo fdfs]# fdfs_upload_file /etc/fdfs/client.conf /tmp/f.png
group1/M00/00/00/wKgUoFGxSsCAZZ8KAAA-xlb-210022.png
[root@xxoo fdfs]# fdfs_upload_file /etc/fdfs/client.conf /tmp/f.png
group2/M00/00/00/wKgUoFGxSsGAUkAhAAA-xlb-210775.png
[root@xxoo fdfs]# fdfs_upload_file /etc/fdfs/client.conf /tmp/f.png
group1/M00/00/00/wKgUoFGxSsKABBb0AAA-xlb-210514.png
2、java上传
java可以指定上传到group1还是group2,指定groupName就可以了!
3、
为什么看着group1,group2是轮训方式呢?
因为我修改了tracker.conf
# 0: round robin 轮训
# 1: specify group 指定组
# 2: load balance, select the max free space group to upload file 选择最空闲组上传
store_lookup=0