FastDFS扩容操作
- 3.FastDFS 扩容操作
- 3.1 迁移到全新的FastDFS
- 3.1.1 部署全新的FastDFS
- 3.1.2 Storage连接即将被迁移的Tracker
- 3.1.3 启动Storage节点
- 3.1.4 在老FastDFS服务器上查看同步进程
- 3.1.5 停止storage节点
- 3.1.6 Storage连接全新的的Tracker
- 3.1.7 修改.data_init_flag文件
- 3.1.8 启动所有进程
- 3.2 合并到已有的FastDFS(策划中)
- 3.3 清理磁盘,清除FastDFS所有文件(线上环境不推荐)
- 3.4 单机版FastDFS扩容
- 3.4.1 基于group存储空间扩容
- 3.4.2 添加多个storage
3.FastDFS 扩容操作
3.1 迁移到全新的FastDFS
3.1.1 部署全新的FastDFS
<!--参照单机版部署方案完成部署,切记不要启动任何节点-->
3.1.2 Storage连接即将被迁移的Tracker
#编辑storage配置,修改tracker_server连接即将被迁移的Tracker
vim /etc/fdfs/storage.conf
#修改成
tracker_server = old_tracker_ip:22122
3.1.3 启动Storage节点
service fdfs_storaged restart
3.1.4 在老FastDFS服务器上查看同步进程
fdfs_monitor /etc/fdfs/client.conf
找到新添加的storage节点,关注以下信息
Storage n:
id = x.x.x.x
ip_addr = x.x.x.x (anantes-651-1-49-net.w2-0.abo.wanadoo.fr) WAIT_SYNC/SYNCING/ACTIVE/OFFLINE
total_sync_in_bytes
success_sync_in_bytes
total_sync_out_bytes
success_sync_out_bytes
total_file_open_count
success_file_open_count
total_file_read_count
success_file_read_count
total_file_write_count
success_file_write_count
last_heart_beat_time
last_source_update
last_sync_update
last_synced_timestamp
当该节点显示为ACTIVE
时,表示同步成功。
3.1.5 停止storage节点
service fdfs_storaged stop
3.1.6 Storage连接全新的的Tracker
#编辑storage配置,修改tracker_server连接全新的Tracker
vim /etc/fdfs/storage.conf
#修改成
tracker_server = new_tracker_ip:22122
3.1.7 修改.data_init_flag文件
该文件所在位置为storage.conf文件中所配置的base_path路径后面的data路径下。如配置为/opt/fastdfs, 则文件所在位置为/opt/fastdfs/data/下
#将文件中sync_src_server配置项留空,其它配置项不变
sync_src_server=
3.1.8 启动所有进程
启动新的tracker服务器进程和storage服务器进程
#启动tracker
service fdfs_trackerd start
#启动storage
service fdfs_storaged start
查看Storage状态
fdfs_monitor /etc/fdfs/client.conf
关注以下参数
Storage n:
id = x.x.x.x
ip_addr = x.x.x.x (anantes-651-1-49-net.w2-0.abo.wanadoo.fr) WAIT_SYNC/SYNCING/ACTIVE/OFFLINE
total_sync_in_bytes
success_sync_in_bytes
total_sync_out_bytes
success_sync_out_bytes
total_file_open_count
success_file_open_count
total_file_read_count
success_file_read_count
total_file_write_count
success_file_write_count
last_heart_beat_time
last_source_update
last_sync_update
last_synced_timestamp
至此数据迁移完成,如需配置http服务,请参考 2.2.3部署HTTP服务
3.2 合并到已有的FastDFS(策划中)
3.3 清理磁盘,清除FastDFS所有文件(线上环境不推荐)
# 1.查看磁盘使用率
df -h# 2.停止trackerd 与 storaged
service fdfs_trackerd stop
service fdfs_storaged stop# 3.删除图片存储目录。rm -rf /opt/fastdfs/data/*(文件存储目录)# 4.启动trackerd 与 storagedservice fdfs_trackerd startservice fdfs_storaged start# 5.查看状态
fdfs_monitor /etc/fdfs/client.conf
3.4 单机版FastDFS扩容
当你发现新文件再也无法继续上传至FastDFS时,极大地可能性是FastDFS存储空间已经不够用了(可通过 `df -h` 命令进行查看)。此时你将需要加新的磁盘,也就是需要加存储目录。基于FastDFS文件服务器的特性,在做扩容时,可采取如下两种方案:
1.基于group扩容,配置多个存储文件目录地址。
2.基于存储节点扩容,新加服务器配置多个storage。
3.4.1 基于group存储空间扩容
此扩容方案是通过给`group`所在机器添加新硬盘的方式,实现该`group`的扩容。FastDFS在一台服务器支持多个`store_path`,每个`store_path`指向一个存储路径。如:`M00/00/06/wKgBe1xOehmATFFpAAAAAAAAAAA042.txt` 中`M00`表示使用`store_path0`。如果没有配置`store_path`,就使用`base_path`的路径。添加了硬盘后,通过把新的`store_path`指向新硬盘的挂载点,再修改配置文件,就能实现`group`的扩容。扩容后的地址如:`M01/00/04/wKgBe1xOehmATFFpAAAAAAAAAAA042.txt`中`M01`表示使用`store_path1`。`group`模式扩容主要步骤如下:
# 1.停止现有的tracker服务,storage服务。
service fdfs_trackerd stop
service fdfs_storaged stop
# 2.挂载新的磁盘(过程略)# 3.修改tracker.conf配置文件
vi /etc/fdfs/tracker.conf
#修改以下参数为2,上传时选择路径规则。(取值只有0和2。0:轮询(默认);2:负载均衡,选择可用空间最大的文件夹)
store_path=2# 4.修改storage.conf配置文件
vi /etc/fdfs/storage.conf
#将以下参数值改为2
store_path_count=2
#新增存储路径store_path1(必须存在的路径,需提前手动创建 mkdir -p /data/fastdfs)
store_path1=/data/fastdfs# 5.修改mod_fastdfs.conf配置文件
vi /etc/fdfs/mod_fastdfs.conf
#修改以下参数为2
store_path_count=2
#新增存储路径store_path1
store_path1=/data/fastdfs(同storage.conf 一致)# 6.启动tracker,storage服务
service fdfs_trackerd start
service fdfs_storaged start#7.查看状态
fdfs_monitor /etc/fdfs/client.conf# 8.修改nginx.conf配置文件并重载nginx
vi /usr/local/nginx/conf/nginx.conf
# 添加store_path1的路径
location ~/group[0-9]/M00 {alias /opt/fastdfs/data/;ngx_fastdfs_module;}
location ~/group[0-9]/M01 {alias /data/fastdfs/data/;ngx_fastdfs_module;}
# nginx加载配置文件
nginx -s reload# 9.测试上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload test.txt
3.4.2 添加多个storage
# 1.挂载新的磁盘(过程略)# 2.复制storage配置一份并重命名为storageX.conf
cp /etc/fdfs/storage.conf /etc/fdfs/storage1.conf# 3.修改storage1.conf配置
# 3.1修改组名
group_name=group2
# 3.2修改端口
port=23001
# 3.3修改日志文件目录
base_path=/data/fastdfs(必须存在的路径,需提前手动创建 mkdir -p /data/fastdfs)
# 3.4修改资源保存路径
store_path0=/data/fastdfs# 4.修改mod_fastdfs.conf配置
vi /etc/fdfs/mod_fastdfs.conf
# 4.1修改组名,多个用/区分开 可设置多组
group_name=group1/group2/...
# 4.2设置组个数
group_count = 2
# 4.3设置每一组信息
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs
[group2]
group_name=group2
storage_server_port=23001 #特别提醒:防火墙需要放行
store_path_count=1
store_path0=/data/fastdfs
[...] #以此类推# 5.修改mod_fastdfs.conf配置
vi /etc/fdfs/mod_fastdfs.conf
# 修改以下参数
url_have_group_name=true# 6.启动新的storage节点
service fdfs_storaged /etc/fdfs/storage1.conf# 7.fastdfs的状态查询
fdfs_monitor /etc/fdfs/client.confFDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器
FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到同步已有数据的源服务器
FDFS_STORAGE_STATUS:SYNCING :同步中
FDFS_STORAGE_STATUS:DELETED :已删除,该服务器从本组中摘除
FDFS_STORAGE_STATUS:OFFLINE :离线
FDFS_STORAGE_STATUS:ONLINE :在线,尚不能提供服务
FDFS_STORAGE_STATUS:ACTIVE :在线,可以提供服务# 8.修改nginx.conf配置文件并重载nginx
vi /usr/local/nginx/conf/nginx.conf
## 添加store_path1的路径
location ~/group[0-9]/M00 {alias /opt/fastdfs/data/;ngx_fastdfs_module;}
location ~/group[0-9]/M01 {alias /data/fastdfs/data/;ngx_fastdfs_module;}
# nginx加载配置文件
nginx -s reload# 9.测试上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload test.txt