上报源端服务器基本信息
功能介绍
上报源端服务器信息,上报成功后会在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 |
鉴权失败 |
错误码
请参见错误码。