一下内容是我根据其他博主的博客,和自己的实验总结的cobbler批量部署的步骤。
2 yum安装相应的工具
yum install -y httpd dhcp tftp cobbler cobbler-web pykickstart xinetd
3 启动tftp rsync xinetd
[root@bogon ~]# chkconfig tftp on
[root@bogon ~]# chkconfig rsync on
[root@bogon ~]# service xinetd start
4、配置Cobbler主配置文件
在启动Cobbler服务之前,你需要修改一些配置文件。在修改每一个文件之前最好先备份下当前的文件。
Cobblerd的配置文件为/etc/cobbler/settings,这个文件是YAML信息的格式文件。
根据需要修改 cobbler主配置文件: /etc/cobbler/settings
Server 和 Next_Server
server 选项用于为cobbler 服务器指定ip地址,请不要使用0.0.0.0,设置一个你希望和cobbler服务器通过http和tftp等协议链接的IP。
# sed -i 's/server: 127.0.0.1/server: 192.168.200.1/g' /etc/cobbler/settings
next_server选项是DHCP/PXE网络引导文件被下载的TFTP服务器的IP,在本例中它将和server设置为同一个IP
# sed -i 's/next_server: 127.0.0.1/next_server: 192.168.200.1/g' /etc/cobbler/settings
防止误重装系统
pxe安装只允许一次,防止误操作 ( 在正式环境有用。实际测试来看,这个功能可以屏蔽掉 )
# sed -i 's/pxe_just_once: 0/pxe_just_once: 1/g' /etc/cobbler/settings
命令格式 openssl passwd -1 -salt ‘随机字符’ ‘密码’
这个命令的用法,-salt后面跟随机字符可以随便写,-1 代表用MD5加密,这个密码就是安装完系统root的密码了
[root@bogon ~]# openssl passwd -1 -salt '12345678' 121121
$1$12345678$herNBEwHp2fzlPGLG.RXj1
将上面的加密串加入cobbler配置文件中。
# vi /etc/cobbler/settings
default_password_crypted: "$1$12345678$fEDuDQ4Xt2vqatvip.4XR0"
Cobbler管理rsync
默认为0,不对rsync进行管理,可以修改为1 进行管理
# sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/settings
Cobbler管理dhcp
为了pxe的启动,需要一个DHCP服务器地址,并直接引导系统,它可以在网络中下载引导文件到TFTP的服务器,cobbler可以通过manage_dhcp的设置来进行管理
配置dhcp服务
首先修改cobbler配置,让cobbler来管理dhcp服务,在做自定义配置时,需要修改dhcp相关配置,以配合PXE启动用,编辑文件/etc/cobbler/settings
manage_dhcp: 1 (注:默认为0,表示不进行管理dhcp服务,可以修改为1,对其进行管理。此为使cobbler管理dhcp也就是后面用于同步更新配置信息[cobbler sync])
也可用命令修改:
# sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings
关闭cobbler管理dns
5 修改cobbler管理DHCP的模板
/etc/cobbler/dhcp.template,此文件是cobbler管理dhcp的模板,确保DHCP分配的地址和Cobbler在同一网段
修改为自己需要的配置
subnet 192.168.21.0 netmask 255.255.255.0 {
option routers 192.168.21.1;
option domain-name-servers 114.114.114.114;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.21.40 192.168.21.49;
如果是多网卡需要指定DHCP服务的网络接口
#vi /etc/sysconfig/dhcpd
#Command line options here DHCPDARGS=eth0
DHCPDARGS=eth0
修改后要执行
cobbler sync
service dhcpd start
6 下载cobbler所需的引导文件
cobbler get-loaders
7 重启cobbler服务
service cobblerd restart
8 执行下发配置命令
cobbler sync
9 执行检查cobbler配置命令
cobbler check
10 挂载镜像文件(也可以挂载光驱)
[root@bogon ~]# mount -o loop -t iso9660 CentOS-6.8-x86_64-bin-DVD1.iso /mnt/centos6
[root@bogon ~]# mount -o loop -t iso9660 CentOS-7-x86_64-DVD-1611.iso /mnt/centos7
11 给cobbler导入系统镜像
cobbler import --path=/mnt/centos6 --name=centos6.8 --arch=x86_64
cobbler import --path=/mnt/centos7 --name=centos7 --arch=x86_64
根据设备性能不同,时间长短也不同
主要有以下几个参数--path 指定导入镜像的路径,--name 指定导入镜像的名称,--arch 指定导入镜像的架构(32位还是64位)。这个安装源的唯一标示就是根据--name和--arch这两个参数来定义
12 查看导入的镜像文件
[root@bogon ~]# cobbler profile list
centos6.8-x86_64
centos7-x86_64
13 查看cobbler仓库中的系统版本信息
[root@bogon ~]# cobbler profile report
Name : centos7-x86_64
TFTP Boot Files : {}
Comment :
DHCP Tag : default
Distribution : centos7-x86_64
Enable gPXE? : 0
Enable PXE Menu? : 1
Fetchable Files : {}
Kernel Options : {}
Kernel Options (Post Install) : {}
Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks #这里显示此系统版本使用的是系统自带的kickstart文件
14 编辑kcikstart.ks文件
最好在传统安装方式成功的操作系统中找到anaconda-ks.cfg文件,这个文件就是本机安装时的ks文件,这个文件是不能直接用在网络安装中的,需要做对应更改
安装方式使用http协议(这也是为什么要安装httpd服务的一个原因),在制定url路径的时候,要保证在浏览器端可以访问系统镜像所在的目录。
虚拟机半成品的ks文件-cents6.5
# Kickstart file automatically generated by anaconda.
#version=DEVEL
install
url --url=http://192.168.21.19/mnt/centos6.5 //根据实际情况更改
lang zh_CN.UTF-8
keyboard us
network --onboot no --device eth0 --bootproto dhcp --noipv6
rootpw 121121 // root的加密密码怎么设置还不知道
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
reboot //这个位置必须要加reboot,否则安装完会等待人工重启
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first,this is
# not guaranteed to work
#clearpart --none
clearpart --all --initlabel //这个位置必须这么写,否则会让你交互式的选择安装的磁盘
part /boot --fstype=ext4 --size=200 //分区还没有按照预想的设置成功
part / --fstype=ext4 --grow --asprimary --size=10000
part swap --size=2000
repo --name="CentOS" --baseurl=http://192.168.21.19/mnt/centos6.5 --cost=100 //这个位置也必须按照实际情况修改
%packages //安装包的安装应该还可以简化
@chinese-support
@console-internet
@core
@debugging
@hardware-monitoring
@network-tools
@performance
@server-policy
@workstation-policy
%end
dell服务器上安装centos7的ks文件
#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
url --url=http://192.168.10.11/centos7
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
#Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
# Network information
network --bootproto=dhcp --device=eno16777736 --ipv6=auto
network --hostname=localhost.localdomain
# Root password
rootpw 121121
reboot
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --fstype="xfs" --ondisk=sda --size=30720
part /boot --fstype="xfs" --ondisk=sda --size=500
part /usr --fstype="xfs" --ondisk=sda --size=48648
part swap --fstype="swap" --ondisk=sda --size=2048
part /home --fstype="xfs" --ondisk=sda --size=20480
part /var --fstype="xfs" --ondisk=sda --size=20480
repo --name="CentOS" --baseurl=http://192.168.10.11/centos7 --cost=100
%packages
@development
kexec-tools
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
[root@zabbixandsvn kickstarts]# cobbler profile edit --name=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.kc.cfg