fdfs 迁移到 阿里云 oss

2022-02-09 07:55

1. 通过阿里云提供的在线迁移方案,将文件写入txt,一行,同目录地址

2. 修改 服务器 的nginx配置,去掉访问fdfs目录的 server块

3. 修改 负载均衡, 停用 fdfs的 端口配置

4. 关闭服务器上的fdfs的应用,停止现有的tracker服务,storage服务。

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop

5. 观察生产情况,若是没有问题,准备删除外挂的云盘。

6. 查看 挂在的磁盘情况

df -h 

7. 取消挂载

umount /dev/vdc1

8. 运行以下命令查看数据盘分区的uuid信息。

blkid

9. 查询/etc/fstab中是否配置数据盘文件系统自动挂载信息。

cat /etc/fstab

10. 运行vim /etc/fstab 删除或注释掉数据盘分区文件系统相关的自动挂载信息。自动挂载信息前面添加#,表示注释掉自动挂载信息。

11. 去阿里云云盘实例列表中,删除挂在的磁盘

---

nginx因为安装了 ngx_http_fastdfs_module 模块会有error日志,甚至会导致启动不成功。

修改了 /etc/fdfs/mod_fastdfs.conf 文件

40c40
< tracker_server=edu-a-server01:22122
---
> #tracker_server=edu-a-server01:22122
58c58
< store_path_count=3
---
> store_path_count=1
64,65c64,65
< store_path1=/mnt/vdb1/fdfs
< store_path2=/mnt/vdc1/fdfs
---
> #store_path1=/mnt/vdb1/fdfs
> #store_path2=/mnt/vdc1/fdfs


最好的办法是重新编译nginx,去掉fastdfs模块。以上修改是避免nginx启动报错,导致其他业务代理业务异常

先备份一下现在nginx文件,cp nginx nginx.bak

查看nginx的编译信息 ./nginx -V , 删除 fdfs的module

nginx version: nginx/1.8.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --add-module=/opt/software/fastdfs-nginx-module-master/src --add-module=/opt/software/nginx_mod_h264_streaming-2.2.7 --add-module=/opt/software/nginx-rtmp-module-1.1.7 --with-http_flv_module --with-http_ssl_module --with-http_mp4_module --with-http_gzip_static_module --with-http_stub_status_module

进入nginx的源码目录,使用新参数config

./configure --prefix=/usr/local/nginx --add-module=/opt/software/nginx_mod_h264_streaming-2.2.7 --add-module=/opt/software/nginx-rtmp-module-1.1.7 --with-http_flv_module --with-http_ssl_module --with-http_mp4_module --with-http_gzip_static_module --with-http_stub_status_module

然后make,不要make install,据说会直接覆盖现在的nginx,要备份一下。

make结束后,在objs目录下会有nginx文件,可以进行-t测试。

然后移动到 原来nginx的位置,进行平滑升级, ./nginx -s reload