设为首页 收藏本站
查看: 842|回复: 0

[经验分享] cobbler 之 Centos 7下安装cobbler

[复制链接]

尚未签到

发表于 2018-4-26 09:34:19 | 显示全部楼层 |阅读模式
  最早使用过centos5安装过cobbler,挺好用的,现在centos已经到7了,与时俱进,试着这centos7中安装一下cobbler,安装在自己的笔记本虚拟机中,方便后面工作中有可能需要装机的时候使用。

  环境介绍:

  本机操作系统:win10 64位

  虚拟机软件: VirtualBox5.0.20(注意,老版本4.3.26不能使用桥接模式网络,这个问题花了我一个小时,后面升级到5版本就ok了)

  cobbler虚拟机操作系统: centos7  单核,内存2G,硬盘30G

  安装准备:
  1、找参考安装步骤,参考网上的资料:http://www.olindata.com/blog/2015/07/cobbler-setup-centos7 ,《Cobbler Setup on CentOS7》。
  2、准备centos7安装镜像,自行到网上找镜像下载;

  3、安装centos7 的虚拟机,单核,内存2G,硬盘100G,安装的时候选择web server,将相应的包都勾上,其中主要有python环境、java环境等等,具体不记得了,反正尽量觉得能用上的都勾上,省得后面单独安装。当然,还有其他的时区、网络配置、分区等等,时区选择shanghai,其他的自己爱怎么配置就怎么配置。网络配置可以后面配置,也可以安装的时候配置,需要配置为实际物理网络的网段,方便后面cobbler通过局域网装机。我这里配置的IP地址是192.168.1.201,注意不要和现有网络地址冲突。分区的时候,注意不要采用默认的分区方式,默认的分区会有两个主要的分区,一个是根分区/,一个是/home分区,各占大概一半的空间,建议直接将/home分区去掉,直接将绝大部分空间分配给/,因为cobbler主要用到的空间是/var/www/cobbler 这个目录,放镜像的目录。
  4、将虚拟机的网络设置为桥接模式,在虚拟机里面ping www.baidu.com 确认能够访问外网。
  

  

  (一)安装cobbler软件,配置YUM仓库、防火墙、安装包
  1、下载yum源安装包:
  wget https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
  rpm -ivh epel-release-7-8.noarch.rpm
2.配置防火墙
    #systemctl stop firewalld
    #chkconfig firewalld off3.配置selinux
  sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  setenforce 0
  如果不关闭selinux也可以
  #getsebool -a|grep cobbler
  #setsebool -P cobbler_can_network_connect 1
    4、安装cobbler以及cobbler-web:
    yum install cobbler cobbler-web dnsmasq syslinux pykickstart tftp tftp-server xinetd      5、开启cobbler和httpd应用:

  [root@cobbler ~]# systemctl enable cobblerd
  [root@cobbler ~]# systemctl start cobblerd
  [root@cobbler ~]#
  [root@cobbler ~]# systemctl enable httpd
  [root@cobbler ~]# systemctl start httpd
  

  
[root@cobbler ~]# systemctl enable xinetd
[root@cobbler ~]# systemctl start xinetd
  


  
  6、cobbler-web提供了漂亮的web界面,到现在为止,就可以通过下面的网址访问web管理界面了:

  https://192.168.1.201/cobbler_web
  

  (二)配置cobbler
  配置主要是对cobbler的配置文件/etc/cobbler/settings 进行配置。主要有以下的配置项目:
  

  /etc/cobbler/settings:
  default_password_crypted: "{今后装新机的root密码,可以使用这个命令获取: openssl passwd -1}"
  manage_dhcp: 1
  manage_dns: 1
  pxe_just_once: 1
  next_server: 192.168.1.201
  server: 192.168.1.201
  

  可以使用下面的语句直接进行修改配置:
  /etc/cobbler/settings #Cobbler 主配置文件
  sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings
  sed -i 's/manage_dns: 0/manage_dns: 1/g' /etc/cobbler/settings
  sed -i 's/pxe_just_once: 0/pxe_just_once: 1/g' /etc/cobbler/settings
  sed -i 's/^next_server: 127.0.0.1/next_server: 192.168.1.201/g' /etc/cobbler/settings
  sed -i 's/^server: 127.0.0.1/server: 192.168.1.201/g' /etc/cobbler/settings
  
  接下来需要修改的配置文件是:/etc/cobbler/modules.conf  ,需要修改的配置项如下:
[dns]

  module = manage_dnsmasq
[dhcp]

  module = manage_dnsmasq
  

  基于你的网络配置,dhcp模板配置文件也需要修改:/etc/cobbler/dhcp.template,需要修改的配置项如下(注意range dynamic-bootp参数选项是设置的dhcp地址范围):
  subnet 192.168.1.0 netmask 255.255.255.0 {
  option routers             192.168.1.1;
  option domain-name-servers 192.168.1.1;
  option subnet-mask         255.255.255.0;
  range dynamic-bootp        192.168.1.210 192.168.1.220;
  default-lease-time         21600;
  max-lease-time             43200;
  next-server                $next_server;
  }
  

  编辑这个配置文件:/etc/cobbler/dnsmasq.template,(注意dhcp-range参数选项是设置的dhcp地址范围)
  ...
  ...
  dhcp-range=192.168.1.210,192.168.1.220
  ...
  开启tftp服务:
  sed -i '/disable/c\\tdisable\t\t\t= no' /etc/xinetd.d/tftp
  下载boot-loader包:
  cobbler get-loaders
  使能 rsyncd 服务,开机自启动:
  systemctl enable rsyncd
  

  最后请注意,装机的默认密码是:  "cobbler",如果需要修改,请通过"openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'"命令,修改settings配置文件的default_password_crypted参数。
  

  重启应用
  systemctl restart cobblerd
  cobbler check
  cobbler sync
  

  

  【2016年11月22日补充】
  重新做了该实验,想验证一下如何适应不同的局域网,基本思路是安装完成基本的cobbler安装包之后,修改虚拟机的IP地址,和相应的cobbler配置文件参数,使之适应新的安装环境。

  虚拟机的配置有点调整,配置两块网卡,一块设置为hostonly,在虚拟化环境内部模拟局域网,是后面部署的网络,一块设置为bridge,直接桥接到物理网卡,能够上网,方便用yum进行安装。

  

  安装配置cobbler完成之后,就要开始上传操作系统镜像,制作软件源,上传操作系统镜像可以省略,可以通过直接在虚拟机上挂载ISO文件,相当与插入光驱DVD。首先在虚拟机的存储IDE的DVD中加载ISO文件,然后运行命令如下:
    mount -o loop /dev/cdrom /media/  这样,就可以在系统中访问/media/ 中ISO镜像内的文件了。下一步是制作软件安装源。

  导入镜像,我放的是centos7 的安装盘:
  cobbler import --path=/media/ --name=centos7 --arch=x86_64
  这个命令需要执行一段时间,会在/var/www/cobbler/ks_mirror这个目录下生成相应的centos7的安装软件源。可以在这个目录下执行 du -m查看空间增长情况,最后完成的时候空间是4.15G。
  导入完成之后,可以在web界面的Distros菜单上看到对应的软件源centos7-x86_64 ,以及Profiles菜单中看到centos7-x86_64 ,
  将kickstart脚本拷贝到这个目录/var/lib/cobbler/kickstarts/,比如,我将cobbler虚拟机的kickstart脚本拷贝进去:
  cp anaconda-ks.cfg /var/lib/cobbler/kickstarts/centos7-1122.ks
  然后在web界面的 “Kickstart Templates” 菜单中就能够看到相应的模板,并且后面安装系统的时候可以选择这个模板进行安装。
  不想搞得太复杂,其实到这一步,很多工作都可以直接在web界面中完成。web界面有几个菜单,分别介绍一下:

  Configuration 菜单:
  Distros  安装镜像,导入镜像后会生成相应的安装镜像。
  Profiles   特性模板,这里可以绑定kickstart
  Systems   需要安装的系统,可以针对每一台不同的机器提前配置,这里可以绑定kickstart
  Repos     软件源
  Kickstart Templates   非常重要,Kickstart 模板,决定了安装的系统里面的所有特性参数,比如分区,IP地址,安装包等
  

  Actions 菜单:
  Import DVD 导入生成镜像
  Sync ?      配置同步
  

  其实上面的cobbler import --path=/media/ --name=centos7 --arch=x86_64 这个命令也可以用 Actions菜单的“Import DVD”来完成。
  

  为了节约篇幅,我简单描述一下如何使用cobbler来自动化部署新的机器:

  1、导入镜像,首先挂载DVD到虚拟机的/media目录,然后使用命令或者web界面的“Import DVD”完成;
  2、生成“Kickstart Templates”,根据需要生成,在新的模板里面配置好相应的参数,比如分区、IP、安装包、甚至相关安装后的相关配置修改,都可以一次性在模板里面配置,大大节约人力成本。
  3、在Configuration 菜单的“systems”中配置目标安装配置主机。主要配置主机名、MAC地址等等,绑定Kickstart Templates 。
  

  如果用虚拟机测试,创建虚拟机,并且将系统启动方式中将网络启动方式选中。

  

  【2017年2月12日补充】
  制作ubuntu16.04模板,参考官网的指导文档: https://help.ubuntu.com/community/Cobbler/Preseed
  总结如下:

  •   从unbuntu官网下载ISO镜像:http://releases.ubuntu.com/16.04/
  •   import DVD
  •   制作ubuntu的Distros
  •   准备preseed文件,制作profile
  •   直接启动目标主机,目标主机通过PXE识别到可用的profile,选择ubuntu的profile进行安装。

  

运维网声明 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-452105-1-1.html 上篇帖子: keepalived 主备模式(centos 7) 下篇帖子: CentOS系统根目录下各个目录存放的内容
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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