Skip to content
moutaguelhz edited this page Aug 26, 2023 · 2 revisions

210000

类别: 命令行选项服务选项

描述: 未找到 ID 对应的服务

如何解决: 服务 ID 可通过 curveadm status 命令来查看,该命令显示的第一列即为服务 ID:

$ curveadm status
Get Service Status: [OK]

cluster name      : my-cluster
cluster kind      : curvefs
cluster mds addr  : 10.0.1.1:6700,10.0.1.2:6700,10.0.1.3:6700
cluster mds leader: 10.0.1.1:6700 / 505da008b59c

Id            Role        Host          Replicas  Container Id  Status
--            ----        ----          -------   ------------  ------
c9570c0d0252  etcd        server-host1  1/1       ced84717bf4b  Up 45 hours
493b7831907c  etcd        server-host2  1/1       907f8b84f527  Up 45 hours
8438cc5ecb52  etcd        server-host3  1/1       44eca4798424  Up 45 hours
505da008b59c  mds         server-host1  1/1       37c05bbb39af  Up 45 hours
e7bfb934182b  mds         server-host2  1/1       044b56281928  Up 45 hours
1b322781339c  mds         server-host3  1/1       b00481b9872d  Up 45 hours
2912bbdbcb48  metaserver  server-host1  1/1       8b7a14b872ff  Up 45 hours
b862ef6720ed  metaserver  server-host2  1/1       8e2a4b9e16b4  Up 45 hours
ed4533e903d9  metaserver  server-host3  1/1       a35c30e3143d  Up 45 hours

210001

类别: 命令行选项服务选项

描述: 不支持的 CurveBS 服务角色

如何解决: CurveBS 目前支持的服务角色仅为以下 4 个:etcdmdsmetaserversnapshotclone。 请确保在需要输入服务角色的命令选项中填写上述服务角色中的一个,用户也可以使用 help 命令来查看相应命令的帮助提示信息。

210002

类别: 命令行选项服务选项

描述: 不支持的 CurveFS 服务角色

如何解决: CurveFS 目前支持的服务角色为以下 3 个:etcdmdsmetaserver。 请确保在需要输入服务角色的命令选项中填写上述服务角色中的一个,用户也可以使用 help 命令来查看相应命令的帮助提示信息。

210003

类别: 命令行选项服务选项

描述: 不支持跳过的服务角色

如何解决: 目前支持跳过的服务(即不部署该服务)仅为快照克隆服务,因为其他服务都为必须服务。当用户不需要使用快照克隆服务时,在部署时可添加该选项来跳过对其的部署:

示例:

$ curveadm deploy --skip snapshotclone

210004

类别: 命令行选项服务选项

描述: 不支持跳过的预检项

如何解决: 目前支持的预检项为以下 7 个,用户可选择相应的预检项跳过:

检查项 跳过选项 说明
拓扑 topology 检查集群拓扑的合法性
SSH ssh 检查 SSH 的连通性
权限 permission 检查当前用户执行 docker、创建目录等权限
内核 kernel 检查内核版本、内核模块是否满足要求
网络 network 检查网络连通性、防火墙等
时间 date 检查主机之间的时间差是否过大
服务 service 检查服务数量、chunkfile pool、S3 配置有效性等

详见部署预检

示例:

$ curveadm precheck --skip topology

210005

类别: 命令行选项服务选项

描述: 不支持的清理对象

如何解决: 目前支持的清理对象为以下 3 个:

清理对象 说明
log 日志目录
data 数据目录
container 容器

详见清理集群

示例:

$ cuvreadm clean --only log,data

210006

类别: 命令行选项服务选项

描述: 没有匹配的服务

如何解决: 在用户指定服务 ID、服务主机、服务角色等限定条件后,CurveAdm 未找到任何一个匹配的服务。用户可通过 curveadm status 命令来查看各服务的属性,并指定正确的限制属性:

$ curveadm status
Get Service Status: [OK]

cluster name      : my-cluster
cluster kind      : curvefs
cluster mds addr  : 10.0.1.1:6700,10.0.1.2:6700,10.0.1.3:6700
cluster mds leader: 10.0.1.1:6700 / 505da008b59c

Id            Role        Host          Replicas  Container Id  Status
--            ----        ----          -------   ------------  ------
c9570c0d0252  etcd        server-host1  1/1       ced84717bf4b  Up 45 hours
493b7831907c  etcd        server-host2  1/1       907f8b84f527  Up 45 hours
8438cc5ecb52  etcd        server-host3  1/1       44eca4798424  Up 45 hours
505da008b59c  mds         server-host1  1/1       37c05bbb39af  Up 45 hours
e7bfb934182b  mds         server-host2  1/1       044b56281928  Up 45 hours
1b322781339c  mds         server-host3  1/1       b00481b9872d  Up 45 hours
2912bbdbcb48  metaserver  server-host1  1/1       8b7a14b872ff  Up 45 hours
b862ef6720ed  metaserver  server-host2  1/1       8e2a4b9e16b4  Up 45 hours
ed4533e903d9  metaserver  server-host3  1/1       a35c30e3143d  Up 45 hours

错误示例:

$ curveadm stop --id c9570c0d0252 --role mds

用户在 stop 服务时指定了服务的 ID 为 c9570c0d0252,同时又指定了服务的角色为 mds,而我们从以上集群状态显示来看,ID 为 c9570c0d0252 服务对应的角色为 etcd,所以 CurveAdm 无法找到同时满足以上 2 个条件的服务,遂报告了该错误码。

220000

类别: 命令行选项客户端通用选项

描述: 不支持的客户端类型

如何解决: 目前支持的客户端类型为以下 2 个:curvebscurvefs

221000

类别: 命令行选项CurveBS 客户端选项

描述: 无效的卷格式

如何解决: 一个有效的卷由卷所属用户和卷名两部分组成,并以 : 作为间隔符分隔开, 详见映射 CurveBS 卷

示例:

$ curveadm map user:/volume --host client-host --create  # 正确,卷为 user:/volume
$ curveadm map user: --host client-host --create         # 错误,缺少卷名
$ curveadm map :/volume --host client-host --create      # 错误,缺少卷所属用户

221001

类别: 命令行选项CurveBS 客户端选项

描述: root 不能作为卷的所属用户

如何解决: root 用户作为特殊用户已被 CurveBS 使用,所以用户在挂载卷的时候不能以 root 用户作为卷的所属用户。用户可指定任意用户作为卷的所属用户,特别需要注意的是,该用户不需要在当前主机上真实存在,卷的所属用户是 CurveBS 的一个逻辑概念,表明该卷由谁创建,详见映射 CurveBS 卷

示例:

$ curveadm map root:/volume --host client-host --create   # 错误,root 不能作为卷的所属用户
$ curveadm map curve:/volume --host client-host --create  # 正确
$ curveadm map test:/volume --host client-host --create   # 正确

221002

类别: 命令行选项CurveBS 客户端选项

描述: 卷名必须以 / 为起始

如何解决: 目前 CurveBS 的卷名必须以 / 为起始,如 /test/volume,详见映射 CurveBS 卷

示例:

$ curveadm map curve:/volume --host client-host --create  # 正确,/volume 可以作为卷名
$ curveadm map curve:volume --host client-host --create   # 错误,volume 不能作为卷名

221003

类别: 命令行选项CurveBS 客户端选项

描述: 卷大小必须以 GiB 为结尾

如何解决: 目前 CurveBS 的卷大小必须以 GB 为结尾,如 10GiB1024GiB,详见映射 CurveBS 卷

示例:

$ curveadm map curve:/volume --host client-host --create --size 10GiB  # 正确,10GiB 为有效卷大小
$ curveadm map curve:/volume --host client-host --create --size 10    # 错误,10 为无效卷大小

221004

类别: 命令行选项CurveBS 客户端选项

描述: 卷大小必须为正整数

如何解决: 请确保以正整数来指定卷的大小,详见映射 CurveBS 卷

示例:

$ curveadm map curve:/volume --host client-host --create --size 10GB   # 正确,10GB 为有效卷大小
$ curveadm map curve:/volume --host client-host --create --size -10GB  # 错误,-10GB 为无效卷大小

221005

类别: 命令行选项CurveBS 客户端选项

描述: 卷大小必须 10GB 的整数倍

如何解决: 目前卷大小只支持以 10GB 为最小单位,即创建的卷大小只能是 10GB、20GB、30GB...,依此类推,详见映射 CurveBS 卷

示例:

$ curveadm map curve:/volume --host client-host --create --size 10GB    # 正确,10GB 为有效卷大小
$ curveadm map curve:/volume --host client-host --create --size 1024GB  # 正确,1024GB 为有效卷大小
$ curveadm map curve:/volume --host client-host --create --size 15GB    # 错误,15GB 为无效卷大小
$ curveadm map curve:/volume --host client-host --create --size 5GB     # 错误,5GB 为无效卷大小

221006

类别: 命令行选项CurveBS 客户端选项

描述: 客户端配置文件不存在

如何解决: 映射 CurveBS 卷时需要指定客户端配置文件,用户可通过 -c 选项指定配置文件,若用户未指定,CurveAdm 默认会以当前目录下的 client.yaml 作为客户端配置文件。

示例:

$  curveadm map user:/volume --host client-host -c /path/to/client.yaml

221007

类别: 命令行选项CurveBS 客户端选项

描述: 未找到 ID 对应的客户端

如何解决: 客户端 ID 可通过 curveadm client status 命令来查看,该命令显示的第一列即为客户端 ID:

$ curveadm client status
Get Client Status: [OK]

Id            Kind     Host          Container Id  Status       Aux Info
--            ----     ----          ------------  ------       --------
362d538778ad  curvebs  client-host1  cfa00fd01ae8  Up 36 hours  {"user":"curve","volume":"/test1"}
b0d56cfaad14  curvebs  client-host2  c0301eff2af0  Up 36 hours  {"user":"curve","volume":"/test2"}
c700e1f6acab  curvebs  client-host3  52554173a54f  Up 36 hours  {"user":"curve","volume":"/test3"}

示例:

$ curveadm client enter 362d538778ad

220000

类别: 命令行选项CurveFS 客户端选项

描述: CurveFS 文件系统的挂载点必须为绝对路径

如何解决: 在挂载 CurveFS 文件系统时,指定的挂载点必须要求为绝对路径,详见挂载 CurveFS 文件系统

示例:

$ curveadm curveadm mount /fs1 /mnt/test1 --host client-host  # 正确,/mnt/test1 为绝对路径
$ curveadm curveadm mount /fs1 test1 --host client-host       # 错误,test1 为相对路径

230000

类别: 命令行选项playground 选项

描述: 不支持的 playground 类型

如何解决: 目前支持的 playground 类型为以下 2 个:curvebscurvefs,用户需要在运行 playground 时通过 --kind 选项指定对应的类型

示例:

$ curveadm playground run --kind curvebs                              # 正确,运行一个 CurveBS 的 playground
$ curveadm playground run --kind curvefs --mountpoint /path/to/mount  # 正确,运行一个 CurveFS 的 playground,并指定对应的挂载点
$ curveadm playground run                                             # 错误,未指定 playground 类型

230001

类别: 命令行选项playground 选项

描述: 对于 CurveFS 类型的 playground,必须指定对应的挂载点

如何解决: 当运行 CurveFS 类型的 playground 时,用户需要通过 --mountpoint 选项来指定文件系统的挂载点

示例:

$ curveadm playground run --kind curvefs --mountpoint /path/to/mount  # 正确,/path/to/mount 为挂载点
$ curveadm playground run --kind curvefs                              # 错误,未指定相应的挂载点

230002

类别: 命令行选项playground 选项

描述: playground 的挂载点要求为绝对路径

如何解决: 当运行 CurveFS 类型的 playground 时,用户通过 --mountpoint 选项指定的文件系统挂载点必须为绝对路径

示例:

$ curveadm playground run --kind curvefs --mountpoint /mnt/test  # 正确,/mnt/test 为有效挂载点
$ curveadm playground run --kind curvefs --mountpoint test       # 错误,test 为无效挂载点

230003

类别: 命令行选项playground 选项

描述: playground 指定的挂载点不存在

如何解决: 当运行 CurveFS 类型的 playground 时,用户通过 --mountpoint 选项指定的文件系统挂载点必须要求已存在于本机,若指定的挂载点未创建,用户需要在本机手动创建对应的挂载路径

Clone this wiki locally