利用cobbler自动安装linux系统

上一篇介绍了如何利用pxe安装linux,但需要手工操作的地方太对,也不方便日后维护,所以这一篇介绍如何用cobbler安装。cobbler可以理解为对pxe的二次封装,安装包是在epel源中的,所以要确保你的机器能联网(后面的配置也需要联网),支持cli和web两种管理模式。我这里用的是vm ware,配置的一个桥接网卡用来联网,一个仅主机模式的网卡用来搭配dhcp服务器。当然这里一样要检查selinux和防火墙是否开启,如开启了就需要关闭。

  1. 先配置epel源,
# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum clean all
# yum makecache
# yum install -y cobbler cobbler-web dhcp

在前一篇中,利用网络远程安装linux需要搭建dhcp、http、tftp服务环境,而cobbler因为依赖关系,用yum安装会自动装tftp、http,而cobbler-web是网页端操作需要的包,装上操作比命令行更方便,也方便后期管理。
2. 重启服务

# systemctl start cobblerd httpd  tftp
# systemctl enable cobblerd httpd tftp dhcpd
  1. 执行# cobbler check根据提示修改配置
    利用cobbler自动安装linux系统_第1张图片
    第一点和第二点说需要在/etc/cobbler/settings修改服务器地址,这里都改成本机
    需要修改的行为

next_server: 127.0.0.1
server: 127.0.0.1

都改为你自己这台服务器的内网地址,我这里是192.168.10.10
至于第三点,由于是centos7系统,所以tftp的监听由systemd负责,如果是6的话,就需要开启xinetd服务。第四点需要下载boot-loaders的一些文件,# cobbler get-loadera(再次强调,需要联网!)第五点我们在这里不需要,而第六点和第八点,针对于debian系统、硬件管理需要处理,所以我们这里忽略。那就剩下第七点,用此方法安装的系统,cobbler默认设置的root密码为cobbler,所以我们这里可以修改一下。

default_password_crypted: “ 1 1 1mF86/UHC$WvcIcX2t6crBz2onWxyac.”

利用cobbler自动安装linux系统_第2张图片
根据提示执行# openssl passwd -1设置一个口令,然后将其替换文件中的位置。至此,我们dhcp还没有配置。
4. 配置dhcpd服务,修改上面的settings文件,将manage_dhcp:改为1,让cobbler代理dhcp。
利用cobbler自动安装linux系统_第3张图片
然后再编辑vim /etc/cobbler/dhcp.template,依靠这个模板文件来生成dhcp配置。
利用cobbler自动安装linux系统_第4张图片
同步文件并重启cobbler、dhcp服务。

# cobbler sync
# systemctl restart cobblerd dhcpd
  1. 现在tftp、dhcp服务搭建好了,我们需要准备rpm包和自动应答的ks文件,先来准备rpm包。
    挂载一个光盘iso镜像,用mount挂载。利用cobbler自动安装linux系统_第5张图片
    然后导入,
# cobbler import --path=/media/cdrom --name=CentOS7.6-X86_64

利用cobbler自动安装linux系统_第6张图片
我这里就导入了一个版本的,如果有需要也可以导入多个。
6. 准备自动应答的ks文件。
cobbler默认带最小化安装,所以如果你有定制需要,可以自己建立一个ks文件,假设我见建的ks文件如下,文件名为ks_centos7.cfg,需要拷贝到cobbler的工作目录下,# cp ks_centos7.cfg /var/lib/cobbler/kickstarts/
请注意:下面的url路径需要改成$tree!

auth --enableshadow --passalgo=sha512
url --url=$tree
text
firewall --disabled
selinux --disabled
firstboot --enable
ignoredisk --only-use=sda
keyboard --vckeymap=us --xlayouts=‘us’
lang en_US.UTF-8
network --bootproto=dhcp --device=ens33 --onboot=on --ipv6=auto --no-activate
network --hostname=localhost.localdomain
services --disabled=“chronyd”
timezone Asia/Shanghai
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
clearpart --none --initlabel
zerombr
part swap --fstype=“swap” --ondisk=sda --size=2048
part /boot --fstype=“xfs” --ondisk=sda --size=500
part / --fstype=“xfs” --ondisk=sda --size=10240
part /data --fstype=“xfs” --ondisk=sda --size=1024
reboot
%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
autofs
%end
%addon com_redhat_kdump --enable --reserve-mb=‘auto’
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
%post
systemctl disable initial-setup.service
systemctl set-default multi-user.target
%end

  1. 自定义的ks文件需要你将ks和上面的OS关联,来生成新的启动菜单,关联前是这样子的,因为上面import后生成的一个菜单项。
    在这里插入图片描述
    同时也可以在tftp的工作目录下看default文件中的启动菜单:
    利用cobbler自动安装linux系统_第7张图片
    现在只有两个label,我们进行关联:
    # cobbler profile add --name=CentOS7.6-X86_64_Graphic --distro=CentOS7.6-X86_64-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks_centos7.cfg
    –name指定菜单名称,–distro指定前面导入的OS,也就是rpm包所在的镜像,–kickstart指定应答文件。
    好了,再看一下default文件,已经自动更新了
    利用cobbler自动安装linux系统_第8张图片
    这里我们也可以对这个文件进行手动修改,比如说改menu title,至此,全部配置完毕。可以新建虚拟机进行测试了,但要注意,centos7的新安装,需要将内存设置在2G以上。
    下面是菜单界面:
    利用cobbler自动安装linux系统_第9张图片
    利用cobbler自动安装linux系统_第10张图片
    到这里基本上就没有问题了。

安装没有问题了,最后再来看一下cobbler-web,配置文件为/etc/httpd/conf.d/cobbler_web.conf。
注:如果是刚刚安装这个包,则需要重启httpd服务,因为它安装后会修改httpd配置,我这边上面一起装的,已经重启过了。访问前先创建管理员用户,默认验证方式为/etc/cobbler/users.digetst中的用户可以登录。我们来自己创建一个用户。

# vim /etc/cobbler/modules.conf
# htdigest -c /etc/cobbler/users.digest Cobbler admin
# cat /etc/cobbler/users.digest

利用cobbler自动安装linux系统_第11张图片
利用cobbler自动安装linux系统_第12张图片
现在打开网页访问,格式为https://ip/cobbler_web/。这个感叹号是因为我本机windows没有信任这个自签名的证书,安装一下就可以了,安装方式见附文。
我们这里点击“继续前往”,
注:这里如果出现500页面,请按照下面方式解决,这个是版本兼容问题,,不能高于1.8版本:

# rpm -qa | grep "python2-django"
# rpm -e --nodeps python2-django
# yum install python2-pip
# pip install --upgrade pip
# pip install Django==1.8.17
# pip install ipaddress

没有报错请往下看。
在这里插入图片描述

利用cobbler自动安装linux系统_第13张图片
好了,正常的登录界面应该是这样子的
利用cobbler自动安装linux系统_第14张图片
输入上面创建的admin账户和密码,各种配置以web端的形式展示,不用去命令行敲,是不是很方便很清晰?

利用cobbler自动安装linux系统_第15张图片

**

**:
安装证书,使浏览器信任此证书,

  1. 浏览器界面按F12,点击“View certificate”
    利用cobbler自动安装linux系统_第16张图片
  2. 然后在“详细信息”页签中点击“复制到文件”,将其到处,后面的选项一路点下一步就可以,只要注意后缀为.cer等windows能识别的就行,保存在你自己能找得到的目录。
    利用cobbler自动安装linux系统_第17张图片
  3. 我这里是放到了准备,然后双击,点击安装
    利用cobbler自动安装linux系统_第18张图片
  4. 选择受信任的根证书机构
    利用cobbler自动安装linux系统_第19张图片
  5. 装好后重启浏览器,即可。
    不过,若果打开还是感叹号提示,而查看证书那里又显示没有问题,通常和浏览器的设置有关了。
    利用cobbler自动安装linux系统_第20张图片

你可能感兴趣的:(linux)