你好,游客 登录 注册 搜索
背景:
阅读新闻

PXE+Kickstart实现批量化无人值守安装

[日期:2017-06-19] 来源:Linux社区  作者:6528161 [字体: ]

PXE+Kickstart工作概述

1、网卡上的pxe芯片有512字节,存放了DHCP和TFTP的客户端。
2、启动计算机选择网卡启动。
3、pxe上的DHCP客户端会向DHCP服务器,申请IP
4、DHCP服务器分配给它IP地址的同时通过以下字段,告诉pxe,TFTP的地址和它要下载的文件
如:next-server  xxx.xxx.xxx.xxx
filename "pxelinux.0"
5、pxelinux.0告诉pxe要下载的配置文件是pxelinux.cfg目录下面的default
6、pxe下载并依据配置文件的内容下载启动必须的文件,并通过ks.cfg开始系统安装。

----------------------------------------
cobbler功能
使用一个以前定义的模板来配置DHCP服务(如果启用了管理DHCP)
将一个存储库(yum或rsync)建立镜像或者解压缩一个媒介,以注册一个新操作系统
在DHCP配置文件中为需要安装的机器创建一个条目,并 使用你指定的参数(IP和Mac地址)
在TFTP服务目录下创建适当的pxe文件
重新启动DHCP服务以反映更改
重新启动机器以开始安装(如果电源管理已启用)

1、安装yum源
[root@localhost ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

2、安装对应的服务
[root@localhost yum.repos.d]# yum -y install ncurses-devel  gcc  gcc-c++
[root@localhost yum.repos.d]# yum install -y httpd dhcp tftp cobbler cobbler-web pykickstart
[root@localhost httpd]# yum install cobbler dhcp xinetd fence-agents pykickstart ed patch perl perl-Compress-Zlib perl-Digest-SHA perl-LockFile-Simple perl-libwww-perl

3、进入目录
[root@localhost yum.repos.d]# cd /etc/httpd/conf.d/

4、启动系统服务
[root@localhost httpd]# systemctl start httpd
[root@localhost httpd]# systemctl start cobblerd

5、查看端口
[root@localhost httpd]# ss -ntlp

6、关闭防火墙
[root@localhost httpd]# iptables -F
[root@localhost httpd]# iptables -t nat -F
[root@localhost httpd]# systemctl stop firewalld

7、去掉提示
[root@localhost httpd]# echo "unset MAILCHECK">> /etc/profile


wKiom1lBXYXheMw9AAAh61GLx50937.png

8、修改防火墙

wKioL1lBXaSgIVMSAAB2gQNVLMA005.png-wh_50

9、执行命令cobbler check
根据提示修改配置文件
[root@localhost httpd]# vi /etc/cobbler/settings

wKioL1lBXgryjwWaAAA7IbBVexs769.png-wh_50
wKiom1lBXj7girqhAAAr22xMIvI918.png-wh_50

vi  小技巧
当前光标删除到行尾 直接大 D
修改第二个配置文件
[root@localhost httpd]# vim /etc/xinetd.d/tftp

启动rsyncd服务
[root@localhost httpd]# systemctl start rsyncd

10、执行命令下载网络安装文件
[root@localhost httpd]# cobbler get-loaders

11、设置密码
[root@localhost httpd]# openssl passwd -1 -salt 'cobler' 'qq******'
会生成一串随机密码                                           

修改配置文件
[root@localhost httpd]# vi /etc/cobbler/settings
将密码替换成随机生成的密码串,替换引号部分,注意随机密码串,生成的全部都是密码

11、重启服务
[root@localhost httpd]# systemctl restart cobblerd
[root@localhost httpd]# cobbler check

12、修改DHCP参数
[root@localhost httpd]# vi /etc/cobbler/settings

13、修改dhcp模板配置文件
[root@localhost httpd]# vim /etc/cobbler/dhcp.template

重启服务
[root@localhost httpd]# systemctl restart cobblerd
[root@localhost httpd]# cobbler sync
系统自动生成DHCP

14、执行挂载镜像
[root@localhost httpd]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only

15、自动导入镜像
[root@localhost httpd]# cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
镜像会导入到这个目录下
[root@localhost ~]# cd /var/www/cobbler/ks_mirror/
[root@localhost ks_mirror]# ls
Centos-7-x86_64  config
[root@localhost ks_mirror]#
导入完成

执行卸载,切换镜像,然后在导入一个centos6的系统

查看 cobbler命令
[root@localhost httpd]# cobbler profile
查看镜像列表
[root@localhost httpd]# cobbler profile list

自定义kickstart文件
[root@localhost kickstarts]# cobbler profile edit --name=Centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-7-x86_64.cfg
[root@localhost kickstarts]# vi centos-7-x86_64.cfg  ##配置文件内容

lang en_US
keyboard us
timezone  Asia/Shanghai
rootpw --iscrypted $default_password_crypted
text
install
url --url=$tree
bootloader --location=mbr
zerombr
clearpart --all initlabel
part /boot --fstype xfs --size 1024 --ondisk sda
part swap --size 1024 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
auth --useshadow --enablemd5
$SNIPPET('network_config')
reboot
firewall --disabled
selinux --disabled
skipx
%pre
$SNIPPET('log_ke_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
$SNIPPET('pre_anamon')
%end
%packages
@ base
@ core
sysstat
iptraf
ntp
lrzsz
ncurses-devel
openssl-devel
zlib-devel
OpenIPMI-tools
mysql
nmap
screen
%end
%post
systemctl disable postfix.service
%end

加上内核参数
[root@localhost kickstarts]# cobbler profile edit --name=Centos-7-x86_64 --kopts='net.ifnames=0 biosdevname=0'
查看加入的内核参数
[root@localhost kickstarts]# cobbler profile report Centos-7-x86_64

执行命令,重新生成文件
更改文件必须执行  cobbler sync
[root@localhost kickstarts]# cobbler sync
启动服务
[root@localhost ks_mirror]# systemctl start xinetd

安装完成

Linux 基础教程:Linux Kickstart 自动安装  http://www.linuxidc.com/Linux/2015-05/117877.htm

PXE+Kickstart实现无人值守批量安装Linux  http://www.linuxidc.com/Linux/2015-11/125040.htm

Linux PXE无人值守安装出现 PXE-E32:TFTP OPen timeout的解决办法 http://www.linuxidc.com/Linux/2014-03/98986.htm

使用PXE结合kickstart 自动安装Linux系统 http://www.linuxidc.com/Linux/2014-03/98014.htm

PXE+Kickstart安装CentOS 7.3  http://www.linuxidc.com/Linux/2017-06/144789.htm

Kickstart实现自动部署CentOS  http://www.linuxidc.com/Linux/2017-05/143758.htm

Kickstart 全自动安装部署RHEL 7.0  http://www.linuxidc.com/Linux/2015-09/123312.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-06/144953.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款