Centos7 安装Cobbler
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 安装Cobbler相关的知识,希望对你有一定的参考价值。
Cobbler服务器系统:CentOS 7 64位
IP地址:192.168.17.181
第一部分:在Cobbler服务器上操作
1、配置系统
关闭firewalld防火墙
[[email protected] ~] # systemctl stop firewalld.service [[email protected] ~] # systemctl disable firewalld.service [[email protected] ~] # firewall-cmd --state not running |
关闭SELinux(修改完重启)
[[email protected] ~] # sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config [[email protected] ~] # reboot |
2、安装cobbler
安装epel源
[[email protected] ~] # cd /etc/yum.repos.d/ [[email protected] yum.repos.d] # yum -y install epel-release |
安装cobbler
[[email protected] yum.repos.d] # yum install -y cobbler cobbler-web tftp xinetd dhcp cman pykickstart debmirror syslinux net-tools |
安装cobbler依赖包
[[email protected] yum.repos.d]
# yum install -y ed patch perl perl-Compress-Zlib perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perl fence-agents
设置服务开机启动
[[email protected] yum.repos.d] # systemctl enable httpd.service [[email protected] yum.repos.d] # systemctl enable xinetd.service |
查看服务开启状态
[[email protected] yum.repos.d] # systemctl list-unit-files | grep -E "httpd|dhcpd|xinetd|cobblerd" cobblerd.service enabled dhcpd.service enabled httpd.service enabled xinetd.service enabled |
|
3、配置服务
配置web
[[email protected] yum.repos.d] # sed -i ‘s/#ServerName www.example.com:80/ServerName 127.0.0.1:80/‘ /etc/httpd/conf/httpd.conf [[email protected] yum.repos.d] # systemctl restart httpd.service |
配置cobbler
[[email protected] yum.repos.d]
# sed -i ‘s/server: 127.0.0.1/server: 192.168.17.181/g‘ /etc/cobbler/settings
修改cobbler用户的默认密码,
使用生成后的密码替换/etc/cobbler/settings中的密码
[[email protected] yum.repos.d] # openssl passwd -1 -salt ‘root‘ ‘[email protected]‘ $1 $root $8e67rDXAsnndS790noSQV0 [[email protected] yum.repos.d] # vim /etc/cobbler/settings default_password_crypted: " $1 $root $8e67rDXAsnndS790noSQV0 " <==替换掉此处内容 |
配置cobber_web (Web页面默认不允许任何人登录,需要手动修改认证相关配置)
[[email protected] yum.repos.d] # useradd admin [[email protected] yum.repos.d] # sed -i ‘s/admin = ""/admin = "admin"/‘ /etc/cobbler/users.conf [[email protected] yum.repos.d] # sed -i ‘s/module = authn_configfile/module = authn_pam/‘ /etc/cobbler/modules.conf |
配置xinetd
[[email protected] yum.repos.d] # sed -i ‘14s/yes/no/‘ /etc/xinetd.d/tftp [[email protected] yum.repos.d] # systemctl restart xinetd.service [[email protected] yum.repos.d] # systemctl restart rsyncd.service [[email protected] yum.repos.d] # systemctl enable rsyncd.service |
配置dhcp,pxe
[[email protected] yum.repos.d] # sed -i ‘s/manage_dhcp: 0/manage_dhcp: 1/‘ /etc/cobbler/settings [[email protected] yum.repos.d] # sed -i ‘s/pxe_just_once: 0/pxe_just_once: 1/‘ /etc/cobbler/settings
[[email protected] yum.repos.d] # vim /etc/cobbler/dhcp.template |
ddns
-update
-style
interim;
allow booting;
allow bootp;
ignore client
-updates
;
set
vendorclass = option vendor
-class
-identifier
;
subnet 192.168.17.0 netmask 255.255.255.0 {
option routers 192.168.17.1;
option domain
-name
-servers
114.114.114.114;
option subnet
-mask
255.255.255.0;
range dynamic
-bootp
192.168.17.100 192.168.17.200;
filename
"/pxelinux.0"
;
default
-lease
-time
21600;
max
-lease
-time
43200;
next
-server
192.168.17.181;
}
启动服务
[[email protected] yum.repos.d] # systemctl restart cobblerd.service [[email protected] yum.repos.d] # systemctl restart xinetd.service [[email protected] yum.repos.d] # cobbler sync |
如果服务器对公网提供服务器,防火墙设置如下
[[email protected] yum.repos.d] # firewall-cmd --permanent --add-port=67/udp [[email protected] yum.repos.d] # firewall-cmd --permanent --add-port=68/udp [[email protected] yum.repos.d] # firewall-cmd --permanent --add-port=80/tcp [[email protected] yum.repos.d] # firewall-cmd --permanent --add-port=443/tc [[email protected] yum.repos.d] # firewall-cmd --permanent --add-port=443/tcp [[email protected] yum.repos.d] # firewall-cmd --reload [[email protected] yum.repos.d] # firewall-cmd --permanent --list-ports |
4、登录cobbler_web界面
https://192.168.17.181/cobbler_web
用户名:admin
密码: 系统admin的密码
一些自带的Kickstart模板
参考博客:http://blog.csdn.net/linglong0820/article/details/48734647
5、挂载系统安装镜像到http服务器站点目录
上传系统安装镜像文件CentOS-7-x86_64-DVD-1511.iso 到/usr/local/src/目录(拿U盘考,用Xftp工具上传都行)
挂载系统镜像
[[email protected] ~]
# mount -t iso9660 -o loop /usr/local/src/CentOS-7-x86_64-DVD-1511.iso /var/www/html/os/CentOS-7-x86_64
添加以下代码,实现开机自动挂载
[[email protected] ~]
# vim /etc/fstab
/usr/local/src/CentOS-7-x86_64
-DVD
-1511.iso /var/www/html/os/CentOS-7-x86_64 iso9660 defaults,ro,loop 0 0
备注:iso9660使用df -T 查看设备
卸载:umount /var/www/html/os/CentOS-7-x86_64
重复上面的操作,把自己需要安装的CentOS系统镜像文件都挂载到/var/www/html/os/目录下
例如:
CentOS-5.10-x86_64-bin-DVD-1of2.iso
CentOS-6.5-x86_64-bin-DVD1.iso
六、创建kickstarts自动安装脚本
进入默认Kickstart模板目录
创建CentOS7安装脚本
|
install lang zh_CN.UTF-8 keyboard us timezone Asia/Shanghai auth - -useshadow --enablemd5 selinux - -disabled firewall - -disabled services - -enabled =NetworkManager,sshd eula - -agreed ignoredisk - -only -use =sda reboot bootloader - -location =mbr zerombr clearpart - -all - -initlabel part swap - -asprimary - -fstype = "swap" - -size =1024 part /boot - -fstype xfs - -size =200 part pv.01 - -size =1 - -grow volgroup rootvg pv.01 logvol / - -fstype xfs - -name =lv01 - -vgname =rootvg - -size =10240
logvol /data --fstype xfs --name=lv02 --vgname=rootvg --size=1 --grow rootpw - -iscrypted $default_password_crypted %packages - -ignoremissing @base @core @chinese -support ntp net -tools %end %post echo "0 1 * * * /usr/sbin/ntpdate 202.120.2.101;hwclock -w;" >>/var/spool/cron/root /usr/sbin/ntpdate 202.120.2.101 >/dev/null 2>&1cd /root wget http://192.168.17.181/cobbler/ks_mirror/config/autoip7.sh sh /root/autoip7.sh %end |
七、导入系统镜像到cobbler
导入系统镜像文件,需要一段时间
[[email protected] ~] # cobbler import --path=/var/www/html/os/CentOS-7-x86_64/ --name=CentOS-7-x86_64 --arch=x86_64 |
cobbler系统镜像导入目录在/var/www/cobbler/ks_mirror/下
命令格式:cobbler import --path=镜像路径 -- name=安装引导名 --arch=32位或64位
重复上面的操作,把其他的系统镜像文件导入到cobbler
八、设置profile,按照操作系统版本分别关联系统镜像文件和kickstart自动安装文件
在第一次导入系统镜像时,cobbler会给安装镜像指定一个默认的kickstart自动安装文件
例如:CentOS-7-x86_64版本的kickstart自动安装文件为:/var/lib/cobbler/kickstarts/sample_end.ks
查看cobbler默认指定的profile设置
[[email protected] ~]
# cobbler profile report --name CentOS-7-x86_64
Name : CentOS-7-x86_64
TFTP Boot Files : {}
Comment :
DHCP Tag : default
Distribution : CentOS-7-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 Metadata : {}
Management Classes : []
Management Parameters : <<inherit>>
Name Servers : []
Name Servers Search Path : []
Owners : [
‘admin‘
]
Parent Profile :
Internal proxy :
Red Hat Management Key : <<inherit>>
Red Hat Management Server : <<inherit>>
Repos : []
Server Override : <<inherit>>
Template Files : {}
Virt Auto Boot : 1
Virt Bridge : xenbr0
Virt CPUs : 1
Virt Disk Driver
Type
: raw
Virt File Size(GB) : 5
Virt Path :
Virt RAM (MB) : 512
Virt
Type
: kvm
查看安装镜像文件信息
[[email protected] ~] # cobbler distro report --name CentOS-7-x86_64 Name : CentOS-7-x86_64 Architecture : x86_64 TFTP Boot Files : {} Breed : redhat Comment : Fetchable Files : {} Initrd : /var/www/cobbler/ks_mirror/CentOS-7-x86_64/images/pxeboot/initrd.img Kernel : /var/www/cobbler/ks_mirror/CentOS-7-x86_64/images/pxeboot/vmlinuz Kernel Options : {} Kernel Options (Post Install) : {} Management Classes : [] OS Version : rhel7 Owners : [ ‘admin‘ ] Red Hat Management Key : <<inherit>> Red Hat Management Server : <<inherit>> Template Files : {} |
移除cobbler默认指定的错误profile
添加我们自己设置的新profile(CentOS7的自动安装脚本)
[[email protected] ~]
# cobbler profile add --name=CentOS-7-x86_64 --distro=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7.ks
再次查看profile设置,发现默认启动脚本已经配置正确
[[email protected] ~] # cobbler profile report --name CentOS-7-x86_64 Name : CentOS-7-x86_64 TFTP Boot Files : {} Comment : DHCP Tag : default Distribution : CentOS-7-x86_64 Enable gPXE? : 0 Enable PXE Menu? : 1 Fetchable Files : {} Kernel Options : {} Kernel Options (Post Install) : {} Kickstart : /var/lib/cobbler/kickstarts/CentOS7.ks <==已经更改为我们自己设置的CentOS7自动安装脚本 Kickstart Metadata : {} Management Classes : [] Management Parameters : <<inherit>> Name Servers : [] Name Servers Search Path : [] Owners : [ ‘admin‘ ] Parent Profile : Internal proxy : Red Hat Management Key : <<inherit>> Red Hat Management Server : <<inherit>> Repos : [] Server Override : <<inherit>> Template Files : {} Virt Auto Boot : 1 Virt Bridge : xenbr0 Virt CPUs : 1 Virt Disk Driver Type : raw Virt File Size(GB) : 5 Virt Path : Virt RAM (MB) : 512 Virt Type : xenpv |
编辑profile
[[email protected] ~]
# cobbler profile edit --name=
CentOS-7-x86_64 --distro=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7.ks 命令参数:cobbler profile add|edit|remove --name=安装引导名 --distro=系统镜像名 --kickstart=kickstart自动安装文件路径
? --name:自定义的安装引导名,注意不能重复
? --distro:系统安装镜像名,用cobbler distro list可以查看
? --kickstart:与系统镜像文件相关联的kickstart自动安装文件
查看Cobbler列表
[[email protected] ~]
# cobbler list
[[email protected] ~]
# cobbler report
[[email protected] ~]
# cobbler profile report
[[email protected] ~]
# cobbler distro list
通过profile查找对应的kickstart自动安装文件文件
例如:
[[email protected] ~]
# ksfile=$( cobbler profile report --name CentOS-7-x86_64|grep -E ‘^Kickstart‘ |head -n 1|cut -d ‘:‘ -f 2 );cat $ksfile;
重复上面的操作,把其他的系统镜像文件和kickstart自动安装文件关联起来
注意:
1、kickstart自动安装文件需要预先配置好
2、每次修改完配置文件,需要执行一次同步操作:cobbler sync 配置才能生效
3、kickstart自动安装文件可以用工具生成(需要用到图形界面操作)
yum install system-config-kickstart #安装
yum groupinstall "X Window System" #安装X Window图形界面
system-config-kickstart #运行kickstart配置
service cobbler sync #与cobbler sync作用相同
service cobbler restart #重启cobbler
第二部分:设置要安装的服务器从网络启动
开机之后,如下图所示,根据需要选择相应的系统版本进行安装,安装完成之后,系统会自动重启
如果不选择,默认20秒之后选择(local)本地安装。现在我们修改用户不选择20秒超时后默认安装CentOS-7-x86_64系统
[[email protected] ~] # cd /etc/cobbler/pxe/ |
[[email protected] ~] # vi pxedefault.template |
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://cobbler.github.io
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT CentOS-7-x86_64
<==改成超时未选择自动安装
CentOS-7-x86_64系统LABEL local
MENU LABEL (local)
MENU DEFAULT
LOCALBOOT -1
$pxe_menu_items
MENU end
[[email protected] ~] # cobbler sync |
查看默认pxe文件是否修改成功
[[email protected] ~] # cat /var/lib/tftpboot/pxelinux.cfg/default |
重新开机,不选择要安装的操作系统,查看超时是否会自动安装CentOS-7-x86_64系统
CentOS-7-x86_64系统安装成功!
重新安装系统:
在需要重装系统的服务器上安装koan
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/k/koan-2.6.11-1.el7.noarch.rpm #CentOS 7
rpm -ivh koan-2.6.11-1.el7.noarch.rpm #安装koan
http://dl.fedoraproject.org/pub/epel/6/x86_64/koan-2.6.11-1.el6.noarch.rpm #CentOS 6.X
yum install -y cobbler debmirror pykickstart python-ctypes cman #安装koan运行依赖包(需要设置epel源)
koan --list=profiles --server=192.168.17.181 #查看Cobbler服务器系统镜像列表
koan --replace-self --server=192.168.17.181 --profile=CentOS-7-x86_64 #选择要重装的系统
reboot #重新启动系统进行自动安装
扩展阅读:
Cobbler目录说明:
1、Cobbler配置文件目录:/etc/cobbler
/etc/cobbler/settings #cobbler主配置文件
/etc/cobbler/dhcp.template #DHCP服务的配置模板
/etc/cobbler/tftpd.template #tftp服务的配置模板
/etc/cobbler/rsync.template #rsync服务的配置模板
/etc/cobbler/iso #iso模板配置文件
/etc/cobbler/pxe #pxe模板文件
/etc/cobbler/power #电源的配置文件
/etc/cobbler/users.conf #Web服务授权配置文件
/etc/cobbler/users.digest #用于web访问的用户名密码配置文件
/etc/cobbler/dnsmasq.template #DNS服务的配置模板
/etc/cobbler/modules.conf #Cobbler模块配置文件
2、Cobbler数据目录:/var/lib/cobbler
/var/lib/cobbler/config #配置文件
/var/lib/cobbler/triggers #Cobbler命令
/var/lib/cobbler/kickstarts #默认存放kickstart文件
/var/lib/cobbler/loaders #存放的各种引导程序
3、系统安装镜像目录:/var/www/cobbler
/var/www/cobbler/ks_mirror #导入的系统镜像列表
/var/www/cobbler/images #导入的系统镜像启动文件
/var/www/cobbler/repo_mirror #yum源存储目录
4、日志目录:/var/log/cobbler
/var/log/cobbler/install.log #客户端系统安装日志
/var/log/cobbler/cobbler.log #cobbler日志
至此,Cobbler全自动批量安装部署Linux系统完成!!!
参考博客:http://www.osyunwei.com/archives/7606.html
以上是关于Centos7 安装Cobbler的主要内容,如果未能解决你的问题,请参考以下文章