CentOS 7+ Cobbler+Kickstart无人值守ks文件配置

VM虚拟机环境Cent0S7.6+Cobbler2.8.5

先讲讲Cobbler的安装

#首先添加阿里的epel源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

#也可以直接下面添加源,上面阿里的比较快。

yum install epel-release

#关闭 firewalld防火墙

systemctl stop firewalld && systemctl disable firewalld

sed -i 's#^SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config 

#也可以下面这样关闭selnux防火墙

setenforce 0  #临时关闭selnux防火墙

#永久关闭selinux内核防火墙为disabled重启服务器即可。

vi /etc/selinux/config

getenforce   # 显示Permissive为成功关闭

#还要调整服务器时间防止一些YUM包安装失败

#查看当前系统时间 date

#修改当前系统时间 date -s "2020-1-22 19:10:30

#查看硬件时间 hwclock --show

#修改硬件时间 hwclock --set --date "2020-1-22 19:10:30"

#同步系统时间和硬件时间 hwclock --hctosys

#保存时钟 clock -w

重启系统 init 6 后便发现系统时间被修改了


#安装cobbler相关组件

yum install cobbler cobbler-web pykickstart debmirror httpd dhcp tftp-server xinetd syslinux  fence-agents  -y

systemctl start httpd  &&  systemctl enable httpd

systemctl start cobblerd  && systemctl enable cobblerd

systemctl start rsyncd && systemctl enable rsyncd

systemctl start tftp.socket && systemctl enable tftp.socket

systemctl enable dhcpd   # 这里dhcp服务还没配置不启动如果已经有DHCP服务器的话就可以不用Cobbler自带的dhcp

#接下来通过cobbler check命令检查需要解决的问题


1、修改/etc/cobbler/settings文件,将默认server的127.0.0.1替换为本机IP地址
sed -i 's#^server: 127.0.0.1#server: 192.168.38.128#' /etc/cobbler/settings

2、修改/etc/cobbler/settings文件,将默认next_server的127.0.0.1替换为本机IP地址

sed -i 's#^next_server: 127.0.0.1#next_server: 192.168.38.128#' /etc/cobbler/settings

3、关闭selinux  后重启服务器即可

4、将vi   /etc/xinetd.d/tftp中disable改为no

5、执行“cobbler get-loaders”命令下载grub-0.97-x86_64.efi文件即可

#有时候由于国内网络情况特殊会出现“urlgrabber.grabber.URLGrabError”下载失败,需要加梯子翻墙去手动下载grub-0.97-x86_64.efi文件改名后放到/var/lib/cobbler/loaders/grub-x86_64.efi  替换原来的文件

5、注释/etc/debmirror.conf文件中的@dists="sid";

sed -i 's/@dists="sid";/#@dists="sid";/' /etc/debmirror.conf

6、注释/etc/debmirror.conf文件中的@arches="i386";

sed -i 's/@arches="i386";/#@arches="i386";/' /etc/debmirror.conf

7、设置新系统默认的root密码,执行“openssl passwd -1 -salt $(openssl rand -hex 4)”生成密码,并用其替换/etc/cobbler/settings文件中default_password_crypted参数的值;(这是自动安装客户端系统成功后的root登录密码)

vi  /etc/cobbler/settings

8、yum install fence-agents  -y

#全部结束后重启cobbler

systemctl restart cobblerd

cobbler sync

cobbler check  #重新检查

#配置Cobbler

#配置文件在/etc/cobbler/settings

#首先是配置DHCP服务器 将0改成1启动dhcp管理

#然后配置DHCP服务

虚拟机添加一个桥接模式网卡关联到实体网卡

添加桥接模式网卡
编辑将网卡绑定到实体网口

vi /etc/cobbler/dhcp.template   # 路径请搞清楚不是/etc/dhcpd.conf这个

#注意无论如何,请确保不要修改“ next-server $ next_server;”行,因为这是将next_server设置提取到配置中的方式。

#dhcp 有自己的语法可以man dhcpd.conf 自行查看研究配置

#配置好DHCP后重启服务

systemctl restart cobblerd

cobbler sync

#有时候dhcp会报错Exception occured: 是python版本内还用centOS6的语法请去下面链接解决

https://www.cnblogs.com/guoyishen/p/9210929.html

https://www.cnblogs.com/blog-tim/p/10716971.html


#设置cobbler web 访问: web页面很多小毛病个人推荐用命令行操作所以不详细说明了

#设置/etc/cobbler/modules如下:

[authentication] 

module = authn_configfile 

[authorization] 

module = authz_allowall 

#之后启动web页面

https://IP/cobbler_web/do_login

默认帐号密码都是cobbler

注意默认只支持https,如果http访问需要自行修改

#可以修改已存在的用户密码:

htdigest /etc/cobbler/users.digest "Cobbler" cobbler

#可以添加新用户:

htdigest /etc/cobbler/users.digest "Cobbler" yourname


cobbler常用命令行

虚拟机挂载光盘

mount /dev/cdrom /mnt/

导入镜像

cobbler import --name=centos7-x86_64(自命名) --path=/mnt(刚才挂载的路径)

导入成功后查看/var/www/cobbler/images/  与 /var/lib/cobbler/kickstarts 会各有一份主备文件centos7-x86_64

cobbler profile list # 查看当前已经导入的项目列表

cobbler profile report --name=centos7-x86_64  # 查看某个项目详细信息

cobbler profile edit --name=centos7-x86_64  --kickstart=/var/lib/cobbler/kickstarts/XXXX.ks    #关联自己的ks文件

所有操作后记得cobbler  sync写入保存


#制作自定义的KS文件的前提

#首先把YUM源id改成 development,非常重要否则会报“由于下载软件包信息失败,软件包选择被禁止”的错误。

#或者用关联刚才服务器挂载镜像自己建立局域网YUM源

vim /etc/yum.repos.d/XXX.repo (你自己的源)

[development]

name=my-centos7

baseurl=file:///mnt/     #最后的/符号别漏了

enabled=1

gpgcheck=0

# 保存后重新建立缓存

yum clean all  && yum makecache 


安装Kickstart

yum install -y system-config-kickstart

安装成功后执行system-config-kickstart命令即打开图形界面,接下来的配置仅供参考请安装自己的需求配置。


最后两项是脚本配置可以直接忽略保存文件为ks.cfg!!!!!

我因为磁盘是GPT格式所以配了一条仅供参考可以忽略
仅供参考可以忽略

# 下面的这个KS是我写的你们可以拿去参考修改

# 使用时请把下面的中文字符都去掉否则python2会报错

# platform=x86, AMD64, or Intel EM64T

#version=DEVEL

# 指明是安装

install

# Keyboard layouts 键盘布局

keyboard 'us'

# root密码 可以使用不加密的名文,我这个案例加密了。

rootpw --iscrypted   $1$4CJO266s$lWsg111EuZbujzxwVxKaX.

# 系统语言

lang en_US.UTF-8

# 密码加密sha512 md5 等

auth  --useshadow  --passalgo=md5

# Use graphical 为图像界面安装,text 为字符串界面安装

graphical

# 系统第一次引导时,启动"设置代理"。需要安装额外的工具包,关闭即可

firstboot --disable

# SELinux configuration关闭selinux内核防火墙

selinux --disabled

# Firewall configuration关闭防火墙

firewall --disabled

# Network information网卡设置

network  --bootproto=dhcp --device=eth0

# Reboot after installation重启

reboot

# 系统时区

timezone Asia/Shanghai

# 使用网络安装方式HTTP FTP 等这里使用HTTP  这里重点http://IP/cobbler/ks_mirror/你导入的镜像/

url --url="http://192.168.1.10/cobbler/ks_mirror/CentOS7.6_1611_rl-x86_64/"

# #指定开机引导的位置为mbr

bootloader --location=mbr --boot-drive=sda

# 清除硬盘分区表

zerombr

# 删除硬盘上的所有分区并初始化磁盘标签

clearpart --all --initlabel

#-------------------------------------------------------------------------------------------------

#这里是指定硬盘分区方式,划重点!!!!!!

#因为是UEFI引导,必须指定efi分区且分区的类型必须是efi,挂载到/boot/efi。

#size的单位:MB 填1表示余下所有空间都给/分区  --fstype是指定文件系统类型,例如:ext4、xfs

part /boot/efi --fstype="efi" --ondisk=sda --size=1024 --fsoptions="umask=0077,shortname=winnt"

part / --fstype="xfs" --grow --size=1 --ondisk=sda

part /boot --fstype="xfs" --size=1024 --ondisk=sda

part swap --fstype="swap" --size=3200 --ondisk=sda

part /data --fstype="xfs" --size=4000 --ondisk=sda

#-------------------------------------------------------------------------------------------------

#安装前脚本,这里要划重点!!!!!!!!

#必须要先将硬盘格式化成GPT格式!!!!!!

%pre

parted -s /dev/sda mklabel gpt  

%end

# 这里是需要安装的包带 @ 符合是安装整个组件,不带@的是安装单个软件

%packages

@^developer-workstation-environment

@additional-devel

@base

@compat-libraries

@core

@debugging

@desktop-debugging

@development

@dial-up

@directory-client

@fonts

@gnome-apps

@gnome-desktop

@guest-desktop-agents

@hardware-monitoring

@input-methods

@internet-applications

@internet-browser

@java-platform

@large-systems

@multimedia

@network-file-system-client

@performance

@perl-runtime

@platform-devel

@print-client

@ruby-runtime

@virtualization-client

@virtualization-hypervisor

@virtualization-tools

@web-server

@x11

kexec-tools

%end

# 系统安装后脚本执行的命令

%post

systemctl set-default multi-user.target  # 系统安装完成后关闭图形界面节省资源

%end


关于Cobbler只支持PXE legacy模式不支持华为2288H-V5服务器PXE UEFI 启动的解决方法

因为cobbler get-loaders下载的grub-x86_64.efi导致

先去/var/lib/cobbler/loaders确认下grub-x86_64.efi这个文件的大小如果是243679字节说明是适用于Fedora 15系统的版本

我们先去https://github.com/cobbler/cobbler-loaders/tree/master/grub-0.97-99.el6 下载大小为254317字节适用红帽系统的版本

备份原文件后 替换/var/lib/cobbler/loaders下grub-x86_64.efi 然后执行cobbler sync  重新进行PXE UEFI 模式安装


参考链接

https://blog.csdn.net/admin_root1/article/details/78911718

https://blog.csdn.net/weixin_34221332/article/details/92367154

https://blog.51cto.com/wn2100/1960856

https://blog.csdn.net/lxy___/article/details/78815565

https://www.linuxidc.com/Linux/2018-05/152361.htm

https://www.linuxidc.com/Linux/2017-09/146705.htm

http://www.bubuko.com/infodetail-2458923.html

http://blog.sina.com.cn/s/blog_b6b9a0030103094r.html

https://blog.csdn.net/white__cloud/article/details/79348823

你可能感兴趣的:(CentOS 7+ Cobbler+Kickstart无人值守ks文件配置)