更新时间:2022-06-22 GMT+08:00

创建支持IB网卡的弹性云服务器

操作场景

您可以在几分钟之内快速获得基于公有云平台的弹性云服务器设施,并且这些设施是弹性的,可以根据需求伸缩。该任务指导用户如何创建支持IB网卡的弹性云服务器,包括管理控制台方式和基于HTTPS请求的API(Application programming interface)方式。

控制台方式

  1. 登录管理控制台。
  2. 选择“计算 > 弹性云服务器”。

    进入弹性云服务器信息页面。

  3. 单击“创建弹性云服务器”,开始创建弹性云服务器。
  4. 根据表1,填写待创建弹性云服务器的基本信息。
    表1 参数说明

    参数

    解释

    取值样例

    区域

    如果所在区域不正确,请单击页面左上角的进行切换。

    亚太-新加坡

    可用区

    指在同一地域下,电力、网络隔离的物理区域,可用分区之内内网互通,不同可用分区之间物理隔离。

    • 如果您需要提高应用的高可用性,建议您将云服务器创建在不同的可用分区。
    • 如果您需要较低的网络时延,建议您将弹性云服务器创建在相同的可用区。

    az-01

    规格

    选择H2或HI3型弹性云服务器。

    h2.4xlarge.8

    专属主机

    不涉及该参数。

    HPC为单主机单个弹性云服务器场景,用户无需指定专属主机。

    -

    镜像

    • 公共镜像

      常见的标准操作系统镜像,所有用户可见,包括操作系统以及预装的公共应用。请根据您的实际情况自助配置应用环境或相关软件。

      选择“公共镜像”,并展开下拉框,选择所需的公共镜像。

    • 私有镜像

      用户基于弹性云服务器创建的个人镜像,仅用户自己可见。包含操作系统、预装的公共应用以及用户的私有应用。选择私有镜像创建弹性云服务器,可以节省您重复配置弹性云服务器的时间。

      选择“私有镜像”,并展开下拉框,选择所需的私有镜像。您可以选择使用加密镜像,更多关于加密镜像的信息,请参见《镜像服务用户指南》。

    • 共享镜像

      用户将接受公有云其他用户共享的私有镜像,作为自己的镜像进行使用。

      选择“共享镜像”,并展开下拉框,选择所需的共享镜像。

    • 市场镜像

      提供预装操作系统、应用环境和各类软件的优质第三方镜像。无需配置,可一键部署,满足建站、应用开发、可视化管理等个性化需求。

      选择“市场镜像”,并单击“选择镜像”,选择所需的市场镜像。

    公共镜像

    许可证类型

    可选参数,在公有云平台上使用操作系统或软件的许可证类型。

    如果您选择的镜像为免费的,则系统不会展示该参数。如果您选择的镜像为计费镜像(SUSE、Oracle Linux、RedHat),此时系统会展示该参数。

    • 使用平台许可证

      使用公有云平台提供的许可证,申请许可证需要支付一定的费用。

    • 使用自带许可证(BYOL)

      使用用户已有操作系统的许可证,无需重新申请。

    Bring your own license (BYOL)

    磁盘

    也称云硬盘,包括系统盘和数据盘。

    • 系统盘

      如果镜像未加密,则系统盘也不加密,并在界面上显示“Unencrypted”。如果您选择加密镜像,系统盘会自动加密,具体请参见• 加密涉及的参数(可选配置)

    • 数据盘

      您可以为弹性云服务器添加多块数据盘,并设置每块数据盘的设备类型,以及共享、加密功能。

      • SCSI:勾选后,数据盘的设备类型为SCSI。它支持SCSI指令透传,允许云服务器操作系统直接访问底层存储介质。除了简单的SCSI读写命令,SCSI类型的云硬盘还支持更高级的SCSI命令。
        说明:

        如果不勾选,默认创建VBD类型的云硬盘,该类型云硬盘只支持简单的SCSI读写命令。

      • 共享盘:勾选后,数据盘为共享云硬盘。该共享盘可以同时挂载给多台云服务器使用。
      • 加密:勾选后,数据盘加密,具体请参见• 加密涉及的参数(可选配置)
    • 加密涉及的参数(可选配置)

      为了使用加密特性,需单击“Create Xrole”授权EVS访问KMS。如果您有授权资格,则可直接授权,如果权限不足,需先联系拥有Security Administrator权限的用户授权,然后再重新操作。

      • Encrypted:表示云硬盘已加密。
      • Create Xrole:用于授权EVS访问KMS获取KMS密钥。授权成功后,无需再次授权。
      • 密钥名称:该加密云硬盘使用的密钥名称,默认为evs/default。
      • Xrole名称:EVSAccessKMS:表示已授权EVS获取KMS密钥,用于加解密云硬盘。
      • 密钥ID:该加密数据盘使用的密钥的ID。

    更多关于云硬盘类型、设备类型、共享云硬盘、加密等信息,请参见《云硬盘用户指南》。

    系统盘:超高I/O,40GB

  5. 设置网络,包括“虚拟私有云”、“安全组”、“网卡”、“弹性IP”等信息。

    第一次使用公有云服务时,系统将自动为您创建一个虚拟私有云,包括安全组、网卡。

    表2 参数说明

    参数

    解释

    取值样例

    虚拟私有云

    弹性云服务器网络使用虚拟私有云(VPC)提供的网络,包括子网、安全组等。

    您可以选择使用已有的虚拟私有云网络,或者单击“查看虚拟私有云”创建新的虚拟私有云。

    说明:

    对于HPC集群中的弹性云服务器,需要属于同一VPC、同一子网内。

    -

    安全组

    安全组用来实现安全组内和安全组间弹性云服务器的访问控制,加强弹性云服务器的安全保护。用户可以在安全组中定义各种访问规则,当弹性云服务器加入该安全组后,即受到这些访问规则的保护。

    创建弹性云服务器时,可支持选择多个安全组(建议不超过5个)。此时,弹性云服务器的访问规则遵循几个安全组规则的并集。

    说明:

    弹性云服务器初始化需要确保安全组出方向规则满足如下要求:

    • 协议:TCP
    • 端口范围:80
    • 远端地址:169.254.0.0/16

    如果您使用的是默认安全组出方向规则,则已经包括了如上要求,可以正常初始化。默认安全组出方向规则为:

    • 协议:ANY
    • 端口范围:ANY
    • 远端地址:0.0.0.0/16

    -

    网卡

    包括主网卡和扩展网卡。

    您可以添加多张扩展网卡,并指定网卡(包括主网卡)的IP地址。

    -

    弹性公网IP

    弹性公网IP是指将公网IP地址和路由网络中关联的弹性云服务器绑定,以实现虚拟私有云内的弹性云服务器通过固定的公网IP地址对外提供访问服务。

    必须绑定弹性公网IP,您可以根据实际情况进行选择:

    • 现在购买:自动为每台弹性云服务器分配独享带宽的弹性IP,带宽值可以由您设定。
    • 使用已有:为弹性云服务器分配已有弹性IP。使用已有弹性IP时,不能批量创建弹性云服务器。

    现在购买

  6. 设置“登录方式”。
    “密钥对”方式创建的弹性云服务器安全性更高,建议选择“密钥对”方式。如果您习惯使用“密码”方式,请增强密码的复杂度,如表3所示,保证密码符合要求,防止恶意攻击。
    • 密钥对

      指使用密钥对作为弹性云服务器的鉴权方式。您可以选择使用已有的密钥,或者单击“查看密钥对”创建新的密钥。

      如果选择使用已有的密钥,请确保您已在本地获取该文件,否则,将影响您正常登录弹性云服务器。

    • 密码

      指使用设置root用户(Linux)和Administrator用户(Windows)的初始密码作为弹性云服务器的鉴权方式,如果选择此方式,您可以通过用户名密码方式登录弹性云服务器。

      Linux操作系统时为root用户的初始密码,Windows操作系统时为Administrator用户的初始密码。

      表3 密码设置规则

      参数

      规则

      样例

      密码

      • 密码长度范围为8到26位。
      • 密码至少包含以下4种字符中的3种:
        • 大写字母
        • 小写字母
        • 数字
        • Windows操作系统云服务器特殊字符:包括“$”“!”“@”“%”“-”“_”“=”“+”“[”“]”“:”“.”“/”“,”“?”
        • Linux操作系统云服务器特殊字符:包括“!”“@”“%”“-”“_”“=”“+”“[”“]”“:”“.”“/”“^”“,”“{”“}”“?”
      • 密码不能包含用户名或用户名的逆序。
      • Windows操作系统的云服务器,不能包含用户名中超过两个连续字符的部分。

      YNbUwp!dUc9MClnv

      说明:

      样例密码随机生成,请勿复制使用样例。

      系统不会定期自动修改弹性云服务器密码。为安全起见,建议您定期修改密码。

  7. 高级配置
    可选配置,如需使用“高级配置”中的功能,请单击“现在配置”。否则,请单击“暂不配置”。
    • 文件注入

      可选配置,主要用于创建弹性云服务器时向弹性云服务器注入脚本文件或其他文件。配置文件注入后,系统在创建弹性云服务器时自动将文件注入到指定目录下。

    • 用户数据注入

      可选配置,主要用于创建弹性云服务器时向弹性云服务器注入用户数据。配置用户数据注入后,弹性云服务器首次启动时会自行注入数据信息。

    • 云服务器组

      可选配置,云服务器组内的弹性云服务器将遵循反亲和策略,尽量分散地创建在不同主机上。

      如果您使用SCSI类型的共享云硬盘作为数据盘,此时,为支持SCSI锁命令,建议您设置待创建弹性云服务器的云服务器组。

    • 标签

      对弹性云服务器的标识。

      可选配置,给弹性云服务器添加标签,方便识别和管理您拥有的弹性云服务器资源。

  8. 设置“云服务器名称”。

    名称可自定义,但需符合命名规则:只能由中文字符、英文字母、数字及“_”、“-”、“.”组成。

    如果同时创建多台弹性云服务器,系统会自动按序增加后缀。

  9. 设置您创建弹性云服务器的数量。

    设置完成后,您可通过单击“价格计算器”,查询当前配置的费用。

  10. 单击“立即申请”。
  11. 在确认规格页面,您可以查看规格详情并提交申请。

    如果您确认规格无误,单击“提交申请”。

    弹性云服务器创建成功后,您可以在弹性云服务器信息页面看到您新创建的弹性云服务器。

  12. (可选)如果您创建弹性云服务器时添加了数据盘,待弹性云服务器创建完成后,需要初始化数据盘。

    操作方法请参考《云硬盘用户指南》中的“初始化数据盘”。

API方式

以创建H2型弹性云服务器为例:

  1. 获取Token。
    • URI

      POST /v3/auth/tokens

    • 请求样例
      curl -i -k -H 'Accept:application/json;charset=utf8' -H 'Content-Type:application/json' -d '
      {"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "$OS_USERNAME","password": "$OS_PASSWORD","domain": {"name”:”$OS_USER_DOMAIN_NAME”"}}}},"scope": {"project": {"name": "eu-de"}}}}' -X POST https://iam.eu-de.otc.t-systems.com/v3/auth/tokens
    • 响应样例
      图1 获取Token响应样例
  2. 创建VPC。
    • URI

      POST /v1/{$tenant_id}/ vpcs

    • 请求样例
      curl -i -k -H 'Accept:application/json;charset=utf8' -H 'Content-Type:application/json' -H "X-Auth-Token:$TOKEN " -d '
      {
            "vpc": {
                     "name": "vpc-test",
                     "cidr": "192.168.0.0/16"
            }
      }' -X POST https://iam.eu-de.otc.t-systems.com:443/v1/{$tenant_id}/vpcs
    • 响应样例

      VPC-id: 97701dc4-bfd3-4021-8b89-044486c8b317

      图2 创建VPC响应样例
  3. 创建子网。
    • URI

      POST /v1/{$tenant_id}/subnets

    • 请求样例
      curl-i-k-H'Accept: application/json;charset=utf8'-H'Content-Type: application/json'-H"X-Auth-Token:$TOKEN "-d'{
          "subnet": {
              "name": "subnet_test",
              "cidr": "192.168.30.0/24",
              "gateway_ip": "192.168.30.1",
              "dhcp_enable": "true",
              "primary_dns": "114.114.114.114",
              "secondary_dns": "114.114.115.115",
              "availability_zone": "eu-de-01",
              "vpc_id": "97701dc4-bfd3-4021-8b89-044486c8b317"
          }
      }'-XPOSThttps: //iam.eu-de.otc.t-systems.com: 443/v1/{
          $tenant_id
      }/subnets
    • 响应样例

      Subnet-id: 6712fc43-a196-4973-8b5e-5e4763f6449b

      图3 创建子网响应样例
  4. 创建EIP。
    • URI

      POST /v1/{$tenant_id}/publicips

    • 请求样例
      curl -i -k -H 'Accept:application/json;charset=utf8' -H 'Content-Type:application/json' -H 'X-Auth-Token:$TOKEN ' -d '{"publicip":{"type":"5_bgp"},"bandwidth":{"name":"apiTest","size":111,"share_type":"PER","charge_mode":"traffic"}}' -X POST https://iam.eu-de.otc.t-systems.com:443/v1/{$tenant_id}/publicips
    • 响应样例

      EIP:160.44.202.11

      EIP ID: ce6699ba-5f0f-4963-a03e-c6277a9fdaf9

      图4 创建EIP响应样例
  5. 查看规格列表。
    • Client方式

      执行以下命令,查看规格列表。

      nova flavor-list

      图5 查看规格列表

      nova flavor-list | grep h2

      图6 查看H2型规格列表
    • Curl命令方式
      • URI

        GET /v2/{$tenant_id}/flavors/detail

      • 请求样例
        curl -g -i -X GET https://iam.eu-de.otc.t-systems.com:443/v2/{$tenant_id}/flavors/detail -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: $TOKEN"
      • 响应样例

        Flavor id Example: h2.3xlarge.10

        图7 查看规格列表响应样例
  6. 查看镜像列表。
    • Client方式

      执行以下命令,查看镜像列表。

      glance image-list

      图8 查看镜像列表
    • Curl命令方式
      • URI

        GET /v2/{$tenant_id}/images/detail

      • 请求样例
        curl -g -i -X GET https://iam.eu-de.otc.t-systems.com:443/v2/{$tenant_id}/images/detail -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token:$TOKEN"
      • 响应样例

        Image id Example: 7474de73-9618-4c6a-afaa-df60df57c9b9

        图9 查看镜像列表响应样例
  7. 创建弹性云服务器。
    • URI

      POST /v2/{project_id}/servers

    • 请求样例
      curl -i -k -H 'Accept:application/json;charset=utf8' -H 'Content-Type:application/json' -H 'X-Auth-Token:$TOKEN' -d '{"server": {"availability_zone": "eu-de-01","adminPass": "Test@123","name": "h2_vm","flavorRef": "h2.3xlarge.10","networks": [{"uuid":"6712fc43-a196-4973-8b5e-5e4763f6449b"}],"imageRef":"7474de73-9618-4c6a-afaa-df60df57c9b9"}}' -X POST https://46.29.103.37:443/v2/240bb6c5e42849669fc49933c185232b/servers
    • 响应样例
      {
          "server": {
              "security_groups": [
                  {
                      "name": "default"
                  }
              ],
              "OS-DCF:diskConfig": " MANUAL",
              "id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a",
              "links": [
                  {
                      "href": "https://46.29.103.37:443/v2/240bb6c5e42849669fc49933c185232b/servers/877a2cda-ba63-4e1e-b95f-e67e48b6129a",
                      "rel": "self"
                  },
                  {
                      "href": "http://46.29.103.37:443/240bb6c5e42849669fc49933c185232b/servers/877a2cda-ba63-4e1e-b95f-e67e48b6129a",
                      "rel": "bookmark"
                  }
              ],
              "adminPass": "******"
          }
      }
  8. 执行以下命令,查看弹性云服务器的网卡ID。

    nova interface-list {$VMID}

    系统回显类似如下:

    图10 查看网卡ID

    则查看的网卡ID为“Vmid= eaf85b32-9912-4630-a9db-ab2d9b7c18b4”。

  9. 执行以下命令,创建数据盘。

    cinder create --name datavolume --volume-type SATA --availability-zone eu-de-01 60

    系统回显类似如下:

    图11 创建数据盘

    则创建的数据盘ID为“Datadiskid= d3a60e1a-3922-4821-883c-a7b8a19e0856”。

  10. 执行以下命令,检查数据盘状态。

    cinder show {volumeId}

    如果数据盘状态为可用,则可以将其挂载至弹性云服务器上。

  11. 执行以下命令,挂载可用的数据盘至弹性云服务器。

    nova volume-attach {serverId} {volumeId} device_name

    示例:

    nova volume-attach f6959ab0-7e3d-4efe-94f0-f48f9f4dc176 d3a60e1a-3922-4821-883c-a7b8a19e0856 /dev/sdb

    图12 挂载数据盘
  12. 绑定弹性公网IP。
    • URI

      PUT /v1/{$tenant_id}/publicips/{EIPid}

    • 请求样例
      curl -i -k -H 'Accept:application/json;charset=utf8' -H 'Content-Type:application/json' -H 'X-Auth-Token:$TOKEN' -d '{"publicip":{"port_id":"eaf85b32-9912-4630-a9db-ab2d9b7c18b4"}}' -X PUT https://46.29.103.37:443/v1/{$tenant_id}/publicips/ce6699ba-5f0f-4963-a03e-c6277a9fdaf9
    • 响应样例
      图13 绑定弹性公网IP响应样例