Go to file
2025-11-13 17:41:38 +08:00
.gitignore 初且实现一个以docker启动的seaweedfs对象存储服务 2025-11-13 17:41:38 +08:00
docker-compose.yml 初且实现一个以docker启动的seaweedfs对象存储服务 2025-11-13 17:41:38 +08:00
init 初且实现一个以docker启动的seaweedfs对象存储服务 2025-11-13 17:41:38 +08:00
README.md 初且实现一个以docker启动的seaweedfs对象存储服务 2025-11-13 17:41:38 +08:00
service 初且实现一个以docker启动的seaweedfs对象存储服务 2025-11-13 17:41:38 +08:00

SeaweedFS 文件存储服务

本目录包含基于 SeaweedFS 的分布式文件存储服务配置提供S3兼容接口用于文件的存储和管理。

服务组件

SeaweedFS 服务由以下组件组成:

  • Master Server: 负责管理卷服务器和文件分配
  • Volume Server: 负责实际存储数据
  • Filer: 提供文件系统接口
  • S3 Gateway: 提供S3兼容接口

快速开始

1. 初始化环境

首先执行初始化脚本,设置环境变量和创建必要的配置文件:

cd /Users/chenqiang/workspace/work/项目记录/202510铁岭县内网文件分发/demo/server/oss
./init

初始化过程中会提示设置以下参数:

  • S3服务端口默认25003
  • S3访问密钥
  • S3密钥会加密存储

2. 启动服务

使用提供的服务脚本启动SeaweedFS

./service start

3. 停止服务

./service stop

4. 查看服务状态

./service status

环境变量配置

初始化后,环境变量将保存在 .envrc 文件中。主要配置项包括:

  • SEAWEEDFS_VERSION: SeaweedFS 版本
  • S3_PORT: S3服务端口
  • S3_ACCESS_KEY: S3访问密钥
  • S3_SECRET_KEY: S3密钥加密存储
  • 各容器名称配置

数据存储

  • Master数据: ./master_data/
  • Volume数据: ./volume_data/
  • Filer数据: ./filer_data/

注意: 数据目录会被 .gitignore 忽略,不会提交到代码仓库。

S3客户端配置

使用S3兼容的客户端访问服务时需要配置以下参数

  • Endpoint: http://localhost:8333
  • Access Key: 初始化时设置的值
  • Secret Key: 初始化时设置的值
  • Region: 可以使用任意值,如 us-east-1

安全注意事项

  • S3密钥使用OpenSSL加密存储在 seaweedfs_password.enc 文件中
  • 敏感配置文件(如 .envrcseaweedfs_password.enc)已添加到 .gitignore
  • 建议定期备份数据目录

故障排除

常见问题

  1. 服务启动失败

    • 检查端口是否被占用
    • 查看容器日志:docker logs seaweedfs-master
  2. S3访问认证失败

    • 确认访问密钥和密钥是否正确
    • 检查 .envrc 文件中的配置
  3. 数据丢失

    • 确保定期备份数据目录
    • 避免直接修改数据目录中的文件

维护指南

更新SeaweedFS版本

  1. 修改 .envrc 中的 SEAWEEDFS_VERSION
  2. 重启服务:./service restart

清理旧数据

警告: 清理数据前请确保已备份重要数据!

可以通过停止服务并清空数据目录来清理所有数据:

./service stop
rm -rf master_data/* volume_data/* filer_data/*
./service start

许可证

MIT