2.7 KiB
2.7 KiB
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文件中 - 敏感配置文件(如
.envrc和seaweedfs_password.enc)已添加到.gitignore - 建议定期备份数据目录
故障排除
常见问题
-
服务启动失败
- 检查端口是否被占用
- 查看容器日志:
docker logs seaweedfs-master等
-
S3访问认证失败
- 确认访问密钥和密钥是否正确
- 检查
.envrc文件中的配置
-
数据丢失
- 确保定期备份数据目录
- 避免直接修改数据目录中的文件
维护指南
更新SeaweedFS版本
- 修改
.envrc中的SEAWEEDFS_VERSION值 - 重启服务:
./service restart
清理旧数据
警告: 清理数据前请确保已备份重要数据!
可以通过停止服务并清空数据目录来清理所有数据:
./service stop
rm -rf master_data/* volume_data/* filer_data/*
./service start