您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 一种基于Quattor的差异化机群自动部署方法
一种基于Quattor的差异化机群自动部署方法第十六届全国科学计算与信息化会议暨科研大数据论坛提纲•机群自动部署工具Quattor的介绍•Quattor的改进——差异化的自动部署方法•Quattor在高能物理研究所的应用2020/1/92Quattor的介绍•Quattor是一套集群系统自动化安装和配置工具集•通过自动控制PXE+Kickstart+DHCP实现操作系统的自动安装•通过编译模版来生成节点所有信息的描述文件(xmlorjson)•所有的模版都是是由pan语言来编写•模版文件保存在SCDB的版本控制服务器中•节点安装quattor的客户端读取xmlorjson文件对本机进行配置2020/1/93Quattor的特性•所有节点的配置文件保存在有版本控制的数据库(SCDB)•可重新安装:重新安装的系统与原系统保持一致。•改变节点的配置只需要更改配置数据库即可(SCDB)•可以控制节点从安装到退役的整个过程。•初始化安装使用PXE+Kickstart•SCDB可以方便的版本回退。•服务配置可以重复利用•不同的节点可以共享一个服务的配置。•便捷的维护。只需要修改一个配置文件就可以在所有节点上起做用。•在部署应用前对配置文件进行一致性和语法的检查,降低错误的配置对系统造成的危害。2020/1/94Quattor的主要组件•Panc编译器•SCDBSvnbasedconfigurationdatabase•AII(AutoInstallationInfrastructure)•ccmandncm-components•Softwarerepositorys2020/1/95Quattor的主要组件–Panc编译器•Panc编译器把用pan语言编写的模版最终生成xml或者json文件•Pan是一种高层次的描述性语言•支持function定义•支持变量的定义•变量种类很多,类似structure/class的定义•支持变量类型的转换•Hierarchicalorganizationofinformation•例子:‘/hardware/network/interfaces/eth0/ip’=‘192.168.1.1’2020/1/96Quattor主要组件-SCDB•SVN版本控制的Pantemplates•节点profiles不在svn下面,但是可以重新编译。•SCDB使用”ant”来操作•纯Java编写,可以在所有平台使用•3各主要的操作•Compile:本地编译•Deploy:配置的部署•在server端生成节点的profile文件•仅在成功编译并且localworkingdir和SVN服务器同步的情况下才能成功执行。•update.rep.templates刷新软件包列表的模板2020/1/97Quattor主要组件-AII•AII:AutomatedInstallationInfrastructure•PXE(DHCP+TFTP)+Kickstart使用aii的命令‘aii-shellfe’来控制•DHCP:自动从节点profile文件获取信息写入dhcp配置文件•TFTP:•Kickstart:通过aii命令自动生成kiskstart文件•Re-installation•节点始终设置PXE启动•通过aii命令修改节点的状态installorboot2020/1/98Quattor主要组件ccmandncm•客户端:ConfigurationCacheManager(CCM)•进程:cdp-listend•当服务器端有配置改动时,接收服务器端的notification然后下载新的配置文件(command‘ccm-fetch’)•也可以手动执行这个命令’ccm-fetch’•客户端:NodeConfigurationManager(NCM)•进程ncm-cdispd•Implementsconfigurationchanges•Basedon“components”(plug-ins)•1componentmanages1“service”(NIS,accounts,Globus…)•AcomponentisaPerlscriptwithaparticularAPI•‘ncm-query’可以查询显示配置数据。2020/1/99Quattor主要组件components•Packagedeployment:SPMA•NCM的组件•对系统的安装包进行安装卸载管理•基于”软件包名-版本-arch”•允许升级和降级•检查软件包的依赖关系•其它components•每一个component可以实现对一类或者多累系统和软件环境的配置•已有的ssh,account,network,chkconfig,afsclt,pbs,…2020/1/910Quattor工作流——节点xml编译过程2020/1/911检查模版语法调用PANC编译器节点profile模版确定节点类型配置类型Cluster配置模版确定操作系统版本Site配置模版确定统一配置参数dns,ntp,repository,dhcp,Gridsiteinfo,…操作系统模版RPMsselect,versioncontrol,Kernelversion,Driversconfig,Systemtoolsselect.软件定义模版配置根据节点类型配置硬件配置模版硬盘,网卡,cpu,…生成节点profile.xml文件Quattor工作流——节点自动安装配置过程节点加电启动通过pxe+DHCP获取IP地址和启动镜像通过mac地址识别节点名称获取节点kickstart文件开始系统安装安装minimal系统安装结束写入ks-post-boot脚本调用aii命令改变安装状态重启系统执行ks-post-boot脚本安装quattor客户端获取节点xml文件安装软件包设定kernelversion配置系统环境配置软件参数配置用户和组信息完成系统配置重启系统2020/1/912Quattor改进——原因•支持的应用在不断增多•不同应用对软件环境的不同需求•传统的实现方式维护模版数量多,模版不能重复使用2020/1/913Quattor改进——原先的模型2020/1/914安装服务器配置信息软件安装与配置管理,系统服务,网格服务安装包软件包节点配置管理软件包RPM包服务器软件包组系统安装与配置管理软件缓存RPM包管理配置信息管理器机群4配置信息管理器机群3配置信息管理器机群2配置信息管理器机群1配置缓存节点1机群3机群2机群1Quattor改进——实现方法•模块化的设计方法。•扩展配置信息管理器的功能并添加调用接口和模块选择器。•开发出统一接口并且可以实现对各个模块进行调用取舍。•按照统一的接口标准对功能模块进行改进。•每一个模块实现一个功能,模块可以复用。•所有开发使用Pan语言完成2020/1/915Quattor改进——实现方法2020/1/916功能模块1功能模块2功能模块3功能模块4模块选择器配置信息管理器调用接口机群1机群2机群3节点1Quattor改进——实现后的模型2020/1/917安装服务器配置信息软件安装与配置管理,系统服务,网格服务安装包软件包节点配置管理软件包RPM包服务器软件包组系统安装与配置管理软件缓存RPM包管理配置信息管理器配置缓存节点1机群3机群2机群1Quattor在高能所的应用——网格系统•网格系统的自动安装和部署•网格系统的升级•网格CVMFS的自动部署•dCache存储系统的自动部署•DPM存储系统的自动部署2020/1/918Quattor在高能所的应用——集群系统•计算节点的自动配置•节点pbs-client的自动配置•集群环境的自动配置•autofs,symlinks,lustre,panfs,•用户和组的自动配置•并行计算MPI集群的自动部署•并行文件系统Lustre的自动部署•并行文件系统gLuster的自动部署2020/1/919Quattor在高能所的应用——GPU•节点的自动安装和部署•GPUopencl驱动的自动安装•GPU监控系统的自动安装2020/1/920Quattor在高能所的应用—Quattor辅助工具•批量添加节点模版工具。•并行ssh的工具。2020/1/921Quattor在高能所的应用——正在研究•云计算的自动部署。•物理机操作系统的安装•云计算中间件的安装•云计算服务的配置•Instance的自动配置2020/1/922Quattor在高能所的应用——统计•共计管理1264个节点•不同种类的节点43种•支持的操作系统:•ScientificLinux4.5,4.6,4.7,5.1,5.5,5.8,6.3(i386&x86_64)2020/1/9232020/1/924谢谢!
本文标题:一种基于Quattor的差异化机群自动部署方法
链接地址:https://www.777doc.com/doc-2825847 .html