- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
-
私有镜像制作指南
- 制作镜像准备
- 创建虚拟机
-
安装并配置虚拟机(Linux)
- 安装虚拟机
- 启动引导文件修改(仅UEFI启动场景涉及)
- 虚拟机环境配置
- 安装Cloud-Init
- 配置Cloud-Init
- 查看Cloud-Init服务状态
- 修改引导的硬件设备驱动
- 安装bms-network-config软件包
- 安装network服务
- 安装SDI卡驱动
- 安装Hi1822网卡驱动
- 安装IB驱动(可选)
- 安装FusionServer/TaiShanServer服务器iDriver驱动
- 安装多路径软件(可选)
- 安装一键式重置密码插件
- 安全性配置
-
配置裸金属服务器远程登录
- x86:Oracle Linux 7.3/Oracle Linux 7.4/Red Hat 7系列/CentOS 7.2/CentOS 7.4/CentOS 7.5/CentOS 7.6
- x86:Oracle Linux 6系列/Red Hat 6系列/CentOS 6系列
- x86:SUSE 11 SP4
- ARM:CentOS 7
- x86:SUSE 12系列/SUSE 15系列/CentOS 7.3/EulerOS/OpenEuler/Oracle Linux 7.2
- ARM:EulerOS/OpenEuler
- x86:Ubuntu 16.04/Ubuntu 18.04
- ARM:Ubuntu 16.04、Ubuntu 18.04
- x86:Ubuntu 14.04/Debian
- 配置根分区自动扩盘
- 昇腾服务器驱动和固件安装升级
- 安装vroce驱动
- 清理文件
- 配置虚拟机(Windows)
- 获取镜像
-
FAQ
- 如何处理从Linux裸金属服务器的bond0的vlan子接口输出的报文,其源mac为bond0的mac问题?
- 如何处理SUSE 12 SP1操作系统自带的wicked模块,其概率性将bond端口模式配置不正确,进而导致IP链路不通的问题?
- 如何设置裸金属服务器CPU频率调节模式?
- 如何处理Windows裸金属服务器下发后Cloudbase-init服务异常退出的问题?
- 如何处理cloud-init-local概率性启动失败导致裸金属服务器不能正确注入数据的问题?
- x86 EulerOS 2.3 UDP报文性能调优
- 如何处理EulerOS系列操作系统在远程登录时,出现无法弹出登录指令或乱码干扰登录的问题?
- 如何对软件进行完整性校验?
- 如何检查device是否正常运行
- 附录
- 修订记录
- 最佳实践
-
API参考
- 使用前必读
- API概览
- 如何调用API
- API
- 应用示例
- 公共参数
- 权限和授权项
-
历史API
- 接口使用说明(OpenStack Nova API)
- 查询API版本信息(OpenStack Nova API)
- 裸金属服务器生命周期管理(OpenStack Nova API)
- 裸金属服务器状态管理(OpenStack Nova API)
- 裸金属服务器元数据管理(OpenStack Nova API)
- 裸金属服务器IP地址查询(OpenStack Nova API)
- 裸金属服务器规格查询(OpenStack Nova API)
- 裸金属服务器网卡管理(OpenStack Nova API)
- 裸金属服务器云硬盘管理(OpenStack Nova API)
- 裸金属服务器一维标签管理(OpenStack Nova API)
- 附录
- 修订记录
- 场景代码示例
- SDK参考
-
常见问题
- 通用类
- 实例类
- 密钥对与密码类
- 登录类
-
网络与安全类
- 不同账号下裸金属服务器内网是否可以互通?
- 同一区域、不同可用区的两台裸金属服务器如何通信?
- 我创建的裸金属服务器是否在同一子网?
- 裸金属服务器是否可以关联多个安全组?
- 裸金属服务器可以和同一VPC内的弹性云服务器通信吗?
- 裸金属服务器的主网卡和扩展网卡在使用上有什么区别?
- 裸金属服务器可以绑定多个弹性公网IP吗?
- 是否可以手动设置弹性公网IP的地址?
- 已释放的弹性公网IP,再次申请会分配相同的EIP地址吗?
- 弹性公网IP、私有IP、虚拟IP之间有什么区别?
- 在只能使用SSH登录裸金属服务器的情况下,如何修改裸金属服务器的网络配置或重启网络?
- 如何处理CentOS 7系列扩展网卡无法ping通的问题?
- 如何处理业务端口被一键式重置密码插件占用?
- 如何处理裸金属服务器主网卡和扩展网卡共平面通信异常问题?
- 如何设置裸金属服务器的静态IP?
- 裸金属服务器绑定128个eth网络设备时,网络性能差,如何解决?
- 磁盘类
-
操作系统类
- 我能否自己安装或者升级操作系统?
- 裸金属服务器能否更换操作系统?
- 裸金属服务器操作系统是否有图形界面?
- 裸金属服务器操作系统自带上传工具吗?
- 裸金属服务器的公共镜像是否存在Swap分区?
- 如何设置裸金属服务器的静态主机名?
- 如何设置裸金属服务器镜像密码的有效期?
- 如何设置SSH服务配置项?
- Windows裸金属服务器的系统时间与本地时间相差8小时,如何处理?
- Windows Server 2012裸金属服务器如何修改SID值?
- CentOS 7系列裸金属服务器如何切换内核版本?
- 根分区自动扩盘的场景下,如何隔离日志空间大小?
- 误升内核的场景,如何回退至原始内核版本?
- 如何增加系统Swap交换分区的大小?
- 如何扩展快速发放裸金属服务器的根分区大小?
- Linux操作系统常用命令速查
- 重新挂载lvm卷后如何更新磁盘metadata信息
- Windows云盘裸机HA之后网络不通如何恢复?
- 故障排除
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
实例自定义数据注入
使用场景
当您有如下需求时,可以考虑使用实例自定义数据注入功能来配置裸金属服务器:
- 通过脚本简化裸金属服务器配置
- 通过脚本初始化系统
- 已有脚本,在创建裸金属服务器时一并上传至服务器
- 其他可以使用脚本完成的操作
使用限制
- Linux:
- 用于创建裸金属服务器的镜像安装了Cloud-init组件。
- 用户数据大小限制:小于等于32KB。
- 如果通过文本方式上传实例自定义数据,数据只能包含ASCII码字符;如果通过文件方式上传实例自定义数据,可以包含任意字符,同时,要求文件大小不能超过32KB。
- 必须是公共镜像,或继承于公共镜像的私有镜像,或自行安装了Cloud-init组件的私有镜像。
- 必须满足相应Linux裸金属服务器自定义脚本类型的格式要求。
- 使用的虚拟私有云必须开启DHCP,安全组出方向规则保证80端口开放。
- 选择“密码”登录方式时,不支持实例自定义数据注入功能。
- Windows:
- 用于创建裸金属服务器的镜像安装了Cloudbase-init组件。
- 实例自定义数据大小限制:小于等于32KB。
- 如果通过文本方式上传实例自定义数据,数据只能包含ASCII码字符;如果通过文件方式上传实例自定义数据,可以包含任意字符,同时,要求文件大小不能超过32KB。
- 必须是公共镜像,或继承于公共镜像的私有镜像,或自行安装了Cloudbase-init组件的私有镜像。
- 使用的虚拟私有云必须开启DHCP,安全组出方向规则保证80端口开放。
使用方法
- 根据实际需要编写用户数据脚本,脚本格式必须符合用户数据脚本规范,详细规范请参见相关链接。
- 创建裸金属服务器时,需要将用户数据脚本内容粘贴到“高级配置 > 现在配置 > 实例自定义数据注入”的文本框,或者选择实例自定义数据文件上传。
图1 用户数据注入
- 系统创建裸金属服务器,裸金属服务器启动后自动执行Cloud-init或Cloudbase-init组件,读取用户数据脚本。
关于Linux裸金属服务器的实例自定义数据脚本
Linux裸金属服务器的实例自定义数据脚本(简称“脚本”)采用开源的Cloud-init架构实现,该架构以裸金属服务器的元数据为数据来源,对裸金属服务器进行各项自动化配置。自定义脚本类型兼容开源Cloud-init,详情请参考Cloud-init开源说明:http://cloudinit.readthedocs.io/en/latest/topics/format.html。
- 脚本的执行时间:裸金属服务器的状态变为“running”之后,执行文件“/etc/init”之前。
说明:
脚本默认以root用户权限执行。
- 脚本类型:包括“User-Data Script”和“Cloud-Config Data”。
表1 Linux裸金属服务器脚本类型介绍 -
User-Data Script
Cloud-Config Data
描述
以脚本作为自定义配置的手段,如shell和python脚本。
Cloud-init中预定义的对裸金属服务器应用程序进行配置的手段,如yum源、SSH密钥。
格式
首行必须是“#!”(如“#!/bin/bash和#!/usr/bin/env python”)。
首次启动时,将在rc.local-like级别上执行,rc.local-like意味着“在启动序列中非常靠后”。
首行必须是“#cloud-config”,且前面不能有空格。
限制
在采用Base64编码前,脚本内容(包括首行在内)不能超过32KB。
在采用Base64编码前,脚本内容(包括首行在内)不能超过32KB。
频率
仅在首次启动裸金属服务器时执行一次。
配置的应用程序不同,执行频率也会不同。
- 如何查看注入Linux裸金属服务器的实例自定义数据?
- 脚本使用示例:
该示例介绍如何以不同格式输入Linux裸金属服务器的脚本,并查看脚本的运行结果。
示例一:脚本类型为User-Data Script
创建裸金属服务器时,选择“文本”形式并输入实例自定义数据脚本,脚本如下:
#!/bin/bash echo "Hello, the time is now $(date -R)" | tee /root/output.txt
创建成功后,连接并启动裸金属服务器,执行命令cat [file],查看脚本的运行结果。
[root@XXXXXXXX ~]# cat /root/output.txt Hello, the time is now Mon, 16 Jul 2016 16:03:18+0800
示例二:脚本类型为Cloud-Config Data
创建裸金属服务器时,选择“文本”形式并输入自定义用户数据脚本,脚本如下:
#cloud-config bootcmd: - echo 192.168.1.130 us.archive.ubuntu.com >> /etc/hosts
创建成功后,连接并启动裸金属服务器,执行命令cat /etc/hosts查看脚本的运行结果。
图2 查看运行结果
关于Windows裸金属服务器的实例自定义数据脚本
Windows裸金属服务器的自定义用户数据脚本(简称“脚本”)采用开源的Cloudbase-init架构实现,该架构以裸金属服务器的元数据为数据来源,对裸金属服务器进行各项自动化配置,为Windows裸金属服务器提供执行初始化脚本的能力。自定义脚本类型兼容开源Cloudbase-init,详情请参考Cloudbase-init开源说明:https://cloudbase-init.readthedocs.io/en/latest/userdata.html。
- 脚本类型:包括“Batch批处理程序”和“PowerShell脚本”。
表2 Windows裸金属服务器脚本类型介绍 -
Batch批处理程序
PowerShell脚本
格式
以“rem cmd”开头且作为首行,且前面不能有空格。
以“#ps1”开头且作为首行,且前面不能有空格。
限制
在采用Base64编码前,脚本内容(包括首行在内)不能超过32KB。
在采用Base64编码前,脚本内容(包括首行在内)不能超过32KB。
- 如何查看注入Windows裸金属服务器的实例自定义数据?
- 脚本使用示例
该示例介绍如何以不同格式输入Windows裸金属服务器的脚本,并查看脚本的运行结果。
示例一:Batch批处理程序
创建裸金属服务器时,选择“文本”形式并输入实例自定义数据脚本,脚本如下:
rem cmd echo "Hello, BAT Test" > C:\1111.txt
创建成功后,连接并启动裸金属服务器,查看脚本的运行结果:在C:\盘添加了一个名称为 “1111” 的文本文档,如图3所示。
如需查看注入Windows裸金属服务器的实例自定义数据,可以在浏览器访问:http://169.254.169.254/openstack/latest/user_data,如图4所示。
示例二:PowerShell脚本
创建裸金属服务器时,选择“文本”形式并输入实例自定义数据脚本,脚本如下:
#ps1 echo "Hello, Powershell Test" > C:\aaaa.txt
创建成功后,连接并启动裸金属服务器,查看脚本的运行结果:在C:\盘添加了一个名称为 “aaaa” 的文本文档。
图5 新建文本文档aaaa如需查看注入Windows裸金属服务器的实例自定义数据,可以在浏览器访问:http://169.254.169.254/openstack/latest/user_data,如图6所示。
案例1
该案例介绍如何通过实例自定义数据注入,简化裸金属服务器配置。
当您需要设置vim的“语法高亮显示”、“制表符占用4个空格”和“显示行数”属性时,就可以写一个脚本vimrc,并将其注入到“/root/.vimrc”。在您创建完裸金属服务器时,您的vim配置便完成了。这样做可以大幅提高系统配置的效率,特别是在您一次性创建多台裸金属服务器时。
实例自定义数据注入示例:
#cloud-config write_files: - path: /root/.vimrc content: | syntax on set tabstop=4 set number
案例2
该案例介绍如何通过实例自定义数据注入,重置Linux裸金属服务器密码。
假设您需要将root用户密码重置为“******”。
参数 |
规则 |
样例 |
---|---|---|
密码 |
|
Test12$@ |
实例自定义数据注入示例(请严格遵守下面示例中的缩进标准):
#cloud-config chpasswd: list: | root:****** expire: False
裸金属服务器创建成功后,您可以使用重置的密码登录裸金属服务器。为了保证密码安全,建议您在第一次登录裸金属服务器后,修改root用户密码。
案例3
该案例介绍如何通过实例自定义数据注入,为Windows裸金属服务器新增用户并设置密码。
假设您要创建的用户名为“abc”、密码为“******”普通用户,并将其添加至administrators用户组。
参数 |
规则 |
样例 |
---|---|---|
密码 |
|
Test12$@ |
实例自定义数据注入示例:
rem cmd net user abc ****** /add net localgroup administrators abc /add
裸金属服务器创建成功后,您可以使用新创建的用户名和密码登录裸金属服务器。
案例4
该案例介绍如何通过实例自定义数据注入,为Linux裸金属服务器更新系统软件包,并且开启httpd相关服务。注入成功后,您的裸金属服务器就可以使用httpd服务了。
实例自定义数据注入示例:
#!/bin/bash yum update -y service httpd start chkconfig httpd on
案例5
该案例介绍如何通过实例自定义数据注入,激活Linux裸金属服务器的root用户远程登录权限。注入成功后,您可以使用SSH密钥方式,以root改户登录裸金属服务器。
实例自定义数据注入示例:
#cloud-config disable_root: false runcmd: - sed -i 's/^PermitRootLogin.*$/PermitRootLogin without-password/' /etc/ssh/sshd_config - sed -i '/^KexAlgorithms.*$/d' /etc/ssh/sshd_config - service sshd restart