文档章节

Cobbler自动化装机

Jalo
 Jalo
发布于 2016/12/10 05:21
字数 1092
阅读 89
收藏 0
点赞 0
评论 0

1、环境准备

安装一台CentOS7.2版本的的桌面版本的。 关闭防火墙、selinux,配置静态IP

systemctl stop firewalld.service
systemctl disable firewalld.service
yum -y install iptables-services
cp -rp /usr/libexec/iptables/iptables.init /etc/init.d/iptables
getenforce

2、安装epel源

yum install -y https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
cp /etc/yum.repos.d/CentOS-Base.repo{,.bak}
wget http://mirrors.aliyun.com/repo/Centos-7.repo -O /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
yum update -y

3、安装kickstart文件生成器

yum install -y system-config-kickstart

4、开始安装Cobbler服务,并又改相应的配置

cat << EOF
+--------------------------------------------+
|                                            |
|        ==install cobbler==                 |
|                                            |
+--------------------------------------------+
EOF
#安装cobbler包
yum install -y cobbler httpd rsync tftp-server xinetd dhcp cobbler-web koan pykickstart* fence-agents* debmirror syslinux
# 获取静态IP地址
IPADDR=$(ifconfig eth0 | awk '/inet /{print $2}')
SET=/etc/cobbler/settings
PASS=$(openssl passwd -1 -salt 'Jalo.mu' '123456')
cp $SET{,.ori}
# 配置httpd文件服务器
mkdir /var/www/html/{confiles/{procfiles,profiles,vimfile,yumfile},image/{CentOS7.2,CentOS6.5},ksfile,script} -p


# 修改cobbler配置文件setings
cat << EOF
+--------------------------------------------+
|                                            |
|   ==Modify Cobbler configuration file==    |
|                                            |
+--------------------------------------------+
EOF
sed -i "s/server: 127.0.0.1/server: $IPADDR/" $SET
sed -i "s/next_server: 127.0.0.1/next_server: $IPADDR/" $SET
sed -i "s/manage_dhcp: 0/manage_dhcp: 1/" $SET
sed -i "#^default_password_crypted: .*$#default_password_crypted: \"$PASS\"#g" $SET
cobbler get-loaders
while [[ $? != 0 ]]
do
    cobbler get-loaders
done
# set tftp service
sed -i "s/disable         = yes/disable         = no/g"  /etc/xinetd.d/tftp
# set dhcpd serverice
BASE=$(echo $IPADDR | awk -F. '{printf("%s.%s.%s.\n",$1,$2,$3)}')
MIN=${BASE}"100"
MAX=${BASE}"200"
NAMESERVER=$(cat /etc/resolv.conf | awk '/nameserver/{printf("%s ",$2) }END{printf("\n")}')
cat > /etc/cobbler/dhcp.template <<EOF
subnet ${BASE}0 netmask 255.255.255.0 {
     option routers             ${BASE}254;
     option domain-name-servers $NAMESERVER;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        $MIN $MAX;
     next-server                $IPADDR;
     filename                   "pxelinux.0";
}          
EOF

cobbler sync

while [[ $? != 0 ]]
do
    cobbler sync
done

cobbler check
systemctl restart httpd
systemctl restart xinetd
systemctl restart dhcpd
systemctl restart cobblerd

cat << EOF
+--------------------------------------------+
|                                            |
|     ==Network Yum source set up==          |
|                                            |
+--------------------------------------------+
EOF
YUMPATH=/var/www/html/image/CentOS7.2/

mount /dev/cdrom /mnt
cp -a /mnt/* $YUMPATH
createrepo -pdo $YUMPATH $YUMPATH
createrepo -g `ls ${YUMPATH}repodata/*-comps.xml` $YUMPATH

cat << EOF
+--------------------------------------------+
|                                            |
|        ==Cobbler Import Image==            |
|                                            |
+--------------------------------------------+
EOF
CNAME=CentOS-7.2-x86_64
ARCH=x86_64
KSFILE=/var/www/html/ksfile/ks7.cfg

cobbler import --path=$YUMPATH --name=$CNAME --arch=$ARCH --kickstart=$KSFILE
cobbler profile edit --name=$CNAME --kopts='net.ifnames=0 biosdevname=0'
systemctl enable httpd
systemctl enable xinetd
systemctl enable dhcpd
systemctl enable rsyncd
systemctl enable cobblerd

cobbler sync
while [[ $? != 0 ]]
do
    cobbler sync
done


systemctl restart httpd
systemctl restart xinetd
systemctl restart dhcpd
systemctl restart cobblerd

cat << EOF
+--------------------------------------------+
|                                            |
|      ==Check Cobbler Install Sucess==      |
|                                            |
+--------------------------------------------+
EOF
ROW=$(cobbler check | egrep -v ^$ | wc -l)
if [ $ROW -ne 0 ]
then
    echo "Cobbler set Error!!!!"
fi
systemctl status httpd | grep "active (running)"
[ $? -ne 0 ] && echo "httpd Error";exit(1)
systemctl status xinetd | grep "active (running)"
[ $? -ne 0 ] && echo "xinetd Error";exit(2)
systemctl status dhcpd | grep "active (running)"
[ $? -ne 0 ] && echo "DHCP Error";exit(3)
systemctl status cobblerd | grep "active (running)"
[ $? -ne 0 ] && echo "cobblerd Error";exit(4)
systemctl enable httpd
systemctl enable xinetd
systemctl enable dhcpd
systemctl enable rsyncd
systemctl enable cobblerd
curl -o /dev/null -s -w %{http_code} http://${IPADDR}/image/CentOS7.2/
echo

还有最重要的一步就是每次使用cobbler sync的时候都要修改ks的引导路径否者提示找不到相应的ks文件

修改/var/lib/tftpboot/pxelinux.cfg/default文件

5、ks文件编辑:

# authorization Jalo.mu
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
#rootpw --iscrypted $1$x4LFKLxm$8Jz844UWRXYMS0gX4Bb/Q.
rootpw 123456
# System timezone
timezone Asia/Shanghai
# Use network installation
url --url="http://172.168.1.21/image/CentOS7.2/"
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on

# System language
lang en_US
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=md5
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Reboot after installation
reboot
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel --drives=sda,sdb
# Disk partitioning information
part /boot --fstype="xfs" --ondisk=sda --size=1024
part /boot/efi --fstype="xfs" --ondisk=sda --size=512
part pv.01 --ondisk=sda --size=1 --grow
part pv.02 --ondisk=sdb --size=1 --grow
volgroup domovg pv.01 pv.02
logvol swap --vgname=domovg --fstype="swap" --size=1024 --name=swap
logvol / --vgname=domovg --fstype="xfs" --size=10240 --name=root
logvol /usr --vgname=domovg --fstype="xfs" --size=2048 --name=usr
logvol /var --vgname=domovg --fstype="xfs" --size=1024 --name=var
logvol /opt --vgname=domovg --fstype="xfs" --size=512 --name=opt
logvol /tmp --vgname=domovg --fstype="xfs" --size=1024 --name=tmp

%pre
#/var/lib/cobbler/snippets/==$SNIPPET 预定义安装包
#$SNIPPET('log_ks_pre')  
#$SNIPPET('kickstart_start')
#$SNIPPET('pre_install_network_config')
## Enable installation monitoring
#$SNIPPET('pre_anamon')
%end

#  建议带着--nochroot这个参数,如果安装完成候脚本没有执行可以去掉这个参数,但是你必须保证该脚本没有错误!!!
%post --nochroot
sed -i "/::1/d" /etc/hosts
wget http://172.168.1.21/confiles/vimfile/vimrc -O /etc/vimrc
wget http://172.168.1.21/confiles/procfiles/sysctl.conf -O /etc/sysctl.conf
wget http://172.168.1.21/confiles/profiles/profile -O /etc/profile
wget http://172.168.1.21/confiles/yumfile/CentOS-Base.repo -O /etc/yum.repos.d/CentOS-Base.repo
wget http://172.168.1.21/confiles/yumfile/epel.repo -O /etc/yum.repos.d/CentOS-Base.repo
YUM="/etc/yum.repos.d"
mv ${YUM}/CentOS-Base.repo ${YUM}/CentOS-Base.repo-bak
wget -O ${YUM}/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O ${YUM}/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
yum -y update
yum install -y source-highlight
sysctl -p
source /etc/profile
%end

%packages
@base
@core
net-tools
telnet
wget
vim-*
nfs-utils
autoconf
automake
openssl
openssl-devel

%end

ks文件语法讲解地址:

https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-kickstart-syntax.html

进入桌面系统通过kickstart界面验证你编写的ks文件语法问题

system-config-kickstart

在“文件”选项中找到“打开”---> 选择你要打开的ks文件  就能验证了

© 著作权归作者所有

共有 人打赏支持
Jalo
粉丝 0
博文 4
码字总数 2798
作品 0
朝阳
cobbler 自动化安装系统

网络安装服务器套件 Cobbler(补鞋匠)从前,我们一直在做装机民工这份很有前途的职业。自打若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linu...

ahtornado ⋅ 2017/04/19 ⋅ 0

COBBLER无人值守安装

COBBLER无人值守安装 4个月前 (12-04) 本文转载 听风吟 自动化安装, 自动化运维 3评论 来源:本站原创 890℃ 字体:小中大 说在最前面的话 在看Cobbler之前请大家先看一下Kickstart无人值守安...

xiguatian ⋅ 2016/04/24 ⋅ 0

Cobbler-自动化部署神器01

前言: 网络安装服务器套件 Cobbler(补鞋匠)从前,我们一直在做装机民工这份很有前途的职业。自打若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装...

lilinji ⋅ 2017/11/09 ⋅ 0

主机自动化部署之cobbler总结

cobbler的相关优势: Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用。 cobbler不会因为在局域网中启动了dhcp而导致有些机器因为默认从pxe启动在重启服务器后加...

Andy-xu ⋅ 2015/04/01 ⋅ 0

关于cobbler APi实现的装机平台

最近对于CMDB平台做了一次功能增加,把具体实现再往下细分就是:运维人员对设备申请,申请好之后跟网络部需要需要提前分配一个IP地址网段等等,然后通过从厂商获取的MAC地址号,咱们可以根据...

小罗ge11 ⋅ 2016/08/05 ⋅ 0

自动化使用软件

用VMWare或kvm、xen等虚拟化技术标准化生产环境,实现生产环境的快速复制和快速恢复。 用cobbler、kickstart等装机统一模板 用Puppet、salt或Chef等工具自动化环境设置、软件安装/配置等操作...

davis_qi ⋅ 2014/09/26 ⋅ 0

运维相关概念整理

运维工作的发展历程简要梳理 由最初的手动执行-->整理文档,制定规范,逐步实现标准化后才能批量操作-->工具化编写简单的工具,实现初步的工具化-->借用脚本或者编程能力实现自动化-->根据大...

ghbSunny ⋅ 2017/12/02 ⋅ 0

在CentOS7中实现Cobbler自动装机

在CentOS7中实现Cobbler自动装机 实验介绍:Cobbler是一个使用Python开发的开源项目,可以实现一个全自动批量快速建立Linux系统的网络安装环境,本次实验就是在CentOS7上搭建Cobbler环境。 ...

xiaoyaokeyx ⋅ 05/16 ⋅ 0

运维自动化的定义:数据-事件-流程

随着互联网发展迅猛,不同的公司IT基础设施面临的增长和快速发展。从人肉维护,建设到半自动,全自动,由此产生的自动化体系/运维工具越来越多,目前大多数运维IT环境架构主要分为3种技术体系...

jk88 ⋅ 2017/08/21 ⋅ 0

cobbler二次开发接入点说明

cobbler作为一个批量自动化装机的开源工具,具有很好的系统支持性,给机房管理人员减轻了大量繁琐枯燥的安装配置过程。本文所讲的cobbler二次开发仅仅讲述cobbler安装客户机的实时日志的转发...

码上中国博客 ⋅ 2016/03/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 今天 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

OSChina 周日乱弹 —— 这么好的姑娘都不要了啊

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @TigaPile :分享曾惜的单曲《讲真的》 《讲真的》- 曾惜 手机党少年们想听歌,请使劲儿戳(这里) @首席搬砖工程师 :怎样约女孩子出来吃饭,...

小小编辑 ⋅ 今天 ⋅ 8

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部