怎样实现Cobbler运维自动化部署


怎样实现Cobbler运维自动化部署,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、参数说明相关配置参数:二、概要总体来说,在RHT/Centos 系列版本下,Cobbler的使用上不会遇到很大问题。Cobbler 主要的作用是,把DHCP 、Kickstart 的修改都集成在一个平台下做了管理,Cobbler的精华其实是它启用了Kickstart 配置模板,其中可以内嵌python代码。这部分技术,Cobbler叫做:snippets在RHT/Centos 系列中,官方已经提供了不少这些代码,基本上调用一下就可以了,而Ubuntu下就非常的痛苦,必须自己开发。以下是相关配置路径(默认安装) :Cobbler 配置 主要位置:/var/lib/cobbler/ (实际操作和配置的目录 )snippets 代码 位置:/var/lib/cobbler/snippets/Kickstart 模板 位置 : /var/lib/cobbler/kickstarts/安装源镜像 位置 : /var/www/cobbler/ks_mirror/ (把它link到apache的发布目录,方便kickstart 工作时通过http下载安装镜像文件 )三、具体使用流程1) 导入安装源a) 准备好安装光盘 (ISO)暂时放在: /www/os/CentOS-6.3-x86_64-bin-DVD1.isob) 挂载 ISOc) 导入安装源 到Cobbler中通过这个环节, Cobbler 会把安装的镜像ISO 拷贝到 源安装镜像目录下: /var/www/cobbler/ks_mirror/操作命令如下:参数说明:–name 为安装源定义一个名字–arch 指定安装源是32位还是64位、ia64, 目前支持的选项有: x86│x86_64│ia64注意: 这个安装源的***标示 就是根据这两个参数来定义本例导入成功后,安装源的***标示就是:centos6.3-x86_64 ,如果重复,系统会提示导入失败更多用法,可以查看官方文档: man cobbler ,然后查找 import 的配置,如果需要更多的参数定制 ,可以使用另外一个命令: cobbler distro。相关管理命令://查看导入源库列表//查看导入安装源的详细资料2) 定义ProfileProfile的概念,我理解为配置分组,这样可以对一组服务器 指定他们都需要安装的服务和配置。比如:指定磁盘的分区策略,指定需要安装的服务,键盘布局,默认语言等等,这些操作,其实都是通过在Profile中 指派不同的 kickstart配置文件来实现。在***次导入时,系统给安装源指定一个默认Profile,它定义了一个KS文件:/var/lib/cobbler/kickstarts/sample.ks,为达到自定义服务的需求,我们需要定义自己的Profile,并指定自己的KS文件。当然也可以需要自定义多个KS文件。接着上面例子,我已经导入了一个安装源:centos6.3-x86_64,因此需要定义一个Profile操作命令如下:如果此profile已经存在,则需要修改一下:参数说明:–name Profile的名字 ( 同样也不能重复 ),在此例中,我们新定义的Profile 叫:centos6.3-x86_64–distro Profile相关联的安装源ID(通过 cobbler distro list 可查到)–kickstart Profile相关联的kickstart配置文件 (此文件必须预先准备好 )相关管理命令://查看profile详情//通过profile 找到 对应的KS文件3) 准备自定义的 kickstart 配置文件(For Centos/RHEL)注意:这是 关键步骤之一由于需要安装的操作系统发行厂商不同,因此KS文件的写法要求,也不一而足。本文只讨论 CentOs/RHEL 系列的 KS配置另外:操作系统 版本不同,在KS也存在一定的差异,比如CentOS5 ,和CentOS6下就有不同,切记!官网的文档在此:CentOS5 的 (网上大多是这个系列的) : http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-kickstart2-options.htmlCentOS6 的 (能看到的配置案例很少) : https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html另外我自己测试的 KS文件也上传了。可供大家下载:centos6.3 64位 KScentos5.8 64位 KS另外Cobbler对RHEL 和CentOS支持非常好,因此很多需要特殊定义的选项,都有相应的snippets脚本建议使用前 可以先在snippets目录下查一下,没准已经有了,否则才考虑自己开发 snippets脚本在KS文件的调用方法如下:此行配置 调用了 对网络配置的相关 操作 (里面是一个模板,支持嵌入 python代码)在ks文件里面 有一个重要配置参数,它用来 定义系统安装的源文件下载方式:例如 CentOS6 配置文件有这么一行:url –url=http://192.168.100.1/cobbler/ks_mirror/centos6.3这其实就是前面 导入的安装源中的 各种安装包,现在指定了对他们的访问方式  4) 对需要 安装系统的服务器做定制化说明: 服务器网卡必须支持PXE功能定制化 至少有这么几个:网络配置,Hostname 这些注意: 如果不定制化,网卡通过PXE启动后,会出现一个菜单供人选择用哪个配置(其实就是Profile的名字)而且每个安装源 都有自己的默认KS文件,超过时间后,会指定使用默认的 KS文件 进行安装本文主要讨论 自动化一键部署,所以必须要做定制化这部分的操作 主要通过 cobbler system 来实现操作命令如下:cobbler system add –name=WebCache-3.167 –mac=00:24:E8:64:24:59 –ip-address=192.168.3.167 –subnet=255.255.255.0 –gateway=192.168.3.1 –interface=eth0 –static=1 –profile=centos6.3-x86_64 –dns-name=ywtest-3-167.test.com –hostname=ywtest-3-167.test.com –netboot-enabled=true –name-servers=”192.168.3.1 202.106.196.115″以上的命令,对一台服务器做了以下定义:a) 服务器名(不能重复即可) : WebCache-3.167因为这个服务器打算要用于 Web服务,ip地址是192.168.3.167,这样的格式是方便记忆b) 网络分配的网卡设备 : eth0 MAC地址 : 00:24:E8:64:24:59注意,这是必填项,主要是依据它来区别不同的配置同样的,这个参数也不允许重复(同一个MAC 只能跟 一个自定义配置匹配 )c) 分配的IP : 192.168.3.167 子网掩码 : 255.255.255.0 默认网关 : 192.168.3.1 设备名: eth0 分配的是静态IPd) 本机使用的DNS服务IP : 192.168.3.1 202.106.196.115 (根据实际情况来配置)支持添加多个DNSIP,用空格做间隔e) 指定一个Profile : centos6.3-x86_64这个选项能自动为这台机器 定义了安装的系统,安装的服务等等具体配置 可以查看 profile的 实际定义的KS文件来获取f) 指定hostname : ywtest-3-167.test.comcobbler可以根据 这个参数 修改Cen开发云主机域名tOS系统的 hostname 配置g) Cobbler可以设置成一个新服务器的安装过后,第二次PXE启动的时候 能自动选择跳过(避免重复安装)但如果需要强制安装 ,就需要用到这个参数:–netboot-enabled=true相关操作命令://查看定制化列表cobbler system list//查看某项定制化 详情更多的定制化技巧 :a) 对多块网卡的定制一般默认对eth0做配置,当然Cobbler也支持多块网卡的定制需要注意的是,这个功能 在CentOS/RHEL下没有问题,Cobbler可以把这些具体设置 通过snippets脚本 完成了对KS的修改但相同的配置在Ubuntu下还没有相应的 snippets脚本(理论上可以自己编写), 所以只能用别的方法来实现操作命令如下:通过以上2句话,可以 添加 网卡eth0的别名:eth0:10 ,和 另外一块网卡eth2的配置b) 删除网卡的自定义配置c) 支持网卡bonding配置以上命令,配置了一个bonding,它的成员是: eth0,eth2d) 配置Bridge类型的网卡以上语句 是配置一个Bridge: br0,它的成员是 eth3因为这个bridge我不想配置IP地址,所以要加上参数 : –static=1,否则该Bridge在实际配置中Cobbler会配置成DHCP模式更多技巧,请参考官网WIKI。也可以多 参考 软件自带的 MAN : man cobbler5) 同步以上步骤 所做的修改因为以上步骤需要修改的组件比较多 (根据cobbler配置文件来),大概会有:a) Cobbler 自己内部配置以上几个环节的配置信息,都会自动记录下来b) Dhcp 配置 (需要在主配置文件中 开启对Dhcp功能的管理 )需要注意的是,如果是Centos5下,会遇到问题 ; 而 Centos6却不会有问题默认Cobbler修改的是/etc/dhcp/dhcpd.conf,而Centos5下 配置文件却在 /etc/下因此 可能需要修改dhcp的 系统启动脚本 /etc/init.d/dhcpdc) Tftp 配置 (需要在主配置文件中 开启对Tftp功能的管理 )因为有定制化配置,所以Cobbler会在tftp的主配置文件夹中生成对应的配置:假设:ftft 的root目录是 /tftpboot/Cobbler生成的配置文件会 放在 /tftpboot/pxelinux.cfg/ 下d) Bind 配置 (需要在主配置文件中 开启对DNS功能的管理 )这部分配置 我的测试中没有打开,因此没有测试估计会 修改Bind的主配置文件 /etc/named.conf操作命令如下:6) 打开电源,BOOT 需要自动化安装的服务器一般接上电源,通过PXE 即可完成自动化安装,基本上经过20-30分钟,就可以完成一次安装。四、补遗1) 关于Apache 和Cobbler在上一篇文章(Cobbler-服务安装) 中,我已说过 Apache 和Cobbler有深度整合主要是 Cobbler是用python写的,它利用Apache的 wsgi模块 实现了http的接口利用这个接口,可以做这么几件事:a 提供安装源的http下载b Cobbler的web管理平台,提供图形化的操作界面 (此部分我没有深入测试,请自行查看相关文档 )//Cobbler web界面访问地址:c 提供接口查询相关配置比如://查询profile详情// 查询定制化配置的KS文件http://192.168.100.1/cblr/svc/op/ks/system/WebCache-3.1672) 关于wsgi安装方法: yum -y install mod_wsgi相关配置文件:a) wsgi.conf : 可以让apache启动 wsgi模块其内容就是一行配置命令:LoadModule wsgi_module modules/mod_wsgi.sob) mod_wsgi.so 模块核心,按apache组件开发此文件需要放到apache的模块组件目录中c) cobbler.conf此配置文件 是主要核心配置假设 apache和cobbler都是默认安装那文件会存在于: /etc/httpd/conf.d/cobbler.conf3)配置检查//kickstart配置检查//单个kickstart profile 检查4) 设置并同步特定源a) 增加特定源b) 把特定源指定到 profile上c) 需要同步epel的源到本地,考验你的网络速度6) 修改内核启动参数,可以保证在安装开始以后,不会有选择 国家,语言,键盘布局 的提示cobbler profile edit –name=centos6.3-x86_64 –distro=centos6.3-x86_64 –kickstart=/var/lib/cobbler/kickstarts/centos6.3-x86_64.ks –kopts=”locale=en_US netcfg/choose_interface=auto console-setup/ask_detect=false keyboard-configuration/layoutcode=us”关于怎样实现Cobbler运维自动化部署问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注开发云行业资讯频道了解更多相关知识。

相关推荐: Linux系统下怎么配置CVS服务器

本篇内容介绍了“Linux系统下怎么配置CVS服务器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1,安装好CVS服务器rpm -ivh cvs-1.12.9.…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/05 10:56
下一篇 05/05 10:56