1.Cobbler Install
安装前准备  /*注:Cobbler需安装在CentOS7机器上面,建议安装Cobbler机器的CentOS7 everything版本*/
关闭SELinux

cat /etc/redhat-release
setenforce 0
getenforce //得到的结果需要是:Permissive
如果不是,执行两步:
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
setenforce
reboot

关闭防火墙:

systemctl stop firewalld

开机不启用防火墙:

systemctl disable firewalld
安装wget
yum -y install wget
添加一个epel源:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install cobbler cobbler-web pykickstart httpd dhcp tftp xinetd
启动:
systemctl start httpd
systemctl start cobblerd
设置cobbler和httpd为开机自启动:
systemctl enable httpd
systemctl enable cobblerd
查看cobblerd的启动状态:
netstat -lntup //查看已经启动的端口
检查:
cobbler check
对报错进行修复:
vim /etc/cobbler/settings
修改 【384行 server: 127.0.0.1为384 server: 本机的ip地址】【272行 next_server: 127.0.0.1为272 next_server: 本机的ip地址】

对应的修改命令为:

sed -i "s#server: 127.0.0.1#server: `ip addr|grep inet|grep brd|awk '{ print $2 }'|awk -F/ '{ print $1 }'`#g" /etc/cobbler/settings

 

2.编辑/etc/xinetd.d/tftp
vim /etc/xinetd.d/tftp
 
修改“    disable                 = yes"为"    disable                 = no" 用sed工具修改:
sed -i '14s/^.*$/    disable            = no/'  /etc/xinetd.d/tftp
 
3.执行一条命令:
cobbler get-loaders
4.启动rsyncd服务并添加为开机启动项:
systemctl start rsyncd.service
systemctl enable rsyncd.service
查看启动状态:
systemctl status rsyncd.service
systemctl restart xinetd
systemctl enable xinetd
5.设置密码:
openssl passwd - -salt 'cobbler' 'cobbler'
执行结果:$1$cobbler$M6SE55xZodWc9.vAKLJs6.
 
复制此结果到: /etc/cobbler/settings 中
 
 
vim /etc/cobbler/settings:
101行 替换
default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."
default_password_crypted: "$1$cobbler$M6SE55xZodWc9.vAKLJs6."
 
sed实现:
sed -i 's#default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."#default_password_crypted: "$1$cobbler$M6SE55xZodWc9.vAKLJs6."#g' /etc/cobbler/settings
安装其它两个模块:
yum -y install fence-agents debmirror
6.重启cobbler服务:
systemctl restart cobblerd
7.用cobbler sync同步一下
cobbler sync
 
 
 
 
再次执行:
cobbler check
 
vim /etc/debmirror.conf
 
修改@dists="sid";为#@dists="sid"; //*其实就是注释掉这一行
修改@arches="i386";为#@arches="i386";//*其实就是注释掉这一行
sed -i 's/@dists=\"sid\";/#@dists=\"sid\";/g' /etc/debmirror.conf
sed -i 's/@arches=\"i386\";/#@arches=\"i386\";/g' /etc/debmirror.conf

reboot

systemctl restart cobblerd

systemctl restart httpd

cobbler check
 
管理dhcp服务:
vim /etc/cobbler/settings
 
修改:242 manage_dhcp: 0为242manage_dhcp: 1
sed -i 's#manage_dhcp: 0#manage_dhcp: 1#g' /etc/cobbler/settings
 
cobbler自带dhcp配置文件:
/etc/cobbler/modules.conf
 
查看dhcp的模板文件:
vim /etc/cobbler/dhcp.template
 
修改部分:
subnet 192.168.2.0 netmask 255.255.255.0 {

     option routers             192.168.2.1;

     option domain-name-servers 8.8.8.8;

     option subnet-mask         255.255.255.0;

     range dynamic-bootp        192.168.2.100 192.168.2.254;

     default-lease-time         ;

     max-lease-time             ;

     next-server                $next_server;
 
systemctl restart cobblerd
 
cobbler sync
到此为止:cobbler装完了也配置好了;
 
distro发行版:centos6/7
1.挂载CentOS7系统ISO光盘
mount /dev/cdrom /mnt/
 
2.import导入系统镜像
cobbler import --path=/mnt/ --name=CentOS--x86- --arch=x86_64
 
--path 镜像路径
--name 安装源定义名称
--arch 制动操作系统平台是32/64位
镜像存放目录,cobbler会将所有的安装文件拷贝到本地一份,放在/var/www/cobbler/ks_mirrors
 
cobbler profile edit --name=CentOS-7-64-x86_64 --kopts='net.ifnames=0 biosdevname=0'
 
vim /var/lib/cobbler/kickstarts/centos7-x86-.cfg
 
lang en_US
keyboard us
timezone Asia/Shanghai
rootpw --iscrypted $default_password_crypted
text
install
url --url=$tree
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype xfs --size --ondisk sda
part swap --size --ondisk sda
part / --fstype xfs --size --grow --ondisk sda
auth --useshadow --enablemd5
$SNIPPET('network_config')
reboot
firewall --disabled
selinux --disabled
skipx %pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
$SNIPPET('pre_anamon')
%end %packages
@base
@core
sysstat
iptraf
ntp
lrzsz
ncurses-devel
openssl-devel
zlib-devel
OpenIPMI-tools
tree
nmap
screen
%end %post
systemctl disable postfix.service
%end
 
cobbler profile edit --name=CentOS---x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7-x86-.cfg
cobbler profile report
 
挂上配置文件
cobbler profile edit --name=CentOS---x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7-x86-.cfg
 
再挂载一块Centos6的ISO映像文件
先解除CentOS7的挂载:
umount /dev/cdrom
挂载Centos6镜像文件
mount /dev/cdrom /mnt/
 
import导入系统镜像
cobbler import --path=/mnt/ --name=CentOS--x86_64 --arch=x86_64

vim /var/lib/cobbler/kickstarts/centos6-x86_64.cfg
 
auth --useshadow --enablemd5
bootloader --location=mbr
clearpart --all --initlabel
part /boot --fstype ext4 --size --ondisk sda
part swap --size --grow --ondisk sda
part / --fstype ext4 --size --grow --ondisk sda
text
firewall --disable
firstboot --disable
keyboard us
lang en_US
url --url=$tree
$yum_repo_stanza
$SNIPPET('network_config')
reboot
rootpw --iscrypted $default_password_crypted
selinux --disabled
skipx
timezone Asia/Shanghai
install zerombr
%packages
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
$SNIPPET('pre_anamon')
%post
%end
 
先查看:
cobbler profile list
 查看到的结果

CentOS---x86_64
CentOS---x86_64

所以下面的--name=后面应该写入CentOS-6-64-x86_64

 
cobbler profile edit --name=CentOS---x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6-x86_64.cfg
systemctl restart dhcpd
systemctl enable dhcpd
添加epel源:
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum makecache
Cobbler自定义重装
yum -y install koan
指定重装的系统[先在cobbler服务端用Cobbler profile list查看一下]
koan --server=192.168.2.13 --profile=CentOS---x86_64 --display
koan --server=192.168.2.13 --profile=CentOS---x86_64 --r //koan写入,只有写入后重启才会生效
 
Cobbler自定义仓库:
 
1.添加repo:
cobbler repo add --name=zabbix3. --mirror=https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/ --arch=x86_64 --breed=yum
cobbler repo add --name=openstack-n-centos7 --mirror=https://mirrors.aliyun.com/centos/7.5.1804/cloud/x86_64/openstack-ocata/ --arch=x86_64 --breed=yum
2.同步repo:
cobbler reposync
[删除repo源]
cobbler repo remove --name=zabbix3.
cobbler repo list


[更改repo名称]

cobbler repo rename --name=openstack-n --newname=openstack-n-centos7
3.添加repo到对应的profile:
cobbler profile edit --name=CentOS---x86_64 --repos=openstack-n-centos7
查看是否添加成功:
cobbler profile report --name=CentOS---x86_64
修改配置文件内容:
vim /var/lib/cobbler/kickstarts/centos7-x86-.cfg
在systemctl disable postfix.service和%end中间添加一条:
$yum_config_stanza
添加定时任务,定期同步repo:
echo "00 3 * * * /usr/bin/cobbler reposync --tries=3 --no-fail" >> /var/spool/cron/root
或者
echo "00 3 * * * /usr/bin/cobbler reposync --tries=3 --no-fail >> /soft/scripts/log/cobbler_rsync.log">> /var/spool/cron/root
 
替换系统选择界面:
vim /etc/cobbler/pxe/pxedefault.template
修改第三行:
MENU TITLE Cobbler | http://cobbler.github.io/i[修改为你自己想要的内容]
 
 
同步一下:
cobbler sync
Cobbler自定义安装:
唯一身份标识符:身份证
服务器标识符:MAC地址
 
MAC地址标识符-->固定IP地址 掩码 网关 dns 主机名
 
 
查看系统里面的profile:

[root@localhost ~]# cobbler profile list
  CentOS-6-64-x86_64
  CentOS-7-64-x86_64
 
 
自定义安装命令:
cobbler system add --name=linux-node2.com --mac=:0C:::: --profile=CentOS---x86_64 --ip-address=192.168.2.110 --subnet=255.255.255.0 --gateway=192.168.2.1 --interface=eth0 --static= --hostname=linux-node2.com --name-servers="8.8.8.8"
同步:
cobbler sync
查看创建情况:
cobbler system report

Cobbler自动化工具实践的更多相关文章

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

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

  2. Ansible - 简介和应用自动化基础实践

    installAnsible简介和应用自动化基础实践 一.引入: 1.1  如官方定义,Ansible is The simplest way to automate apps and IT infr ...

  3. Cobbler自动化批量安装Linux操作系统 - 运维总结

    一.Cobbler简述 Cobbler是一个自动化和简化系统安装的工具,通过使用网络引导来控制和启动安装.Cobbler的特性包括存储库镜像.Kickstart模板和连接电源管理系统.Cobbler通 ...

  4. 运维自动化工具ansible

    企业级自动化运维工具应用实战ansible 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出 ...

  5. 自动化工具-jenkins

    jenkins自动化工具使用教程 自动化构建.测试.部署.代码检测越来越重要.主要有一下几点原因 企业做大,项目变多,多端支持(web,h5,小程序等) 微服务提倡高内聚低耦合,项目因拆分变多 Dev ...

  6. Cobbler自动化安装

    # Cobbler自动化安装 [Cobbler官网](http://cobbler.github.io) ![](/Users/wanyongzhen/Library/Containers/com.t ...

  7. 5 个 iOS 和 Android 最佳的开源自动化工具[转]

    自动化测试时下在产品测试上有着非常重要的作用.实现测试自动化有多种积极的方式,包括最大限度地减少测试执行时间:在关键的发布阶段,用更少的时间确保更大的覆盖范围:在产品开发阶段,可靠又重复性地运行以确保 ...

  8. Jenkins+SVN+Maven+shell 自动化部署实践

      JAVA环境中利用Jenkins+svn+maven进行自动化部署实践   一. 前言2 1.介绍jenkins2 1.本地项目打包2 2.通过secureCRT工具,手动传输到服务器2 3.然后 ...

  9. DevOps - 自动化工具

    章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...

随机推荐

  1. OpenStack存储(单节点)

    一.OpenStack Swift对象存储 1.安装Swift服务 在controller节点依次执行iaas-install-swift-controller.sh和iaas-install-swi ...

  2. git之win安装git和环境配置及常用命令总结

    12.windowns安装git和环境变量配置 11.git之常见命令总结 ===== 12.windowns安装git和环境变量配置 ; 转自 https://wuzhuti.cn/2385.htm ...

  3. 小程序踩坑异步请求json时,headers设置 "content-type": "application/x-www-form-urlencoded"

    wx.request({ url: url, method:params.method, data: params.data, header: { "content-type": ...

  4. 00006 - Linux中使用export命令设置环境变量

    功能说明:设置或显示环境变量. #################################################################################### ...

  5. 挂载本地iso镜像

    挂载本地iso镜像 [root@linux-node1 ~]# mkdir -p /disk/iso [root@linux-node1 ~]# cd /disk/iso/ [root@linux-n ...

  6. 插件开发-滑条(slide)开发

    自己一直很喜欢开发组件,只是OPP学的不是很精,自己在项目中用别人的框架进行项目开发,难免受制于人,也许这就是个人实际项目需求和框架提供的多少有点不符,引导我自己尝试开发一些自己常用的组件,话不多说, ...

  7. javascript-时间戳

    // 获取当前时间戳(以s为单位) var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; console.log( ...

  8. socketsever

    socketsever 一个集成了TCP.UDP多线程多进程高并发的socket框架,可以用来快速搭建socket应用,并且拥有较好的并发性能. import socketserver class M ...

  9. cocos子节点转父节点坐标 原理浅析(局部坐标转世界坐标同理)

    在CCNode的类中,有一个得到 一个节点坐标系转换父亲坐标系的一个矩阵,节点内坐标乘以这个矩阵,就可以转换为在节点父节点中的坐标,方法名为: Mat4& Node::getNodeToPar ...

  10. 用singleton单例模式实现一个模块

    对于具有唯一性的模块(例如,购物车项目中的物品数据,各个页面都要使用它,而且是唯一的数据),用singleton模式. var mySingleton = (function() { var priv ...