文档章节

Cobbler自动化装机

Jalo
 Jalo
发布于 2016/12/10 05:21
字数 1092
阅读 102
收藏 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 (资源)

下图为开源自动化运维体系链: 1、cobbler实现自动装机 2、saltstack实现工程自动化配置 3、kubernetes实现容器自动化编排 4、zabbix实现自动化监控 5、elastic实现应用日志自动化收集 6、j...

寰宇01
08/06
0
0
cobbler 自动化安装系统

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

ahtornado
2017/04/19
0
0
COBBLER无人值守安装

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

xiguatian
2016/04/24
0
0
Cobbler-自动化部署神器01

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

lilinji
2017/11/09
0
0
主机自动化部署之cobbler总结

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

Andy-xu
2015/04/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Django支持中文

django是支持中文界面, 先找到Django语言包安装目录,我的在: /usr/local/python3/lib/python3.6/site-packages/django/conf/locale 有zh-Hans和zh-Hant两个文件, 其中zh-Hans是简体中文,...

MichaelShu
17分钟前
1
0
迷宫问题:顺序栈解法

采用顺序栈以及回溯法,一个比较简单的问题,但是从来没有写过,也算是弥补一下自己欠数据结构的债吧,居然也花了一个半小时,无地自容了。。 定义好数据结构求解算法就显得容易一些了。 st...

LoSingSang
24分钟前
0
0
Zookeeper 概述及应用场景

一、概述 分布式协调技术,主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。 ZooKeeper是一个分布式的,开放源码的分布式应用...

PeakFang-BOK
31分钟前
0
0
(译)OpenGL ES2.0 – Iphone开发指引

教程截图: OpenGL ES 是可以在iphone上实现2D和3D图形编程的低级API。 如果你之前接触过 cocos2d,sparrow,corona,unity 这些框架,你会发现其实它们都是基于OpenGL上创建的。 多数程序员...

robslove
42分钟前
0
0
金九银十跳槽季,程序员面试点解析之Java专场

前言 近年来Java工程师这个岗位炙手可热,市场需求大,学习Java的人也越来越多,所以IT企业与求职者的选择都比较多,那么IT企业在面试时都会提哪些问题呢。下面为大家分享 Java高级工程师面试...

老道士
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部