资讯专栏INFORMATION COLUMN

【产品功能】配置网卡从此与关机无缘,弹性网卡支持热插拔功能

Bryan / 1594人阅读

摘要:现在很高兴的向大家宣布弹性网卡从今天开始支持热插拨,即服务器只要处在稳定状态,就可以对弹性网卡进行插拔操作。弹性网卡热插拔分别可以根据弹性网卡,实例,进行弹性网卡的热插拔。相关参考帮助文档挂载弹性网卡,卸载弹性网卡。

摘要: 本文主要介绍了弹性网卡的热插拨功能改进,弹性网卡插拔对应的实例不再要求必须为 Stopped 状态,现在只要求是稳定状态( Running Stopped )即可。以及介绍了控制台、OpenAPI如何对弹性网卡进行热插拔操作。

背景

在云计算飞速发展的今天,用户ECS服务器身处的网络环境越来越复杂,弹性网卡让ECS服务器完美游走在日益复杂的网络环境中。但是以前服务器必须是Stopped状态才可以进行弹性网卡(ENI)的插拔,这样可能会影响运行在服务器上的业务。现在很高兴的向大家宣布:弹性网卡从今天开始支持热插拨,即ECS服务器只要处在稳定状态(Running Stopped),就可以对弹性网卡进行插拔操作。

弹性网卡热插拔:控制台

控制台操作弹性网卡的位置:进入控制台 -> 云服务器 ECS -> 弹性网卡。
创建弹性网卡:点击创建弹性网卡按钮,在弹窗中填写网卡名称,选择专有网络 交换机 安全组等信息后创建弹性网卡。

热挂载弹性网卡:点击弹性网卡对应的绑定实例按钮,在弹窗中选择要绑定实例。实例状态只要求为稳定状态(Running Stopped)。

热卸载弹性网卡:点击弹性网卡对应的解绑实例按钮,确定即可解绑。实例状态只要求为稳定状态(Running Stopped)。

弹性网卡热插拔:OpenAPI
attach_eni detach_eni 分别可以根据弹性网卡ID,实例ID,进行弹性网卡的热插拔。相关API参考帮助文档:挂载弹性网卡,卸载弹性网卡。

</>复制代码

  1. # coding=utf-8
  2. # if the python sdk is not install using "sudo pip install aliyun-python-sdk-ecs"
  3. # if the python sdk is install using "sudo pip install --upgrade aliyun-python-sdk-ecs"
  4. # make sure the sdk version is 4.7.1, you can use command "pip show aliyun-python-sdk-ecs" to check
  5. import json
  6. import logging
  7. from aliyunsdkcore import client
  8. from aliyunsdkecs.request.v20140526.CreateNetworkInterfaceRequest import CreateNetworkInterfaceRequest
  9. from aliyunsdkecs.request.v20140526.AttachNetworkInterfaceRequest import AttachNetworkInterfaceRequest
  10. from aliyunsdkecs.request.v20140526.DetachNetworkInterfaceRequest import DetachNetworkInterfaceRequest
  11. from aliyunsdkecs.request.v20140526.DeleteNetworkInterfaceRequest import DeleteNetworkInterfaceRequest
  12. # configuration the log output formatter, if you want to save the output to file,
  13. # append ",filename="ecs_invoke.log"" after datefmt.
  14. logging.basicConfig(level=logging.INFO,
  15. format="%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s",
  16. datefmt="%a, %d %b %Y %H:%M:%S")
  17. # send open api request
  18. def _send_request(request):
  19. request.set_accept_format("json")
  20. try:
  21. response_str = clt.do_action(request)
  22. logging.info(response_str)
  23. response_detail = json.loads(response_str)
  24. return response_detail
  25. except Exception as e:
  26. logging.error(e)
  27. # create eni
  28. def create_eni(vSwitchId, securityGroupId, networkInterfaceName=None, primaryIpAddress=None, description=None,
  29. clientToken=None):
  30. request = CreateNetworkInterfaceRequest()
  31. request.set_VSwitchId(vSwitchId)
  32. request.set_SecurityGroupId(securityGroupId)
  33. if (networkInterfaceName != None):
  34. request.set_NetworkInterfaceName(networkInterfaceName)
  35. if (primaryIpAddress != None):
  36. request.set_PrimaryIpAddress(primaryIpAddress)
  37. if (description != None):
  38. request.set_Description(description)
  39. if (clientToken != None):
  40. request.set_ClientToken(clientToken)
  41. _send_request(request)
  42. # attach eni to instance
  43. def attach_eni(eniId, instanceId):
  44. request = AttachNetworkInterfaceRequest()
  45. request.set_NetworkInterfaceId(eniId)
  46. request.set_InstanceId(instanceId)
  47. _send_request(request)
  48. # detach eni from instance
  49. def detach_eni(eniId, instanceId):
  50. request = DetachNetworkInterfaceRequest()
  51. request.set_NetworkInterfaceId(eniId)
  52. request.set_InstanceId(instanceId)
  53. _send_request(request)
  54. # delete eni
  55. def delete_eni(eniId):
  56. request = DeleteNetworkInterfaceRequest()
  57. request.set_NetworkInterfaceId(eniId)
  58. _send_request(request)
  59. if __name__ == "__main__":
  60. clt = client.AcsClient("Your Access Key Id", "Your Access Key Secrect", "cn-zhangjiakou")
  61. vSwitchId = "vsw-test"
  62. securityGroupId = "sg-test"
  63. # create_eni(vSwitchId=vSwitchId, securityGroupId=securityGroupId)
  64. attach_eniId = "eni-test"
  65. attach_instanceId = "i-test"
  66. # attach_eni(attach_eniId, attach_instanceId)
  67. detach_eniId = "eni-test"
  68. detach_instanceId = "i-test"
  69. # detach_eni(detach_eniId, detach_instanceId)
  70. delete_eniId = "eni-test"
  71. # delete_eni(delete_eniId)

小结

现在的弹性网卡热插拔只要求实例为稳定状态即可,改进了以前实例只能为Stopped状态才能插拔弹性网卡的现状。提升了用户体验,现在服务器不用关机就能轻松配置弹性网卡,更加灵活实用。

原文链接

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41728.html

相关文章

  • 解锁高性能计算区块链应用,阿里云Kubernetes服务召唤神龙

    摘要:阿里云容器服务已经发布了基于容器集群的开源区块链解决方案,利用容器技术可以在分钟之内部署完成一个生产级别安全高可用的区块链应用运行环境,帮助企业可以加速业务创新。对节点,阿里云服务会自动开启相应调度能力。 摘要: 阿里云ECS弹性裸金属服务器(神龙)已经与其容器服务全面兼容,用户可以选择在弹性裸金属服务器上直接运行容器、管控Kubernetes/Docker容器集群,如此将会获得非常出...

    KitorinZero 评论0 收藏0
  • 私有云部署-UCloudStack私有云部署之虚拟机

    摘要:虚拟网卡与虚拟机的生命周期一致,无法进行分离,虚拟机被销毁时,虚拟网卡即被销毁。每块虚拟网卡支持绑定一个安全组,提供网卡级别安全控制。平台默认提供块虚拟网卡,若业务有块以上网卡需求可通过绑定弹性网卡,为虚拟机提供多网络服务。虚拟机是 UCloudStack 云平台的核心服务,提供可随时扩展的计算能力服务,包括 CPU 、内存、操作系统等最基础的计算组件,并与网络、磁盘等服务结合提供完整的计算...

    ernest.wang 评论0 收藏0
  • 产品介绍】“弹性裸金属服务器”到底有那些特性?

    摘要:摘要弹性裸金属服务器的八大特性,总结相关特性。那么阿里云弹性裸金属服务器神龙的表现呢在这里我们定义的弹性裸金属服务器是一个新物种,它强调的是弹性,也就是通过技术创新,使得传统裸金属服务能够做到和虚拟机一致的使用体验和业务敏捷。 摘要: 弹性裸金属服务器的八大特性,总结相关特性。那么阿里云弹性裸金属服务器(神龙)的表现呢 在这里我们定义的弹性裸金属服务器是一个新物种,它强调的是弹性,也就...

    tianyu 评论0 收藏0
  • 【云主机 UHost】产品简介:UHost地域可用区,机型CPU平台,主机特性、订单构成配额

    摘要:机型与平台机型云主机根据应用场景将主机区分为快杰型快杰型快杰型快杰型通用型高主频型型总计种机型。不同平台的云主机价格相同。升级过程中云主机无需关机或重启,同时不会对主机上运行的应用和业务产生性能影响。限制目前仅支持及以上的平台的云主机。UHost地域与可用区可用区是一组物理和电力上相互隔离的资源的组合。一个可用区可能是由一个机房、或者多个机房的一部分组合后设计而成,经合理设计后,故障影响范围...

    Tecode 评论0 收藏0

发表评论

0条评论

Bryan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<