Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CurveAdm v0.1.0 Roadmap #92

Open
28 tasks done
Wine93 opened this issue Apr 11, 2022 · 0 comments
Open
28 tasks done

CurveAdm v0.1.0 Roadmap #92

Wine93 opened this issue Apr 11, 2022 · 0 comments
Assignees
Labels

Comments

@Wine93
Copy link
Collaborator

Wine93 commented Apr 11, 2022

CurveAdm v0.1.0

特性

当前进度 属性(优先级) 描述
已发布 P0 支持一键升级服务
已发布 P0 支持一键扩缩容集群
已发布 P0 支持一键替换服务,考虑换盘等场景
已发布 P0 支持部署 PFS 服务
已发布 P0 支持插件编排部署
已发布 P0 CurveFS/CurveBS 客户端支持物理机部署 (适配各类 Linux 发行版)
已发布 P0 适配 Debain 10/11、Centos 7/8、Ubuntu 20 等 Linux 发行版,使 Curve 系统正常使用
已发布 P1 支持 SSH Agent,并增加 become_userbecome_method 等配置项来切换执行用户
已发布 P1 增加集群权限管理,防止用户误操作
P1 增加内建 fio 命令
已发布 P1 增加错误码特性
已发布 P1 CurveBS/CurveFS 支持远程部署客户端,并集中于 CurveAdm 管理
P1 支持部署服务监控 #73
已发布 P2 支持快速均衡 CurveBS 集群
已发布 P2 支持关闭 chunkfilepool 支持在单块磁盘上部署 3 个 chunkserver 服务
已发布 P2 增加 playground 命令用于用户体验
P2 增加 trace 特性(内部集成 perf、bpftrace、bcc 等),用于开发用户 debug

优化

当前进度 属性(优先级) 描述
已完成 P0 format.yaml 中的挂载点记录在 fstab 中,以防止机器重启后挂载点丢失(考虑用户换盘更新 fstab)
进行中 P0 增加对主机环境的检测(如磁盘调度策略),参考 check_chunkserver.yml
进行中 P1 support 命令增加对客户端日志的收集
已发布 P1 curveadm status 增加对主服务的区别显示,增加端口的显示 #106
P1 增加远程格式化 metaserver 磁盘和挂载
进行中 P1 部署前增加对 topology.yaml 这些配置文件的检查,包括一些必要信息的检查(如 s3 相关)以及端口冲突的检测等
P1 CurveAdm wiki 增加 FAQ (如 core_dir 如何设置、如何在虚拟机上部署集群)
进行中 P1 部署前增加一预检测(如端口是否冲突,BS 的磁盘是否已格式化等)
进行中 P1 增加更多上报信息(以及现有 BUG 修复)
P1 CurveFS 强制 remount 更方便
进行中 P1 增加 CurveFS mount 时对参数的检测,(如用户不能是 root、卷名必须以 / 开始、不能重复挂载相同的卷等)
进行中 P1 关于增加 usage_report 相关上报信息的优化
P1 增加集群拓扑模板自动生成命令
P1 FS mount 显示多阶段
P2 增加关键模块的单元测试
P2 增加 CI 继承测试,包括 CurveBS/CurveFS 的单机部署以及多机部署
P2 在 CurveAdm Wiki 中增加对 CentOS7 等低内核版本中的配置建议 #72
P2 为 curveadm 版本和 curve 版本添加兼容检查

问题修复

当前进度 属性(优先级) 描述
P1 修复 report_usage 上报解析出错,容量为 0 的情况
已完成 P2 修复在等待 MDS 选主成功时没有最大超时的问题 #89
P2 修复无法回收 CurveBS v1.3 中的 chunk 文件 #59
P2 修复 CurveAdm 执行命令无超时限制的问题

待定

  • format 更灵活,特别是各台机器磁盘列表不同时需要准备多个 format.yaml
  • 确保 map/unmap 命令能成功
  • 当用户没有本地 hostname 设置 IP 时,nebd-server 启动会失败
  • 部署前增加检测,比如防火墙
  • 上报区分集群未部署成功的情况
  • 内核版本 < 3.15 时主要关闭 chunkserver 的 rename_at 接口
  • CurveBS 部署时,用户经常因为 S3 服务填写错误而导致部署失败,增加对 s3 相关服务的检测,包括证书等
  • CurveAdm support 可以收集下集群当时的 status(curveadm status)以及集群健康状况 (curve_ops_tool status)
  • 拓扑文件的 replica 很容易造成用户误解,以为是数据副本的含义
  • 客户端时间比服务端快会导致创建卷失败
  • (bug) nebd 容器不随客户端配置的更新而更新,比如 MDS 地址
  • (bug) pulgin 解析不了私钥路径中的主目录符号 (~)
  • (bug) plugin 失败操作日志没记录到 audit
  • improve 将 PFS 支持到更多的发行版
  • audit 默认显示 100,或支持按时间查询(不然列表太长查看不方便)
  • 检测增加本地 hostname 的 ip,保证 ping $(hostname) 能正常运行
  • 检测增加服务端机器时间的校验
  • curveadm v0.22 升级到 v0.0.23-rc0,数据库不兼容
  • 获取 status 时,单个机器无法获取会导致获取 status 失败
  • v0.0.23 metaserver 无法设置 listen port (6900)
  • topology 文件需预检查,不符合的直接拒绝提交
  • bug: v0.0.25 的拓扑依旧有问题,特别在扩容和迁移的情况下~
  • playground 增加 tools 工具、适配用户开发
  • core_dir 无需用户设置 core_pattern,自动适配
  • 容器的 Hostname 携带 ID,以便区分
  • curveadm umount 默认也在容器内执行
  • format 输出提示信息,要求用户等待
  • 创建逻辑池得等待 chunkserver 心跳上报,否则会报 -12 错误
@opencurve opencurve deleted a comment from xu-chaojie Jul 6, 2022
@opencurve opencurve deleted a comment from nomiuo Jul 6, 2022
@Wine93 Wine93 changed the title Roadmap for CurveAdm v0.1.0 CurveAdm v0.1.0 Roadmap Jul 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants