Fastdfs 部署与使用

Fastdfs 介绍

Fastdfs 是一款流行的分布式文件系统,具有文件自动同步,防止单点故障等特性,官网地址:https://github.com/happyfish100/fastdfs

部署

采用 Docker 部署,使用官网提供的 Docker 文件稍加修改,截止 2021-11-09 日,在 github 官网项目中可以看见两套部署方案,一套 local 和一套 network,local 就是将一些会提前用到的包下载到本地,防止国内访问 dockerhub 网络不好的情况,但是经过实际测试,这个方案会有问题,于是直接采用 network 方式:https://github.com/happyfish100/fastdfs/tree/master/docker/dockerfile_network

启动 tracker

使用命令 fdfs_trackerd /etc/fdfs/tracker.conf restart 启动 tracker

查看日志文件 cat /root/fastdfs/logs/trackerd.log 显示 [2021-11-09 04:24:55] INFO - FastDFS v6.07, base_path=/home/dfs, ... 表示启动成功

启动 storage

使用命令 fdfs_storaged /etc/fdfs/storage.conf restart 启动 storage

查看日志文件 cat /root/fastdfs/logs/storaged.log 显示 [2021-11-09 04:24:55] INFO - FastDFS v6.07, base_path=/home/dfs, ... 表示启动成功

服务启动后进入容器内部,输入命令 fdfs_monitor /etc/fdfs/storage.conf,可以查看 storage 是否已注册到 tracker

Nat 网络

大多数情况下 storage 是部署在内网当中,当其向 tracker 注册时,tracker 拿到的只是 storage 的内网 ip,此时需要使用双 ip 模式部署,参考 https://www.jianshu.com/p/b16922f71375#_Toc18054 中的 “Storage server服务器双IP设置”

实际分离部署

官网的 docker 配置是把 trackerstoragenginx 通过 Dockerfile 打包在一起,我将 trackerstorage、nginx 分离成了两个包,并且将配置文件也独立出来,按照我的习惯,使用 docker-compose 配合 volumes 映射配置文件进行部署。tracker 地址 fengrui358/fastdfs_trackerstorage 地址 fengrui358/fastdfs_storage。配置文件以 github 官网为基础修改,放在 conf 目录下。

tracker docker compose config:

fastdfs_tracker:
    image: 'fengrui358/fastdfs_tracker'
    container_name: fastdfs_tracker
    restart: always
    networks:
        - "fastdfs_network"
    ports:
        - "22122:22122" # tracker_server
    volumes:
        - ./conf:/etc/fdfs # 配置
        - ./data:/home/dfs # 数据

storage docker compose config:

fastdfs_storage:
    image: 'fengrui358/fastdfs_storage'
    container_name: fastdfs_storage
    restart: always
    networks:
        - "fastdfs_network"
    ports:
        - "23000:23000" # stoage_server
        - "8011:80" #nginx web
    volumes:
        - ./conf:/etc/fdfs # 配置
        - ./data:/home/dfs # 数据
        - ./conf:/usr/local/nginx/conf # nginx 配置

客户端测试

使用了一个 Dotnet 客户端进行测试,https://github.com/caozhiyuan/FastDFSNetCore

参考:

http://www.ityouknow.com/fastdfs/2017/10/10/cluster-building-fastdfs.html
https://www.jianshu.com/p/b16922f71375#_Toc18054

原文地址:https://frhello.com/fastdfs-部署与使用/

posted @ 2021-11-14 10:33  fengrui  阅读(409)  评论(0编辑  收藏  举报