cobbler实操安装系统

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自检

检查出如下错误,需要解决
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

修改为如下图
cobbler实操安装系统
8.修改cobbler密码:
生成密码

openssl passwd -1 -salt 'openssl rand -hex 4'

将生成的密码复制到配置文件中 vim /etc/cobbler/settings
cobbler实操安装系统

cobbler实操安装系统
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.exampledhcp配置文件复制到/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/
cobbler实操安装系统

补充(distro、kickstart文件)

创建kickstart文件

补充怎么获取ks文件:需要系统安装yum install system-config-kickstart,如果系统是无图形界面的,需要使用xshell借助xmanager打开system-config-kickstart进行配置生成ks文件
启动system-config-kickstart,需要保证操作系统安装了图形化界面

想让软件包管理里有内容,yum源名称必须为[development]
cobbler实操安装系统

cobbler实操安装系统

将生成的ks文件放到/var/lib/cobbler/kickstarts目录下

上一篇:时间同步、双因子安全验证及自动化安装实现过程


下一篇:Cobbler部署Centos7