卷管理命令
创建
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"
}