cubefs/docs/source/dev-guide/admin-api/blobstore/cm.md
zhangjianwei f4c9dac980 docs(cm): fix volume_inspect switch key
Signed-off-by: zhangjianwei <jianwei1216@qq.com>
2025-04-16 09:56:26 +08:00

8.0 KiB
Executable File

Clustermgr Management

Service Status

Displays the cluster status, including raft status, space status, volume information statistics, and more.

curl "http://127.0.0.1:9998/stat"

Response Example

{
    "leader_host": "127.0.0.1:9998",
    "raft_status": {
        "applied": 291968826,
        "commit": 291968826,
        "leader": 3,
        "nodeId": 2,
        "peers": null,
        "raftApplied": 291968826,
        "raftState": "StateFollower",
        "term": 24,
        "transferee": 0,
        "vote": 3
    },
    "read_only": false,
    "space_stat": {
        "disk_stat_infos": [
            {
                "available": 107,
                "broken": 0,
                "dropped": 10,
                "dropping": 0,
                "expired": 0,
                "idc": "z0",
                "readonly": 22,
                "repaired": 17,
                "repairing": 0,
                "total": 134,
                "total_chunk": 55619,
                "total_free_chunk": 37979
            },
            {
                "available": 93,
                "broken": 0,
                "dropped": 10,
                "dropping": 0,
                "expired": 0,
                "idc": "z1",
                "readonly": 22,
                "repaired": 19,
                "repairing": 0,
                "total": 122,
                "total_chunk": 51523,
                "total_free_chunk": 33425
            },
            {
                "available": 96,
                "broken": 0,
                "dropped": 53,
                "dropping": 1,
                "expired": 0,
                "idc": "z2",
                "readonly": 46,
                "repaired": 3,
                "repairing": 0,
                "total": 152,
                "total_chunk": 58123,
                "total_free_chunk": 40173
            }
        ],
        "free_space": 1774492930453504,
        "total_blob_node": 17,
        "total_disk": 408,
        "total_space": 2155017090891776,
        "used_space": 380524160438272,
        "writable_space": 923847465369600
    },
    "volume_stat": {
        "active_volume": 345,
        "can_alloc_volume": 1651,
        "idle_volume": 1651,
        "lock_volume": 0,
        "total_volume": 1996,
        "unlocking_volume": 0
    }
}

Node Management

Add Node

Add a node by specifying the node type, address, and ID.

curl -X POST --header 'Content-Type: application/json' -d '{"peer_id": 1, "host": "127.0.0.1:10110","node_host": "127.0.0.1:9998", "member_type": 2}' "http://127.0.0.1:9998/member/add"

Parameter List

Parameter Type Description
peer_id uint64 Raft node ID, must be unique
host string Raft address
node_host string Service address
member_type uint8 Node type, 1 for leaner, 2 for normal

Remove Node

Remove a node by ID.

curl -X POST --header 'Content-Type: application/json' -d '{"peer_id": 1}' "http://127.0.0.1:9998/member/remove"

Parameter List

Parameter Type Description
peer_id uint64 Raft node ID, must be unique

Switch Leader

Switch the leader node based on the ID.

curl -X POST --header 'Content-Type: application/json' -d '{"peer_id": 1}' "http://127.0.0.1:9998/leadership/transfer"

Parameter List

Parameter Type Description
peer_id uint64 Raft node ID, must be unique

Disk Management

Get Disk Information

curl "http://127.0.0.1:9998/disk/info?disk_id=1"

Parameter List

Parameter Type Description
disk_id uint32 Disk ID

Response Example

{
    "cluster_id": 10001,
    "create_time": "2022-05-07T15:22:01.627271402+08:00",
    "disk_id": 1,
    "free": 1910475022336,
    "free_chunk_cnt": 106,
    "host": "http://127.0.0.1:8889",
    "idc": "bjht",
    "last_update_time": "2022-05-07T15:22:01.627271402+08:00",
    "max_chunk_cnt": 1037,
    "path": "/home/service/var/data21",
    "rack": "HT02-B11-F4-402-0203",
    "readonly": false,
    "size": 17828005326848,
    "status": 1,
    "used": 15917530304512,
    "used_chunk_cnt": 931
}

Set Disk Status

curl -X POST --header 'Content-Type: application/json' -d '{"disk_id":2,"status":2}' "http://127.0.0.1:9998/disk/set"
Parameter Type Description
disk_id uint32 Disk ID
status uint8 Disk status can only be increased, numerical description refers to the following table
Disk Status Value Description
1 normal
2 broken
3 repairing
4 repaired
5 dropped

Set Disk Read and Write

Set the disk to read-only or read-write.

curl -X POST --header 'Content-Type: application/json' -d '{"disk_id":2,"readonly":false}' "http://127.0.0.1:9998/disk/access"

Parameter List

Parameter Type Description
disk_id uint32 Disk ID
readonly bool Whether it is read-only, true means read-only, false means read-write

Set Disk Drop

For the scenario where the machine or disk is over-protected, we can set the disk drop for data migration. During the migration, the offline disk data will be read first. If the reading fails, the recovery and reading process will be followed.

curl -X POST --header 'Content-Type: application/json' -d '{"disk_id":2}' "http://127.0.0.1:9998/disk/drop"

Volume Management

Get Volume Information

Get information for a single volume.

curl "http://127.0.0.1:9998/volume/get?vid=1"

Parameter List

Parameter Type Description
vid uint32 Volume ID

Response Example

{
    "code_mode": 12,
    "create_by_node_id": 1,
    "free": 1061027840,
    "health_score": 0,
    "status": 1,
    "total": 171798691840,
    "units": [
        {
            "disk_id": 112,
            "host": "http://127.0.0.1:8889",
            "vuid": 4294967654
        },
        ...
        {
            "disk_id": 401,
            "host": "http://127.0.0.1:8889",
            "vuid": 4513071462
        }
    ],
    "used": 170737664000,
    "vid": 1
}

Background Tasks

Task Type (type) Task Name (key) Switch (value)
Disk Repair disk_repair true/false
Data Balancing balance true/false
Disk Offline disk_drop true/false
Data Deletion blob_delete true/false
Data Repair shard_repair true/false
Data Inspection volume_inspect true/false

View task status

curl http://127.0.0.1:9998/config/get?key=balance
# or use blobstore-cli
blobstore-cli cm background status balance

Enable task

curl -X POST http://127.0.0.1:9998/config/set -d '{"key":"balance","value":"true"}' --header 'Content-Type: application/json'
# or use blobstore-cli
blobstore-cli cm background enable balance

Disable task

curl -X POST http://127.0.0.1:9998/config/set -d '{"key":"balance","value":"false"}' --header 'Content-Type: application/json'
# or use blobstore-cli
blobstore-cli cm background disable balance