华为云用户手册

  • 2022-03-22 镜像版本 镜像说明 更新内容 CentOS 镜像名称: CentOS 6.10 64bit CentOS 7.2 64bit CentOS 7.3 64bit CentOS 7.4 64bit CentOS 7.5 64bit CentOS 7.6 64bit CentOS 7.7 64bit CentOS 7.8 64bit CentOS 7.9 64bit CentOS 8.0 64bit CentOS 8.1 64bit CentOS 8.2 64bit 升级系统内核版本,修复安全漏洞 更新一键密码重置插件 内核版本: CentOS 6:2.6.32-754.35.1.el6.x86_64 CentOS 7:3.10.0-1160.53.1.el7.x86_64 CentOS 8:4.18.0-348.7.1.el8_5.x86_64 发布区域:所有 Ubuntu 镜像名称: Ubuntu 16.04 server 64bit Ubuntu 18.04 server 64bit Ubuntu 20.04 server 64bit 升级系统内核版本,修复安全漏洞 更新一键密码重置插件 内核版本: Ubuntu 16.04:4.4.0-210-generic Ubuntu 18.04:4.15.0-167-generic Ubuntu 20.04:5.4.0-99-generic 发布区域:所有 Debian 镜像名称: Debian 9.0.0 64bit Debian 10.0.0 64bit 升级系统内核版本,修复安全漏洞 更新一键密码重置插件 内核版本: Debian 9: 4.9.0-17-amd64 Debian 10:4.19.0-18-amd64 发布区域:所有 EulerOS 镜像名称: EulerOS 2.5 64bit 升级系统内核版本,修复安全漏洞 更新一键密码重置插件 内核版本: EulerOS 2.5:3.10.0-862.14.1.5.h654.eulerosv2r7.x86_64 发布区域:所有
  • 约束与限制 创建整机镜像时,请确保创建该云服务器备份所属的弹性云服务器已完成相关配置,否则可能导致整机镜像创建云服务器失败。 详情请参见“创建私有镜像前云服务器、裸金属服务器或镜像文件需要完成哪些初始化配置?”。 在云服务器关机状态下,制作整机镜像的过程中,用户不能启动云服务器。 使用云服务器备份创建整机镜像时,不允许云服务器备份存在共享卷。 使用云服务器备份创建整机镜像时,云服务器备份必须是可用状态,且每个云服务器备份只能创建一个整机镜像。 整机镜像不支持如下操作:不能发布为市场镜像,不允许导出、区域内复制。
  • 后续操作 整机镜像创建成功后,如果您想使用该镜像创建弹性云服务器,请在操作列单击“申请服务器”,进入创建云服务器的向导页面,请参考《弹性云服务器用户指南》完成操作。 使用整机镜像创建弹性云服务器时: 系统会自动设置好系统盘和数据盘参数。 如果整机镜像中包含多块数据盘,需要加载一段时间才能正常显示系统盘信息,请耐心等待。 选择整机镜像切换云服务器操作系统时,仅能恢复整机镜像的系统盘数据。如果希望恢复或者迁移整机镜像中的数据盘数据,必须通过整机镜像创建新的云服务器。 如果您想共享整机镜像给其他租户,需要将资源迁移至云备份服务(CBR),因为只有通过云备份服务(CBR)创建的整机镜像才支持共享功能。迁移操作请参见从原备份服务迁移资源。
  • 约束与限制 创建整机镜像前,请确保创建该云备份所属的弹性云服务器已完成相关配置,否则可能导致整机镜像创建云服务器失败。 详情请参见“创建私有镜像前云服务器、裸金属服务器或镜像文件需要完成哪些初始化配置?”。 每个云备份只能创建一个整机镜像。 在云服务器关机状态下,制作整机镜像的过程中,用户不能启动云服务器。 通过云备份创建的整机镜像可以共享给其他租户。但是,如果这个云备份是由其他租户共享的,那么创建的整机镜像不支持共享。 整机镜像不支持如下操作:不能发布为市场镜像,不允许导出、区域内复制。
  • 背景知识 云备份(Cloud Backup and Recovery, CBR)服务提供对云硬盘、弹性云服务器和裸金属服务器的备份保护服务,并支持利用备份数据恢复服务器和磁盘的数据。如果您已通过CBR服务为弹性云服务器创建云备份,可以参考本章节,使用已有的云备份制作整机镜像。 使用云备份制作整机镜像时,创建镜像本身不收费,仅收取镜像关联的云备份费用,详细的服务资费标准请参见产品价格详情中“云备份CBR”的内容。 删除整机镜像时,可以选择是否删除关联的云备份。如果选择不删除,云备份会继续收费。 选择整机镜像切换云服务器操作系统时,仅能恢复整机镜像的系统盘数据。如果希望恢复或者迁移整机镜像中的数据盘数据,必须通过整机镜像创建新的云服务器。
  • 操作步骤 请按照通过镜像创建云服务器中的操作指导创建弹性云服务器。 在配置参数时,需要注意以下几点: 区域:必须选择私有镜像所在的区域。 规格:在选择规格时,需要结合镜像的操作系统类型以及“弹性云服务器类型与支持的操作系统版本”了解支持选择的规格范围。 镜像:选择“私有镜像”,并在下拉列表中选择所创建的私有镜像。 (可选)数据盘:添加数据盘,该数据盘使用随系统盘镜像一起创建出来的数据盘镜像来创建,这样便可以将原平台虚拟机的系统盘和数据盘数据一起迁移到当前云平台。
  • 准备镜像文件(Linux) 您需要提前准备好符合条件的镜像文件,并了解操作系统的已知问题(参见已知问题)。 表1中,文件系统、网络、驱动相关的配置需要在虚拟机内部完成,强烈建议您在原平台的虚拟机实施修改后,再导出镜像文件。您也可以使用弹性云服务器完成这些配置,具体操作请参见“Linux外部镜像文件在导出前未完成初始化配置,怎么办?”。 大文件导入(不超过1TB)目前仅支持RAW和ZVHD2格式,RAW镜像文件除了要满足表1的要求外,还需要生成位表文件,同镜像文件一并上传。详细操作请参见快速导入镜像文件。 表1 Linux操作系统的镜像文件限制 镜像文件属性 条件 操作系统 SUSE、Oracle Linux、Red Hat、Ubuntu、openSUSE、CentOS、Debian、Fedora、EulerOS、中标麒麟 支持32位和64位 操作系统不能与特定的硬件绑定 操作系统必须支持全虚拟化 所支持的操作系统版本请参考“外部镜像文件支持的格式和操作系统类型”,在此范围内的操作系统支持后台自动化配置(详情请参阅“通过镜像文件注册私有镜像过程中,系统会对镜像做哪些修改?”),在此之外的操作系统请您自行排查及安装virtio驱动(详见安装原生的KVM驱动),在注册镜像页面选择Other Linux,导入后系统启动情况取决于驱动完备度。 镜像格式 VMDK、VHD、QCOW2、RAW、VHDX、QED、VDI、QCOW、ZVHD2和ZVHD 镜像大小 镜像大小不超过128GB。 如果镜像大小介于128GB和1TB之间,需要将镜像文件转换为RAW或ZVHD2格式,然后使用快速导入功能进行导入。 参考“通过qemu-img-hw工具转换镜像格式”转换镜像格式。 参考“快速导入镜像文件”了解快速导入功能。 网络能力 必选项,不设置会导致云服务器启动异常或网络能力异常,包括: 清理网络规则文件 设置网卡属性为DHCP 可选项,即增值能力,主要包括: 开启网卡多队列 开启网卡多队列功能可以将网卡中断分散给不同的CPU处理,实现负载均衡,从而提升网络PPS和带宽性能。操作方法请参考“如何设置镜像的网卡多队列属性”。 配置动态获取IPv6地址 IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题。镜像中配置动态获取IPv6地址,发放的云服务器能够同时支持IPv4和IPv6地址。配置方法请参考“如何开启云服务器动态获取IPv6”。 工具 强烈建议安装Cloud-Init工具。 Cloud-Init是开源的云初始化工具,使用安装了Cloud-Init的镜像创建云服务器时可以通过“用户数据注入”功能,注入初始化自定义信息(例如为云服务器设置登录密码);还可以通过查询、使用元数据,对正在运行的云服务器进行配置和管理。不安装Cloud-Init工具,将无法对云服务器进行自定义配置,只能使用镜像原有密码登录云服务器。 安装方法请参考安装Cloud-Init工具。 驱动 安装原生的KVM驱动 文件系统 修改grub文件磁盘标识方式为UUID 修改fstab文件磁盘标识方式为UUID 其他限制 暂不支持创建带有数据盘的镜像,镜像文件中必须只能包含系统盘,且系统盘大小范围为:[40GB, 1024GB] 镜像文件的初始密码至少包含以下4种字符:大写字母、小写字母、数字、特殊字符(!@$%^-_=+[{}]:,./?) 镜像启动分区和系统分区必须包含在同一个磁盘中 支持的镜像引导方式: x86架构部分操作系统镜像支持UEFI启动方式(查看支持UEFI启动方式的操作系统)。 ARM架构操作系统镜像仅支持UEFI启动方式。 镜像文件必须为非加密,否则可能导致镜像注册后创建的云服务器无法正常使用。 “/etc/fstab”文件中不能包含非系统盘的自动挂载信息,否则创建的云服务器可能无法正常登录。 如果外部镜像文件的系统盘为LVM设备,通过该镜像文件注册的私有镜像用来创建云服务器时,不支持文件注入。 外部镜像文件所在虚拟机如果经历了关机过程,则必须是优雅关机,否则使用私有镜像创建的云服务器在启动时可能会出现蓝屏。 VMDK格式的镜像文件必须是从VMWare Tools中导出后的虚拟机生成的文件,否则可能会因镜像解析问题导致系统无法正常启动。 父主题: 通过外部镜像文件创建Linux系统盘镜像
  • 上传镜像文件(Linux) 推荐您使用OBS Browser+工具将外部镜像文件上传至OBS个人桶,详细操作请参见“OBS Browser+最佳实践”。 OBS Browser+工具下载方式:https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html 桶文件要和待注册的镜像属于同一区域。 上传到OBS桶的外部镜像文件必须是非加密状态的或者采用SSE-KMS加密方式加密的文件。 OBS桶和镜像文件的存储类别必须是标准存储。 如果您希望在创建系统盘镜像时携带数据盘一起创建,还需要准备数据盘所在的镜像文件,并将该文件上传至OBS桶。最终将生成一个系统盘镜像、一个或多个(1~3个)数据盘镜像。 父主题: 通过外部镜像文件创建Linux系统盘镜像
  • Windows Server 2012 R2的Server Manager工具与VMTools不兼容导致磁盘错误重置数据丢失 问题描述: Windows Server 2012 R2系统 云服务器配置 了2块数据盘,使用Windows系统自带的Server Manager工具去重置第二块数据盘时,发现第一块数据盘被重置,导致第一块数据盘数据丢失。 涉及镜像: 2019-02-19之前的Windows Server 2012 R2公共镜像 解决方案: 涉及的云服务器请将VMTools升级至2.5.0.156及之后较新的版本。
  • 1822网卡卸载实例不兼容Linux 3.16.x内核的问题 问题描述: 使用华为自研25GE智能高速网卡硬件卸载功能的弹性云服务器(包含但不限于c3ne、m3ne、c6、m6、g5、p2v、g5r、p2vs、p2s、pi2、fp1cn1、ai1、e3.26xlarge.14、e3.52xlarge.14、e3.52xlarge.20、kc1、km1)与Linux 3.16.x内核分支(3.16.47~3.16.x)操作系统版本存在兼容性问题,会概率性导致网络不通等现象。 涉及镜像: Debian 8.2.0 64bit、Debian 8.8.0公共镜像 解决方案: 当前已在相关规格下线Debian 8公共镜像。使用涉及镜像创建的云服务器尽快迁移到S3、C3上面。
  • 部分内核TCP网络概率性不通 问题描述: 修复CVE-2019-11477(TCP SACK)的内核引入新问题,在Socket buffer很低的情况下可能导致网络不通。 涉及镜像: 镜像类型 内核版本 2019-06-26至2019-09-29期间的CentOS 7公共镜像 3.10.0-957.21.3.e17.x86_64 2019-06-26至2019-10-15期间的Ubuntu 16、Ubuntu 18公共镜像 Ubuntu 16.04:4.4.0-151-generic Ubuntu 18.04:4.15.0-52-generic 2019-06-26至2019-10-15期间的Debian 9.0公共镜像 4.9.0-9-amd64 2019-06-27至2019-10-15期间的Fedora 29、openSUSE 15.0公共镜像 Fedora 29:5.1.11-200.fc29.x86_64 openSUSE 15.0:4.12.14-1p150.12.64-default 解决方案: 升级到最新的内核。各镜像类型升级内核的命令如下: CentOS/Fedora:yum update kernel Ubuntu:apt-get update && apt-get install linux-image-generic openSUSE:zypper refresh && zypper install kernel-default Debian:apt-get update && apt search linux-image && apt-get install linux-image-xxx 其中,apt search linux-image可以查询最新的内核版本;apt-get install linux-image-xxx用于升级到最新内核版本。
  • Windows Server DHCP租约设置过长(大于99天),可能导致网络不通的问题 问题描述: Windows Server操作系统的DHCP Client服务存在已知问题,当租约设置过长(大于99天)会导致您的实例无法自动续约IP。当第一次的租约到期时会导致实例网络不通。 涉及镜像: Windows Server 2008、Windows Server 2012 R2、Windows Server 2016、Windows Server 2019公共镜像及私有镜像 解决方案: 调整实例所在的子网DHCP租约为1天或者无限租约。 执行以下命令,使租约设置生效。 如下操作会短暂影响网络连接,请暂停业务或者在业务低峰期进行操作。 ipconfig /renew
  • InfiniBand网卡驱动 如果这个私有镜像用于创建H2型云服务器,需要在镜像中安装InfiniBand网卡驱动。请根据IB类型,在Mellanox官网选择相应版本的InfiniBand网卡驱动下载(建议选择4.2-1.0.0.0的驱动版本下载使用),并根据Mellanox提供的操作指导进行安装。 IB网卡类型:“Mellanox Technologies ConnectX-4 Infiniband HBA (MCX455A-ECAT)” Mellanox官网地址:http://www.mellanox.com/ 网卡驱动下载地址:https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ H2型云服务器介绍:超高性能计算型
  • 内核在网卡增删场景下,概率性导致系统异常的问题 问题描述: 在云服务器上进行网卡热插拔事件或者等价行为,概率性出现以下两种情况: 触发内核panic,OS自动重启 软中断使用率冲高,网络收发包异常 Patch链接如下:https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=f00e35e259948b995aa1f3ee7fddb05f34a50157 涉及镜像: CentOS 7公共镜像及私有镜像 解决方案: 建议进行内核版本升级修复对应Bug,升级至CentOS 7内核版本3.10.0-1160.25.1.e17.x86_64。
  • 操作场景 由于Windows操作系统采用ide磁盘和virtio网卡,因此需要在注册为云平台的镜像前,先在Windows操作系统的ISO文件中集成VMTools驱动。由于ISO通常是将光盘文件做成一个文件,而部分光盘软件设定只能从光驱进行安装,直接解压后无法使用,因此需要用到虚拟光驱软件。 本节操作以AnyBurn、UltraISO软件为例,介绍如何为ISO文件集成VMTools驱动。 AnyBurn是一款轻量级但专业的CD/DVD/蓝光刻录软件,并提供免费版本。 UltraISO是收费软件,试用版的UltraISO软件不能保存大小超过300M的ISO文件,请使用正式版本的软件。
  • AnyBurn软件操作步骤 下载AnyBurn,并安装至本地。 下载VMTools驱动包,并解压至本地。 VMTools下载地址:https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/vmtools-windows.zip 不同版本Windows操作系统和VMTools软件包的对应关系,请参见相关软件及获取方式。 使用AnyBurn打开ISO文件。 打开AnyBurn软件,选择“编辑镜像文件”。 选择ISO文件,单击“下一页”。 编辑ISO文件,集成VMTools驱动。 解压步骤2中下载的“vmtools-windows.zip”文件,得到“vmtools-windows.iso”,再次解压后得到“vmtools-windows”文件夹,如图所示。 图1 “vmtools-windows”文件夹 将解压的“vmtools-windows”文件夹整体拖到ISO文件父节点下(或单击“增加”并选择“vmtools-windows”文件夹),单击“下一页”。 指定保存的路径及ISO文件名称,选择文件保存为ISO格式,单击“开始生成”。 生成ISO文件结束后,请在保存路径下查看集成VMTools驱动的ISO文件。
  • UltraISO软件操作步骤 下载UltraISO,并安装至本地。 下载地址:https://www.ultraiso.com/ 下载VMTools驱动包,并解压至本地。 VMTools下载地址:https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/vmtools-windows.zip 不同版本Windows操作系统和VMTools软件包的对应关系,请参见相关软件及获取方式。 使用UltraISO打开ISO文件,如图2所示。 图2 打开ISO文件 ISO格式的镜像文件请使用UltraISO工具打开,请勿使用普通压缩工具打开,否则会丢失ISO的引导数据。 解压2中下载的“vmtools-windows.zip”文件,得到“vmtools-windows.iso”,再次解压后得到“vmtools-windows”文件夹,如图3所示。 图3 “vmtools-windows”文件夹 将4中解压的“vmtools-windows”文件夹整体拖到ISO文件父节点下,如图4所示。 图4 添加“vmtools-windows”文件夹至ISO文件中 在UltraISO中,将已集成VMTools驱动的ISO文件另存为iso格式,导出至本地。
  • 采用官方源码编译安装方法 官方源码编译安装方法的Cloud-Init工具Github开源地址:https://github.com/canonical/cloud-init/ 执行以下命令,下载Cloud-Init压缩包,并将其复制至新建的“/tmp/CLOUD-INIT”文件夹。 0.7.6版本安装包下载地址:https://github.com/canonical/cloud-init/archive/refs/tags/0.7.6.zip 0.7.9版本安装包下载地址:https://github.com/canonical/cloud-init/archive/refs/tags/0.7.9.zip Cloud-Init所有版本安装包下载地址:https://github.com/canonical/cloud-init/releases wget https://github.com/canonical/cloud-init/archive/refs/tags/0.7.6.zip mkdir /tmp/CLOUD-INIT cp cloud-init-0.7.6.zip /tmp/CLOUD-INIT cd /tmp/CLOUD-INIT 执行如下命令,解压Cloud-Init压缩包。 unzip cloud-init-0.7.6.zip 执行如下命令进入cloud-init-0.7.6文件夹。 cd cloud-init-0.7.6 若cloud-init为18.3~22.3版本,则需要进行如下适配。否则跳过本步骤,继续执行下一步。 sed -i '/VALID_DMI_ASSET_TAGS =/a\VALID_DMI_ASSET_TAGS += ["HUAWEICLOUD"]' cloudinit/sources/DataSourceOpenStack.py cat cloudinit/sources/DataSourceOpenStack.py | grep VALID_DMI_ASSET_TAGS 确认执行结果如下图,表示语句添加成功。 按照操作系统类型,执行相应的命令安装Cloud-Init安装包。 CentOS6.x/SUSE11.x: python setup.py build python setup.py install --init-system sysvinit CentOS7.x/SUSE12.x: python setup.py build python setup.py install --init-system systemd Cloud-Init安装时需要添加syslog用户到adm组。存在syslog用户时直接添加syslog用户到adm组。不存在syslog用户时(如CentOS和SUSE),执行下列命令创建syslog用户,添加到adm组: useradd syslog groupadd adm usermod -g adm syslog 设置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是否安装成功。 cloud-init -v cloud-init init --local 回显如下类似信息所示表示安装Cloud-Init成功。 cloud-init 0.7.6
  • 采用官方提供的包源安装Cloud-Init工具(优先推荐) 在不同操作系统的云服务器上安装Cloud-Init工具的方法不同,请在root用户下执行相关安装操作。 以下将介绍SUSE、CentOS、Fedora、Debian和Ubuntu操作系统安装Cloud-Init工具的具体方法。其他操作系统类型,请安装并配置对应类型的Cloud-Init工具,例如,使用CoreOS操作系统时需安装并配置coreos-cloudinit。 SUSE操作系统 SUSE操作系统的Cloud-Init网络安装地址: https://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/ http://download.opensuse.org/repositories/Cloud:/Tools/ 在上述提供的网络安装地址下选择相应操作系统版本的repo安装包进行安装。 以SUSE Enterprise Linux Server 12为例,Cloud-Init工具的安装步骤如下。 登录到创建Linux私有镜像所使用的云服务器。 执行以下命令,安装SUSE 12的网络安装源。 zypper ar https://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/SLE_12_SP3/Cloud:Tools.repo 执行以下命令,更新网络安装源。 zypper refresh 执行以下命令,安装Cloud-Init。 zypper install cloud-init 执行以下命令,设置Cloud-Init为开机自启动服务。 SUSE 11: 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 SUSE 12以及openSUSE 12/13/42: 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 对于SUSE和openSUSE操作系统,请执行以下步骤禁止动态修改云服务器名称。 执行以下命令,使用vi编辑器打开“dhcp”文件。 vi etc/sysconfig/network/dhcp 将“dhcp”文件中的“DHCLIENT_SET_HOSTNAME”的值修改为“no”。 CentOS操作系统 CentOS操作系统的Cloud-Init网络安装地址如表1所示。请在提供的网络安装地址下选择相应的epel-release安装包进行安装。 表1 Cloud-Init网络安装地址 操作系统类型 版本 网络安装地址 CentOS 6系列32位 https://archives.fedoraproject.org/pub/archive/epel/6/i386/ 6系列64位 https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/ 7系列64位 https://archives.fedoraproject.org/pub/epel/7/x86_64/Packages/e/ 执行以下命令安装Cloud-Init: yum install 网络安装地址/epel-release-x-y.noarch.rpm yum install cloud-init “网络安装地址”表示Cloud-Init对应的epel-release安装包的地址,“x-y”表示当前操作系统对应的Cloud-Init epel-release版本号,执行命令时需参考表1以及实际使用的安装包版本进行替换。 以CentOS 6系列64位为例,当前版本号为6.8,则命令修改为: yum install https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm 以CentOS 7系列64位为例,当前版本号为7.14。则命令修改为: yum install https://archives.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm 执行以下命令,设置Cloud-Init为开机自启动服务。 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 Fedora操作系统 安装Cloud-Init前,请确认操作系统已经配置好对应的网络安装源地址,请查看“/etc/yum.repo.d/fedora.repo”文件中是否已配置相关软件包安装源地址,如果没有配置相关地址源,请参考相关Fedora官网信息配置软件包安装源。 执行以下命令,安装Cloud-Init。 yum install cloud-init 执行以下命令,设置Cloud-Init为开机自启动服务。 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 Debian和Ubuntu操作系统 安装Cloud-Init前,请确认操作系统已经配置好对应的网络安装源地址,请查看“/etc/apt/sources.list”文件中是否已配置相关软件包安装源地址,如果没有配置相关地址源,请参考Debian或者Ubuntu官网信息配置软件包安装源。 执行以下命令,安装Cloud-Init。 apt-get update apt-get install cloud-init 执行以下命令,设置Cloud-Init为开机自启动服务。 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工具。 安装Cloud-Init工具时需要从官网下载并安装,因此,需要提前为云服务器绑定弹性公网IP。 不安装Cloud-Init工具,将无法对云服务器进行自定义配置,只能使用镜像原有密码登录云服务器。 使用公共镜像创建的云服务器,默认已经安装Cloud-Init,不需要执行安装及配置操作。 用户导入镜像创建的云服务器,请按照指导安装及配置Cloud-Init。配置Cloud-Init操作请参考配置Cloud-Init工具章节。
  • 检查是否已经安装Cloud-Init工具 请先执行如下步骤检查是否已安装Cloud-Init工具。 在不同的操作系统下,查看是否已经安装Cloud-Init工具的方法不同。以CentOS 6系列为例,执行以下命令查看是否安装Cloud-Init工具。 which cloud-init 回显类似如下,表示已经安装Cloud-Init工具,无需重复安装。 cloud-init-0.7.5-10.el6.centos.2.x86_64 无回显信息表示未安装Cloud-Init工具。 由于Cloud-Init工具存在多种安装方法,如果无回显信息,请再次使用rpm -qa |grep cloud-init命令进行检查。which cloud-init和rpm -qa |grep cloud-init任何一个命令显示已安装,表示操作系统已安装Cloud-Init工具。 如果已安装Cloud-Init工具,还需要执行以下操作: 请确认当前云服务器操作系统中的证书是否继续使用。如果不再使用该证书,请删除证书。 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 执行以下命令,清除Cloud-Init工具产生的缓存,确保使用该私有镜像创建的云服务器可以使用证书方式登录。 sudo rm -rf /var/lib/cloud/* 设置完成后请勿重启云服务器,否则,需重新设置。
  • 操作场景 通过云服务器或者外部镜像文件创建私有镜像时,如果云服务器或镜像文件所在虚拟机的网络配置是静态IP地址时,您需要修改网卡属性为DHCP,以使私有镜像发放的新云服务器可以动态获取IP地址。 本节以Windows Server 2008 R2操作系统为例。其他操作系统配置方法略有区别,请参考对应操作系统的相关资料进行操作,文档中不对此进行详细说明。 使用外部镜像文件创建私有镜像时,设置网卡属性操作需要在虚拟机内部完成,建议您在原平台的虚拟机实施修改后,再导出镜像。
  • SUSE/openSUSE系列操作系统相关操作 当操作系统版本低于SUSE 12 SP1或低于openSUSE 13时,请修改“/etc/sysconfig/kernel”文件,操作步骤请参考第一种情况。 当操作系统版本为SUSE 12 SP1时,修改“/etc/dracut.conf”文件,添加xen-pv以及virtio的驱动,操作步骤请参考第二种情况。 当操作系统版本高于SUSE 12 SP1或高于openSUSE 13版本时,修改“/etc/dracut.conf”文件,在add_drivers项中添加xen-pv和virtio的驱动,操作步骤请参考第三种情况。 当操作系统版本低于SUSE 12 SP1或低于openSUSE 13时,操作步骤如下。 SUSE系列操作系统首先应确认OS是否已经安装了xen-kmp包(xen-pv的驱动包),执行如下命令: rpm -qa |grep xen-kmp 回显类似如下: xen-kmp-default-4.2.2_04_3.0.76_0.11-0.7.5 如果没有安装xen-kmp的包,请到安装ISO中获取并安装。 执行如下命令,修改“/etc/sysconfig/kernel”文件。 vi etc/sysconfig/kernel 在INITRD_MODULES=""中添加xen-pv以及virtio的驱动(具体格式要根据OS本身的要求来决定)。 SIA10000xxxxx:~ # vi /etc/sysconfig/kernel # (like drivers for scsi-controllers, for lvm or reiserfs)#INITRD_MODULES="ata_piix ata_generic xen_vnif xen_vbd xen_platform_pci virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio" 执行mkinitrd命令,重新生成initrd。 如果引导的虚拟文件系统不是默认的initramfs或者initrd,则命令为:dracut -f 实际使用的initramfs或者initrd文件名。“实际使用的initramfs或者initrd文件名”可在menu.lst或者grub.cfg配置(“/boot/grub/menu.lst”或“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”)中获取。 以SUSE 11 SP4为例,如下所示: default 0timeout 10gfxmenu (hd0,0)/boot/messagetitle sles11sp4_001_[_VMX_]root (hd0,0)kernel /boot/linux.vmx vga=0x314 splash=silent console=ttyS0,115200n8 console=tty0 net.ifnames=0 NON_PERSISTENT_DEVICE_NAMES=1 showoptsinitrd /boot/initrd.vmxtitle Failsafe_sles11sp4_001_[_VMX_]root (hd0,0)kernel /boot/linux.vmx vga=0x314 splash=silent ide=nodma apm=off noresume edd=off powersaved=off nohz=off highres=off processsor.max+cstate=1 nomodeset x11failsafe console=ttyS0,115200n8 console=tty0 net.ifnames=0 NON_PERSISTENT_DEVICE_NAMES=1 showoptsinitrd /boot/initrd.vmx 其中,initrd所在行的/boot/initrd.vmx为实际使用的initrd文件,执行的时候请按照dracut -f /boot/initrd.vmx执行。如果initrd所在行的initrd文件不包含/boot目录,如/initramfs-xxx,请在执行dracut命令时增加boot目录,例如:dracut -f /boot/initramfs-xxx。 执行如下命令,检查是否已经成功装载了XEN的PVOPS或者KVM的virtio相应模块。 lsinitrd /boot/initrd-`uname -r` | grep xen lsinitrd /boot/initrd-`uname -r` | grep virtio SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep xen-rwxr--r-- 1 root root 42400 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/xen-blkfront.ko-rwxr--r-- 1 root root 44200 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/xen-netfront.koSIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio-rwxr--r-- 1 root root 19248 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko-rwxr--r-- 1 root root 23856 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/virtio_blk.kodrwxr-xr-x 2 root root 0 Jul 12 14:53 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio-rwxr--r-- 1 root root 15848 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko-rwxr--r-- 1 root root 20008 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko-rwxr--r-- 1 root root 12272 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio.ko-rwxr--r-- 1 root root 38208 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/virtio_net.ko 重启云服务器。 重启完毕后,修改“/boot/grub/menu.lst”文件,增加xen_platform_pci.dev_unplug=all和修改root的配置。 修改前如下所示: ###Don't change this comment -YaST2 identifier: Original name: linux###title SUSE Linux Enterprise Server 11SP4 - 3.0.76-0.11 (default) root (hd0,0) kernel /boot/vmlinuz-3.0.76-0.11-default root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 splash=silentcrashkernel=256M-:128M showopts vga=0x314initrd /boot/initrd-3.0.76-0.11-default 修改后如下所示: ###Don't change this comment -YaST2 identifier: Original name: linux###title SUSE Linux Enterprise Server 11SP4 - 3.0.76-0.11 (default) root (hd0,0) kernel /boot/vmlinuz-3.0.76-0.11-default root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 splash=silentcrashkernel=256M-:128M showopts vga=0x314 xen_platform_pci.dev_unplug=all initrd /boot/initrd-3.0.76-0.11-default 确保磁盘root分区为UUID的表示形式。 xen_platform_pci.dev_unplug=all该参数的添加是为了屏蔽qemu设备。 SUSE 11 SP1 64bit ~ SUSE 11 SP4 64bit系统需要在“menu.lst”文件添加xen_platform_pci.dev_unplug=all,SUSE 12以后版本默认启用此功能,无需配置。 执行如下命令确认initrd中是否存在XEN驱动。 lsinitrd /boot/initrd-`uname -r` | grep xen lsinitrd /boot/initrd-`uname -r` | grep virtio SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep xen-rwxr--r-- 1 root root 42400 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/xen-blkfront.ko-rwxr--r-- 1 root root 44200 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/xen-netfront.koSIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio-rwxr--r-- 1 root root 19248 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko-rwxr--r-- 1 root root 23856 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/virtio_blk.kodrwxr-xr-x 2 root root 0 Jul 12 14:53 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio-rwxr--r-- 1 root root 15848 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko-rwxr--r-- 1 root root 20008 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko-rwxr--r-- 1 root root 12272 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio.ko-rwxr--r-- 1 root root 38208 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/virtio_net.ko 如果误将built-in形式存在内核中的驱动添加到initrd或initramfs文件中,不会影响云服务器正常使用,这里全写进去只是为了修改方便,但是使用lsinitrd命令无法检查到。可使用如下方法确定这些驱动是否以built-in形式存在内核中,例如: cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y cat /boot/config-`uname -r` | grep CONFIG_XEN | grep y 当操作系统版本为SUSE 12 SP1时,操作步骤如下。 执行以下命令,打开“/etc/dracut.conf”文件。 vi /etc/dracut.conf 按“i”进入编辑模式,在“add-drivers”项中添加xen-pv和virtio的驱动(具体格式要根据操作系统本身的要求来决定)。 [root@CTU10000xxxxx ~]# vi /etc/dracut.conf # additional kernel modules to the defaultadd_drivers+="ata_piix ata_generic xen_vnif xen_vbd xen_platform_pci virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio" 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出“/etc/dracut.conf”文件。 执行以下命令,重新生成initrd。 dracut -f /boot/initramfs-文件名 如果引导的虚拟文件系统不是默认的initramfs,则命令为:dracut -f 实际使用的initramfs文件名或者initrd文件名。“实际使用的initramfs文件名或者initrd文件名”可在grub.cfg配置(“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”或“/boot/grub/grub.conf”,具体路径根据OS不同会有所不同)中获取。 如果引导的虚拟文件系统是initramfs,执行以下命令,检查是否已经成功装载了原生的XEN和KVM驱动相应模块。 lsinitrd /boot/initramfs-`uname -r`.img | grep xen lsinitrd /boot/initramfs-`uname -r`.img | grep virtio 如果引导的虚拟文件系统是initrd,执行如下命令,检查是否已经成功装载了原生的XEN和KVM驱动相应模块。 lsinitrd /boot/initrd-`uname -r` | grep xen lsinitrd /boot/initrd-`uname -r` | grep virtio 当操作系统版本高于SUSE 12 SP1或高于openSUSE 13版本时,操作步骤如下。 以SUSE Linux Enterprise Server 12 SP2 (x86_64)为例,如下所示: 执行以下命令,打开“/etc/dracut.conf”文件。 vi /etc/dracut.conf 按“i”进入编辑模式,在“add_drivers”项中添加xen-pv和virtio的驱动(具体格式要根据操作系统本身的要求来决定)。 [root@CTU10000xxxxx ~]# vi /etc/dracut.conf # additional kernel modules to the defaultadd_drivers+="ata_piix ata_generic xen-blkfront xen-netfront virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio" 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出“/etc/dracut.conf”文件。 执行以下命令,重新生成initrd。 dracut -f /boot/initramfs-文件名 如果引导的虚拟文件系统不是默认的initramfs,则命令为:dracut -f 实际使用的initramfs文件名或者initrd文件名。“实际使用的initramfs文件名或者initrd文件名”可在grub.cfg配置(“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”或“/boot/grub/grub.conf”,具体路径根据OS不同会有所区别)中获取。 如果引导的虚拟文件系统是initramfs,执行以下命令,检查是否已经成功装载了原生的XEN和KVM驱动相应模块。 lsinitrd /boot/initramfs-`uname -r`.img | grep xen lsinitrd /boot/initramfs-`uname -r`.img | grep virtio 如果引导的虚拟文件系统是initrd ,执行如下命令,检查是否已经成功装载了原生的XEN和KVM驱动相应模块。 lsinitrd /boot/initrd-`uname -r` | grep xen lsinitrd /boot/initrd-`uname -r` | grep virtio 以引导的虚拟文件系统是initrd为例,回显信息如下所示: sluo-ecs-30dc:~ # lsinitrd /boot/initrd-`uname -r` | grep xen-rw-r--r-- 1 root root 69575 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/block/xen-blkfront.ko-rw-r--r-- 1 root root 53415 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/net/xen-netfront.kodrwxr-xr-x 2 root root 0 Sep 28 10:21 lib/modules/4.4.21-69-default/updates/pvdriver/xen-hcall-rwxr-xr-x 1 root root 8320 Sep 28 10:21 lib/modules/4.4.21-69-default/updates/pvdriver/xen-hcall/xen-hcall.kosluo-ecs-30dc:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio-rw-r--r-- 1 root root 29335 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/block/virtio_blk.ko-rw-r--r-- 1 root root 57007 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/net/virtio_net.ko-rw-r--r-- 1 root root 32415 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/scsi/virtio_scsi.kodrwxr-xr-x 2 root root 0 Sep 28 10:21 lib/modules/4.4.21-69-default/kernel/drivers/virtio-rw-r--r-- 1 root root 19623 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio.ko-rw-r--r-- 1 root root 38943 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio_pci.ko-rw-r--r-- 1 root root 24431 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio_ring.ko 如果误将built-in形式存在内核中的驱动添加到initrd或initramfs文件中,不会影响云服务器正常使用,这里全写进去只是为了修改方便,但是使用lsinitrd命令无法检查到。可使用如下方法确定这些驱动是否以built-in形式存在内核中,例如: cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y cat /boot/config-`uname -r` | grep CONFIG_XEN | grep y
  • 操作步骤 请根据操作系统版本,修改不同的配置文件: CentOS/EulerOS系列操作系统 以CentOS 7.0为例,请修改“/etc/dracut.conf”文件,在add_drivers项中添加xen-pv以及virtio的驱动(xen-pv驱动:xen-blkfront、xen-netfront;virtio驱动:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开,保存并退出“/etc/dracut.conf”文件,执行dracut -f命令,重新生成initrd。 操作方法可参见CentOS/EulerOS系列操作系统相关操作。 Ubuntu/Debian系列系统 请修改“/etc/initramfs-tools/modules”文件,添加xen-pv以及virtio的驱动(xen-pv驱动:xen-blkfront、xen-netfront;virtio驱动:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开,保存并退出“/etc/initramfs-tools/modules”文件,执行update-initramfs -u命令,重新生成initrd。 操作方法可参见Ubuntu/Debian系列操作系统相关操作。 SUSE和openSUSE系列系统,根据操作系统版本不同,修改不同的配置文件。 当操作系统版本低于SUSE 12 SP1或低于openSUSE 13时,请修改“/etc/sysconfig/kernel”文件,在INITRD_MODULES=""添加xen-pv以及virtio的驱动(xen-pv驱动:xen_vnif、xen_vbd、xen_platform_pci;virtio驱动:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开,执行mkinitrd命令,重新生成initrd。 当操作系统版本为SUSE 12 SP1时,修改“/etc/dracut.conf”文件,在add_drivers项中添加xen-pv以及virtio的驱动(xen-pv驱动:xen_vnif、xen_vbd、xen_platform_pci;virtio驱动:virtio_blk、virtio_scsi、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开,执行命令dracut -f,重新生成initrd。 当操作系统版本高于SUSE 12 SP1或高于openSUSE 13版本时,修改“/etc/dracut.conf”文件,在add_drivers项中添加xen-pv和virtio的驱动(xen-pv驱动:xen-blkfront、xen-netfront;virtio驱动:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开,保存并退出“/etc/dracut.conf”文件,执行dracut -f命令,重新生成initrd。 操作方法可参SUSE/openSUSE系列操作系统相关操作。 SUSE系列操作系统首先应确认OS是否已经安装了xen-kmp包(xen-pv的驱动包),执行以下命令: rpm -qa |grep xen-kmp 回显类似如下: xen-kmp-default-4.2.2_04_3.0.76_0.11-0.7.5 如果没有安装xen-kmp的包,请到ISO装机文件中获取并安装。 如果误将built-in形式的驱动添加到initrd或initramfs文件中,不会影响云服务器正常使用。
  • CentOS/EulerOS系列操作系统相关操作 执行以下命令,打开“/etc/dracut.conf”文件。 vi /etc/dracut.conf 按“i”进入编辑模式,在“add_drivers”项中添加xen-pv和virtio的驱动(具体格式要根据操作系统本身的要求来决定)。 [root@CTU10000xxxxx ~]# vi /etc/dracut.conf # additional kernel modules to the default add_drivers+="xen-blkfront xen-netfront virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio" …… 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出“/etc/dracut.conf”文件。 执行以下命令,重新生成initrd。 dracut -f /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img 如果引导的虚拟文件系统不是默认的initramfs,则命令为:dracut -f 实际使用的initramfs文件名或者initrd文件名。“实际使用的initramfs文件名或者initrd文件名”可在grub.cfg配置(“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”或“/boot/grub/grub.conf”,具体路径根据OS不同会有所区别)中获取。 如果引导的虚拟文件系统是initramfs,执行以下命令,检查是否已经成功装载了原生的XEN和KVM驱动相应模块。 lsinitrd /boot/initramfs-`uname -r`.img | grep xen lsinitrd /boot/initramfs-`uname -r`.img | grep virtio 如果引导的虚拟文件系统是initrd,执行如下命令,检查是否已经成功装载了原生的XEN和KVM驱动相应模块。 lsinitrd /boot/initrd-`uname -r` | grep xen lsinitrd /boot/initrd-`uname -r` | grep virtio 以引导的虚拟文件系统是initramfs为例,回显信息如下所示: [root@CTU10000xxxxx home]# lsinitrd /boot/initramfs-`uname -r`.img | grep xen -rwxr--r-- 1 root root 54888 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/block/xen-blkfront.ko -rwxr--r-- 1 root root 45664 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/net/xen-netfront.ko [root@CTU10000xxxxx home]# lsinitrd /boot/initramfs-`uname -r`.img | grep virtio -rwxr--r-- 1 root root 23448 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/block/virtio_blk.ko -rwxr--r-- 1 root root 50704 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/net/virtio_net.ko -rwxr--r-- 1 root root 28424 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko drwxr-xr-x 2 root root 0 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio -rwxr--r-- 1 root root 14544 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/virtio.ko -rwxr--r-- 1 root root 21040 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko -rwxr--r-- 1 root root 18016 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko 如果误将built-in形式存在内核中的驱动添加到initrd或initramfs文件中,不会影响云服务器正常使用,这里全写进去只是为了修改的方便,但是使用lsinitrd命令无法检查到。可使用如下方法确定这些驱动是否以built-in形式存在内核中,例如: cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y cat /boot/config-`uname -r` | grep CONFIG_XEN | grep y
  • Ubuntu/Debian系列操作系统相关操作 执行以下命令,打开“modules”文件。 vi /etc/initramfs-tools/modules 按“i”进入编辑模式,修改“/etc/initramfs-tools/modules”文件,添加xen-pv以及virtio的驱动(具体格式要根据操作系统本身的要求来决定)。 [root@CTU10000xxxxx ~]#vi /etc/initramfs-tools/modules …… # Examples: # # raid1 # sd_mOd xen-blkfrontxen-netfrontvirtio_blkvirtio_scsivirtio_netvirtio_pcivirtio_ringvirtio 按“Esc”后,输入:wq,按“Enter”。保存设置并退出“/etc/initramfs-tools/modules”文件。 执行以下命令,重新生成initrd。 update-initramfs -u 执行以下命令,检查是否已经成功装载了原生的XEN和KVM驱动相应模块。 lsinitramfs /boot/initrd.img-`uname -r` |grep xen lsinitramfs /boot/initrd.img-`uname -r` |grep virtio [root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep xen lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen/netxen_nic.ko lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback/xen-netback.ko lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback/xen-blkback.ko [root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep virtio lib/modules/3.5.0-23-generic/kernel/drivers/scsi/virtio_scsi.ko 如果误将built-in形式存在内核中的驱动添加到initrd或initramfs文件中,不会影响云服务器正常使用,这里全写进去只是为了修改方便,但是使用lsinitrd命令无法检查到。可使用如下方法确定这些驱动是否以built-in形式存在内核中,例如: [root@ CTU10000xxxxx home]# cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep yCONFIG_VIRTIO_BLK=yCONFIG_VIRTIO_NET=yCONFIG_VIRTIO=yCONFIG_VIRTIO_RING=yCONFIG_VIRTIO_PCI=yCONFIG_VIRTIO_MMIO_CM DLI NE_DEVI CES =y[root@ CTU10000xxxxx home]# cat /boot/config-`uname -r` | grep CONFIG_XEN | grep yCONFIG_XEN_BLKDEV_FRONTEND=yCONFIG_XEN_NETDEV_FRONTEND=y
  • 创建过程 私有镜像创建过程如图1所示。 图1 Windows系统盘镜像创建过程 步骤说明如下: 准备符合平台要求的外部镜像文件,请参考准备镜像文件(Windows)。 上传外部镜像文件到OBS个人桶中,请参考上传镜像文件(Windows)。 通过管理控制台选择上传的镜像文件,并将镜像文件注册为私有镜像,请参考注册镜像(Windows)。 私有镜像注册成功后,使用该镜像创建新的云服务器,请参考使用镜像创建弹性云服务器(Windows)。
  • 创建方式导航 私有镜像是包含操作系统、预装的公共应用以及用户私有应用的镜像,仅用户个人可见。私有镜像包括系统盘镜像、数据盘镜像和整机镜像,由现有运行的云服务器创建而来,或由外部导入而来。 创建镜像不会影响云服务器上当前业务的运行,不会造成数据丢失,请放心使用。 本章介绍以下创建私有镜像的方法: 通过云服务器创建Windows系统盘镜像 通过云服务器创建Linux系统盘镜像 通过外部镜像文件创建Windows系统盘镜像 通过外部镜像文件创建Linux系统盘镜像 创建裸金属服务器系统盘镜像 通过数据盘创建数据盘镜像 通过外部镜像文件创建数据盘镜像 通过云服务器创建整机镜像 通过云服务器备份创建整机镜像 通过云备份创建整机镜像 通过ISO文件创建Windows系统盘镜像 通过ISO文件创建Linux系统盘镜像 图1 创建私有镜像全景图 系统盘镜像创建成功后,您可以使用镜像创建云服务器或者为已有云服务器切换操作系统。 父主题: 创建私有镜像
  • 创建过程 私有镜像创建过程如图1所示。 图1 Linux系统盘镜像创建过程 步骤说明如下: 准备符合平台要求的外部镜像文件,请参考准备镜像文件(Linux)。 上传外部镜像文件到OBS个人桶中,请参考上传镜像文件(Linux)。 通过管理控制台选择上传的镜像文件,并将镜像文件注册为私有镜像,请参考注册镜像(Linux)。 私有镜像注册成功后,使用该镜像创建新的云服务器,请参考使用镜像创建弹性云服务器(Linux)。
  • 操作步骤 执行以下命令,查看网络规则目录下的文件。 ls -l /etc/udev/rules.d 执行以下命令,删除网络规则目录下,文件名同时包含persistent和net的规则文件。 例如: rm /etc/udev/rules.d/30-net_persistent-names.rules rm /etc/udev/rules.d/70-persistent-net.rules 以上命令中斜体部分会根据用户的实际环境有区别。 对于CentOS 6系列的镜像,为避免网卡名发生漂移,您需要创建一个空的rules配置文件。 示例: touch /etc/udev/rules.d/75-persistent-net-generator.rules //命令中斜体部分会根据用户的实际环境有区别 清理网络规则。 若操作系统使用initrd系统映像,请执行以下操作: 执行以下命令,查看initrd开头且default结尾的initrd映像文件,是否存在同时包含persistent和net的网络设备规则文件(以下命令中斜体内容请以实际操作系统版本为准)。 lsinitrd /boot/initrd-2.6.32.12-0.7-default |grep persistent|grep net 否,结束。 是,执行下一步。 执行以下命令,备份initrd映像文件(以下命令中斜体内容请以实际操作系统版本为准)。 cp /boot/initrd-2.6.32.12-0.7-default /boot/initrd-2.6.32.12-0.7-default_bak 执行以下命令,重新生成initrd映像文件。 mkinitrd 若操作系统使用initramfs系统映像(如Ubuntu),请执行以下操作: 执行以下命令,查看initrd开头且generic结尾的initramfs映像文件,是否存在同时包含persistent和net的网络设备规则文件。 lsinitramfs /boot/initrd.img-3.19.0-25-generic|grep persistent|grep net 否,无需清理网络规则。 是,执行下一步。 执行以下命令,备份initrd映像文件。 cp /boot/initrd.img-3.19.0-25-generic /boot/initrd.img-3.19.0-25-generic_bak 执行以下命令,重新生成initramfs映像文件。 update-initramfs -u
共100000条