PXE自动化安装CentOS 7

本文详细介绍了如何在CentOS环境中通过kickstart文件实现自动化安装,包括关闭防火墙、配置DHCP服务器静态IP、安装必要软件包、配置文件共享服务、准备kickstart文件、配置tftp与DHCP服务等步骤。

安装前准备:
1、关闭防火墙和SELINUX

[root@centos7 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@centos7 ~]# getenforce
Disabled

2、配置DHCP服务器静态IP

[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
#BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e1eb6903-f46b-4490-bb2b-74b0021957f1
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.147.129  //静态地址
NETMASK=255.255.255.0

一、安装软件包(httpd tftp-server dhcp syslinux system-config-kickstart)

[root@centos7 ~]# yum install httpd tftp-server dhcp syslinux system-config-kickstart  -y

二、配置文件共享服务

[root@centos7 html]# systemctl start httpd
[root@centos7 html]# systemctl enable httpd
[root@centos7 html]# mkdir -p /var/www/html/centos/7
[root@centos7 html]# mkdir /var/www/html/ksdir
[root@centos7 html]# ls 
centos  index.html  ksdir 

挂载光盘,最好是写进/etc/fstab配置文件中

[root@centos7 html]# mount /dev/sr0 /var/www/html/centos/7
[root@centos7 html]# cd centos/7
[root@centos7 7]# ls
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL

在这里插入图片描述
三、准备kickstart文件,可以根据anaconda-ks.cfg文件进行修改,也可使用创建工具:system-config-kickstart生成新的配置。配置文件的放置目录为/var/www/html/ksdir,同时要注意kickstart文件的权限这里设为644。

[root@centos7 ksdir]# ls /var/www/html/ksdir/
ks7_desktop.cfg  ks7_mini.cfg

桌面化安装的kickstart文件ks7_desktop.cfg

[root@centos7 ksdir]# cat ks7_desktop.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
url --url="http://192.168.147.129/centos/7"
# Use graphical install
text
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
reboot
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang zh_CN.UTF-8

# Network information
network  --bootproto=dhcp --device=ens33 --onboot=on --ipv6=auto --activate
network  --hostname=centos7.cwj.com

# Root password
rootpw --iscrypted $6$Gc0Xp64gwbnbXaz/$oto/r0KN.uARfEvqsKu3Vax0NAGZGISe.fugaFHGtsqt5RQsLTWA/vYf/ANUbKm6zwJ3/8GYWVYTq9WPmbPhz1
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
user --name=cwj --password=$6$q2Mexpvnzn0BJzu8$a3iWuNCurYMqPpmfU5aXYsTVso98J2asMdZJe9Pks6iKn0nV9NfLfMVpUYd8HaAOtE7OAf8W7re8Ebr2aXGNh0 --iscrypted --gecos="cwj"
# X Window System configuration information
xconfig  --startxonboot
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
#autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel
zerombr
#Disk partitioning information
part /boot --fstype="xfs" --ondisk=sda --size=1024
part / --fstype="xfs" --ondisk=sda --size=51200
part /data --fstype="xfs" --ondisk=sda --size=20000
part swap --fstype="swap" --ondisk=sda --size=2048

%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@dial-up
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@internet-browser
@multimedia
@x11
kexec-tools
autofs
%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%post
systemctl enable autofs
systemctl disable initial-setup.service
systemctl set-default multi-user.terget
mkdir /etc/yum.repos.d/yum.bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/yum.bak
cat >/etc/yum.repos.d/base.repo<<EOF
[base]
name=base
baseurl=file:///misc/cd
gpgcheck=0
EOF

在这里插入图片描述
四、配置tftp服务,tftp服务使用UDP69端口。

[root@centos7 ~]# systemctl start tftp.service
[root@centos7 ~]# systemctl enable tftp.service
[root@centos7 ~]# systemctl status tftp.service
● tftp.service - Tftp Server
   Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
   Active: active (running) since 四 2019-10-31 17:13:46 CST; 6s ago
     Docs: man:in.tftpd
 Main PID: 8648 (in.tftpd)
   CGroup: /system.slice/tftp.service
           └─8648 /usr/sbin/in.tftpd -s /var/lib/tftpboot
[root@centos7 ~]# ss -nl | grep 69   
udp    UNCONN     0      0        :::69                   :::*    

五、配置DHCP服务

[root@centos7 ~]# vim /etc/dhcp/dhcpd.conf 
option domain-name "cwj.org";
option domain-name-servers 114.114.114.114, 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
#必须有一个子网与DHCP服务器的IP在同一个网段,否则无法启动DHCP服务。
subnet 192.168.147.0 netmask 255.255.255.0{
        range 192.168.147.10 192.168.147.100;   #分配的IP范围
        option routers 192.168.147.1;  #路由的IP地址
        filename "pxelinux.0";
		next-server 192.168.147.129;  #tftp服务器的地址
}
[root@centos7 ~]# systemctl enable dhcpd
[root@centos7 ~]# systemctl start dhcpd

六、准备相关文件
创建pxelinux.cfg文件夹并复制引导文件pxelinux.0和启动背景图menu.c32,pxelinux.0和menu.c32文件由syslinux软件包提供。

[root@centos7 tftpboot]# mkdir /var/lib/tftpboot/pxelinux.cfg/
[root@centos7 tftpboot]# cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

复制内核文件

[root@centos7 ~]# cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

复制安装启动菜单

[root@centos7 tftpboot]# cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

文件列表如下:

[root@centos7 tftpboot]# tree
.
├── initrd.img
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│   └── default
└── vmlinuz


七、准备启动菜单

[root@centos7 tftpboot]# vim pxelinux.cfg/default 
default menu.c32
timeout 600

menu title PXE install CentOS 6 and CentOS 7

label CentOS 7 Desktop
  menu label Install ^Desktop CentOS 7
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.147.129/ksdir/ks7_desktop.cfg

label CentOS 7 mini
  menu label Install ^Mini CentOS 7
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.147.129/ksdir/ks7_mini.cfg

label local
  menu default
  menu label ^Boot from local drive
  localboot 0xffff

menu end

八、安装
在这里插入图片描述
安装过程
在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值