cobbler批量安装服务器

1,安装epel

手动安装(https://fedoraproject.org/wiki/EPEL) wget http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

rpm -Uvh /root/Desktop/epel-release-7-9.noarch.rpm

2,安装cobbler以及相关包

yum -y install cobbler httpd xinetd tftp-server yum-utils rsync dhcp

如果没有网络的情况下下载并手动安装cobbler,需要以下几个依赖包:

cobbler.x86_64 0:2.8.0-4.el7
PyYAML.x86_64 0:3.10-11.el7 libyaml.x86_64 0:0.1.4-11.el7_0
mod_wsgi.x86_64 0:3.4-12.el7_0 python-cheetah.x86_64 0:2.4.4-5.el7.centos
python-markdown.noarch 0:2.4.1-1.el7.centos python-pillow.x86_64 0:2.0.0-19.gitd1c6db8.el7
python-pygments.noarch 0:1.4-9.el7 python2-simplejson.x86_64 0:3.10.0-1.el7 )

3, 关闭selinux,firewall

4, 启动httpd,cobblerd,dhcp

  systemctl start httpd|cobblerd

  此时启动dhcp会有问题

5, 执行cobbbler check进行检查,发现很多问题,需要去一一进行修改和配置!

修改cobbler配置文件settings
1,编辑/etc/cobbler/settings文件,找到 server选项,修改为适当的ip地址,本实例配置ip为:192.168.30.79
2,编辑/etc/cobbler/settings文件,找到 next_server选项,修改为适当的ip地址,本实例配置ip为:192.168.30.79
3,编辑/etc/xinetd.d/tftp文件,将文件中的disable字段的配置由yes改为no
4,编辑/etc/xinetd.d/rsync文件,将文件中的disable字段的配置由yes改为no(这个在centos7中有所区别,不用修改)
5,提示说debmirror没安装。如果不是安装 debian之类的系统,此提示可以忽略,如果需要安装,下载地址为:
http://rpmfind.net/linux/rpm2html/search.php?query=debmirror
6,修改cobbler用户的默认密码,可以使用如下命令生成密码,并使用生成后的密码替换/etc/cobbler/settings中的密码。生成密码命令:
openssl passwd -1 -salt ‘random-phrase-here‘ ‘root#$‘
其中“random-phrase-here”为干扰码,然后把生成的密码添加到配置文件对应的字段下,注意这里的密码为cobbler客户端默认的登录密码
所有提示全部fix之后,执行
/etc/init.d/cobblerd restart

/etc/cobbler/settings manage_dhcp: 1 设置cobbler管理DHCP(本次安装这里配置为0,单独配置dhcp文件)
manage_tftpd: 1 设置cobbler管理tftp
manage_rsync: 1 设置cobbler管理rsync

6, 配置DHCP

如果用cobbler进行配置,可以直接在/etc/cobbler/dhcp.template 中进行配置,本次采用单独管理dhcp的方式。
注意的:一般在数据的机房中不允许有dhcp的存在,因为极有可能有大量的同一网段而且不属于你家的机器此时正处于获取IP地址的状态。所以dhcp中
的地址池必须关闭,否则后果不堪设想!
vim /etc/dhcp/dhcpd.conf

allow booting;
allow bootp;

ignore client-updates;
set vendorclass = option vendor-class-identifier;

option pxe-system-type code 93 = unsigned integer 16;

subnet 192.168.30.0 netmask 255.255.255.0 {
	 option routers             192.168.30.254;        # 注意这个网关要根据自己的环境统一配置
#     option domain-name-servers 192.168.1.1;
	 option subnet-mask         255.255.255.0;
#     range dynamic-bootp        192.168.30.1 192.168.1.1;
	 default-lease-time         21600;
	 max-lease-time             43200;
	 next-server                192.168.30.79;
	 class "pxeclients" {
		  match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
		  if option pxe-system-type = 00:02 {
				  filename "ia64/elilo.efi";
		  } else if option pxe-system-type = 00:06 {
				  filename "grub/grub-x86.efi";
		  } else if option pxe-system-type = 00:07 {
				  filename "grub/grub-x86_64.efi";
		  } else {
				  filename "pxelinux.0";
		  }
	 }

}

group {
host generic1 {
	hardware ethernet A4:DC:BE:F2:06:31;
	fixed-address 192.168.30.50;
		}
host generic2 {
	hardware ethernet 7C:A2:3E:8C:FD:84;
	fixed-address 192.168.30.51;
		}
	}

注意这里的generic*,主机和主机之间不同重复,否则会报错!

7, 此时重启相关服务。

systemctl restart httpd
systemctl restart xinetd.service
systemctl restart dhcpd.service
cobblerd.service

8, 挂载镜像

***默认:/var/www/cobbler/目录下 ks_mirror是放镜像的,repo_mirror是放网上download下来的各种源的

1、创建目录
[[email protected] cobbler]# mkdir -p /var/OS/BCLinux/x86_64/dvd/(此目录用于放置对应的ISO镜像,本次为直接挂载光盘,所以用不到此目录)
[[email protected] cobbler]# mkdir -p /var/ISO/BCLinux/x86_64/dvd/

2、挂载镜像
mount -o loop /dev/cdrom /var/ISO/BCLinux/x86_64/dvd/

3、从DVD中导入OS数据

[[email protected] cobbler]# cobbler import --path=/var/ISO/BCLinux/x86_64/dvd/ --name=BCLinux --arch=x86_64
这里需要耐心等待几分钟......

4、列出导入后配置
[[email protected] cobbler]# cobbler list
distros:
BCLinux-x86_64

profiles:
BCLinux-x86_64

systems:

repos:

images:

mgmtclasses:

packages:

files:

9, 还有几个需要注意的点

1,
修改/etc/cobbler/settings中的pxe_just_once: 0改成1, 这样可以这样只会安装一次,避免重复安装
然后执行 cobbler sync ,使修改的配置生效!

2,
修改pxe默认启动顺序:var/lib/tftpboot/pxelinux.cfg/default(客户端获取IP地址之后在准备安装之前默认从本地启动)

DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://cobbler.github.io/
TIMEOUT 200
TOTALTIMEOUT 6000
#ONTIMEOUT local
ONTIMEOUT BCLinux-x86_64

LABEL local
MENU LABEL (local)
MENU DEFAULT
LOCALBOOT -1

LABEL BCLinux-x86_64
kernel /images/BCLinux-x86_64/vmlinuz
MENU LABEL BCLinux-x86_64
append initrd=/images/BCLinux-x86_64/initrd.img ksdevice=bootif lang= kssendmac text ks=http://192.168.30.79/cblr/svc/op/ks/profile/BCLinux-x86_64
ipappend 2

MENU end

  

将ONTIMEOUT 修改成想要安装的系统名称(自己制作好的那个),否则客户端在启动安装的过程中会选择localhost导致安装失败。
注意:这时修改之后重启客户端即可,切记重启之后一定不要执行:cobbler sync,否则修改的配置文件将失效。如果想要其永久性生效
需要修改:vim /etc/cobbler/pxe/pxedefault.template,把上面的字段改为安装系统的名称:ONTIMEOUT BCLinux-x86_64
service cobblerd restart

默认的20秒过后就可以自动安装了 全自动无人值守!

10, 定制ks文件,系统默认的ks文件为/var/lib/cobbler/kickstarts/sample_end.ks,但是默认不符合我们需要,所以得去定制。

[[email protected] cobbler]# egrep -v ‘^#|^$‘ /var/lib/cobbler/kickstarts/BCLinux.ks

auth --useshadow --enablemd5
bootloader --location=mbr --boot-drive=sda
#分区信息
clearpart --all --initlabel
part biosboot --fstype=biosboot --size=2 --ondisk=sda # 注意这个比较特殊,很多操作系统用不到!根据实际情况而定
part /var --fstype="ext4" --ondisk=sda --size=102400
part /opt --fstype="ext4" --ondisk=sda --size=122880
part /home --fstype="ext4" --ondisk=sda --size=51200
part /tmp --fstype="ext4" --ondisk=sda --size=51200
part swap --fstype="swap" --ondisk=sda --size=30720
part / --fstype="ext4" --ondisk=sda --size=20480
part /boot --fstype="ext4" --ondisk=sda --size=500
part /usr --fstype="ext4" --ondisk=sda --size=81920
part /data --fstype="ext4" --grow --size=1

text
firewall --enabled
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
%pre
$SNIPPET(‘log_ks_pre‘)
$SNIPPET(‘kickstart_start‘)
$SNIPPET(‘pre_install_network_config‘)
$SNIPPET(‘pre_anamon‘)
%end

# 定制安装包,安装包时,前面带@符号的表示包组,安装单个包只需要写包名即可
%packages
$SNIPPET(‘func_install_if_enabled‘)
vim
net-tools
java-1.8.0-openjdk
gcc-c++
%end
%post --nochroot
$SNIPPET(‘log_ks_post_nochroot‘)
%end
%post
$SNIPPET(‘log_ks_post‘)
$yum_config_stanza
$SNIPPET(‘post_install_kernel_options‘)
$SNIPPET(‘post_install_network_config‘)
$SNIPPET(‘func_register_if_enabled‘)
$SNIPPET(‘download_config_files‘)
$SNIPPET(‘koan_environment‘)
$SNIPPET(‘redhat_register‘)
$SNIPPET(‘cobbler_register‘)
$SNIPPET(‘post_anamon‘)
$SNIPPET(‘kickstart_done‘)
%end

  

修改完成后一定要通过cobbler profile edit --name=BCLinux-x86_64 --distro=BCLinux-x86_64 --kickstart=/var/lib/cobbler/kickstarts/BCLinux.ks
命令指定.ks文件,否则系统会找默认的ks文件。可以用cobbler report检查。

补充:

如果有多块网卡,需要监听其中一块的话,配置如下:
vim /etc/sysconfig/dhcpd

# $ cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/
# $ vi /etc/systemd/system/dhcpd.service
# $ ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid <your_interface_name(s)>
# 注意上面一步,写的时候没有不带"<>"这个符号,否则会报错!
# $ systemctl --system daemon-reload
# $ systemctl restart dhcpd.service

时间: 2024-08-02 11:01:31

cobbler批量安装服务器的相关文章

cobbler批量安装linux(centos6.5)

1.安装 cobbler (1).安装第三方软件库所需要的包 #cd /tmp #wget  http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm #rpm -ivh epel-release-6-8.noarch.rpm (2).安装 dhcp #yum -y install dhcp (3). 安装其他的相关软件 #yum -y install tftp rsync xinetd httpd (

网络安装操作系统之——-cobbler批量安装操作系统

cobbler批量安装操作系统 环境:workstation10 cobbler server:操作系统 Centos6.6 ip:192.168.1.17 桥接物理机上(可上外网) 关闭iptables ,关闭selinux [[email protected] ~]# chkconfig iptables off [[email protected] ~]# /etc/init.d/iptables stop [[email protected] ~]# getenforce Disable

使用Cobbler批量安装操作系统

个人博客地址:http://www.pojun.tech/ 欢迎访问 前言 在实际生产中,我们常常会遇到这样一种情况,就是我们需要同时安装几十甚至上百台服务器,如果我们使用U盘或者光盘的方式的话,或许老板直接就将我们辞退了.这里我们介绍一种能够实现自动化安装操作系统的方式. 我们搭建Cobbler的实验环境是基于CentOS 7.3 -1611 的基础的. 同时这个实验可以帮助你一步步的完成所有的操作,不过,如果你想自定义安装的内容的话,建议你先看本文 自定义kickstart文件 部分,以便有

cobbler批量安装系统使用详解-技术流ken

1.前言 cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 2.系统环境准备及其下载cobbler 一.系统环境 系统版本:CentOS release 6.7 (Final) 内网IP:192.168.232.7/24    #用来对内通信,提供cobbler服务 外网IP:10.220.5.166/24      #连接外网 二. 关闭安全服务 [[email protected] ~

基于centos7系统部署cobbler批量安装系统

1.cobbler cobbler是一个可以实现批量安装系统的linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. cobbler部署安装: 1. 下载相关软件 2. 配置dhcp 3. 配置tftp 4. 启动httpd 5. 启动cobbler 6. cobbler自检 7. 根据提示进行修改 8. cobbler重启及同步 9. 挂载光盘 10. 生成distro 11. 创建kickstart文件 12. 创建profile

使用cobbler批量安装操作系统(基于Centos7.x )

1.1 cobbler简介 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等. Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用. Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理. Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集

Cobbler批量安装操作系统

Cobbler介绍 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP,DNS,以及yum包镜像. 一.安装和修改cobbler配置 1. Cobbler不在CentOS的基本源中,需要导入EPEL源升级软件包, # rpm -Uvh http://download.fedoraproject.org/pub/epel/6/

linux下配置cobbler批量安装系统

1.安装准备 yum install -y cobbler tftp dhcp httpd cman pykickstart debmirroryum install -y ed patch perl perl-Compress-Zlib perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perlyum install -y syslinux 2.启动httpd和cobbler [[email protected] ~]# service htt

自动化工具cobbler批量安装Centos6.0系统

一.安装与配置cobbler: 1.导入epel源:由于互联网上的6.5版本已经没有办法下载了,我用的最新版本:epel-release-6-8.noarch.rpm        # rpm -ivh epel-release-6-8.noarch.rpm        # yum update        # yum upgrade 2.安装cobbler:        # yum install cobbler 3.修改配置:       # vi /etc/cobbler/setti