新建本地IDC虚拟机

介绍如何在本地IDC环境中新建虚拟机。

前提条件

  • 如需创建内置私有云虚拟机,请确保环境中存在启用状态的宿主机。
  • 如需创建VMware平台虚拟机,请确保环境中已添加了VMware账号。

界面操作

  1. 在左侧导航栏,选择 “主机/主机/虚拟机” 菜单项,进入虚拟机页面。

  2. 单击列表上方 “新建” 按钮,进入新建本地IDC虚拟机页面。

  3. 配置以下参数:

    • 指定项目:管理员和域管理员在新建虚拟机时需要指定虚拟机所属的项目。
    • 区域:选择区域和可用区。
    • 名称:设置虚拟机的名称。
      • 当设置虚拟机数量大于1时,除第一台虚拟机名称外,其他虚拟机名称都以名称-1~N表示。
      • 虚拟机和裸金属共用名称空间。名称在系统中唯一。在项目中创建虚拟机报名称重复错误的原因为其他项目中已存在该名称的虚拟机或裸金属。
      • 名称支持有序后缀占位符#,一个#占一个位置,如名称设置为host##,虚拟机数量为2,创建的虚拟机名称为host00和host01。后续创建虚拟机名称仍设置为host##,名称将沿用之前的排序,编号依次往后。
      • 名称支持表达式,表达式格式为:${变量},如${host},则虚拟机名称显示为创建虚拟机的宿主机的名称。详细说明请参考主机名表达式举例说明
    • 备注:设置虚拟机备注。
    • 到期释放:设置新建虚拟机到期释放前的使用时长,超过设置的时间后虚拟机将会被删除放入回收站。默认不设置到期释放,用户可根据需要设置“1小时”、“6小时”、“1天”、“3天”、“1周”、“1月”或自定义使用时长。
    • 数量:设置创建虚拟机的数量。
    • 平台(本地IDC):选择虚拟机所属的平台为Cloudpods和VMware。
    • CPU架构:目前支持x86和aarch64架构。仅 Cloudpods 平台支持aarch64架构,其他平台默认只支持x86架构。
    • 是否配置GPU:是否为虚拟机配置GPU卡,启用该项后,还需要选择具体GPU卡。
    • CPU核数、内存:设置虚拟机的规格。并可以根据虚拟机规格等选择可用套餐。
    • 套餐:虚拟机套餐为虚拟机CPU、内存规格的组合搭配,不同套餐价格不同。其中本地IDC和私有云套餐可通过云管平台进行维护,用户创建私有云平台的虚拟机时可以选择本地IDC的套餐或私有云平台的套餐。公有云套餐信息同步对应公有云平台上信息。
    • 操作系统:选择虚拟机的镜像,支持从以下方式获取镜像。镜像下拉列表中包括镜像名称、大小、CPU架构、分区方式、引导方式,并支持选中的镜像引导方式自动选择下面的引导方式。
      • VMware平台镜像:支持选择VMware平台上指定VMware账户的镜像,仅VMware平台支持。不在镜像列表中显示。
      • 公共镜像:对应系统镜像列表中的公共镜像,一般为系统常用镜像,由管理员维护。
      • 自定义镜像:对应系统镜像列表中的自定义镜像,一般是由用户上传。
      • 从ISO启动:对应系统镜像列表中的ISO格式的镜像。选择ISO镜像文件时,需要用户为虚拟机安装操作系统。仅Cloudpods和VMware平台支持。
      • 主机镜像:对应主机镜像列表中的主机镜像,仅Cloudpods平台支持。
      • 主机快照:对应主机快照列表中的主机快照,仅Cloudpods和VMware平台支持。
    • 系统盘:根据选择的套餐情况显示并设置不同的磁盘类型以及磁盘的容量大小。公有云平台不支持设置调度标签
      • 当不设置调度标签及调度偏好以及指定块存储时,系统将按照调度策略以及调度标签的默认偏好自动为虚拟机选择最优的存储。
        • 优先检查系统中的调度策略,当有符合的调度策略,将根据调度策略中设置的调度标签及调度标签偏好选择对应存储。调度策略中的调度标签偏好会覆盖调度标签中的默认策略。
        • 当没有符合的调度策略后,将根据存储设备中绑定的调度标签的默认策略选择最优存储。
      • 当设置调度标签和调度标签偏好时,设置的调度标签偏好将覆盖调度标签上的默认策略。根据调度偏好以及调度标签选择提供系统盘的存储。
        • 尽量使用(prefer):调度时优先使用拥有这种标签的存储。
        • 避免使用(avoid):调度时尽量避免拥有这种标签的存储。
        • 禁止使用(exclude):调度时排除拥有这种标签的存储。
        • 必须使用(require):调度时必须使用拥有这种标签的存储。
      • 举例说明:以本地存储为例,本地存储A绑定调度标签A,调度标签A默认策略为尽量使用。本地存储B绑定调度标签B,调度标签B默认策略为禁止使用。调度策略A为当在项目A中创建虚拟机时,选择调度标签B,调度策略偏好为必须使用。
        • 当不设置调度标签时,有以下两种情况。
          • 若虚拟机属于项目A,系统将优先选择本地存储B为虚拟机系统盘提供存储。
          • 当虚拟机不属于项目A,系统将优先选本地存储A为虚拟机系统盘提供存储。
        • 当设置调度标签为A,策略为禁止使用时,系统将会排除本地存储A,选择本地存储B为虚拟机系统盘提供存储。
      • 指定块存储:用户在管理后台视图下支持为磁盘指定块存储,并支持查看存储的使用情况等。
    • 数据盘:可选项,可根据需求添加多块数据盘,设置磁盘的类型及容量大小。磁盘可选类型同系统盘。仅第一块数据盘支持选择磁盘类型,后续添加的数据盘类型同第一块数据盘。
      • 仅Cloudpods平台支持支持设置挂载点、快照建磁盘、设置调度标签。私有云如使用本地存储,也支持设置调度标签功能。
        • 设置调度标签:同系统盘。
        • 设置挂载点:设置数据盘的文件类型(ext4、xfs、swap)、数据盘挂载的非系统目录。设置挂载点和快照建磁盘两者只能设置一个。
        • 快照建磁盘:根据快照创建数据盘。可在本地IDC中查看已存在的快照。设置挂载点和快照建磁盘两者只能设置一个。
    • 管理员账号:显示虚拟机的管理员账号
    • 管理员密码:设置管理员密码,在Linux系统中为root用户的密码,在Windows操作系统中为administrator用户的密码。
      • 随机生成:随机生成管理员密码,用户可在虚拟机列表密码列查看复制管理员密码
      • 关联密钥:在关联密钥之前需要先新建密钥。关联密钥后,用户需要使用私钥远程登录虚拟机。
      • 保留镜像设置:管理员密码为镜像中已有的管理员密码。
      • 手工输入:可手动设置管理员密码。
    • 网络:设置虚拟机的IP地址。
      • 自动调度:当选择自动调度时,将从启用自动调度的IP子网中为虚拟机分配IP地址。
      • 指定IP子网:选择VPC和IP子网,如需指定静态IP,可单击 “手动配置IP” 按钮,设置IP地址,如需指定MAC地址,可可单击 “手动配置MAC地址” 按钮,设置MAC地址。
      • 指定调度标签:设置调度标签以及调度标签偏好。设置的调度标签偏好将会覆盖调度标签上的默认策略。根据调度标签及调度偏好选择最优的IP子网。
        • 尽量使用(prefer):调度时优先使用拥有这种标签的IP子网。
        • 避免使用(avoid):调度时尽量避免拥有这种标签的IP子网。
        • 禁止使用(exclude):调度时排除拥有这种标签的IP子网。
        • 必须使用(require):调度时必须使用拥有这种标签的IP子网。
    • 举例说明:如IP子网A绑定调度标签A,默认策略为禁止使用。IP子网B绑定调度标签B,默认策略为尽量使用。调度策略A为当虚拟机属于项目A,选择调度标签A,调度标签偏好为必须使用。
      • 当创建虚拟机时网络选择默认时,有以下两种情况。
        • 当虚拟机属于项目A时,系统将选择IP子网A为虚拟机分配IP地址。
        • 当虚拟机不属于项目A时,系统将选择IP子网B为虚拟机分配IP地址。
      • 当创建虚拟机时网络选择指定IP子网A,系统将选择IP子网A为虚拟机分配IP地址。
      • 当创建虚拟机时网络选择调度标签A,且标签偏好为必须使用,则系统会从IP子网A中为虚拟机分配一个未使用的IP地址。
    • 标签:支持为新建的虚拟机绑定标签。支持选择已有标签和新建标签。
      • 新建标签:单击列表上方 新建 按钮,设置标签键和标签值,单击 “添加” 按钮,新建标签并绑定到资源上。
      • 选择已有标签:单击 “已有标签” 按钮,选择标签键和值。

    高级配置:默认隐藏,可根据需求进行配置。

    • 弹性公网IP:弹性公网IP是一种NAT IP,通过与虚拟机绑定,实现虚拟机与公网之间的通信。默认为暂不绑定,当选择“新建”时,需要配置以下参数:
      • 线路类型:可根据需求创建对应线路类型的EIP。
      • 网络计费方式:设置弹性公网IP的计费方式,包括按流量计费和按带宽计费。
        • 按流量计费:按实际传输流量收费,可限制峰值带宽避免意外流量带来的费用,当瞬间带宽超过该值时将丢包,适用于网络波动大的场合。
        • 按带宽计费:按传输速率计费,选择固定带宽,超过带宽时将丢包,适用于网络波动较小的场景。
      • 带宽:设置带宽大小。
    • 主机名:设置虚拟机操作系统内部的计算机名。
    • 安全组:为虚拟机设置安全组规则,安全组是一种虚拟的包过滤防火墙,通过设置安全组规则来控制关联的虚拟机是否可以被访问,以及虚拟机可访问的外部资源等。一个虚拟机最多支持绑定5个安全组。
    • 调度策略:通过调度策略可以选择虚拟机所属的宿主机或云账号。
      • 默认:系统将根据调度策略以及调度标签为虚拟机选择最优的宿主机。
        • 优先检查系统中的调度策略,如有符合的调度策略,将根据调度策略中的调度标签及调度标签偏好选择最优的宿主机。调度策略中的调度标签偏好会覆盖调度标签中的默认策略。
        • 当没有符合的调度策略,系统将根据宿主机绑定的调度标签的默认策略来选择最优的宿主机。
      • 指定宿主机:虚拟机将在指定的宿主机上创建。
      • 指定调度标签:设置调度标签以及调度标签的偏好。设置的调度标签偏好将会覆盖调度标签的默认策略。根据调度标签及调度标签偏好选择对应的宿主机。
        • 尽量使用(prefer):调度时优先使用拥有这种标签的宿主机。
        • 避免使用(avoid):调度时尽量避免拥有这种标签的宿主机。
        • 禁止使用(exclude):调度时排除拥有这种标签的宿主机。
        • 必须使用(require):调度时必须使用拥有这种标签的宿主机。
      • 举例说明:如宿主机A绑定调度标签A,调度标签A的策略为禁止使用。宿主机B绑定调度标签B,调度标签B的策略为尽量使用。调度策略A为当在项目A中创建虚拟机时,选择调度标签A,调度策略偏好为必须使用。
        • 当创建虚拟机时调度策略选择默认时,有以下两种情况。
          • 当虚拟机属于项目A时,系统将选择在宿主机A上创建虚拟机。
          • 当虚拟机不属于项目A时,系统将选择宿主机B上创建虚拟机。
        • 当选择调度标签A,且设置调度标签偏好为必须使用时,系统将选择在宿主机A上创建虚拟机。
    • 引导方式:包括BIOS和UEFI模式,仅Cloudpods平台支持,且aarch64架构仅支持UEFI模式。
    • 远程终端协议:包括VNC和SPICE,仅Cloudpods平台支持。
      • VNC:主要用于linux的服务器的管理,由于无声音和usb传输,不满足于虚拟桌面的使用。
      • SPICE:在色彩、音频和usb方面等表现较好,适用于虚拟桌面。
    • 显卡型号:包括Standard和QXL,当远程终端协议选择VNC时,显卡型号可设置为Standard和QXL,当远程终端协议为SPICE时,显卡型号仅可设置为QXL,仅Cloudpods平台支持。
    • 主机型号:包括PC和Q35,仅Cloudpods平台支持。
    • 备份机:仅Cloudpods平台支持且要求虚拟机所在域或共享给虚拟机所在域使用的宿主机不低于2台,通过为虚拟机创建备份机来实现高可用,虚拟机与备份机之间定时同步数据,当虚拟机故障时,业务将切换到备份机上正常使用。可以快速恢复业务,减少因为虚拟机故障造成的业务宕机时间。当启用高可用功能时,需要指定备份机的宿主机。
    • 反亲和组:选择是否勾选反亲和组,若勾选,则需要选择反亲和组,新创建的虚拟机需要根据反亲和组内的调度规则选择宿主机等,若不满足调度规则,则可能创建失败,仅Cloudpods平台支持。
  4. 设置完成后,用户可单击 新建 按钮,创建虚拟机。

  5. 若启用了工单,则需要填入申请原因,单击 “提交工单” 按钮,提交创建虚拟机的工单,等待审批通过后才会开始创建虚拟机。

climc操作

climc server-create 命令提供创建云主机的操作。 Cloudpods 可以同时管理多个私有云和公有云,不同供应商有各自的认证方式,在创建云主机之前需要做一些不同的准备工作。

创建机器命令为 server-create,可以使用 climc server-create --help 查看创建 server 的所有参数,常用的参数如下:

参数名称类型作用
–ncpuint虚拟机 cpu 个数
–disk[]string指定创建的系统盘镜像,指定多次表示虚拟机创建多块磁盘
–net[]string指定虚拟机使用的网络,指定多次将在虚拟机里面添加多个网卡
–allow-deletebool允许删除虚拟机
–auto-startbool创建完自动启动
–passwordstring设置虚拟机密码
–tenantstring创建到指定的项目
–prefer-regionstring创建到指定的 region
–prefer-zonestring创建到指定的 zone
–prefer-hoststring创建到指定的 host

下面以举例的方式创建机器:

待创建规格:

名称平台套餐内存cpu系统盘网络其他
vm1kvm-4g4centos7.qcow2 60gnet12块数据盘, 一块100g ext4 挂载到 /opt,另外一块 50g xfs 挂载到 /data; 自动启动
vm2esxi-2g2ubuntu18.04.qcow2 100gnet2允许删除
vm3opnstackt2.nano--centos6.qcow2net3-
# 创建 kvm vm1
$ climc server-create --hypervisor kvm --disk centos7.qcow2:60g --disk 100g:ext4:/opt --disk 50g:xfs:/data --ncpu 4 --net net1 --auto-start vm1 4g

主机名表达式举例说明

主机(包括虚拟机和裸金属)名称支持表达式,表达式格式为:${变量名},变量名需要小写。如${host},则虚拟机名称显示为创建虚拟机的宿主机的名称;${region}-${zone},则显示为区域名-可用区名称等。

支持的变量名如下:

变量名举例说明
brandaliyun品牌
charge_typepostpaid计费方式
cloud_envonpremise/public/private用于区分本地IDC、私有云和公有云平台
cloudregion_iddefault区域id
cpu1CPU数量
hostgobuild主机名
host_id16f49f8a-88cc-4715-8870-f78130196fa9主机id
ip_addr192.168.1.1IP地址
mem1024内存
os_distribution操作系统CentOS
os_typeLinux操作系统类型
os_version6.9操作系统版本
owner_tenantsystem项目
owner_tenant_idd56f5c37e36a42b782d7f32b19497c4c项目id
providerOpenStack提供方
regionDefault区域
region_idkvm虚拟化方式
res_nameserver资源类别
template_id5199f56b-01c2-425c-8e29-0179d283e4a3模板id
zonezone1可用区
zone_id00f3f3c6-1d16-4053-81f1-4cb092f418f5可用区id

最后修改 19.07.2019