通过给group的机器添加硬盘的方式,实现某个group的扩容。
fastdfs在一台服务器支持多个store_path,每个store_path指向一个存储路径。url “M00/3F/E1/oYYBAFXfyuOABOf5AAAHoDwhqE0491.txt”中M00表示使用store_path0,如果没有配置store_path,就使用base_path的路径。
添加了硬盘后,通过把新的store_path指向新硬盘的挂载点,再修改配置文件,就能实现group的扩容。
原来的fdfs的base_path路径为/data/fdfs_store现在假设添加了一个硬盘,挂载到/data1上,指定/data1/fdfs_store为store_path1
如果有fdfs相关的定时任务先关掉。
修改/etc/fdfs/storage.conf:
1 # path(disk or mount point) count, default value is 1 2 store_path_count=2 3 4 # store_path#, based 0, if store_path0 not exists, it's value is base_path 5 # the paths must be exist 6 store_path0=/data/fdfs_store 7 store_path1=/data1/fdfs_store
修改/etc/fdfs/mod_fastdfs.conf:
# path(disk or mount point) count, default value is 1 store_path_count=2 # store_path#, based 0, if store_path0 not exists, it's value is base_path # the paths must be exist store_path0=/data/fdfs_store store_path1=/data1/fdfs_store
在nginx的配置文件中添加新store_path的路径:
location ~* /M01 { root /data1/fdfs_store/data; ngx_fastdfs_module; }
重启服务:
killall fdfs_storaged killall fdfs_trackerd /usr/local/fastdfs-5.05/tracker/fdfs_trackerd /etc/fdfs/tracker.conf /usr/local/fastdfs-5.05/storage/fdfs_storaged /etc/fdfs/storage.conf
如果有问题,试着删除 fastdfs服务器data目录 下的数据。
完成后也要重启nginx,这样才能访问新的store_path的文件。
注意,有时候通过fdfs_monitor 发现store_path的配置不生效,这时,必须要删除tracker目录下的两个文件:storage_groups_new.dat,storage_servers_new.dat再重启服务。
cat storage_servers_new.dat