FastDFS扩容操作

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 与 storaged
 service fdfs_trackerd start
 service 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.conf

FDFS_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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值