卷管理命令

创建

  1. curl -v "http://10.196.59.198:17010/admin/createVol?name=test&capacity=100&owner=cfs&mpCount=3"

为用户创建卷,并分配一组数据分片和元数据分片. 在创建新卷时,默认分配10个数据分片和3个元数据分片。

ChubaoFS以 Owner 参数作为用户ID。在创建卷时,如果集群中没有与该卷的Owner同名的用户时,会自动创建一个用户ID为Owner的用户;如果集群中已存在用户ID为Owner的用户,则会自动将该卷的所有权归属于该用户。详情参阅: 用户管理命令

参数列表
参数类型描述是否必需默认值
namestring卷名称
capacityint卷的配额,单位是GB
ownerstring卷的所有者,同时也是用户ID
mpCountint初始化元数据分片个数3
sizeint数据分片大小,单位GB120
followerReadbool允许从follower读取数据false
crossZonebool是否跨区域,如设为true,则不能设置zoneName参数false
zoneNamestring指定区域如果crossZone设为false,则默认值为default
enableTokenbool是否开启token控制读写权限false

删除

  1. curl -v "http://10.196.59.198:17010/vol/delete?name=test&authKey=md5(owner)"

首先把卷标记为逻辑删除(status设为1), 然后通过周期性任务删除所有数据分片和元数据分片,最终从持久化存储中删除。

在删除卷的同时,将会在所有用户的信息中删除与该卷有关的权限信息。

参数列表
参数类型描述
namestring卷名称
authKeystring计算vol的所有者字段的32位MD5值作为认证信息

查询

  1. curl -v "http://10.196.59.198:17010/client/vol?name=test&authKey=md5(owner)" | python -m json.tool

展示卷的基本信息,包括卷的名字、所有的数据分片和元数据分片信息等。

参数列表
参数类型描述
namestring卷名称
authKeystring计算vol的所有者字段的32位MD5值作为认证信息

响应示例

  1. {
  2. "Name": "test",
  3. "Owner": "user",
  4. "Status": "0",
  5. "FollowerRead": "true",
  6. "MetaPartitions": {},
  7. "DataPartitions": {},
  8. "CreateTime": 0
  9. }

统计

  1. curl -v http://10.196.59.198:17010/client/volStat?name=test

展示卷的总空间大小、已使用空间大小及是否开启读写token控制的信息。

参数列表
参数类型描述
namestring卷名称

响应示例

  1. {
  2. "Name": "test",
  3. "TotalSize": 322122547200000000,
  4. "UsedSize": 155515112832780000,
  5. "UsedRatio": "0.48",
  6. "EnableToken": true
  7. }

更新

  1. curl -v "http://10.196.59.198:17010/vol/update?name=test&capacity=100&authKey=md5(owner)"

增加卷的配额,也可调整其它相关参数。

参数列表
参数类型描述是否必需
namestring卷名称
authKeystring计算vol的所有者字段的32位MD5值作为认证信息
capacityint扩充后卷的配额,单位是GB
zoneNamestring更新后所在区域,若不设置将被更新至default区域
enableTokenbool是否开启token控制读写权限,默认设为false
followerReadbool允许从follower读取数据

获取卷列表

  1. curl -v "http://10.196.59.198:17010/vol/list?keywords=test"

获取全部卷的列表信息,可按关键字过滤。

参数列表
参数类型描述是否必需
keywordsstring获取卷名包含此关键字的卷信息

响应示例

  1. [
  2. {
  3. "Name": "test1",
  4. "Owner": "cfs",
  5. "CreateTime": 0,
  6. "Status": 0,
  7. "TotalSize": 155515112832780000,
  8. "UsedSize": 155515112832780000
  9. },
  10. {
  11. "Name": "test2",
  12. "Owner": "cfs",
  13. "CreateTime": 0,
  14. "Status": 0,
  15. "TotalSize": 155515112832780000,
  16. "UsedSize": 155515112832780000
  17. }
  18. ]

添加token

  1. curl -v "http://10.196.59.198:17010/token/add?name=test&tokenType=1&authKey=md5(owner)"

添加控制读写权限的token。

参数列表
参数类型描述
namestring卷名称
authKeystring计算vol的所有者字段的32位MD5值作为认证信息
tokenTypeint1代表只读token,2代表读写token

更新token

  1. curl -v "http://10.196.59.198:17010/token/update?name=test&token=xx&tokenType=1&authKey=md5(owner)"

更新token类型。

参数列表
参数类型描述
namestring卷名称
authKeystring计算vol的所有者字段的32位MD5值作为认证信息
tokenTypeint1代表只读token,2代表读写token
tokenstringtoken值

删除token

  1. curl -v "http://10.196.59.198:17010/token/delete?name=test&token=xx&authKey=md5(owner)"

删除指定token。

参数列表
参数类型描述
namestring卷名称
authKeystring计算vol的所有者字段的32位MD5值作为认证信息
tokenstring待删除的token值

获取token类型

  1. curl -v "http://10.196.59.198:17010/token/get?name=test&token=xx"

获取指定token的类型。

参数列表
参数类型描述
namestring卷名称
tokenstringtoken值

响应示例

  1. {
  2. "TokenType":2,
  3. "Value":"siBtuF9hbnNqXzJfMTU48si3nzU4MzE1Njk5MDM1NQ==",
  4. "VolName":"test"
  5. }