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