在虚拟机中实现 pxe--kickstart 安装

pxe--kickstart 实现自动化批量安装系统
 

服务器的ip地址为192.168.5.20,环境Centos 7.5


第一步:

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld


关闭selinux

setenforce 0

mount /dev/cdrom /mnt/

第二步:
安装dhcp

yum install -y dhcp

更改配置文件

vim /etc/dhcp/dhcpd.conf

ddns-update-style interim;
ignore client-updates;
subnet 192.168.5.0 netmask 255.255.255.0 {    #本机IP所属网段
option routers 192.168.5.2;
option subnet-mask 255.255.255.0;
option domain-name "gz.com";
option domain-name-servers 202.96.128.166;         #电信的
range dynamic-bootp 192.168.5.20 192.168.5.30;    #DHCP分配的IP地址范围
default-lease-time 21600;  
max-lease-time 43200;
allow bootp;
allow booting;
next-server 192.168.5.20; ##设置成本机IP
filename "pxelinux.0"; ##不要写路径,只需要写文件名称即可
}



第三步:
安装tftp

yum install -y tftp-server

systemctl start tftp


第四步:

安装syslinux

yum -y install syslinux


cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/


第五步:
HTTP部署   
可以用Apache或Nginx提供HTTP服务。Python的命令web服务不行,会有报错。
//1.安装并启动Httpd
yum install httpd -y
systemctl start httpd
sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf

//2.镜像挂载和目录创建
#/var/www/html/该目录是httpd的网站站点目录
mkdir -p /var/www/html/CentOS7
mount /dev/cdrom /var/www/html/CentOS7

cp /var/www/html/CentOS7/isolinux/* /var/lib/tftpboot/
cd /var/lib/tftpboot/
cp vmlinuz /var/lib/tftpboot/centos7-vmlinuz
cp initrd.img /var/lib/tftpboot/centos7-initrd.img




第六步;
mkdir /var/lib/tftpboot/pxelinux.cfg/
vim /var/lib/tftpboot/pxelinux.cfg/default
#将下面内容写入该文本


default jason-ks
timeout 600
prompt 0

label jason-ks
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.5.20/CentOS7/ net.ifnames=0 biosdevname=0



第七步:

systemctl restart tftp

systemctl restart dhcpd

systemctl restart httpd





查看文件:(必须文件)
[root@localhost mnt]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ll
总用量 116104
-r--r--r--. 1 root root 2048 9月 10 04:10 boot.cat
-rw-r--r--. 1 root root 84 9月 10 04:10 boot.msg
-rw-r--r--. 1 root root 52584760 9月 10 03:31 centos7-initrd.img
-rwxr-xr-x. 1 root root 6639904 9月 10 03:31 centos7-vmlinuz
-rw-r--r--. 1 root root 281 9月 10 04:10 grub.conf
-rw-r--r--. 1 root root 52584760 9月 10 04:10 initrd.img
-rw-r--r--. 1 root root 24576 9月 10 04:10 isolinux.bin
-rw-r--r--. 1 root root 3032 9月 10 04:10 isolinux.cfg
-rw-r--r--. 1 root root 190896 9月 10 04:10 memtest
-rw-r--r--. 1 root root 26759 9月 10 03:30 pxelinux.0
drwxr-xr-x. 2 root root 21 9月 10 04:52 pxelinux.cfg
-rw-r--r--. 1 root root 186 9月 10 04:10 splash.png
-r--r--r--. 1 root root 2215 9月 10 04:10 TRANS.TBL
-rw-r--r--. 1 root root 153104 9月 10 04:10 vesamenu.c32
-rwxr-xr-x. 1 root root 6639904 9月 10 04:10 vmlinuz


安装: kickstarat


yum install pykickstart
 

root加密密码生成


python -c 'import crypt; print(crypt.crypt("123456"))'   #生成123456的密码文件,自己生成,记得保存

$6$zYrOKNZ7kmH9l8sf$y4Okt2L2oou5bgWkIPu5mw816oyJJwkODZXQulUN.QYQNhbb.uZwc21ORw6GktzSR5tQVb/rNStGNPYzHR0m9/


cd /var/lib/tftpboot/


cp pxelinux.cfg/default{,.bak}


> pxelinux.cfg/default

vim pxelinux.cfg/default

#jason centos 7 kickstart configure
default jason-ks
timeout 600
prompt 0

label jason-ks
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.5.20/ks.config/CentOS7-ks.cfg ksdevice=eth0 net.ifnames=0 biosdevname=0



-------------------
mkdir -p /var/www/html/ks.config

vim /var/www/html/ks.config/CentOS7-ks.cfg

#将下面的文本写入该文件


# Kickstart Configurator for CentOS 7 by kali
install
url --url="http://192.168.5.20/CentOS7/"
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
network --bootproto=static --device=eth0 --gateway=192.168.5.2 --ip=192.168.5.21 --nameserver=202.96.128.166 --netmask=255.255.255.0 --activate
#network --hostname=www.pxe.com
#network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS7
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
#rootpw 123456
rootpw --iscrypted $6$zYrOKNZ7kmH9l8sf$y4Okt2L2oou5bgWkIPu5mw816oyJJwkODZXQulUN.QYQNhbb.uZwc21ORw6GktzSR5tQVb/rNStGNPYzHR0m9/   #刚刚生成的密码文件就写在这里
clearpart --all --initlabel
part /boot --fstype xfs --size 1024
part swap --size 1024
part / --fstype xfs --size 1 --grow
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot

%packages
@^minimal  #如果你提供的是最小化的光盘/硬盘,那么下面的这些就可以删除
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
wget
vim
bash-completion
net-tools

%end

%post
systemctl disable postfix.service
%end
 

ps:记得关闭虚拟机的dhcp服务!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值