1.安装epel源

  1. yum -y install epel-release

2.安装cobbler环境所需的包

  1. yum install -y httpd dhcp xinetd tftp cobbler cobbler-web pykickstart

3.启动相关服务

  1. systemctl enable xinetd
  2. systemctl start xinetd
  3. systemctl start httpd
  4. systemctl start cobblerd
  5. systemctl enable httpd
  6. systemctl enable cobblerd

4.cobbler check检查和配置

  1. cobbler check

(1)需要设置cobbler服务器IP地址

  1. vim /etc/cobbler/settings
  2. server: 172.25.25.12

(2)next-server地址

  1. vim /etc/cobbler/settings
  2. next_server: 172.25.25.12

(3)修改tftp配置,启用tftp

  1. vim /etc/xinetd.d/tftp
  2. disable no

(4)下载一些boot-loaders

  1. cobbler get-loaders

(5)启动rsyncd服务并设置开机启动

  1. systemctl start rsync
  2. systenctl enable rsync

(6)提示如果是deb系统需要安装debmirror,这里我们是centos,可以不做
(7)修改模板里的密码
第7步提示说默认模板里密码是cobbler,这样装出来的系统默认root密码就都是cobbler了,你需要自定义一个不一样的密码。通过openssl生成一个加密的密码
这里设置密码为123456 ,并用cobbler字符填充到加密后的字符串里
-1:用MD5基于BSD的密钥算法。
-salt string:用指定的字符串填充。当从终端读取一个密钥时,则填充它。
如下

  1. openssl passwd -1 -salt 'cobbler' '123456'
  2. $1$cobbler$sqDDOBeLKJVmxTCZr52/11

复制加密后的字符串到cobbler配置文件中替换原来的

  1. vim /etc/cobbler/settings
  2. default_password_crypted: "$1$cobbler$sqDDOBeLKJVmxTCZr52/11"

5.重启cobblerd服务,看到配置已经完成了。下面1和2不用管

  1. systemctl restart cobblerd
  2. cobbler check
  3. The following are potential configuration items that you may want to fix:
  4.  
  5. 1 : debmirror package is not installed, it will be required to manage debian deployments and repositories
  6. 2 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
  7.  
  8. Restart cobblerd and then run 'cobbler sync' to apply changes.

6.配置cobbler管理dhcp
接下来设置dhcp,最好让cobler管理dhcp

  1. vim /etc/cobbler/settings

这里改成1,这样cobbler才能管理dhcp配置文件

  1. manage_dhcp: 1

修改dhcp模板文件,修改它之后,会自动生成dhcp的配置文件

  1. vim /etc/cobbler/dhcp.template

$next_server这里不用修改,它会调用cobbler配置文件中之前设置的next_server的地址
执行cobbler sync的时候,它会自动生成dhcp的配置,并自动帮你重启dhcp

  1. systemctl restart cobblerd
  2. cobbler sync

查看dhcp的配置文件,已经变化了

7.导入镜像到cobbler中

  1. mount /dev/cdrom /mnt

导入镜像到cobbler中
先查看下cobbler默认存储系统的目录,现在是没有系统镜像的状态

  1. ll /var/www/cobbler/ks_mirror/ 

从哪里导入,名称是什么,架构是什么

  1. cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64

再次导入centos6.6的系统。

  1. cobbler import --path=/mnt/ --name=CentOS-6-x86_64 --arch=x86_64

8.kickstart文件介绍

  1. #Kickstart Configurator for cobbler by Jason Zhao
  2. #platform=x86, AMD64, or Intel EM64T
  3. #System language
  4. lang en_US
  5. #System keyboard
  6. keyboard us
  7. #Sytem timezone
  8. timezone Asia/Shanghai
  9. #Root password
  10. rootpw --iscrypted $default_password_crypted
  11. #Use text mode install
  12. text
  13. #Install OS instead of upgrade
  14. install
  15. #Use NFS installation Media
  16. url --url=$tree
  17. #System bootloader configuration
  18. bootloader --location=mbr
  19. #Clear the Master Boot Record
  20. zerombr
  21. #Partition clearing information
  22. clearpart --all --initlabel
  23. #Disk partitioning information
  24. part /boot --fstype xfs --size 1024 --ondisk sda
  25. part swap --size 16384 --ondisk sda
  26. part / --fstype xfs --size 1 --grow --ondisk sda
  27. #System authorization infomation
  28. auth --useshadow --enablemd5
  29. #Network information
  30. $SNIPPET('network_config')
  31. #network --bootproto=dhcp --device=em1 --onboot=on
  32. # Reboot after installation
  33. reboot
  34. #Firewall configuration
  35. firewall --disabled
  36. #SELinux configuration
  37. selinux --disabled
  38. #Do not configure XWindows
  39. skipx
  40. #Package install information
  41. %pre
  42. $SNIPPET('log_ks_pre')
  43. $SNIPPET('kickstart_start')
  44. $SNIPPET('pre_install_network_config')
  45. # Enable installation monitoring
  46. $SNIPPET('pre_anamon')
  47. %end
  48.  
  49. %packages
  50. @ base
  51. @ core
  52. sysstat
  53. iptraf
  54. ntp
  55. lrzsz
  56. ncurses-devel
  57. openssl-devel
  58. zlib-devel
  59. OpenIPMI-tools
  60. mysql
  61. nmap
  62. screen
  63. %end
  64.  
  65. %post
  66. systemctl disable postfix.service
  67. %end

下面挑一些重点说明下

  1. 这个就是在cobbler里面设置的密码,就是那个openssl生成的密码,它会引用
  2. #Root password
  3. rootpw --iscrypted $default_password_crypted
  4.  
  5. url=$tree 它是cobbler内部的变量
  6. #Use NFS installation Media
  7. url --url=$tree
  8.  
  9. bootloader安装在mbr
  10. #System bootloader configuration
  11. bootloader --location=mbr
  12.  
  13. 磁盘分区信息
  14. #Disk partitioning information
  15. part /boot --fstype xfs --size 1024 --ondisk sda
  16. part swap --size 16384 --ondisk sda
  17. part / --fstype xfs --size 1 --grow --ondisk sda

  18. 下面是一些要求安装的系统包
  19. %packages
  20. @ base
  21. @ core
  22. sysstat
  23. iptraf
  24. ntp
  25. lrzsz
  26. ncurses-devel
  27. openssl-devel
  28. zlib-devel
  29. OpenIPMI-tools
  30. mysql
  31. nmap
  32. screen
  33. %end

下面是现网使用的centos6的kickstart文件,装完之后,做了优化,关闭很多不必要的服务

  1. #Kickstart Configurator for cobbler by Jason Zhao
  2. #platform=x86, AMD64, or Intel EM64T
  3. key --skip
  4. #System language
  5. lang en_US
  6. #System keyboard
  7. keyboard us
  8. #Sytem timezone
  9. timezone Asia/Shanghai
  10. #Root password
  11. rootpw --iscrypted $default_password_crypted
  12. #Use text mode install
  13. text
  14. #Install OS instead of upgrade
  15. install
  16. #Use NFS installation Media
  17. url --url=$tree
  18. #System bootloader configuration
  19. bootloader --location=mbr
  20. #Clear the Master Boot Record
  21. zerombr yes
  22. #Partition clearing information
  23. clearpart --all --initlabel
  24. #Disk partitioning information
  25. part /boot --fstype ext4 --size 1024 --ondisk sda
  26. part swap --size 16384 --ondisk sda
  27. part / --fstype ext4 --size 1 --grow --ondisk sda
  28. #System authorization infomation
  29. auth --useshadow --enablemd5
  30. #Network information
  31. $SNIPPET('network_config')
  32. #network --bootproto=dhcp --device=em1 --onboot=on
  33. #Reboot after installation
  34. reboot
  35. #Firewall configuration
  36. firewall --disabled
  37. #SELinux configuration
  38. selinux --disabled
  39. #Do not configure XWindows
  40. skipx
  41. #Package install information
  42. %packages
  43. @ base
  44. @ chinese-support
  45. @ core
  46. sysstat
  47. iptraf
  48. ntp
  49. e2fsprogs-devel
  50. keyutils-libs-devel
  51. krb5-devel
  52. libselinux-devel
  53. libsepol-devel
  54. lrzsz
  55. ncurses-devel
  56. openssl-devel
  57. zlib-devel
  58. OpenIPMI-tools
  59. mysql
  60. lockdev
  61. minicom
  62. nmap
  63.  
  64. %post
  65. #/bin/sed -i 's/#Protocol 2,1/Protocol 2/' /etc/ssh/sshd_config
  66. /bin/sed -i 's/^ca::ctrlaltdel:/#ca::ctrlaltdel:/' /etc/inittab
  67. /sbin/chkconfig --level 3 diskdump off
  68. /sbin/chkconfig --level 3 dc_server off
  69. /sbin/chkconfig --level 3 nscd off
  70. /sbin/chkconfig --level 3 netfs off
  71. /sbin/chkconfig --level 3 psacct off
  72. /sbin/chkconfig --level 3 mdmpd off
  73. /sbin/chkconfig --level 3 netdump off
  74. /sbin/chkconfig --level 3 readahead off
  75. /sbin/chkconfig --level 3 wpa_supplicant off
  76. /sbin/chkconfig --level 3 mdmonitor off
  77. /sbin/chkconfig --level 3 microcode_ctl off
  78. /sbin/chkconfig --level 3 xfs off
  79. /sbin/chkconfig --level 3 lvm2-monitor off
  80. /sbin/chkconfig --level 3 iptables off
  81. /sbin/chkconfig --level 3 nfs off
  82. /sbin/chkconfig --level 3 ipmi off
  83. /sbin/chkconfig --level 3 autofs off
  84. /sbin/chkconfig --level 3 iiim off
  85. /sbin/chkconfig --level 3 cups off
  86. /sbin/chkconfig --level 3 openibd off
  87. /sbin/chkconfig --level 3 saslauthd off
  88. /sbin/chkconfig --level 3 ypbind off
  89. /sbin/chkconfig --level 3 auditd off
  90. /sbin/chkconfig --level 3 rdisc off
  91. /sbin/chkconfig --level 3 tog-pegasus off
  92. /sbin/chkconfig --level 3 rpcgssd off
  93. /sbin/chkconfig --level 3 kudzu off
  94. /sbin/chkconfig --level 3 gpm off
  95. /sbin/chkconfig --level 3 arptables_jf off
  96. /sbin/chkconfig --level 3 dc_client off
  97. /sbin/chkconfig --level 3 lm_sensors off
  98. /sbin/chkconfig --level 3 apmd off
  99. /sbin/chkconfig --level 3 sysstat off
  100. /sbin/chkconfig --level 3 cpuspeed off
  101. /sbin/chkconfig --level 3 rpcidmapd off
  102. /sbin/chkconfig --level 3 rawdevices off
  103. /sbin/chkconfig --level 3 rhnsd off
  104. /sbin/chkconfig --level 3 nfslock off
  105. /sbin/chkconfig --level 3 winbind off
  106. /sbin/chkconfig --level 3 bluetooth off
  107. /sbin/chkconfig --level 3 isdn off
  108. /sbin/chkconfig --level 3 portmap off
  109. /sbin/chkconfig --level 3 anacron off
  110. /sbin/chkconfig --level 3 irda off
  111. /sbin/chkconfig --level 3 NetworkManager off
  112. /sbin/chkconfig --level 3 acpid off
  113. /sbin/chkconfig --level 3 pcmcia off
  114. /sbin/chkconfig --level 3 atd off
  115. /sbin/chkconfig --level 3 sendmail off
  116. /sbin/chkconfig --level 3 haldaemon off
  117. /sbin/chkconfig --level 3 smartd off
  118. /sbin/chkconfig --level 3 xinetd off
  119. /sbin/chkconfig --level 3 netplugd off
  120. /sbin/chkconfig --level 3 readahead_early off
  121. /sbin/chkconfig --level 3 xinetd off
  122. /sbin/chkconfig --level 3 ntpd on
  123. /sbin/chkconfig --level 3 avahi-daemon off
  124. /sbin/chkconfig --level 3 ip6tables off
  125. /sbin/chkconfig --level 3 restorecond off
  126. /sbin/chkconfig --level 3 postfix off

Cobbler 常用命令

  1. cobbler check #检查cobbler配置
  2. cobbler sync #同步配置到dhcp/pxe和数据目录
  3. cobbler list #列出所有的cobbler元素
  4. cobbler import #导入安装的系统镜像
  5. cobbler report #列出各元素的详细信息
  6. cobbler distro #查看导入的发行版系统信息
  7. cobbler profile #查看配置信息
  8. cobbler system #查看添加的系统信息
  9. cobbler reposync #同步yum仓库到本地

查看当前配置信息

  1. cobbler profile
  2. usage
  3. =====
  4. cobbler profile add
  5. cobbler profile copy
  6. cobbler profile dumpvars
  7. cobbler profile edit
  8. cobbler profile find
  9. cobbler profile getks
  10. cobbler profile list
  11. cobbler profile remove
  12. cobbler profile rename
  13. cobbler profile report

默认的ks文件位置,需要改成自己实际文件位置

  1. Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks

把centos6和centos7的ks文件上传到下面目录下

  1. /var/lib/cobbler/kickstarts/

更改centos6和centos7的ks文件位置

  1. cobbler profile edit --name=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
  2. cobbler profile edit --name=CentOS-6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6-x86_64.cfg

更改centos7的内核参数,让安装后网卡显示eth0
centos7 你想让网卡变成eth0 ,需要加内核参数
这里ks安装也需要加内核参数
通过看到有一行,关于设置内核参数的

  1. cobbler profile report --name=CentOS-7-x86_64

这一行的是关于内核参数的配置

  1. Kernel Options : {}

添加内核参数和查看

  1. cobbler profile edit --name=CentOS-7-x86_64 --kopts='net.ifnames=0 biosdevname=0'
  2. cobbler profile report --name=CentOS-7-x86_64

同步更改后的配置信息

可以看到它删除了/var/www下面的一些文件,然后重新生成

  1. cobbler sync

如果你修改文件不执行sync,修改是不生效的

Cobbler服务部署的更多相关文章

  1. 使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)

    本文记录了我使用Cobbler批量安装部署Linux和Windows系统的过程,文章主要分为三部分:Cobbler服务端的安装配置.Linux发行版CentOS和Ubuntu的自动安装部署.Windo ...

  2. (转)使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)

    原文:http://www.cnblogs.com/pluse/p/8316914.html http://blog.51cto.com/dreamway/1166589---------Cobble ...

  3. Linux服务之cobbler批量部署篇

    一.Cobbler简介:Cobbler通过将设置和管理一个安装服务器所涉及的任务集中在一起,从而简化了系统配置.相当于Cobbler封装了DHCP.TFTP.XINTED等服务,结合了PXE.kick ...

  4. Cobbler自动化部署

    一:PXE.Kickstart与Cobbler的概念: PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的技术,需要网卡的硬件支持,工作于C/S的 ...

  5. Cobbler自动化部署最佳实践

    第1章 Cobbler自动化部署最佳实践 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的. 面对 ...

  6. 自动化运维之Cobbler自动化部署安装操作系统

    Cobbler概述: Cobbler可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会. 在生产环境中,经常批 ...

  7. Cobbler自动部署主机系统

    Cobbler自动部署主机系统 简介: Cobbler由python语言开发,是对PXE和 Kickstart以及DHCP的封装.融合很多特性,提供了CLI和Web的管理形式.更加方便的实行网络安装. ...

  8. (转)Cobbler自动化部署最佳实践

    原文:http://www.xuliangwei.com/xubusi/446.html 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统, ...

  9. centos7PXE和cobbler自动部署装机

    安装程序启动过程MBR:isolinux/boot.catstage2: isolinux/isolinux.bin配置文件:isolinux/isolinux.cfg 每个对应的菜单选项: 加 ...

随机推荐

  1. File Inclusion - Pikachu

    概述: 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中,提供了: include(),inclu ...

  2. Sentry(v20.12.1) K8S 云原生架构探索,1分钟上手 JavaScript 性能监控

    系列 Sentry-Go SDK 中文实践指南 一起来刷 Sentry For Go 官方文档之 Enriching Events Snuba:Sentry 新的搜索基础设施(基于 ClickHous ...

  3. 解决JS获取中文参数出现的乱码问题

    在代码中增加如下js函数: function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + " ...

  4. 计算机网络安全 —— 对称加密算法 DES

    一.对称加密算法概念 我们通过计算机网络传输数据时,如果无法防止他人窃听, 可以利用密码学技术将发送的数据变换成对任何不知道如何做逆变换人都不可理解的形式, 从而保证了数据的机密性.这种变换被称为加密 ...

  5. MAX232数据方向

    在调试一个新板子的时候,串口调试从来都是放在前面的,而由于是一个新板子,电路图也是新的,因此有时候不知道串口线结对了没有,这个时候可能会对照PCB和原理图去看一下,但有时候看的人会很迷糊,因为不同的人 ...

  6. Scrapy——將數據保存到MySQL數據庫

    Scrapy--將數據保存到MySQL數據庫 1. 在MySQL中創建數據庫表job_inf: 1 Create table job_inf( 2 id int(11) not null auto_i ...

  7. 如何配置 Slf4j

    一,前言 日常开发中经常需要在控制台输出一些信息,如果这些东西不加管理,那么很容易就被输出信息淹没.幸好,我们有日志相关的库来帮助我们格式化控制台的输出. 这篇文章将介绍如何配置 Slf4j 及其具体 ...

  8. NodeJS连接MongoDB数据库

    NodeJS连接MongoDB数据库 连接数据库的js文件[我将其命名为(connect.js)] // 引入mongoose第三方模块 const mongoose = require('mongo ...

  9. KMP算法 字符串匹配(看猫片)

    前言 此篇笔记根据自己的理解和练习心得来解释算法,只代表个人观点,如有不足请指出(我刚学QWQ) 浅谈字符串匹配 设想一个场景,假设你是一个净化网络语言环境的管理员,每天需要翻阅大量的文章和帖子来查找 ...

  10. 接口鉴权之sign签名校验与JWT验证

    需求描述: 项目里的几个Webapi接口需要进行鉴权,同接口可被小程序或网页调用,小程序里没有用户登录的概念,网页里有用户登录的概念,对于调用方来源是小程序的情况下进行放权,其他情况下需要有身份验证. ...