云服务器内容精选

  • Lite Cluster资源管理介绍 在ModelArts控制台,您可以对已创建的资源进行管理。通过单击资源池名称,可以进入到资源池详情页,您可以在详情页进行下述操作。 管理Lite Cluster节点:节点是容器集群组成的基本元素,您可以对资源池内单节点进行替换、删除、重置等操作。 管理Lite Cluster节点池:为帮助您更好地管理Kubernetes集群内的节点,ModelArts支持通过节点池来管理节点。节点池是集群中具有相同配置的一组节点,一个节点池包含一个节点或多个节点,您可以创建、更新和删除节点池。 管理Lite Cluster资源池标签:ModelArts支持为资源池添加标签,用来标识云资源,方便您快速搜索到资源池。 扩缩容Lite Cluster资源池:当Cluster资源池创建完成,使用一段时间后,由于用户AI开发业务的变化,对于资源池资源量的需求可能会产生变化,面对这种场景,ModelArts提供了扩缩容功能,用户可以根据自己的需求动态调整。 升级Lite Cluster资源池驱动:当资源池中的节点含有GPU/Ascend资源时,用户基于自己的业务,可能会有自定义GPU/Ascend驱动的需求,ModelArts面向此类客户提供了自助升级专属资源池GPU/Ascend驱动的能力。 监控Lite Cluster资源:ModelArts支持使用 AOM 和Prometheus对资源进行监控,方便您了解当前的资源使用情况。 释放Lite Cluster资源:针对不再使用的Lite Cluster资源,您可以释放资源。 图1 Lite Cluster资源管理介绍 父主题: Lite Cluster资源管理
  • 在BMS控制台切换操作系统 获取操作系统镜像。 由华为云官方提供给客户操作系统镜像,在IMS 镜像服务 的共享镜像处进行接收即可,参考如下图操作。 图1 共享镜像 切换操作系统。 对Lite Server资源对应的裸金属服务器,对其进行关机操作,完成关机后,才可以执行切换操作系统动作。 在裸金属服务的更多选项中,点击切换操作系统,如下图所示。 图2 选择操作系统 在切换操作系统界面,选择上一步接收到的共享镜像即可。 图3 选择镜像
  • 场景描述 Lite Server为一台弹性裸金属服务器,您可以使用BMS服务提供的切换操作系统功能,对Lite Server资源操作系统进行切换。本文介绍以下三种切换操作系统的方式: 在BMS控制台切换操作系统 使用BMS Go SDK的方式切换操作系统 使用Python封装API的方式切换操作系统 切换操作系统需满足以下条件: 当前裸金属服务器状态为停止状态。 目标操作系统必须是该Region下的IMS公共镜像或者私有共享镜像。
  • 使用BMS Go SDK的方式切换操作系统 以下为BMS使用Go语言通过SDK方式切换操作系统的示例代码。 package main import ( "fmt" "os" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" bms "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/bms/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/bms/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/bms/v1/region" ) func main() { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := bms.NewBmsClient( bms.BmsClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) keyname := "KeyPair-name" userdata := "aGVsbG8gd29ybGQsIHdlbGNvbWUgdG8gam9pbiB0aGUgY29uZmVyZW5jZQ==" request := &model.ChangeBaremetalServerOsRequest{ ServerId: "****input your bms instance id****", Body: &model.OsChangeReq{ OsChange: &model.OsChange{ Keyname: &keyname, Imageid: "****input your ims image id****", Metadata: &model.MetadataInstall{ UserData: &userdata, }, }, }, } response, err := client.ChangeBaremetalServerOs(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
  • Python封装API方式切换操作系统 以下为BMS使用Python语言通过API方式切换操作系统的示例代码。 # -*- coding: UTF-8 -*- import requests import json import time import requests.packages.urllib3.exceptions from urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning) class ServerOperation(object): ################################ IAM 认证API################################################# def __init__(self, account, password, region_name, username=None, project_id=None): """ :param username: if IAM user,here is small user, else big user :param account: account big big user :param password: account :param region_name: """ self.account = account self.username = username self.password = password self.region_name = region_name self.project_id = project_id self.ma_endpoint = "https://modelarts.{}.myhuaweicloud.com".format(region_name) self.service_endpoint = "https://bms.{}.myhuaweicloud.com".format(region_name) self.iam_endpoint = "https://iam.{}.myhuaweicloud.com".format(region_name) self.headers = {"Content-Type": "application/json", "X-Auth-Token": self.get_project_token_by_account(self.iam_endpoint)} def get_project_token_by_account(self, iam_endpoint): body = { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": self.username if self.username else self.account, "password": self.password, "domain": { "name": self.account } } } }, "scope": { "project": { "name": self.region_name } } } } headers = { "Content-Type": "application/json" } import json url = iam_endpoint + "/v3/auth/tokens" response = requests.post(url, headers=headers, data=json.dumps(body), verify=True) token = (response.headers['X-Subject-Token']) return token def change_os(self, server_id): url = "{}/v1/{}/baremetalservers/{}/changeos".format(self.service_endpoint, self.project_id, server_id) print(url) body = { "os-change": { "adminpass": "@Server", "imageid": "40d88eea-6e41-418a-ad6c-c177fe1876b8" } } response = requests.post(url, headers=self.headers, data=json.dumps(body), verify=False) print(json.dumps(response.json(), indent=1)) return response.json() if __name__ == '__main__': # 调用API前置准备,初始化认证鉴权信息 server = ServerOperation(username="xxx", account="xxx", password="xxx", project_id="xxx", region_name="cn-north-4") server.change_os(server_id="0c84bb62-35bd-4e1c-ba08-a3a686bc5097")
  • 前置条件 在Cloud Operations Center进行跨账号资源的操作之前,用户需要满足一些前置条件。 用户已经开通组织(Organizations)或已经加入到一个组织中,可到组织的服务页面查看。 图1 组织服务 用户所在组织将COC设置为可信服务,可到组织页面的可信服务查看。 图2 可信服务 当前执行跨账号运维操作的账号是组织管理员或者是组织管理员所委派的委托管理员。 图3 委托管理员
  • 注意事项 当前只有弹性云服务器(E CS )的实例支持UniAgent的操作。 操作系统使用限制 表1 UniAgent支持的Linux操作系统及版本 操作系统 版本 EulerOS 1.1 64bit 2.0 64bit CentOS 7.1 64bit 7.2 64bit 7.3 64bit 7.4 64bit 7.5 64bit 7.6 64bit 7.7 64bit 7.8 64bit 7.9 64bit 8.0 64bit Ubuntu 16.04 server 64bit 18.04 server 64bit 20.04 server 64bit 22.04 server 64bit 对于Linux x86_64服务器,支持上表中所有的操作系统及版本。 对于Linux ARM服务器,当前CentOS操作系统支持7.4/7.5/7.6版本,EulerOS操作系统支持2.0版本,Ubuntu操作系统支持18.04版本
  • 操作步骤 首次创建测试资源,需父账号授权,自动创建委托使性能测试服务可以操作用户CCE。 需要使用性能测试服务的用户,需要CodeArts PerfTest Administrator或CodeArts PerfTest Developer权限(仅能查看自己创建的工程)。 需要管理私有资源组的用户,需要CodeArts PerfTest Administrator或CodeArts PerfTest Developer+CodeArts PerfTest Resource Administrator权限。 需要使用私有资源组的用户,需要CodeArts PerfTest Administrator或CodeArts PerfTest Developer+CodeArts PerfTest Resource Developer权限。 使用性能测试服务依赖的权限及具体使用场景,详见使用性能测试服务需要哪些权限。 登录性能测试服务控制台,在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 (可选)首次使用时,请根据提示信息,授权性能测试服务创建私有资源组。 进入创建资源组页面后,如果是首次使用没有云容器引擎服务CCE集群,需要先创建集群然后再创建资源组。如果已有可用的云容器引擎服务CCE集群,直接创建资源组。 创建集群。 单击页面上方的“创建集群”,进入购买CCE集群页面。创建集群操作请参考购买CCE集群,设置集群参数。 推荐使用独立CCE集群用作压测,避免与测试或生产等环境CCE集群混用产生配置等冲突。 插件选择时,作为测试执行机仅保留默认安装即可,如节点本地 域名 解析加速、云原生监控插件等非必要插件请去除勾选,避免安装的插件占用执行机资源。 集群管理规模选择与执行节点个数相关,请根据需要压测的并发用户数,创建对应规格的节点。例如,需要20个执行节点,那么创建集群时集群规模选择50节点即可满足业务需求。 CCE集群的网络模型建议选择“容器隧道网络”,容器网段和服务网段需要与被测对象保持一致。 CentOS在高负载网络下容易出现IPVS、Conntrack相关稳定性问题,选择IPVS时不推荐您使用CentOS作为集群节点的操作系统。选择IPVS+CentOS时,网络连接复用可能存在超时。 单击“下一步:插件选择”,选择创建集群时需要安装的插件。 单击“下一步:插件配置”,默认选择即可,不需要更改。 单击“下一步:确认配置”,确认集群配置信息无误后,勾选已阅读使用说明,单击“提交”等待集群创建,集群创建预计需要6-10分钟。 集群创建成功后,返回集群管理页面,单击“创建节点”,进入创建节点页面。创建节点操作请参考创建节点,设置节点参数。 节点规格至少为vCPU为4核,内存8GB。 操作系统需选择欧拉EulerOS。 创建的节点数量至少需要2台(1台调试节点、1台执行节点),具体数量由压测对象要求规格决定。例如,压测10万并发用户数,vCPU为4核,内存8GB的资源需要21个执行节点(1个调试节点,20个执行节点)。 当CCE集群节点与被测应用不在同一VPC网络时,建议CCE集群节点绑定弹性IP。可使用已有的弹性IP,如果没有弹性IP也可以选择自动创建。自动创建弹性IP时,计费方式推荐按流量计费,带宽设置尽可能选择较大值,否则可能影响压测效果。系统根据您的配置创建弹性IP,并自动为每个节点进行分配。当创建的弹性IP数量小于节点个数时,会将弹性IP随机绑定到节点上。 “高级配置(可选)”中的“K8s节点名称”选择“与节点私有IP保持一致”,默认即为此选项。选择“与云服务器名称保持一致”将导致节点无法纳管。 单击“下一步:规格确认”,确认节点配置信息无误后,勾选已阅读使用说明,单击“提交”等待节点创建。节点创建成功后,返回性能测试服务控制台。 创建资源组。 在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 参照表1设置基本信息。 表1 创建私有资源组 参数 参数说明 资源组名称 新建私有资源组的名称,可自定义。 节点集群 在下拉框选择已创建的CCE集群。 高级配置 可选项,配置项详见高级配置。 说明: 该功能为白名单特性,需要联系后台管理人员申请开通,审批同意后方可使用。 修改高级配置参数,可能导致任务无法正常执行,请谨慎修改。 调试节点 执行压测的调试机。 调试节点在资源组创建成功后不可修改。 执行节点 执行压测的执行机,即在压测过程中能够提供自身性能数据的施压目标机器。 单击“创建”。
  • 首次安装UniAgent如何操作? 登录COC。 在左侧菜单栏单击“应用资源管理”,进入“资源管理”页面,选中首台未安装过UniAgent的机器。 图1 安装UniAgent 在跳转的安装UniAgent页面中,单击 “手动安装”。 图2 安装UniAgent页面 根据页面的运行安装命令进行手动安装UniAgent。 图3 “手动安装UniAgent”页面 UniAgent安装完成后,单击 “返回自动安装”。 单击“设置安装机”,设置刚才完成UniAgent安装的机器为安装机。 图4 设置安装机 在弹框中填写设置安装机相关信息,单击“确认”。 图5 确定安装机 父主题: 资源管理常见问题
  • 专属资源池使用说明 如果您是初次使用专属资源池,建议您可从本章节开始,了解ModelArts提供的资源池详细说明。 在对专属资源池有一定了解后,如果您需要创建一个自己的专属资源池,您可参考创建Standard专属资源池来进行创建。 专属资源池创建成功后,可在查看Standard专属资源池详情中查看专属资源池的详细信息。 如果专属资源池的规格与您的业务不符,可通过扩缩容Standard专属资源池来调整专属资源池的规格。 每个用户对集群的驱动要求不同,在专属资源池列表页中,可自行选择加速卡驱动,并根据业务需要进行立即变更或平滑升级。ModelArts提供了自助升级专属资源池GPU/Ascend驱动的能力,可参考升级Standard专属资源池驱动进行升级。 专属资源池提供了故障节点修复的功能,可参考修复Standard专属资源池故障节点修复故障节点。 专属资源池提供了动态设置作业类型的功能,可参考修改Standard专属资源池支持的作业类型更新作业类型。 专属资源池提供了工作空间功能,管理员可以根据工作空间,隔离不同子用户操作工作空间内资源的权限,您可通过迁移Standard专属资源池和网络至其他工作空间将资源池移动到对应的工作空间下。 专属资源池可通过标签来进行管理,具体可参见使用TMS标签实现资源分组管理管理专属资源池标签。 当不再需要使用专属资源池时,您可参考释放Standard专属资源池和删除网络删除专属资源池。
  • ModelArts Standard资源池说明 在使用ModelArts进行AI开发时,您可以选择使用如下两种资源池: 专属资源池:专属资源池不与其他用户共享,资源更可控。在使用专属资源池之前,您需要先创建一个专属资源池,然后在AI开发过程中选择此专属资源池。 公共资源池:公共资源池提供公共的大规模计算集群,根据用户作业参数分配使用,资源按作业隔离。 用户下发训练作业、部署模型、使用开发环境实例等,均可以使用ModelArts提供的公共资源池完成,按照使用量计费,方便快捷。 专属资源池和公共资源池的能力主要差异如下: 专属资源池为用户提供独立的计算集群、网络,不同用户间的专属资源池物理隔离,公共资源池仅提供逻辑隔离,专属资源池的隔离性、安全性要高于公共资源池。 专属资源池用户资源独享,在资源充足的情况下,作业是不会排队的;而公共资源池使用共享资源,在任何时候都有可能排队。 专属资源池支持打通用户的网络,在该专属资源池中运行的作业可以访问打通网络中的存储和资源。例如,在创建训练作业时选择打通了网络的专属资源池,训练作业创建成功后,支持在训练时访问SFS中的数据。 专属资源池支持自定义物理节点运行环境相关的能力,例如GPU/Ascend驱动的自助升级,而公共资源池暂不支持。
  • 响应示例 状态码: 200 OK。 { "kind" : "Network", "apiVersion" : "v1", "metadata" : { "name" : "network-7a03-86c13962597848eeb29c5861153a391f", "creationTimestamp" : "2022-09-16T09:44:59Z", "labels" : { "os.modelarts/name" : "network-7a03", "os.modelarts/workspace.id" : "0" }, "annotations" : { } }, "spec" : { "cidr" : "192.168.128.0/17", "connection" : { "peerConnectionList" : [ { "peerVpcId" : "03e4f4d7-fc62-409b-9c52-df885525e30b", "peerSubnetId" : "42aeebc3-f7c7-45aa-b884-e6e9ac2f841d", "defaultGateWay" : false } ] } }, "status" : { "phase" : "Active", "connectionStatus" : { } } } 状态码: 400 Bad request { "error_code" : "ModelArts.50004000", "error_msg" : "Bad request." } 状态码: 404 Not Found。 { "error_code" : "ModelArts.50025001", "error_msg" : "Network not exist." }
  • 请求示例 打通VPC。 PATCH https://{endpoint}/v1/{project_id}/networks/{network_name} { "spec" : { "connection" : { "peerConnectionList" : [ { "peerVpcId" : "03e4f4d7-fc62-409b-9c52-df885525e30b", "peerSubnetId" : "42aeebc3-f7c7-45aa-b884-e6e9ac2f841d", "defaultGateWay" : false } ] } } }
  • 响应示例 状态码: 200 OK { "job_links" : [ { "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "net_type" : "eip", "task_types" : [ "FULL_INCR_TRANS", "FULL_TRANS", "INCR_TRANS" ], "job_direction" : "up", "cluster_modes" : [ "Independent", "Combined" ], "source_endpoint_type" : "offline", "target_endpoint_type" : "cloud" }, { "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "net_type" : "vpn", "task_types" : [ "FULL_INCR_TRANS", "FULL_TRANS", "INCR_TRANS" ], "job_direction" : "up", "cluster_modes" : [ "Independent", "Combined" ], "source_endpoint_type" : "offline", "target_endpoint_type" : "cloud" } ], "total_count" : 2 } 状态码: 400 Bad Request { "error_code" : "DRS.10000009", "error_msg" : "Parameter error." }
  • 请求示例 查询实时迁移可用链路信息。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/links?job_type=migration 查询实时同步可用链路信息。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/links?job_type=sync 查询实时灾备可用链路信息。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/links?job_type=cloudDataGuard