Curve Testing Camp Time|curvebs部署测试报告

curvebs 部署测试报告

一、问题列表

问题列表

风险项 issue 严重级别 备注
1 若没有在visudo设置部署用户NOPASSWD会报错
2 通过yum安装docker-compose,curve-monitor.sh中的docker-compose要替换成docker compose
3 运行curve-monitor.sh报错"open /prometheus/queries.active: permission denied"和"GF_PATHS_DATA=‘/var/lib/grafana’ is not writable.",需要再一次chmod
4 运行curve-monitor.sh报错"mount /etc/timezone:/etc/timezone (via /proc/self/fd/6), flags: 0x5001: not a directory",需要手动创建timezone文件
5 grafana页面异常,见功能测试2
6 不太明白curve_ops_tool的用法,比如创建卷等,希望有些例子。curve_ops_tool delete /test0报错104

二、环境信息

家境贫寒。。一台笔记本电脑(R5 4600U 16G内存),一块HDD移动硬盘。用virtualbox创建3个虚拟机,虚拟机系统盘和数据盘都在移动硬盘。只能测试基本的部署。

环境信息
CPU 2C
内存 3G
网卡 Intel 82540EM
操作系统 centos8
内核 4.18.0-193.28.1.el8_2.x86_64
用途 部署测试
curve版本 1.2
硬盘 每个虚拟机一个30G数据盘
集群规模 3台虚机
client配置信息 其中一台虚机

三、测试方法

功能测试

1)查看promethus

2)查看grafana

3)创建卷映射nbd设备

$ curveadm map curve:/test0 --host curve0 -c client.yaml --create --size 10GB

Check Kernel Module: [OK]  
  + host=curve0  module=nbd [1/1] [OK]  

Start NEBD Service: [OK]  
  + hostname=10.0.10.10  image=opencurvedocker/curvebs:v1.2 [1/1] [OK]  

Create Volume: [OK]  
  + hostname=10.0.10.10  image=opencurvedocker/curvebs:v1.2 [1/1] [OK]  

Map Volume: [OK]  
  + hostname=10.0.10.10  volume=curve:/test0 [1/1] [OK]  

Map curve:/test0 to curve0 nbd device success ^_^

4)创建文件系统,读写

# mkfs.ext4 /dev/nbd0
# mount /dev/nbd0 /mnt/data
# date > /mnt/data/d

5)查看快照

$ curl "http://10.0.10.12:5555/SnapshotCloneService?Action=GetFileSnapshotInfo&Version=0.0.6&User=curve&File=/test0&Limit=10"

{
	"Code" : "0",
	"Message" : "Exec success.",
	"RequestId" : "404baeeb-6d38-45dc-8834-ca76588e97cd",
	"Snapshots" : null,
	"TotalCount" : 0
}

6)创建快照。

$ curl "http://10.0.10.12:5555/SnapshotCloneService?Action=CreateSnapshot&Version=0.0.6&User=curve&File=/test0&Name=tests0"

{
	"Code" : "0",
	"Message" : "Exec success.",
	"RequestId" : "3a1750ac-38aa-4abc-9e5d-0c3b33ed38ac",
	"UUID" : "64811fcb-2414-4e2d-812d-316fde5a9b14"
}

由于环境性能原因,发出快照创建请求后虚机hang了一段时间,snapshotclone服务日志报错ReadSnapshot failed, error code 1008 Reached timeout..

7)取消卷映射

umount /mnt/data
$ curveadm unmap curve:/test0 --host curve0

Unmap Volume: [OK]  
  + hostname=10.0.10.10  volume=curve:/test0  containerId=52ba27f935e4 [1/1] [OK]

异常测试

异常测试点:

1)重启节点集群自动恢复
a. 快速休眠一台虚机,curve_ops_tool status显示cluster is not healthy
b. 1分钟后启动该虚机,启动后显示"unhealthy copysets …“,20s后显示"cluster is healthy”

性能测试

环境不支持(系统盘和数据盘共用移动硬盘,跑fio时虚机hang了)。

五、测试结论

  1. 部署步骤简洁,过程整体顺利,监控组件的部署稍有障碍(不太熟悉这两个监控组件的使用)。
  2. 集群部署报错时curveadm有输出错误码,wiki对错误码的解释很详细全面,帮助很大。
1 个赞

:+1:
:+1: