cobbler是对pxe的高级封装
操作前关闭防火墙和selinux
repository:yum源,如果多个系统,需为每个系统准备自己的repository
distrbution:Linux发行版,引导系统启动的程序,构成:vmlinux+initrd.img
profile: 指定repository和distrbution的关系,profile需要定义的要素:yum repo 、vmlinux initrd、ks
repository的实现方式
import:这种方式是导入一个yum源,这种方式的实现往往是基于http方式yum源发布出去
mirror:这种方式是在本地创建一个yum源,但是该源中没有任何文件,仅仅有一个快捷方式,指向了网络上一个别人做好的yum源
第一步:需要安装的组件:
yum install cobbler dhcp dhcp-common xinetd tftp tftp-server syslinux pykickstart debmirror -y
cobbler:基础组件
httpd:用于发布安装树
syslinux:用于生成pxelinux.0
tftp,tftp-server:实现文件共享
xinetd:管理tftp
pykickstart:cobbler用于对配置文件中的语法做错误检查所用到的工具
debmirror :镜像管理工具
dhcp dhcp-common:分配IP,告知tftp地址
第二步:修改cobbler的基本配置
vi /etc/cobbler/settings
manage_dhcp: 0 #指定是否让cobbler来管理dhcp,0:不然cobbler管理
manage_tftpd: 0 #同上
server: 10.10.10.2 #cobbler监听地址,改为自己的IP
第三步:启动服务
systemctl restart httpd.service
systemctl enable httpd #centos6:chkconfig httpd on
systemctl restart cobblerd
systemctl enable cobblerd
第四步:让cobbler自检
cobbler check #cobbler自检
检查出如下错误,需要解决
1.修改next_server:next_server: 192.168.1.22
3.修改vim /etc/xinetd.d/tftp配置文件,改为no
4.我们有,不用管
5.
systemctl start rsyncd.service
systemctl enable rsyncd.service
6.7.
vim /etc/debmirror.conf
修改为如下图
8.修改cobbler密码:
生成密码
openssl passwd -1 -salt 'openssl rand -hex 4'
将生成的密码复制到配置文件中 vim /etc/cobbler/settings
8.不用管
修正完错误后:
systemctl restart cobblerd
cobbler sync
此时已经在 /var/lib/tftpboot/
下生成了基于pxe启动相关的文件
第五步:cobbler使用
一:repo管理:
帮助:
[root@localhost pxelinux.cfg]# cobbler repo --help
cobbler repo add
cobbler repo copy
cobbler repo edit
cobbler repo find
cobbler repo list
cobbler repo remove
cobbler repo rename
cobbler repo report
导入repo
--arch=ARCH #指定架构(32/64位)
--path=PATH #yum repo位置
--name=NAME #指定导入之后的名字
案例:导入镜像,生成distro,生成profile,最终完成网络方式安装系统
1.把/usr/share/doc/dhcp/dhcpd.conf.example
dhcp配置文件复制到/etc/dhcp/dhcpd.conf
:
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
配置如下
option domain-name "example.org"; #域名
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600; #默认租期,秒
max-lease-time 7200; #最长租期
log-facility local7;
subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30; #地址池范围
option domain-name-servers 8.8.8.8; #DNS地址
option domain-name "internal.example.org"; #域名
option routers 10.5.5.1; #网关地址
next-server 10.5.5.2 #tftp地址,本机安装的就是本机地址
filename "pxelinux.0"; #网络引导程序,放目录/var/lib/tftpboot下
}
重启dhcp服务
systemctl restart dhcpd
挂载iso镜像到/mnt目录下
mount -o ro /dev/cdrom /mnt
导入repo
cobbler import --path=/mnt/ --name=centos7
cobbler sync
至此,光盘iso镜像内的文件已经复制到目录(此处centos7目录是repo参数中name定义的)/var/www/cobbler/ks_mirror/centos7
profile管理,实现自动安装系统的基本
profile的管理:
cobbler profile add 选项
必须关联的选项
--name=NAME
--distro=DISTRO Distribution (Parent distribution)
--kickstart=KICKSTART Kickstart (Path to kickstart template)
cobbler profile add 选项
添加profile:
cobbler profile add --distro=centos7.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks.cfg --name=profile_for_centos7.9
cobbler sync
注意:distro名称通过
cobbler distro list
查看,name是自定义名称,此名称显示安装选择界面,如下:
ks文件url链接改为iso镜像地址:http://192.168.1.200/cobbler/ks_mirror/centos7.9/
补充(distro、kickstart文件)
创建kickstart文件
补充怎么获取
ks
文件:需要系统安装yum install system-config-kickstart
,如果系统是无图形界面的,需要使用xshell
借助xmanager
打开system-config-kickstart
进行配置生成ks文件
启动system-config-kickstart,需要保证操作系统安装了图形化界面
想让软件包管理里有内容,yum源名称必须为[development]
将生成的ks文件放到/var/lib/cobbler/kickstarts
目录下