下载地址
功能列表
磁盘管理:
- 获取磁盘列表
- 查看磁盘详细信息(型号、序列号、大小、SMART信息、NVMe信息)
- 监控磁盘性能指标(IOPS、吞吐量、延迟)
- 控制磁盘休眠状态
存储池管理:
- 获取存储池列表
- 查看存储池信息
- 基于可用磁盘创建不同 RAID 等级的存储池(RAID0/1/5/6)
- 创建存储池
- 修改存储池名称和描述
- 删除存储池
- 扩容存储池(添加磁盘)
- 缩容存储池(移除磁盘)
卷管理:
- 获取卷列表
- 查看卷详细信息
- 在存储池上创建LVM卷
- 使用本地路径创建绑定挂载卷
- 修改卷名称、挂载选项
- 删除卷
- 共享卷给用户
- 取消卷共享
用户管理:
- 获取用户列表
- 查看用户详细信息
- 创建Linux用户(自动配置Samba服务)
- 修改用户信息(密码、昵称、Samba设置)
- 删除用户
- 管理用户家目录
公共目录管理:
- 获取公共目录列表
- 查看公共目录详细信息
- 在卷上创建公共目录
- 删除公共目录
- 共享公共目录给多个用户
- 设置公共目录读写权限
- 取消公共目录共享
系统要求
- 操作系统:Ubuntu 20.04 LTS 或更高版本
- 架构:x86_64 或 aarch64
安装步骤
1. 下载并解压安装包
# 根据机器架构下载对应安装包,以 x86_64 机型为例
wget http://files.ictrek.internal/component/ictrekstor/builds/latest/ictrekstor-nas-x86_64.tar.gz
# 解压产品包
tar -xzf ictrekstor-nas-x86_64.tar.gz
cd ictrekstor-nas-x86_642. 安装依赖
# 安装必需的依赖包
sudo apt update
sudo apt install -y samba jq sqlite3 nginx smartmontools nvme-cli hdparm3. 执行安装
# 以root权限执行安装脚本
sudo ./install.sh --install安装过程会:
- 检查依赖是否已安装
- 删除nginx默认配置(避免启动失败)
- 拷贝二进制文件到
/usr/local/bin/ictrekstor-nas - 创建数据库目录
/var/lib/ictrekstor-nas - 创建配置文件
/etc/ictrekstor-nas.yaml - 创建systemd服务文件
- 启动并启用ictrekstor-nas服务
- 创建nginx反向代理配置(监听端口18088)
- 重启nginx服务
3. 验证安装
# 检查服务状态
systemctl status ictrekstor-nas
# 检查健康状态
curl http://localhost:18088/api/ictrekstor/nas/health
# 查看磁盘列表
curl -X POST http://localhost:18088/api/ictrekstor/nas/disks/list配置说明
默认配置
安装后默认配置文件位于 /etc/ictrekstor-nas.yaml:
port: 18099
database: sqlite:///var/lib/ictrekstor-nas/sqlite.db?mode=rwc环境变量配置
服务支持通过环境变量进行配置,优先级高于配置文件(若无特殊要求,建议不要更改):
| 环境变量 | 说明 | 默认值 |
|---|---|---|
ICTREKSTOR_NAS_LOCAL_PREFIX | 本地数据前缀路径 | /data |
ICTREKSTOR_NAS_SHARE_DIR | 共享目录挂载点 | /share |
ICTREKSTOR_NAS_PORT | 服务监听端口 | 18099 |
ICTREKSTOR_NAS_LOG_LEVEL | 日志级别 | info |
使用方法
API 文档见:http://gitlab.ictrek.internal/ictrek/ictrekstor/-/blob/master/docs/api/ictrekstor-nas.md
API 访问
所有API通过nginx反向代理访问,基础URL为:http://<server>:18088/api/ictrekstor/nas/
响应格式
所有API响应遵循统一格式:
{
"code": 0,
"code_name": "OK",
"msg": null,
"data": {
// 实际数据
}
}错误处理
- 成功时:
code为 0,code_name为 "OK" - 失败时:
code不为 0,错误信息在msg字段中 常见错误类别:
ictrekstor::- 业务错误system::- 系统错误(Linux errno)
主要功能操作
1. 磁盘管理
- 获取磁盘列表:
POST /disks/list - 获取磁盘性能指标:
POST /disks/metrics - 强制磁盘休眠:
POST /disks/spindown/set
2. 存储池管理
- 获取存储池列表:
POST /pools/list - 创建存储池:
POST /pools/create - 修改存储池:
POST /pools/update - 扩容存储池:
POST /pools/expand - 缩容存储池:
POST /pools/shrink - 删除存储池:
POST /pools/delete
3. 卷管理
- 获取卷列表:
POST /volumes/list - 创建卷:
POST /volumes/create - 修改卷:
POST /volumes/update - 删除卷:
POST /volumes/delete - 共享卷给用户:
POST /volumes/share - 取消卷共享:
POST /volumes/unshare
4. 用户管理
- 获取用户列表:
POST /users/list - 创建用户:
POST /users/create - 修改用户:
POST /users/update - 删除用户:
POST /users/delete
5. 公共目录管理
- 获取公共目录列表:
POST /public_directories/list - 创建公共目录:
POST /public_directories/create - 删除公共目录:
POST /public_directories/delete - 共享公共目录:
POST /public_directories/share - 取消公共目录共享:
POST /public_directories/unshare
卸载步骤
1. 正常卸载(保留数据)
# 执行卸载(删除用户、清理挂载点、停止RAID但不清除数据)
sudo ./install.sh --uninstall --yes-i-am-sure2. 深度清理(清除所有数据,在下一次安装 install 后执行)
# 执行深度清理(清除RAID元数据、删除LVM资源)
sudo ./install.sh --cleanup --yes-i-am-sure