所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.1 用户指南 (Region Type II) 10

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
通过弹性云服务器创建Linux私有镜像

通过弹性云服务器创建Linux私有镜像

概述

背景信息

镜像服务支持基于已有的云服务器创建私有镜像的功能。您可以通过私有镜像批量创建弹性云服务器,方便企业业务迁移与业务的批量部署。

例如,通过私有镜像文件创建的伸缩配置,在弹性伸缩活动触发后,根据伸缩策略自动增加的云服务器软件配置会与已有云服务器完全一致。同时搭载弹性负载均衡,可以实现伸缩组内弹性云服务器的流量分发,确保业务稳定运行。

用户可以通过已安装Linux操作系统的弹性云服务器来创建Linux私有镜像。

约束与限制
  • 磁盘格式为ISO的镜像创建的云服务器,不支持申请私有镜像。
  • 软删除的云服务器不能用于申请私有镜像。
  • 已过期的云服务器不能用于申请私有镜像。
操作步骤
  1. 配置Linux弹性云服务器。

    1. 查看并设置弹性云服务器的网卡属性。

      请参见查看并设置弹性云服务器的网卡属性

    2. 查看并清理网络规则文件。

      请参见查看并清理网络规则文件

    3. 是否希望使用私有镜像创建的新弹性云服务器可以自定义配置?
      • 是,执行1.d
      • 否,执行1.e
    4. 安装Cloud-init工具。

      请参见安装Cloud-init工具

    5. 查看并卸载弹性云服务器的数据盘。

      请参见查看并卸载弹性云服务器的数据盘

  2. 创建Linux私有镜像。

    请参见申请Linux私有镜像

查看并设置弹性云服务器的网卡属性

背景信息

如果创建Linux私有镜像所使用的弹性云服务器网络配置为静态IP地址,用户需要将该弹性云服务器的网卡属性修改为DHCP方式。

不同操作系统配置方法略有区别,请参考对应操作系统的相关资料进行操作。

  • Red Hat系列/CentOS系列/Oracle Enterprise Linux系列/EulerOS系列

    使用VI编辑器在“/etc/sysconfig/network-scripts/ifcfg-ethX”配置文件中添加PERSISTENT_DHCLIENT="y"。

  • Suse系列

    使用VI编辑器将“/etc/sysconfig/network/dhcp”配置文件中的DHCLIENT_USE_LAST_LEASE设置为no。

  • Ubuntu12.04

    将dhclient升级为ISC dhclient 4.2.4以支持网卡持续DHCP获取IP地址能力。具体升级方法请参见操作系统相关文档。

本节操作以Ubuntu14.04操作系统为例,介绍检查及设置弹性云服务器网卡属性的方法。

前提条件

已登录创建Linux私有镜像所使用的弹性云服务器。

登录弹性云服务器的相关操作请参见登录弹性云服务器

操作步骤
  1. 在弹性云服务器上执行以下命令,使用vi编辑器打开“/etc/network/interfaces”文件,查看网卡的网络配置。

    vi /etc/network/interfaces

    • 信息显示所有网卡的网络配置为DHCP模式时,如图13-66所示,无需重复设置网卡属性,输入“:q”退出编辑器。
      图13-66 网卡的网络配置为DHCP模式
    • 信息显示网卡的网络配置为静态IP地址时,如图13-67所示,请执行步骤 2
      图13-67 网卡的网络配置为静态IP地址

  2. 按“i”进入编辑模式。
  3. 删除静态IP设置的相关内容,然后将对应的网卡设置为DHCP方式,如图13-68所示。

    用户也可以使用“#”注释掉静态IP设置的相关内容。

    图13-68 设置网卡为DHCP方式

    如果用户有多个网卡,请将剩余网卡按照上述方法设置为DHCP方式,如图13-69所示。

    图13-69 设置多个网卡为DHCP方式

  4. 按“ESC”后,输入“:wq”,按“Enter”。

    保存设置并退出编辑器。

查看并清理网络规则文件

背景信息

本节介绍通过弹性云服务器创建Linux私有镜像时,如何查看和清理网络规则文件。

前提条件

已登录创建Linux私有镜像所使用的弹性云服务器。

操作步骤
  1. 在弹性云服务器上执行以下命令,查看网络规则目录下的文件。

    ls -l /etc/udev/rules.d

  2. 回显中文件名是否同时包含“persistent”和“net”?

    例如:
    70-persistent-net.rules
    • 是,执行步骤 3
    • 否,任务结束。

  3. 删除网络规则目录下,文件名同时包含“persistent”和“net”的规则文件。

    例如:

    rm /etc/udev/rules.d/30-net_persistent-names.rules

    rm /etc/udev/rules.d/70-persistent-net.rules

    命令中斜体部分会根据用户的实际环境有区别。

    说明:

    删除网络规则后,请不要重启弹性云服务器,否则清理的网络规则又会重新生成。

安装Cloud-init工具

背景信息

为了保证使用私有镜像创建的新弹性云服务器可以自定义配置,建议用户在创建私有镜像前安装Cloud-init工具。不安装Cloud-init工具,将无法对弹性云服务器进行自定义配置,只能使用镜像原有密码登录弹性云服务器。

Linux操作系统安装Cloud-init工具时需要从官网下载并安装。

前提条件
  • 已登录Linux弹性云服务器。
  • Linux弹性云服务器的网卡属性为DHCP方式。
操作步骤
  1. 是否已经安装Cloud-init工具?

    说明:

    在不同的操作系统下,查看是否已经安装Cloud-init工具的方法不同,以CentOS 6 系列为例,执行以下命令查看是否安装Cloud-init工具。

    rpm -qa |grep cloud-init

    回显类似如下,表示已经安装Cloud-init工具。
    cloud-init-0.7.5-10.el6.centos.2.x86_64

  2. 弹性云服务器中的证书是否使用?

  3. 删除弹性云服务器中的证书

    • 对root用户对应目录下的文件(如“/$path/$to/$root/.ssh/authorized_keys”)执行以下命令。

      cd /root/.ssh

      rm authorized_keys

    • 对非root用户对应目录下的证书文件(如“/$path/$to/$none-root/.ssh/authorized_keys”),执行以下命令。

      cd /home/centos/.ssh

      rm authorized_keys

    说明:

    设置完成后请勿重启弹性云服务器,否则,需重新设置。

  4. 执行以下命令,确保Linux镜像创建的弹性云服务器可以使用创建弹性云服务器证书方式登录。

    sudo rm -rf /var/lib/cloud/*

    说明:

    设置完成后请勿重启弹性云服务器,否则,需重新设置。

  5. 安装Cloud-init工具。

    Cloud-init安装方式分为两种。

    • 方法一 采用官方提供的包源进行安装(推荐)

      在不同操作系统的弹性云服务器上安装Cloud-init工具的方法不同,请在root用户下执行相关安装操作。

      以下将介绍SUSE、CentOS、RedHat、Fedora、Debian和Ubuntu操作系统安装Cloud-init工具的具体方法。其他操作系统类型,请安装并配置对应的类型的Cloud-init工具,例如,使用CoreOS操作系统时需安装并配置coreos-cloudinit。

      对于SUSE和OpenSUSE操作系统,请进行以下操作以禁止动态修改弹性云服务器名称。

      使用vi编辑器打开“dhcp”文件。

      vi etc/sysconfig/network/dhcp

      将“dhcp”文件中的“DHCLIENT_SET_HOSTNAME”的值修改为“no”。

    • 方法二 采用官方提供的cloud-init源码包通过pip方式进行安装

      以cloud-init-0.7.5版本为例,Cloud-init工具的安装步骤如下。

      1. 下载cloud-init-0.7.5.tar.gz源码包(推荐优先选用0.7.5版本),上传到虚拟机指定目录/home/下。

        cloud-init-0.7.5.tar.gz源码包下载地址。

        https://launchpad.net/cloud-init/trunk/0.7.5/+download/cloud-init-0.7.5.tar.gz

      2. 在~/.pip/目录下新建pip.conf文件,编辑内容如下。

        [global]

        index-url = https://<$mirror>/simple/

        trusted-host = <$mirror>

        说明:

        编辑内容中<$mirror>部分可以选择公网PyPI源或教育网PyPI源进行替换。

        • 公网PyPI源:https://pypi.python.org/simple/
        • 教育网PyPI源:https://pypi.tuna.tsinghua.edu.cn/simple/

          https://pypi.mirrors.ustc.edu.cn/simple/

      3. 执行以下命令,安装本地下载的cloud-init源码包,安装过程中根据需要选择--upgrade参数。

        # pip install [--upgrade] /home/cloud-init-0.7.5.tar.gz

      4. 执行命令cloud-init -v,如回显信息如下表示安装Cloud-init成功。
        cloud-init 0.7.5
      5. 操作系统厂商需要根据以下情形设置Cloud-init相关服务为开机自启动。
        • 若操作系统是sysvinit自启动管理服务,则执行以下命令进行设置。

          # chkconfig --add cloud-init-local; chkconfig --add cloud-init; chkconfig --add cloud-config; chkconfig --add cloud-final

          # chkconfig cloud-init-local on; chkconfig cloud-init on; chkconfig cloud-config on; chkconfig cloud-final on

          # service cloud-init-local status; service cloud-init status; service cloud-config status; service cloud-final status

        • 若操作系统是systemd自启动管理服务,则执行以下命令进行设置。

          # systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service

          # systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service

          采用官方提供的Cloud-init源码包通过pip方式进行安装时要注意以下两点。

          • Cloud-init安装时需要添加syslog用户到adm组。存在syslog用户直接添加syslog用户到adm组。不存在syslog用户(如RHEL、CentOS和SLES),执行下列命令创建syslog用户,添加到adm组:

            # useradd syslog

            groupadd adm

          • 在/etc/cloud/cloud.cfg中system_info部分的distro要根据具体操作系统发行版本做相应修改(如根据具体操作系统发行版相应修改为:distro: ubuntu,distro: rhel,distro: sles,distro: debian, distro: fedora)。

  6. 根据用户类型配置登录弹性云服务器的用户权限。

    1. 选择使用登录弹性云服务器的帐户类型。
      • 使用普通帐户(非root)登录,需要禁用root用户的ssh权限。禁用密码远程登录,仅支持证书登录的方式,可以提高弹性云服务器的安全性。用户可通过给普通帐户注入的密钥进行远程SSH登录,也可以通过noVNC控制台提示的随机密码进行noVNC登录。请执行6.b~6.e
      • 使用root帐户登录,需要开启root用户的ssh权限,并开启密码远程登录。若用户选择注入密码,则通过自己注入的密码进行远程SSH或noVNC登录;若用户选择注入密钥,则通过自己注入的密钥进行远程SSH登录。请执行6.f~6.h
    2. 执行以下命令,使用vi编辑器打开“sshd_config”文件

      vi /etc/ssh/sshd_config

    3. 将“sshd_config”文件中的“PasswordAuthentication”的值修改为“no”。
      说明:

      如果是SUSE和OpenSUSE的操作系统,需要同时配置“sshd_config”文件中的以下两个参数同时配置为"no"。

      • PasswordAuthentication
      • ChallengeResponseAuthentication
    4. 执行以下命令,使用vi编辑器打开“cloud.cfg”文件。

      vi /etc/cloud/cloud.cfg

    5. 在“/etc/cloud/cloud.cfg”中禁用root用户的ssh权限,并增加普通用户(后续弹性云服务器通过vnc登录使用的用户)、且为该用户设置密码和赋予sudo权限。

      以下以ubuntu操作系统为例。

      set_linux_random_password.sh是拥有可执行权限的,可以通过chmod +x /etc/cloud/set_linux_random_password.sh添加权限。

      • 参照以下加粗部分禁用root用户的ssh权限。设置配置文件中disable_root字段值为true,即表示为禁用,false表示不禁用。需要如此设置的操作系统包括SUSE/openSUSE/Debian/Ubuntu/Fedora Linux系统。(注意:部分操作系统的cloud-init配置使用1表示禁用,0表示不禁用,这部分操作系统包括 RedHat/CentOS/Oracle Linux系统)。
        # Adapted default config 
         users: 
         - default 
         # If this is set, 'root' will not be able to ssh in and they 
         # will get a message to login instead as the above \$user (ubuntu) 
         disable_root: true
      • 参照以下加粗部分增加普通登录用户,并为该用户设置密码和赋予sudo的权限。

        修改配置文件时,请注意配置文件的格式(对齐,空格)要与示例保持一致。

        system_info: 
            # This will affect which distro class gets used 
            distro: rhel 
            # Default user name + that default users groups (if added/used) 
            default_user: 
              name: linux  //登录使用的用户名。 
              lock_passwd: False  //False,表示当前不禁用密码登录的方式,注意部分操作系统此处配置为0表示不禁用。 
              gecos: Cloud User 
              groups: users  //可选项,将用户添加到另外的组里,groups必须是系统里/etc/group已存在的组。 
              passwd: $6$I63DBVKK$Zh4lchiJR7NuZvtJHsYBQJIg5RoQCRLS1X2Hsgj2s5JwXI7KUO1we8WYcwbzeaS2VNpRmNo28vmxxCyU6LwoD0
              sudo: ["ALL=(ALL) NOPASSWD:ALL"]  //表示设置用户具有root用户的所有权限。 
              shell: /bin/bash  //shell执行采用bash方式。 
            # Other config here will be given to the distro class and/or path classes 
            paths: 
               cloud_dir: /var/lib/cloud/ 
               templates_dir: /etc/cloud/templates/ 
            ssh_svcname: sshd

        其中passwd不是密码本身,而是通过SHA512加密过的,此处的SHA512加密方法仅为举例使用。关于更多参数的详情,请参考:https://cloudinit.readthedocs.io/en/latest/topics/examples.html

        可以参考以下步骤生成SHA512加密密码。此处以生成cloud.1234的加密密码为例。

        [root@** ~]# python -c "import crypt, getpass, pwd; print crypt.mksalt()"

        $6$I63DBVKK

        [root@** ~]# python -c "import crypt, getpass, pwd; print crypt.crypt('cloud.1234', '\$6\$I63DBVKK')"

        $6$I63DBVKK$Zh4lchiJR7NuZvtJHsYBQJIg5RoQCRLS1X2Hsgj2s5JwXI7KUO1we8WYcwbzeaS2VNpRmNo28vmxxCyU6LwoD0

        修改后如图13-70所示,表示当前用户为“centos”,允许使用密码登录。

        图13-70 用户设置
    6. 执行以下命令,在vi编辑器中打开“/etc/cloud/cloud.cfg”。

      vi /etc/cloud/cloud.cfg

      设置开放root密码远程登录并开启root用户的ssh权限。以CentOS 6.7系列操作系统为例,配置文件中的disable_root字段为1表示为禁用,为0表示不禁用(部分OS的Cloud-init配置使用true表示禁用,false表示不禁用)。设置disable_root值为0,ssh_pwauth为1。
      users:
       - name: root
         lock_passwd: False
      disable_root: 0
      ssh_pwauth: 1

      在“/etc/cloud/cloud.cfg”最后一行添加如下内容,配置cloud-init访问OpenStack数据源。

      datasource:
      OpenStack:
      metadata_urls: ['http://169.254.169.254']
      max_wait: 120
      timeout: 50
      说明:
      • max_wait和timeout的可由用户自定义是否需要配置,上述回显信息中max_wait和timeout的取值仅供参考。
      • 当操作系统版本低于Debian8,CentOS5,Red Hat5时,不支持配置访问OpenStack数据源。
    7. 执行以下命令,在vi编辑器中打开“/etc/ssh/sshd_config”。

      vi /etc/ssh/sshd_config

    8. 将“sshd_config”中的“PasswordAuthentication”的值修改为“yes”。
      说明:

      如果是SUSE和OpenSUSE的操作系统,需要同时配置“sshd_config”文件中的以下两个参数同时配置为"yes"。

      • PasswordAuthentication
      • ChallengeResponseAuthentication

  7. 检查Cloud-init工具相关配置是否成功。

    执行以下命令,无错误发生,说明Cloud-init配置成功。

    cloud-init init --local

    正确安装的Cloud-init会显示Cloud-init的版本详细信息,并且无任何错误信息。例如,正确安装的情况下,不含有缺少文件的提示信息。如果显示配置错误信息,请联系技术支持。

查看并卸载弹性云服务器的数据盘

背景信息

如果创建镜像所使用的原弹性云服务器挂载了多个数据盘,可能导致由私有镜像创建的新弹性云服务器无法使用。因此在创建私有镜像前,需要卸载原弹性云服务器中挂载的所有数据盘。

前提条件

已登录到创建Linux私有镜像所使用的弹性云服务器。

操作步骤
  1. 执行以下命令,检查当前弹性云服务器挂载的数据分区。

    mount

  2. 回显是否包含数据盘分区信息?

    如下示例表示包含数据盘分区信息。
    /dev/xvde1 on /mnt/test type ext4 (rw)
    • 是。请执行步骤 3
    • 否。任务结束。

  3. 执行如下命令卸载挂载的数据盘。

    卸载前请确认数据盘上没有任何数据读写,否则会导致卸载失败。

    umount /dev/xvde1

  4. 执行以下命令编辑fstab文件。

    vi /etc/fstab

  5. 删除相关数据盘在“fstab”文件中的配置信息。

    “/etc/fstab”文件中记录了系统启动时自动挂载的文件系统和存储设备的信息,需要删除,如图13-71,中最后一行是数据盘在“fstab”中的配置信息。

    图13-71 数据盘在fstab文件中的配置信息

  6. 执行以下命令,再次查看当前弹性云服务器挂载的数据分区。

    mount

    回显信息中不再包含数据盘分区的信息时,则表示卸载成功。

申请Linux私有镜像

背景信息

本节为用户介绍如何通过弹性云服务器创建Linux私有镜像。

前提条件
  • 已有安装Linux操作系统的弹性云服务器且该弹性云服务器处在关机状态。
  • 已确保Linux弹性云服务器网卡设置为DHCP的方式动态获取网络地址。
  • 已清理Linux弹性云服务器中的网络规则文件。
  • 已卸载Linux弹性云服务器中挂载的所有数据盘。
操作步骤
  1. 使用浏览器,以VDC管理员或VDC业务员帐号登录ManageOne。

    非B2B场景登录地址:https://ManageOne控制台主页的访问地址。例如,https://console.demo.com。

    B2B场景登录地址:https://ManageOne租户的访问地址。例如,https://tenant.demo.com。

  2. 在导航栏左上角下拉框选择地域和Project。
  3. 选择“计算 > 镜像服务”。

    如果需要从已有弹性云服务器创建新镜像,请参考相关操作

  4. 在“镜像”列表页面,单击“申请私有镜像”。

    图13-72 镜像

  5. 在“选择产品”页面,选择对应的镜像产品,单击“立即申请”,进入申请私有镜像页面,按照界面提示配置参数。

    图13-73 申请私有镜像
    表13-17 创建私有镜像参数说明

    参数

    说明

    取值样例

    选择创建的私有镜像的数据来源。

    云服务器

    云服务器

    单击“选择”,从弹性云服务器列表中选择相应的弹性云服务器。

    当前关机状态的云服务器才可以用来创建私有镜像,如果选择的云服务器状态是“运行中”,请先关机。请勿在创建镜像过程中对所选择的ECS云服务器及其相关联资源进行其他操作。

    ecs01

    名称

    私有镜像名称。

    ims01

    申请时长

    私有镜像的申请时长,从私有镜像创建成功后开始计时。在申请时长内您可以正常使用。超出申请时长后,镜像只支持延期与删除操作。

    一个月

    描述

    镜像描述信息。

    -

  6. 单击“立即申请”。
  7. 在“规格确认”页面,确认规格无误后,单击“提交申请”。
  8. 根据界面提示,返回私有镜像列表查看镜像状态。

    镜像创建时间与镜像文件本身大小有关,大约需要20分钟,当镜像的状态为“正常”时,表示创建完成。

    说明:

    在创建镜像过程中,请勿对所选择的弹性云服务器及其相关联资源进行其他操作。

相关操作

从指定弹性云服务器创建私有镜像:

  1. 选择“计算 > 弹性云服务器”
  2. 在弹性云服务器列表中查找到用来创建新镜像的源服务器。
  3. 单击源服务器所在行的更多 > 制作镜像,只有当云服务器处于关机状态,并且未过期,才能执行此操作。
  4. “申请私有镜像”对话框中,根据界面提示配置私有镜像的信息,如表13-14所示。
后续操作

申请私有镜像后,如果您需要使用该镜像创建弹性云服务器,请通过镜像创建弹性云服务器

翻译
下载文档
更新时间:2019-08-15

文档编号:EDOC1100043091

浏览量:45177

下载量:308

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页