更新时间:2025-02-13 GMT+08:00

更新磁盘信息

功能介绍

更新服务器的磁盘信息,此接口会把服务器原有磁盘信息清空,然后更新成新磁盘信息。

调用方法

请参见如何调用API

URI

PUT /v3/sources/{source_id}/diskinfo

表1 路径参数

参数

是否必选

参数类型

描述

source_id

String

源端服务器ID

最小长度:0

最大长度:255

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

最小长度:1

最大长度:16384

表3 请求Body参数

参数

是否必选

参数类型

描述

disks

Array of ServerDisk objects

更新的磁盘信息

数组长度:0 - 65535

volumegroups

Array of VolumeGroups objects

更新的卷信息

数组长度:0 - 65535

btrfs_list

Array of BtrfsFileSystem objects

更新的btrfs信息

数组长度:0 - 65535

表4 ServerDisk

参数

是否必选

参数类型

描述

name

String

磁盘名称

最小长度:0

最大长度:255

partition_style

String

磁盘的分区类型,添加源端时源端磁盘必选

MBR:mbr格式

GPT:gpt格式

枚举值:

  • MBR

  • GPT

device_use

String

磁盘类型

BOOT:BOOT设备

OS:系统设备

枚举值:

  • BOOT

  • OS

size

Long

磁盘总大小,以字节为单位

最小值:0

最大值:9223372036854775807

used_size

Long

磁盘已使用大小,以字节为单位

最小值:0

最大值:9223372036854775807

physical_volumes

Array of PhysicalVolume objects

磁盘上的物理分区信息

数组长度:0 - 65535

os_disk

Boolean

是否为系统盘

relation_name

String

Linux系统 目的端ECS中与源端关联的磁盘名称

最小长度:0

最大长度:255

inode_size

Integer

inode数量

最小值:0

最大值:2147483647

表5 PhysicalVolume

参数

是否必选

参数类型

描述

device_use

String

分区类型,普通分区,启动分区,系统分区

最小长度:0

最大长度:255

file_system

String

文件系统类型

最小长度:0

最大长度:255

index

Integer

顺序

最小值:0

最大值:2147483647

mount_point

String

挂载点

最小长度:0

最大长度:255

name

String

名称,windows表示盘符,Linux表示设备号

最小长度:0

最大长度:255

size

Long

大小

最小值:0

最大值:9223372036854775807

used_size

Long

使用大小

最小值:0

最大值:9223372036854775807

inode_size

Integer

inode数量

最小值:0

最大值:2147483647

inode_nums

Long

inode节点数量

最小值:0

最大值:9223372036854775807

uuid

String

GUID,可从源端查询

最小长度:0

最大长度:255

size_per_cluster

Integer

每个cluster大小

最小值:0

最大值:2147483647

表6 VolumeGroups

参数

是否必选

参数类型

描述

components

String

Pv信息

最小长度:0

最大长度:255

free_size

Long

剩余空间

最小值:0

最大值:9223372036854775807

logical_volumes

Array of LogicalVolumes objects

lv信息

数组长度:0 - 255

name

String

名称

最小长度:0

最大长度:255

size

Long

大小

最小值:0

最大值:9223372036854775807

表7 LogicalVolumes

参数

是否必选

参数类型

描述

block_count

Integer

块数量

最小值:0

最大值:2147483647

缺省值:0

block_size

Long

块大小

最小值:0

最大值:1048576

缺省值:0

file_system

String

文件系统

最小长度:0

最大长度:255

inode_size

Integer

inode数量

最小值:0

最大值:2147483647

inode_nums

Long

inode节点数量

最小值:0

最大值:9223372036854775807

device_use

String

分区类型,普通分区,启动分区,系统分区

最小长度:0

最大长度:255

mount_point

String

挂载点

最小长度:0

最大长度:256

name

String

名称

最小长度:0

最大长度:1024

size

Long

大小

最小值:0

最大值:9223372036854775807

used_size

Long

使用大小

最小值:0

最大值:9223372036854775807

free_size

Long

剩余空间

最小值:0

最大值:9223372036854775807

表8 BtrfsFileSystem

参数

是否必选

参数类型

描述

name

String

文件系统名称

最小长度:0

最大长度:255

label

String

文件系统标签,若无标签为空字符串

最小长度:0

最大长度:255

uuid

String

文件系统的uuid

最小长度:0

最大长度:255

device

String

btrfs包含的设备名称

最小长度:0

最大长度:255

size

Long

文件系统数据占用大小

最小值:0

最大值:9223372036854775807

nodesize

Long

btrfs节点大小

最小值:0

最大值:9223372036854775807

sectorsize

Integer

扇区大小

最小值:0

最大值:2147483647

data_profile

String

数据配置(RAD)

最小长度:0

最大长度:255

system_profile

String

文件系统配置(RAD)

最小长度:0

最大长度:255

metadata_profile

String

元数据配置(RAD)

最小长度:0

最大长度:255

global_reserve1

String

Btrfs文件系统信息

最小长度:0

最大长度:255

g_vol_used_size

Long

Btrfs卷已使用空间大小

最小值:0

最大值:9223372036854775807

default_subvolid

String

默认子卷ID

最小长度:0

最大长度:255

default_subvol_name

String

默认子卷名称

最小长度:0

最大长度:255

default_subvol_mountpath

String

默认子卷挂载路径/BTRFS文件系统的挂载路径

最小长度:0

最大长度:255

subvolumn

Array of BtrfsSubvolumn objects

子卷信息

数组长度:0 - 65535

表9 BtrfsSubvolumn

参数

是否必选

参数类型

描述

uuid

String

父卷的uuid

最小长度:0

最大长度:255

is_snapshot

String

子卷是否为快照

最小长度:0

最大长度:255

subvol_id

String

子卷的ID

最小长度:0

最大长度:255

parent_id

String

父卷ID

最小长度:0

最大长度:255

subvol_name

String

子卷的名称

最小长度:0

最大长度:255

subvol_mount_path

String

子卷的挂载路径

最小长度:0

最大长度:255

响应参数

状态码:200

表10 响应Body参数

参数

参数类型

描述

-

String

更新磁盘信息成功

状态码:403

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误代码

最小长度:0

最大长度:255

error_msg

String

错误信息

最小长度:0

最大长度:255

encoded_authorization_message

String

加密授权信息

最小长度:0

最大长度:65535

error_param

Array of strings

错误参数

最小长度:0

最大长度:65535

数组长度:1 - 20

details

Array of details objects

详细错误信息

数组长度:1 - 20

表12 details

参数

参数类型

描述

error_code

String

SMS错误代码

最小长度:0

最大长度:65535

error_msg

String

SMS错误信息

最小长度:0

最大长度:65535

请求示例

更新服务器的磁盘信息,此接口会把服务器原有磁盘信息清空,然后更新成新磁盘信息,新的磁盘名称是/dev/vda,磁盘类型是BOOT,磁盘大小是42949672960字节。

PUT https://{endpoint}/v3/sources/{source_id}/diskinfo

{
  "disks" : [ {
    "name" : "/dev/vda",
    "device_use" : "BOOT",
    "size" : 42949672960,
    "partition_style" : "MBR",
    "used_size" : 42948624384,
    "physical_volumes" : [ {
      "name" : "/dev/vda1",
      "size" : 2153775104,
      "device_use" : "NORMAL",
      "used_size" : 2153775104,
      "inode_size" : 0,
      "file_system" : "swap",
      "mount_point" : ""
    }, {
      "name" : "/dev/vda2",
      "size" : 16862150656,
      "device_use" : "BTRFS",
      "used_size" : 16862150656,
      "inode_size" : 0,
      "file_system" : "btrfs",
      "mount_point" : ""
    }, {
      "name" : "/dev/vda3",
      "size" : 23932698624,
      "device_use" : "NORMAL",
      "used_size" : 33988608,
      "inode_size" : 0,
      "file_system" : "xfs",
      "mount_point" : "/home"
    } ]
  }, {
    "name" : "/dev/vdb",
    "device_use" : "NORMAL",
    "size" : 21474836480,
    "partition_style" : "MBR",
    "used_size" : 21473787904,
    "physical_volumes" : [ {
      "name" : "/dev/vdb1",
      "size" : 21473787904,
      "device_use" : "VOLUME_GROUP",
      "used_size" : 21473787904,
      "inode_size" : 0,
      "file_system" : "LVM2_member",
      "mount_point" : ""
    } ]
  }, {
    "name" : "/dev/vdc",
    "device_use" : "VOLUME_GROUP",
    "size" : 21474836480,
    "partition_style" : "MBR",
    "used_size" : 0,
    "physical_volumes" : [ ]
  } ],
  "volumegroups" : [ {
    "name" : "vg1",
    "size" : 42948624384,
    "components" : "/dev/vdb1;/dev/vdc",
    "logical_volumes" : [ {
      "name" : "/dev/mapper/vg1-lv1",
      "device_use" : "NORMAL",
      "size" : 10737418240,
      "free_size" : 10713837568,
      "used_size" : 23580672,
      "file_system" : "ext4",
      "mount_point" : "/mnt/lv1",
      "inode_size" : 256
    } ]
  } ],
  "btrfs_list" : [ {
    "name" : "/dev/vda2",
    "label" : "none",
    "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
    "device" : "/dev/vda2",
    "size" : "3.30GiB",
    "nodesize" : 16384,
    "sectorsize" : 4096,
    "data_profile" : "single",
    "system_profile" : "single",
    "metadata_profile" : "single",
    "global_reserve1" : "single",
    "g_vol_used_size" : 3894038528,
    "default_subvolid" : 259,
    "default_subvol_name" : "@/.snapshots/1/snapshot",
    "default_subvol_mountpath" : "/",
    "subvolumn" : [ {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 257,
      "parent_id" : 5,
      "subvol_name" : "@",
      "subvol_mount_path" : null
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 258,
      "parent_id" : 257,
      "subvol_name" : "@/.snapshots",
      "subvol_mount_path" : "/.snapshots"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : true,
      "subvol_id" : 259,
      "parent_id" : 258,
      "subvol_name" : "@/.snapshots/1/snapshot",
      "subvol_mount_path" : "/"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 260,
      "parent_id" : 257,
      "subvol_name" : "@/boot/grub2/i386-pc",
      "subvol_mount_path" : "/boot/grub2/i386-pc"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 261,
      "parent_id" : 257,
      "subvol_name" : "@/boot/grub2/x86_64-efi",
      "subvol_mount_path" : "/boot/grub2/x86_64-efi"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 262,
      "parent_id" : 257,
      "subvol_name" : "@/opt",
      "subvol_mount_path" : "/opt"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 263,
      "parent_id" : 257,
      "subvol_name" : "@/srv",
      "subvol_mount_path" : "/srv"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 264,
      "parent_id" : 257,
      "subvol_name" : "@/tmp",
      "subvol_mount_path" : "/tmp"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 265,
      "parent_id" : 257,
      "subvol_name" : "@/usr/local",
      "subvol_mount_path" : "/usr/local"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 266,
      "parent_id" : 257,
      "subvol_name" : "@/var/cache",
      "subvol_mount_path" : "/var/cache"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 267,
      "parent_id" : 257,
      "subvol_name" : "@/var/crash",
      "subvol_mount_path" : "/var/crash"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 268,
      "parent_id" : 257,
      "subvol_name" : "@/var/lib/libvirt/images",
      "subvol_mount_path" : "/var/lib/libvirt/images"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 269,
      "parent_id" : 257,
      "subvol_name" : "@/var/lib/machines",
      "subvol_mount_path" : "/var/lib/machines"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 270,
      "parent_id" : 257,
      "subvol_name" : "@/var/lib/mailman",
      "subvol_mount_path" : "/var/lib/mailman"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 271,
      "parent_id" : 257,
      "subvol_name" : "@/var/lib/mariadb",
      "subvol_mount_path" : "/var/lib/mariadb"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 272,
      "parent_id" : 257,
      "subvol_name" : "@/var/lib/mysql",
      "subvol_mount_path" : "/var/lib/mysql"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 273,
      "parent_id" : 257,
      "subvol_name" : "@/var/lib/named",
      "subvol_mount_path" : "/var/lib/named"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 274,
      "parent_id" : 257,
      "subvol_name" : "@/var/lib/pgsql",
      "subvol_mount_path" : "/var/lib/pgsql"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 275,
      "parent_id" : 257,
      "subvol_name" : "@/var/log",
      "subvol_mount_path" : "/var/log"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 276,
      "parent_id" : 257,
      "subvol_name" : "@/var/opt",
      "subvol_mount_path" : "/var/opt"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 277,
      "parent_id" : 257,
      "subvol_name" : "@/var/spool",
      "subvol_mount_path" : "/var/spool"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : false,
      "subvol_id" : 278,
      "parent_id" : 257,
      "subvol_name" : "@/var/tmp",
      "subvol_mount_path" : "/var/tmp"
    }, {
      "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
      "is_snapshot" : true,
      "subvol_id" : 282,
      "parent_id" : 258,
      "subvol_name" : "@/.snapshots/2/snapshot",
      "subvol_mount_path" : null
    } ]
  } ]
}

响应示例

状态码:403

鉴权失败

{
  "error_code" : "SMS.9004",
  "error_msg" : "The current account does not have the permission to execute policy You do not have permission to perform action XXX on resource XXX.",
  "encoded_authorization_message" : "XXXXXX",
  "error_param" : [ "You do not have permission to perform action XXX on resource XXX." ],
  "details" : [ {
    "error_code" : "SMS.9004",
    "error_msg" : "You do not have permission to perform action XXX on resource XXX."
  } ]
}

状态码

状态码

描述

200

更新磁盘信息成功

403

鉴权失败

错误码

请参见错误码