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了)。
五、测试结论
- 部署步骤简洁,过程整体顺利,监控组件的部署稍有障碍(不太熟悉这两个监控组件的使用)。
- 集群部署报错时curveadm有输出错误码,wiki对错误码的解释很详细全面,帮助很大。