pxe+tftp+httpd+dhcpd+Kickstart 實現無人值守安裝Centos7

1、名詞解釋 一、PXE PXE(preboot execute environment,預啓動執行環境)是由Intel公司開發的最新技術, 工做於Client/Server的網絡模式。嚴格來講,PXE 並非一種安裝方式,而是一種引導方式。進行 PXE 安裝的必要條件是在要安裝的計算機中必須包含一個 PXE 支持的網卡(NIC),即網卡中必需要有 PXE Client。現有網卡基本支持pxe技術。 二、Kickstart Kickstart是一種無人值守的安裝方式。它的工做原理是在安裝過程當中記錄典型的須要人工干預填寫的各類參數,並生成一個名爲ks.cfg的文件。 2、實現原理 原理圖以下:html

輸入圖片說明

Pxe詳細的工做流程圖:node

輸入圖片說明

3、系統環境 本實驗目標:經過pxe、tftp、dhcp、http、kickstart實現CentOS 7 minimal無人值守安裝。 實驗環境:vmware workstation 14.0.0 網絡模式:橋接模式 TFTP、DHCP、HTTP服務器IP地址(共用同一虛機):192.168.1.230linux

準備工做: 確保服務器selinux以及防火牆已關閉:ios

關閉防火牆命令以下:web

#systemctl stop firewall  ##臨時關閉防火牆,重啓後防火牆恢復
#systemctl disable firewall ##關閉防火牆,永久有效。

關閉iptables:centos

#systemctl stop iptables
#systemctl disable iptables

關閉selinux:瀏覽器

#setenforce 0 #臨時關閉selinux

若是想永久關閉selinux,直接修改/etc/selinux/config,將 SELINUX=enforcing修改爲SELINUX=disable。 4、部署安裝 一、安裝http服務器服務器

#yum install httpd -y

檢查httpd是否在運行:網絡

#systemctl status httpd

輸入圖片說明

能夠看到active(running)則表示服務正在運行。socket

經過web訪問驗證,在宿主機上用瀏覽器訪問 http://192.168.1.230:8088 (默認端口爲80,可是個人虛機上80端口被別的應用佔用,因而修改爲8088端口),以下圖示,則成功:

輸入圖片說明

設置http服務開機啓動:

#systemctl enable httpd

二、安裝tftp服務

#yum install tftp-server –y

默認tftp的根目錄是/var/lib/tftpboot/,我這裏使用的是/tftpboot 目錄,須要修改/etc/xinetd.d/tftp 文件。修改後文件內容以下:

service tftp
{
	socket_type		= dgram
	protocol		= udp
	wait			= yes
	user			= root
	server			= /usr/sbin/in.tftpd
	server_args		= -u nobody -s /tftpboot
	disable			= no
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}

建立tftp主目錄:

#mkdir /tftpboot

啓動tftp:

#systemctl start xinetd

設置tftp開機啓動:

#systemctl enable xinetd

三、安裝dhcp服務

#yum install dhcp –y

修改/etc/dhcp/dhcpd.conf配置文件,修改後內容以下:

ddns-update-style interim;

ignore client-updates;

allow booting;
allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0{
   option routers    192.168.1.1;
   option subnet-mask   255.255.255.0;
   option time-offset     -18000;
   option netbios-node-type 2;
   range dynamic-bootp  192.168.1.5 192.168.1.50; 設置ip地址池。
   default-lease-time 21600;
   max-lease-time 43200;  
   next-server 192.168.1.230; #指定tftp服務器地址
   filename "pxelinux.0"; #指定pxe文件
}

啓動dhcp服務:

#systemctl start dhcpd

設置dhcp開機啓動:

#systemctl enable dhcpd (不建議設成開機啓動)

四、部署pxelinux 安裝syslinux:

#yum install –y syslinux

拷貝相關文件至tftp根目錄:

#cp -a /usr/share/syslinux/{menu.c32,vesamenu.c32,pxelinux.0}  /tftpboot/

建立配置文件目錄:

mkdir /tftpboot/pxelinux.cfg

掛載CentOS7 iso文件至/mnt目錄:

#mount /dev/cdrom /mnt

將/mnt目錄下的全部文件拷貝至/var/www/html目錄:

#cp –rf /mnt/* /var/www/html/

複製/var/www/html/isolinux/*.msg文件至tftp根目錄:

#cp /var/www/html/isolinux/*.msg /tftp/

複製/var/www/html/isolinux/vmlinuz 至/tftpboot/目錄:

#cp /var/www/html/isolinux/vmlinuz /tftpboot/

複製/var/www/html/isolinux/initrd.img 至 /tftpboot/目錄:

#cp /var/www/html/isolinux/initrd.img /tftpboot/

複製/var/www/html/cdrom/isolinux/isolinux.cfg 拷貝至/tftpboot/pxelinux.cfg目錄,並改名爲default:

#cp /var/www/html/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default

此時/tftpboot目錄內容以下:(splash.png無關緊要,該文件在isolinux目錄下) 輸入圖片說明

更改/tftpboot/pxelinux.cfg/default文件,更改timeout 600爲 timeout 10,此修改主要是讓安裝時更快進入安裝程序。 更改default文件中安裝介質地址以下: 更改前: 輸入圖片說明

更改後:

輸入圖片說明

五、建立kickstart安裝響應文件 建立kickstart安裝響應文件有兩種方式: 1) 經過system-config-kickstart圖形化工具配置生產; 2) 經過vi工具,根據kickstart模板手工編寫配置文件。 推薦使用system-config-kickstart工具生產ks配置文件。 若是經過 system-config-kickstart 工具來配置ks.cfg文件,則須要安裝桌面環境,安裝桌面環境命令以下:

#yum –y groupinstall ‘X Window System’
#yum –y groupinstall ‘GNOME Desktop’

安裝 system-config-kickstart:

#yum –y install  system-config-kickstart

運行system-config-kickstart,配置界面以下: 輸入圖片說明

配置完成後,將ks.cfg 文件拷貝至/var/www/html目錄下:

#cp ./ks.cfg /var/www/html/

如下是CentOS7 minimal安裝的ks.cfg的內容

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$joth9Kyj$VmO624PljjP6g4nGlkLiX/
# Use network installation
url --url="http://192.168.1.230:8088/"
# System language
lang en_US
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Network information
network  --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part swap --fstype="swap" --size=512
part / --asprimary --fstype="xfs" --grow --size=1
%packages
@core
kexec-tools

%end

其中:

%packages
@core
kexec-tools
%end

能夠從/root/anaconda-ks.cfg文件獲取。

5、安裝操做系統 開啓目標計算機,而後進入bios設置成網絡啓動,即進入安裝過程。

參考: https://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html

相關文章
相關標籤/搜索