CentOS6.9上安装cobbler2.6实现自动化安装Linux系统
cobbler可以批量部署Linux系统,并实现无人值守安装。
cobbler依赖的服务:dhcp,tftp,http,pxe,kickstart
服务对应的端口号为dhcp--67,68;tftp--69;http--80;cobbler--25151
1.环境准备:最小化安装centos6.9mini,配置固定IP和本地yum源,关闭防火墙和selinux
iptables -F
setenforce 0
chkconfig iptables off
vi /etc/selinux/config 更改为permissive
2.设置yum源和epel源
这里使用本地光盘作为yum源,也可以使用阿里源,如下
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
cobbler安装需要使用epel源,这里使用阿里的epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3.安装对应上述服务的软件包
yum install -y cobbler cobbler-web pykickstart httpd dhcp tftp-server syslinux
cobbler #cobbler程序包
cobbler-web #cobbler的web服务包
pykickstart #cobbler检查kickstart语法错误
httpd #Apache web服务
dhcp #dhcp服务
tftp-server #tftp服务
syslinux#pxe相关文件,如pxelinux.0
4.编辑cobbler的配置文件
vi /etc/cobbler/settings 更改如下参数:
default_kickstart: /var/lib/cobbler/kickstarts/default.ks
default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."
manage_dhcp: 1
manage_tftpd: 1
next_server: 192.168.10.24
server: 192.168.10.24
更改default_password默认密码,即设置root密码,格式为$1即md5加密,可以通过OpenSSL命令生成,如下:
openssl passwd -1 �Csalt centos
输入密码,如redhat
5.cobbler配置检查,根据说明逐步更改设置,设置过的选项可以忽略
[root@c69 ~]# cobbler check
The following are potential configuration items that you may want to fix:
1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost,or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional,the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1,and should match the IP of the boot server on the PXE network.
3 : SELinux is enabled. Please review the following wiki page for details on ensuring cobbler works correctly in your SELinux environment:
https://github.com/cobbler/cobbler/wiki/Selinux
4 : change 'disable' to 'no' in /etc/xinetd.d/tftp
5 : some network boot-loaders are missing from /var/lib/cobbler/loaders,you may run 'cobbler get-loaders' to download them,or,if you only want to handle x86/x86_64 netbooting,you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory,should you want to support all architectures,should include pxelinux.0,menu.c32,elilo.efi,and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
6 : change 'disable' to 'no' in /etc/xinetd.d/rsync
7 : file /etc/xinetd.d/rsync does not exist
8 : since iptables may be running,ensure 69,80/443,and 25151 are unblocked
9 : debmirror package is not installed,it will be required to manage debian deployments and repositories
10 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed,try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
11 : fencing tools were not found,and are required to use the (optional) power management features. install cman or fence-agents to use them
Restart cobblerd and then run 'cobbler sync' to apply changes.
如果不安装Debian系统也可以忽略9.debmirror...错误;
由于网络问题无法通过cobbler get-loaders命令下载文件的话,可以直接复制本机的文件。(这一步也可以省略,使用cobbler sync命令会自动执行如下的复制操作)
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
重启cobblerd服务并执行同步操作
service cobblerd restart
cobbler sync
提示错误:2.service dhcpd is not running
6.配置dhcp服务,更改cobbler自带的dhcp模板文件,更改subnet地址网段和地址范围
vi /etc/cobbler/dhcp.template
subnet 192.168.10.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.10.100 192.168.10.254;
再次重启cobbler服务并执行sync同步操作,cobbler会自动同步dhcp配置
重启dhcpd服务,启动xinetd服务
service dhcpd restart
service xinetd start
7.设置服务开机启动
cobbler默认已设置开机启动,需设置httpd和dhcpd服务开机启动
chkconfig dhcpd on
chkconfig httpd on
检查所有服务是否正常启动,端口67,69,80,25151
netstat -tuanlp
或ss -tunlp
8.导入安装文件
cobbler import --path=/mnt/cdrom --name=centos6.9mini --arch=x86_64
ll /var/www/cobbler/ks_mirror/centos6.9mini-x86_64
更换光盘,导入centos6.9的安装光盘文件
cobbler import --path=/mnt/cdrom --name=centos7.3mini --arch=x86_64
ll /var/www/cobbler/ks_mirror/centos7.3mini-x86_64
cobbler list
distros:
centos6.9mini-x86_64
centos7.3mini-x86_64
profiles:
centos6.9mini-x86_64
centos7.3mini-x86_64
查看详细信息
cobbler distro report --name centos6.9mini-x86_64
cobbler profile report --name centos6.9mini-x86_64
导入成功后cobbler会自动生成ks文件和menu启动菜单文件,默认最小化安装系统。
/var/lib/cobbler/kickstarts/sample_end.ks
/var/lib/tftpboot/pxelinux.cfg/default
如果导入的是mini安装光盘,则需要更改ks文件一个参数,即%packages后边添加--nobase
vi /var/lib/cobbler/kickstarts/sample_end.ks
%packages --nobase
更改自己的ks配置文件参数,更改url --url=$tree
cobbler profile add --name=centos6.9-custom --kickstart=/var/lib/cobbler/kickstarts/ks-69mini.ks --distro=centos6.9mini-x86_64
查看新增菜单项
cobbler profile list
centos6.9-custom
centos6.9mini-x86_64
centos7.3mini-x86_64
cobbler profile remove --name=centos7.3-x86_64
至此所有cobbler配置已完成,可以新建一个虚拟机测试网络无人值守安装Linux系统。
原文链接:https://www.f2er.com/centos/376637.html