设为首页 收藏本站
查看: 851|回复: 6

[经验分享] 运维自动化部署Cobbler之具体使用-Centos篇

[复制链接]

尚未签到

发表于 2013-3-15 08:58:05 | 显示全部楼层 |阅读模式

一、参数说明


相关配置参数:
1  服务器IP192.168.100.1/24 , 192.168.3.1/24
2Cobbler服务 监听IP192.168.100.1
3DHCP 可配置IP段192.168.100.100/24 --- 192.168.100.180/24
192.168.3.2/24 --- 192.168.3.128/24
注意 : 我的配置中有2段IP,其中第二段 是为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.iso

b) 挂载 ISO

mount -o loop /www/os/CentOS-6.3-x86_64-bin-DVD1.iso /mnt/centos63-1

c) 导入安装源 到Cobbler中
通过这个环节, Cobbler 会把安装的镜像ISO 拷贝到 源安装镜像目录下: /var/www/cobbler/ks_mirror/
操作命令如下:

cobbler import --path=/mnt/centos63-1 --name=centos6.3 --arch=x86_64

参数说明:
--name  为安装源定义一个名字
--arch    指定安装源是32位还是64位、ia64, 目前支持的选项有: x86│x86_64│ia64

注意: 这个安装源的唯一标示 就是根据这两个参数来定义
本例导入成功后,安装源的唯一标示就是:centos6.3-x86_64 ,如果重复,系统会提示导入失败

更多用法,可以查看官方文档: man cobbler ,然后查找 import 的配置

如果需要更多的参数定制  ,可以使用另外一个命令: cobbler distro

相关管理命令:
//查看导入源库列表

cobbler distro list

//查看导入安装源的详细资料

cobbler distro report --name centos6.3-x86_64


2) 定义Profile
Profile的概念,我理解为配置分组,这样可以对一组服务器 指定他们都需要安装的服务和配置
比如:指定磁盘的分区策略,指定需要安装的服务,键盘布局,默认语言等等
这些操作,其实都是通过在Profile中 指派不同的 kickstart配置文件来实现

在第一次导入时,系统给安装源指定一个默认Profile,它定义了一个KS文件:/var/lib/cobbler/kickstarts/sample.ks
为达到自定义服务的需求,我们需要定义自己的Profile,并指定自己的KS文件。当然也可以需要自定义多个KS文件

接着上面例子,我已经导入了一个安装源:centos6.3-x86_64,因此需要定义一个Profile
操作命令如下:

cobbler profile add --name=centos6.3-x86_64 --distro=centos6.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.3-x86_64.ks

参数说明:
--name       Profile的名字 ( 同样也不能重复 ),在此例中,我们新定义的Profile 叫:centos6.3-x86_64
--distro       Profile相关联的安装源ID(通过 cobbler distro list 可查到)
--kickstart  Profile相关联的kickstart配置文件 (此文件必须预先准备好 )

相关管理命令:
//查看profile详情

cobbler profile report --name  centos6.3-x86_64

//通过profile 找到 对应的KS文件

ksfile=$( cobbler profile report --name  centos6.3-x86_64|grep -E '^Kickstart' |head -n 1|cut -d ':' -f 2 );cat $ksfile;


3) 准备自定义的 kickstart 配置文件(For Centos/RHEL)
注意:这是 关键步骤之一

由于需要安装的操作系统发行厂商不同,因此KS文件的写法要求,也不一而足
本文只讨论 CentOs/RHEL 系列的 KS配置

另外:操作系统 版本不同,在KS也存在一定的差异,比如CentOS5 ,和CentOS6下就有不同,切记
官网的文档在此:
CentOS5 的 (网上大多是这个系列的) : http://www.centos.org/docs/5/htm ... start2-options.html
CentOS6 的 (能看到的配置案例很少) : https://access.redhat.com/knowle ... start2-options.html

另外我自己测试的 KS文件也上传了。可供大家下载:
CentOS5 和 CentOS6 都有,下载地址,请移步本文最下端。。


另外Cobbler对RHEL 和CentOS支持非常好,因此很多需要特殊定义的选项,都有相应的snippets脚本
建议使用前 可以先在snippets目录下查一下,没准已经有了,否则才考虑自己开发 snippets脚本

在KS文件的调用方法如下:

  • %post
  • $SNIPPET('post_install_network_config')

此行配置 调用了 对网络配置的相关 操作 (里面是一个模板,支持嵌入 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 分配的是静态IP

d) 本机使用的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.com
cobbler可以根据 这个参数 修改CentOS系统的 hostname 配置

g) Cobbler可以设置成一个新服务器的安装过后,第二次PXE启动的时候 能自动选择跳过(避免重复安装)
但如果需要强制安装 ,就需要用到这个参数:--netboot-enabled=true

相关操作命令:
//查看定制化列表

cobbler system list

//查看某项定制化 详情

cobbler system --name WebCache-3.167

更多的定制化技巧 :
a)  对多块网卡的定制
一般默认对eth0做配置,当然Cobbler也支持多块网卡的定制
需要注意的是,这个功能 在CentOS/RHEL下没有问题,Cobbler可以把这些具体设置 通过snippets脚本 完成了对KS的修改
但相同的配置在Ubuntu下还没有相应的 snippets脚本(理论上可以自己编写), 所以只能用别的方法来实现

操作命令如下:

  • cobbler system edit --name WebCache-3.167 --interface=eth0.10 --static=1 --ip=192.168.10.5 --subnet=255.255.255.0   
  • cobbler system edit --name WebCache-3.167 --interface=eth1 --static=1 --ip=192.168.20.5 --subnet=255.255.255.0



通过以上2句话,可以 添加 网卡eth0的别名:eth0:10 ,和 另外一块网卡eth1的配置

b) 删除网卡的自定义配置

system edit --name= WebCache-3.167  --interface=eth1 --delete-interface

c) 支持网卡bonding配置

  • cobbler system edit --name=WebCache-3.167 --interface=eth0 --mac=AA:BB:CC:DD:EE:00 --interface-type=bond_slave --interface-master=bond0
  • cobbler system edit --name=WebCache-3.167 --interface=eth1 --mac=AA:BB:CC:DD:EE:01 --interface-type=bond_slave --interface-master=bond0
  • cobbler system edit --name=WebCache-3.167 --interface=bond0 --interface-type=bond --bonding-opts="mode=active-backup miimon=100" --ip=192.168.3.167 --subnet=255.255.255.0 --gateway=192.168.3.1 --static=1

以上命令,配置了一个bonding,它的成员是: eth0,eth1

更多技巧,请参考 官网WIKI:https://github.com/cobbler/cobbler/wiki/Advanced-networking
也可以多 参考 软件自带的 MAN :  man cobbler

5) 同步以上步骤 所做的修改
因为以上步骤需要修改的组件比较多 (根据cobbler配置文件来),大概会有:
a) Cobbler 自己内部配置
以上几个环节的配置信息,都会自动记录下来

b) Dhcp 配置 (需要在主配置文件中 开启对Dhcp功能的管理 )
需要注意的是,如果是Centos5下,会遇到问题 ; 而 Centos6却不会有问题
默认Cobbler修改的是/etc/dhcp/dhcpd.conf,而Centos5下 配置文件却在 /etc/下
因此 可能需要修改dhcp的 系统启动脚本 /etc/init.d/dhcpd

c) Tftp 配置  (需要在主配置文件中 开启对Tftp功能的管理 )
因为有定制化配置,所以Cobbler会在tftp的主配置文件夹中生成对应的配置:
假设:ftft 的root目录是  /tftpboot/
Cobbler生成的配置文件会 放在 /tftpboot/pxelinux.cfg/ 下

d) Bind 配置 (需要在主配置文件中 开启对DNS功能的管理 )
这部分配置 我的测试中没有打开,因此没有测试
估计会 修改Bind的主配置文件 /etc/named.conf

操作命令如下:

cobbler sync

6) 打开电源,BOOT 需要自动化安装的服务器
一般接上电源,通过PXE 即可完成自动化安装

基本上经过20-30分钟,就可以完成一次安装


四、补遗
1) 关于Apache 和Cobbler
在上一篇文章(Cobbler-服务安装) 中,我已说过 Apache 和Cobbler有深度整合
主要是 Cobbler是用python写的,它利用Apache的 wsgi模块 实现了http的接口
利用这个接口,可以做这么几件事:
a 提供安装源的http下载

b Cobbler的web管理平台,提供图形化的操作界面 (此部分我没有深入测试,请自行查看相关文档 )
//Cobbler web界面访问地址:
http://192.168.100.1/cobbler_web/ (192.168.100.1 为apache 监听的IP地址)


c 提供接口查询相关配置
比如:
//查询profile详情

http://192.168.100.1/cblr/svc/op/ks/profile/centos6.3-x86_64

// 查询定制化配置的KS文件

http://192.168.100.1/cblr/svc/op/ks/system/WebCache-3.167

2) 关于wsgi
安装方法: yum -y install mod_wsgi

相关配置文件:
a) wsgi.conf : 可以让apache启动 wsgi模块
其内容就是一行配置命令:
LoadModule wsgi_module modules/mod_wsgi.so

b) mod_wsgi.so  模块核心,按apache组件开发
此文件需要放到apache的模块组件目录中

c) cobbler.conf
此配置文件 是主要核心配置
假设 apache和cobbler都是默认安装
那文件会存在于: /etc/httpd/conf.d/cobbler.conf

3)配置检查
//kickstart配置检查

cobbler validateks

//单个kickstart profile 检查

  • /usr/bin/ksvalidator "http://192.168.100.1/cblr/svc/op/ks/profile/centos6.3-x86_64"
  • /usr/bin/ksvalidator "http://192.168.100.1/cblr/svc/op/ks/system/WebCache-3.167"

4) 设置并同步特定源
a) 增加特定源

  • cobbler repo add --mirror=http://mirrors.ustc.edu.cn/epel/6/x86_64/ --name=ustc-epel6-x86_64 --arch=x86_64 --breed=yum
  • cobbler repo add --mirror=http://mirrors.ustc.edu.cn/epel/testing/6/x86_64/ --name=ustc-epel6-x86_64-testing --arch=x86_64 --breed=yum

b) 把特定源指定到 profile上

cobbler profile edit --name=  centos6.3-x86_64  --repos="epel6-x86_64 epel6-x86_64-testing"

c) 需要同步epel的源到本地,考验你的网络速度

  • cobbler reposync
  • cobbler reposync --tries=3 --no-fail


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"
主要通过参数 : --kopts 来实现



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-3950-1-1.html 上篇帖子: CentOS6(64位)安装HighPoint RocketRAID 2640x4卡驱动 下篇帖子: Linux 下 LVM 相关知识 (动态增减LVM,快照)附图
累计签到:1365 天
连续签到:1 天
发表于 2013-3-23 18:50:51 | 显示全部楼层
饭在锅里,我在床上*^_^*

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-21 19:42:43 | 显示全部楼层
如果没有毛片,中国的性教育简直就是一片空白!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-4 22:09:41 | 显示全部楼层
有事秘书干,没事干秘书!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-19 09:03:16 | 显示全部楼层
学习了,不错,讲的太有道理了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-26 16:47:46 | 显示全部楼层
解释就是掩饰,掩饰就是编故事!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-8-2 01:47:34 | 显示全部楼层
商女不知亡国恨、妓女不懂婚外情。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表