卷管理命令

创建

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的用户,则会自动将该卷的所有权归属于该用户。详情参阅: 用户管理命令

参数列表
参数 类型 描述 是否必需 默认值
name string 卷名称
capacity int 卷的配额,单位是GB
owner string 卷的所有者,同时也是用户ID
mpCount int 初始化元数据分片个数 3
size int 数据分片大小,单位GB 120
followerRead bool 允许从follower读取数据 false
crossZone bool 是否跨区域,如设为true,则不能设置zoneName参数 false
zoneName string 指定区域 如果crossZone设为false,则默认值为default
enableToken bool 是否开启token控制读写权限 false

删除

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

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

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

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

查询

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

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

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

响应示例

{
    "Name": "test",
    "Owner": "user",
    "Status": "0",
    "FollowerRead": "true",
    "MetaPartitions": {},
    "DataPartitions": {},
    "CreateTime": 0
}

统计

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

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

参数列表
参数 类型 描述
name string 卷名称

响应示例

{
    "Name": "test",
    "TotalSize": 322122547200000000,
    "UsedSize": 155515112832780000,
    "UsedRatio": "0.48",
    "EnableToken": true
}

更新

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

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

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

获取卷列表

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

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

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

响应示例

[
   {
       "Name": "test1",
       "Owner": "cfs",
       "CreateTime": 0,
       "Status": 0,
       "TotalSize": 155515112832780000,
       "UsedSize": 155515112832780000
   },
   {
       "Name": "test2",
       "Owner": "cfs",
       "CreateTime": 0,
       "Status": 0,
       "TotalSize": 155515112832780000,
       "UsedSize": 155515112832780000
   }
]

添加token

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

添加控制读写权限的token。

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

更新token

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

更新token类型。

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

删除token

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

删除指定token。

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

获取token类型

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

获取指定token的类型。

参数列表
参数 类型 描述
name string 卷名称
token string token值

响应示例

{
    "TokenType":2,
    "Value":"siBtuF9hbnNqXzJfMTU48si3nzU4MzE1Njk5MDM1NQ==",
    "VolName":"test"
}