[TOC]
在云平台中,创建云主机的时候希望能够对主机进行一些初始化操作,如配置ip,主机名,密码,ssh登录等。openstack上可以使用cloud-init进行初始化。
OpenStack虚拟机镜像指南
cloud-init 原理(执行的整个过程)
Cloud-init的认识和应用
cloud-init 是 linux 的一个工具,当系统启动时,cloud-init 可从 nova metadata 服务或者 config drive 中获取 metadata,完成包括但不限于下面的定制化工作:
cloud-init官方文档
官方配置参数参考
阿里云官方文档 安装cloud-init
前提条件
• 准备一台KVM机器,用于制作初始的centos7镜像
• 已为Linux云服务器绑定弹性IP。
• 已登录Linux云服务器。
• Linux云服务器的网卡属性为DHCP方式。
网卡配置文件为动态IP获取
配置ssh文件
在需要免密码登录的机器上执行下面命令,产生密钥对(controller节点上)
编辑配置文件 /etc/cloud/cloud.cfg
用微秒生成随机密码的命令
如果希望能够修改 instance 的 hostname(默认 instance 每次重启后 cloud-init 都会重新将 hostname 恢复成初始值),将 cloud_init_modules 列表中下面两项删除或注释掉:
(可选配置)在 /etc/cloud/cloud.cfg 文件中自定义网络配置
在cloud.cfg文件增加该配置之后,cloud-init不会管理/etc/sysconfig/network-scripts/下网络配置,需要自行管理。
建议提前配置好网卡配置文件为dhcp获取,否则在私有云上创建的实例可能会导致获取不到IP地址;原因是cloud-init中的自动配置网卡文件可能会导致mac地址不一致。
(可选配置)设置root用户密码
修改以下配置使得镜像创建的云服务器主机名不带.novalocal后缀且主机名称中可以带点号。
a. 执行如下命令,修改 __init__.py 文件
执行如下命令进入cloudinit/sources文件夹。
执行以下命令编辑Cloud-Init日志输出路径配置文件,设置日志处理方式handlers
检查Cloud-Init工具相关配置是否成功
执行以下命令,无错误发生,说明Cloud-Init配置成功
设置完成后关闭虚拟机,准备下一阶段生成镜像
如果对接ceph存储。可以把qcow2格式转换为raw格式的镜像再上传
Ceph缺点是不支持从qcow2格式的镜像引导,所以需要转换raw格式的镜像
将镜像上传到openstack的glance节点上(在controller节点上)
在ceph上查看镜像和glance池的数据
创建实例并查看cloud-init配置是否成功
虚拟机镜像需要确保安装了 cloud-init
OpenStack 提供了命令行参数--config-drive 用于配置是否在创建虚拟机时使用 config drive 机制
在/etc/nova/nova.conf中配置,直接使OpenStack计算服务在创建虚拟机时默认使用config drive 机制
注意
不能仅仅简单买一个高性能服务器来解决问题,建议楼主还是咨询下系统集成厂商,或者懂这方面的朋友,帮你来分析下你们公司的实际情况!以下是我的建议:既然是OA系统,我们必须要确保其安全性,如果公司对OA的依赖程度很高的话,或者文件都是存放在服务器上的!那么建议你不要只用一台服务器!具体可以这样:
分为两台机器,一台OA服务器,一台WEB服务器根据负载,如WEB服务器的负载不大,那么配置可以略低于OA服务器,把有限的预算加到OA服务器上去(如果预算充足,那么OA、web、卡巴服务器、邮件服务器(如果有的话)等,分别采购不同的服务器)然后通过集群,首先OA服务器和web服务器(或者邮件服务器,邮件一般也是企业不能缺少的)做双机互备,这样的话,即使其中任何一台机器有问题,那么服务器会自动切换到另一台,这样在保证企业正常使用的前提下,完成服务器修复!
当然OA以及邮件等一些数据对企业来说是非常重要的,损失了往往后果不堪设想的,所以在数据备份方面,如果预算充足,还是建议再挂一台存储器,最好再上一个磁带机!把OA数据库、邮件数据备份在存储设备上!这样即使服务器数据被人攻击或者遭遇严重的病毒攻击,服务器数据完全丢失的情况下,在重装服务器后,可以通过存储设备中备份的数据来挽回损失!
当然关于其他一些问题,包括安装杀毒软件,还有还原软件(赛门铁克比较著名)之类的也需要注意!
要了解云计算对服务器的要求首先要对云计算有一定的了解,现在对于云计算服务器没有一个明确的定义,也没有一个统一的标准。与传统服务器相比,传统服务器中,包含处理器摸块、存储模块、网络模块、电源、风扇等设备,当然工业服务器除外,比如研祥工业服务器,其介于云服务器与传统服务器之间。云服务器关注的是高性能吞吐量计算能力,关注的是在一段时间内的工作最总和。因此,云服务器在架构上和传统的服务器有着很大的区别。
架构上,云服务器体系架构包含云处理器模块、网络处理模块、存储处理模块与系统件理模块等。这种架构的优势使得云服务器可以大大提高了利用率,采用多个云处理器完成系统设计,引入低功耗管理理念完成对系统的集中冗余管理,同时在系统中省去了很多重复的硬件。
云服务器一般包括线程、核、处理器、网络、加速器等功能单元全部计算的总和。因此,云计算一般都有着庞大的数据输入量或海量的工作集。那么服务器应该具备哪些能力呢,我们详细的来说一说。
高密度
高密度低成本基本上已经是云服务器的基本要求了,按照云计算中心本身的特点,云服务器应该和云计算中心高密度、低功耗、低成本的特点相符,即主要面向大规模部署的云应用。高密度服务器能够减少延迟、提高反应速度。目前高密度服务器主要分为多路机架和刀片服务器。
虚拟化
服务器虚拟化的能力,可以说直接影响云计算的效果。由于服务器虚拟化技术实现了将高负载节点中的某些虚拟机实时迁移到低负载的节点,把多个低负载的虚拟机合并到一个物理节点,并将多余的空闲物理节点关闭,以提高资源的使用效率,使负载达到均衡,从而使上层应用的性能得到了保障,同时还达到了减少能耗的目的。
因此云计算利用服务器虚拟化技术可实现对虚拟机的部署和配置,通过对虚拟机的快速部署和实时迁移能大大提高系统的效能,还可通过对虚拟机资源的调整来实现软件系统的可伸缩性,确保系统能迅速从故障中恢复并继续提供服务,提高了系统的可靠性与稳定性。所以在购买云服务器的时候,服务器硬件虚拟化的支持程度是考量服务器的一个重要因素。
横向扩展
根据云计算的第一个特点“超大规模”来说,云计算服务器的横向扩展能力就变得至关重要,可以对这种大量的文件访问提供更高数据库和更好的可扩展性,为整个云计算的中心提供更高效、更安全以及更简化的方式,保证了云数据中心的灵活性。
并行计算
云计算在某种形式上来说就是分布式计算、并行计算、网格计算等一脉相传的技术路线,从概念上来说,可以把云计算看成是“存储云”+“计算云”的有机结合,而计算云就是指并行计算,因此,云计算的基础架构首先是要确保能实现并行计算。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)