上报源端服务器基本信息
功能介绍
上报源端服务器信息,上报成功后会在sms服务器列表中看到对应的源端服务器信息。
调用方法
请参见如何调用API。
URI
POST /v3/sources
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:1 最大长度:16384 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| id | 否 | String | 源端在SMS数据库中的ID 最小长度:0 最大长度:255 |
| ip | 否 | String | 源端服务器ip,注册源端时必选,更新非必选 最小长度:0 最大长度:255 |
| name | 否 | String | 用来区分不同源端服务器的名称 最小长度:0 最大长度:255 |
| hostname | 否 | String | 源端主机名,注册源端必选,更新非必选 最小长度:0 最大长度:255 |
| os_type | 否 | String | 源端服务器的OS类型,分为Windows和Linux,注册必选,更新非必选 最小长度:0 最大长度:255 枚举值:
|
| os_version | 否 | String | 操作系统版本,注册必选,更新非必选 最小长度:0 最大长度:255 |
| virtualization_type | 否 | String | 操作系统虚拟化方式 最小长度:0 最大长度:255 |
| linux_block_check | 否 | String | Linux操作系统块检查 最小长度:0 最大长度:255 |
| firmware | 否 | String | 源端服务器启动类型,如BIOS或者UEFI 最小长度:0 最大长度:255 枚举值:
|
| cpu_quantity | 否 | Integer | CPU个数,单位vCPU 最小值:0 最大值:65535 |
| memory | 否 | Long | 内存大小,单位MB 最小值:0 最大值:9223372036854775807 |
| disks | 否 | Array of ServerDisk objects | 源端服务器的磁盘信息 数组长度:0 - 65535 |
| btrfs_list | 否 | Array of BtrfsFileSystem objects | Linux 必选,源端的Btrfs信息。如果源端不存在Btrfs,则为[] 数组长度:0 - 65535 |
| networks | 否 | Array of NetWork objects | 源端服务器的网卡信息 数组长度:0 - 65535 |
| domain_id | 否 | String | 租户的domainId 最小长度:0 最大长度:255 |
| has_rsync | 否 | Boolean | 是否安装rsync组件,Linux系统此参数为必选 |
| paravirtualization | 否 | Boolean | Linux场景必选,源端是否是半虚拟化 |
| raw_devices | 否 | String | Linux必选,裸设备列表 最小长度:0 最大长度:255 |
| driver_files | 否 | Boolean | Windows 必选,是否缺少驱动文件 |
| system_services | 否 | Boolean | Windows必选,是否存在不正常服务 |
| account_rights | 否 | Boolean | Windows必选,权限是否满足要求 |
| boot_loader | 否 | String | Linux必选,系统引导类型,BOOT_LOADER(GRUB/LILO) 枚举值:
|
| system_dir | 否 | String | Windows必选,系统目录 最小长度:0 最大长度:255 |
| volume_groups | 否 | Array of VolumeGroups objects | Linux必选,如果没有卷组,输入[] 数组长度:0 - 65535 |
| agent_version | 否 | String | Agent版本 最小长度:0 最大长度:255 |
| kernel_version | 否 | String | 内核版本信息 最小长度:0 最大长度:255 |
| migration_cycle | 否 | String | 迁移周期 cutovering:启动目的端中 cutovered:启动目的端完成 checking:检查中 setting:设置中 replicating:复制中 syncing:同步中 枚举值:
|
| state | 否 | String | 源端服务器状态 unavailable:环境校验不通过 waiting:等待 initialize:初始化 replicate:复制 syncing:持续同步 stopping:暂停中 stopped:已暂停 deleting:删除中 error:错误 cloning:等待克隆完成 cutovering:启动目的端中 finished:启动目的端完成 最小长度:0 最大长度:255 枚举值:
|
| oem_system | 否 | Boolean | 是否是OEM操作系统(Windows) |
| start_type | 否 | String | 启动方式,可以取值MANUAL、MGC或者空。 枚举值:
|
| io_read_wait | 否 | Double | 磁盘IO读时延,单位为ms 最小值:0.0 最大值:10000.0 |
| has_tc | 否 | Boolean | 是否安装tc组件,Linux系统此参数为必选 |
| platform | 否 | String | 平台信息: hw:华为 ali:阿里 aws:亚马逊 azure:微软云 gcp:谷歌云 tencent:腾讯云 vmware: hyperv other:其他 枚举值:
|
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 磁盘名称 最小长度:0 最大长度:255 |
| partition_style | 否 | String | 磁盘的分区类型,添加源端时源端磁盘必选 MBR:mbr格式 GPT:gpt格式 枚举值:
|
| device_use | 是 | String | 磁盘类型 BOOT: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 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 网卡的名称 最小长度:0 最大长度:255 |
| ip | 是 | String | 该网卡绑定的IP 最小长度:0 最大长度:255 |
| ipv6 | 否 | String | IPv6地址 最小长度:0 最大长度:255 |
| netmask | 是 | String | 掩码 最小长度:0 最大长度:255 |
| gateway | 是 | String | 网关 最小长度:0 最大长度:255 |
| mtu | 否 | Integer | Linux必选,网卡的MTU 最小值:0 最大值:2147483647 |
| mac | 是 | String | Mac地址 最小长度:0 最大长度:255 |
| id | 否 | String | 数据库ID 最小长度:0 最大长度:255 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 源端ID 最小长度:0 最大长度:255 |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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 |
请求示例
上报源端服务器信息,源端的OS类型是Linux,名称是host-192-168-136-xxx,ip是192.168.136.xxx,操作系统版本是SUSE12_64BIT_SP2,系统盘的名称是/dev/vda,系统盘的磁盘类型是BOOT,系统盘总大小为42949672960,上报成功后会在sms服务器列表中看到对应的源端服务器信息。
POST https://{endpoint}/v3/sources
{
"os_type" : "LINUX",
"name" : "host-192-168-136-xxx",
"os_version" : "SUSE12_64BIT_SP2",
"linux_block_check" : "{\"release_type\": \"SUSE\", \"release_version\": \"12.2\", \"kernel_simplification\": \"4.4.21\", \"architecture\": \"x86_64\", \"kernel_version\": \"4.4.21-69-default\"}",
"kernel_version" : "4.4.21-69-default",
"virtualization_type" : "HVM",
"paravirtualization" : true,
"firmware" : "BIOS",
"has_rsync" : true,
"io_read_wait" : 3.4,
"boot_loader" : "GRUB",
"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,
"inode_nums" : 0,
"file_system" : "swap",
"mount_point" : ""
}, {
"name" : "/dev/vda2",
"size" : 16862150656,
"device_use" : "BTRFS",
"used_size" : 16862150656,
"inode_size" : 0,
"inode_nums" : 0,
"file_system" : "btrfs",
"mount_point" : ""
}, {
"name" : "/dev/vda3",
"size" : 23932698624,
"device_use" : "NORMAL",
"used_size" : 33988608,
"inode_size" : 0,
"inode_nums" : 12345,
"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,
"inode_nums" : 0,
"file_system" : "LVM2_member",
"mount_point" : ""
} ]
}, {
"name" : "/dev/vdc",
"device_use" : "VOLUME_GROUP",
"size" : 21474836480,
"partition_style" : "MBR",
"used_size" : 0,
"physical_volumes" : [ ]
} ],
"volume_groups" : [ {
"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_nums" : 12345,
"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"
} ]
} ],
"cpu_quantity" : 1,
"memory" : 934752256,
"networks" : [ {
"name" : "eth0",
"ip" : "192.168.136.xxx",
"netmask" : "netmask",
"gateway" : "gateway",
"mac" : "1a9660eb8a3ffcf4df6d7865b52eb54f7b0cd194029e0eadd8e2c7f1267d80c0"
} ],
"ip" : "192.168.136.xxx",
"agent_version" : "2.2.1",
"platform" : "hw"
} 响应示例
状态码:200
源端注册成功
{
"id" : "xxxxxxxxxxxxxxxxxxxxxxxx00000001"
} 状态码: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 | 鉴权失败 |
错误码
请参见错误码。