PPTV分布式装机系统课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《PPTV分布式装机系统课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PPTV 分布式 装机 系统 课件
- 资源描述:
-
1、AgendavPPTV分布式装机系统介绍实际面临的问题解决方案系统部署系统组件介绍v系统实现Cobbler 配置文件同步Cobbler 自动部署v应用实例Cobbler Quick-StartCobbler 动态ks fileCobbler Tipsv二次开发实际面临的问题v服务器系统安装处于半手工状态,有些isp机房甚至需要现场通过光盘安装,耗费大量人力和时间v非标准化的系统安装,导致业务部署时遇到这样那样的奇怪问题v系统安装是瓶颈,由于以上问题导致业务需要快速部署时,无机器可用的现象实际面临的问题v众多机房,由于网络互通互联的问题,只在核心机房架设kickstart server完全无法解
2、决问题;如采用分布式架构,每个机房部署一台kickstart server;如何统一配置,安装模板以及安装源等v业务众多,每个业务对应静态安装模板,不便于管理v对于某些机房没有可以独立使用机器,在业务机如何复用的问题解决方案vCobbler 开源项目;基于kickstart,方便快速的网络安装操作系统vGit 分布式版本控制;静态配置文件的同步vDjango 框架;动态配置文件的同步vRsyncd;安装源同步v编译Cobbler依赖服务apache,python并打包;解决复用的问题v使用ControlTie自动部署 系统部署系统部署vBGP机房搭建一台Cobbler Master;该服务器管
3、理系统的配置,安装模板以及cobbler部署包;并同时作为该机房的cobbler server提供安装服务v所有核心机房部署Cobbler Secondary;作为本机房的安装服务器并提供安装源同步v其他机房的Cobbler,由ControlTie自动部署,可以复用业务机器系统组件系统组件vCobbler 主要服务,提供kickstart servervGit Repository 静态配置文件同步源 vGit git客户端,用于同步源上的配置文件vDjango调用cobbler API,同步动态配置文件vNginx发布Git repository&Django applicationvRsy
4、nc用于安装源同步vPython包含cobbler依赖模块的pythonvApache发布cobbler安装源系统实现vCobblerCobbler 介绍Cobbler modelsCobbler 动态KSv配置文件同步Git 静态配置文件同步Django 动态配置文件同步配置文件同步脚本vCobbler 自动部署Cobbler部署包ControlTie部署Cobblerv基于kickstart,linux系统网络快速安装v按不同对象组合动态生成kickstart template,通过ksmeta,snippets实现vKoan方便实现重装系统,安装虚拟机v统一管理dhcp,tftp,dns
5、这些网络安装依赖的服务v支持大部分主流linux发行版本,RHEL,Debian,Suse,Ubuntu,Fedora etc.Cobbler ModelsCobbler ModelsvDistro 定义安装源,kernel,initrdvProfile 定义KS file等信息,可以认为该对象是对应一个业务的templatevSystem 定义系统信息,比如hostname,ip地址等信息Cobbler 动态KSvKS file 使用snippet模块化,便于管理v通过cobbler models中不同参数,动态生成标准化的ks filevCheetah实现模板中变量替换,以及逻辑的运算;其
6、中的伪代码通过python编译器解析Git 静态配置文件同步v所谓静态配置文件是指每台cobbler server上基本一致的配置文件,比如kickstart files,snippets 等vCobbler Master上建立git repositoryvCobbler部署时通过git clone同步kickstarts,snippets,triggers 这些静态配置文件vCrontab定期从Master那里git pull回最新的配置Gitv目前流行的版本控制工具v分布式版本控制软件v对比集中式,分布式提供离线版本控制v为应用提供配置文件的版本控制&分布式同步方式配置文件部署Git cl
7、one生成生成kickstart,snippets,triggers这些配置文件,并和这些配置文件,并和git repository上的同步上的同步.test-x/var/lib/cobbler&cd/var/lib/cobbler/|echo-ne cobbler directory doesnt exist!nexit 0rm-rf kickstartsrm-rf snippetsrm-rf triggersgit clone http:/cobbler-git/kickstarts.gitgit clone http:/cobbler-git/snippets.gitgit clone
8、http:/cobbler-git/triggers.git.同步脚本使用git pull命令从git repository拉取配置更新echo-ne Kickstarts sync cd$CB_DATA_PATH/kickstartsgit pull&echo-ne OKn|echo-ne FAILEDnecho-ne Snippets sync cd$CB_DATA_PATH/snippetsgit pull&echo-ne OKn|echo-ne FAILEDnecho-ne Triggers sync cd$CB_DATA_PATH/triggersgit pull&echo-ne O
9、Kn|echo-ne FAILEDnDjango 动态配置文件同步v所谓动态配置文件是指由于不同cobbler配置,而产生的配置文件;比如每台cobbler上的profile对象,由所在cobbler server的distro对象决定v通过django调用cobbler apiv使用nginx发布django 应用,可通过http远程调用vCrontab定期调用,通过传入参数,获取配置文件列表并同步Profile对象查询接口.from cobbler.api import BootAPI#cobbler api#传入传入distro参数,返回参数,返回profile配置文件列表配置文件列表d
10、ef profile_list(request,distro):cb_api=BootAPI()profiles=cb_api.find_profile(return_list=True,distro=distro)data=for profile in profiles:profile_url=%s/%s.json%(settings.PROFILES_URL,profile.name)data.append(profile_url)return HttpResponse(|.join(data),text/html).同步脚本.DISTROS=$(cobbler distro list)#
11、取得此取得此cobbler的所有的所有distro对象对象for distro in$DISTROSdo PROFILES=$(curl http:/profile_list/$distro/2/dev/null|tr|)#访问访问Profile对象查询接口对象查询接口 for profile in$PROFILES do echo-ne Download$profile tt wget-q$profile&echo-ne OKn|echo-ne FAILEDn donedone.Cobbler 自动部署vCobbler 部署包vControlTie Task Cobbler 部署Cobble
12、r 配置Cobbler 安装源同步Cobbler 部署包v自动部署时包含cobbler源码以及依赖模块,服务的包vCobbler源码vApache2.2.21 编译时必须包含wsgi_module模块vPython2.7vCheetah,yaml,pykickstart 相应python模块CT-Cobbler 部署步骤v设置相应环境变量,系统设置(关闭iptables,selinux,yum设置)v通过yum安装所需服务的rpm包v下载 cobbler部署包,并在本机进行编译安装v同步配置文件v部署完成CT Cobbler 部署#install required rpmsyum instal
13、l createrepo dhcp curl-devel tftp-server yum-utils mkisofs git-y#fetch cobbler packagecd/tmpwget http:/packages/cobbler_proxy-2.2.0.tar.bz2-output-document=cobbler_proxy-2.2.0.tar.bz2#cobbler installationcd/home/toolstar jxvf/tmp/cobbler_proxy-2.2.0.tar.bz2cd/home/tools/package;rpm-ihv*.rpmcd/home/t
展开阅读全文