1、無人值守自動安裝系統是操作系統大規模的安裝的方式,可以避免很多麻煩;
pex((preboot execute environment):預啓動執行環境,有Inter公司開發,基於C/S模式的技術,能夠讓客戶端通過網絡去服務器端下載啓動鏡像,實習網絡啓動;在整個過程中,客戶端會從服務器端得到IP地址,在利用TFTP服務下載鏡像到本地的內存中並執行,在由這個啓動文件完成終端你的各種配置;
kickstart:這個技術的核心是自動應答文件,就是在本來安裝過程中需要我們手動設置的語言、密碼、網絡參數通過讀取自動應答文件實現自動配置,所有需要提前把對操作系統的配置寫入自動寫入應答文件,開始安裝操作系統時,自動安裝程序自動讀取應答文件,實現自動化安裝;
而生成kickstart文件有如下三種方式;
手動編寫kickstart文件;
通過system-config-kickstart圖形化工具;
1:安裝服務的服務器IP地址:192.168.149.132
1:安裝DHCP服務:
[root@localhost_04 ~]# yum install -y dhcp
[root@localhost_04 ~]# vim /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
log-facility local7;
subnet 192.168.149.0 netmask 255.255.255.0 {
range 192.168.149.160 192.168.13.200; #指定獲取動態地址池的IP地址段192.168.149.160-200;
option domain-name-servers 114.114.114.114; #指定DNS地址;
option routers 192.168.149.2; #指定網關地址;
default-lease-time 600; #默認租約時間;
max-lease-time 7200; #最大租約時間;
next-server 192.168.149.132; #TFTP地址;
filename "pxelinux.0"; #啓動文件的名稱是pxelinux.0;
}
註釋:指定192.168.149.0/24這個段網絡分配IP地址,動態地址池爲192.168.149.160-200這四十個地址;客戶端獲取的網關是192.168.149.2,指定TFTP的地址是192.168.149.132,指定啓動文件名稱爲 pxelinux.0;
啓動DHCP服務;
[root@localhost_04 ~]# service dhcpd restart
Redirecting to /bin/systemctl restart dhcpd.service
[root@localhost_04 ~]# ps aux |grep dhcpd
dhcpd 55165 0.0 0.7 105912 7788 ? Ss 14:44 0:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
root 55167 0.0 0.0 112720 972 pts/0 R+ 14:44 0:00 grep --color=auto dhcpd[root@localhost_04 ~]# netstat -lnp|grep dhcp
udp 0 0 0.0.0.0:67 0.0.0.0:* 55165/dhcpd
raw 0 0 0.0.0.0:1 0.0.0.0:* 7 55165/dhcpd
2、安裝TFTP服務;
[root@localhost_04 ~]# yum install -y tftp-server
[root@localhost_04 ~]# yum -y install xinetd
[root@localhost_04 ~]# vim /etc/xinetd.d/tftp
cat /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
啓動tftp服務;
[root@localhost_04 ~]# service xinetd restart
Redirecting to /bin/systemctl restart xinetd.service
[root@localhost_04 ~]# ps aux |grep xinetd
root 55457 0.0 0.1 27164 1016 ? Ss 15:12 0:00 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
root 55459 0.0 0.0 112720 972 pts/0 R+ 15:12 0:00 grep --color=auto xinetd
配置說明:共享路徑爲 /var/lib/tftpboot
3、安裝引導程序:syslinux,並將客戶端所需文件複製到TFTP服務器;
[root@localhost_04 ~]# yum install -y syslinux #安裝引導程序;
[root@localhost_04 ~]# cp /usr/share/syslinux/p
pcitest.c32 pmload.c32 poweroff.com pwd.c32 pxechain.com pxelinux.0
[root@localhost_04 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
4:掛載光盤或者ISO文件的系統到media中,將安裝鏡像中的啓動鏡像文件和啓動配置文件複製到TFTP共享目錄下;
[root@localhost_04 ~]# mount /dev/cdrom /media/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost_04 ~]# ls /media/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@localhost_04 ~]# cp /media/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
註釋:只拷貝isolinx目錄下 vmlinuz和initrd.img這兩個文件即可;
修改啓動配置文件;
[root@localhost_04 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost_04 ~]# cat !$
cat /var/lib/tftpboot/pxelinux.cfg/default
default linux
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=nfs:192.168.13.101:/ks/ks.cfg
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
註釋:default指定默認引導方式,即以label開頭的引導方式;
kernel 指定內核的引導文件,ks指定自動應答文件的位置,本例通過192.168.149.132的NFS共享的方式讀取kickstart文件;
5:創建kickstart自動應答文件;
[root@localhost_04 ~]# mkdir /ks
[root@localhost_04 ~]# touch /ks/ks.cfg
[root@localhost_04 ~]# vim /ks/ks.cfg
cat /ks/ks.cfg
[root@localhost_04 ks]# cat ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# 禁用防火牆規則iptables
firewall --disabled
# 安裝系統
install
# nfs服務器地址ip,及nfs上的系統鏡像路徑
nfs --server=192.168.149.132 --dir=/media
# Root 密碼(加密的123456)
rootpw --iscrypted $1$16PXgd.m$C4vE6OJCMGfQVadgm0DSe.
# System authorization information
auth --useshadow --passalgo=sha512
# 使用字符界面安裝
#text
graphical
firstboot --disable
# 美式鍵盤
keyboard us
# 系統語言
lang en_US
# 關閉Selinux
selinux --disabled
# 不配置圖形界面
skipx
# 安裝日誌記錄級別爲 info
logging --level=info
# 安裝完成後重啓
reboot
# 系統時區
timezone Asia/Shanghai
# 網絡配置:動態獲取ip、網卡名稱eth0,開機自動啓動網絡服務,不開啓ipv6,主機名(自定義,可以不寫,默認localdomain:localhost)
network --bootproto=dhcp --device=eth0 --onboot=on --noipv6 --hostname=CentOS04
# 系統啓動引導配置:mbr引導
bootloader --location=mbr
# 磁盤分區,zerombr:一定要有,不然安裝的時候會停在格式化分區界面
zerombr
clearpart --all --initlabel
# 磁盤分區方式
part /boot --fstype="ext4" --size=200
part swap --fstype="swap" --size=2000
part / --fstype="ext4" --grow --size=1
# 安裝完成後要執行的腳本
#%post
#/sbin/chkconfig --level 2345 network on
%packages
@base
%end
6:部署NFS;安裝:
yum install -y nfs-utils
[root@localhost_04 ~]# service nfs start
Redirecting to /bin/systemctl start nfs.service
root 55804 0.0 0.0 112720 968 pts/0 R+ 15:20 0:00 grep --color=auto ngs
[root@localhost_04 ~]# ps aux |grep nfs
root 55777 0.0 0.0 0 0 ? S< 15:19 0:00 [nfsd4_callbacks]
root 55793 0.0 0.0 0 0 ? S 15:19 0:00 [nfsd]
root 55794 0.0 0.0 0 0 ? S 15:19 0:00 [nfsd]
root 55795 0.0 0.0 0 0 ? S 15:19 0:00 [nfsd]
root 55796 0.0 0.0 0 0 ? S 15:19 0:00 [nfsd]
root 55797 0.0 0.0 0 0 ? S 15:19 0:00 [nfsd]
root 55798 0.0 0.0 0 0 ? S 15:19 0:00 [nfsd]
root 55799 0.0 0.0 0 0 ? S 15:19 0:00 [nfsd]
root 55800 0.0 0.0 0 0 ? S 15:19 0:00 [nfsd]
root 55806 0.0 0.0 112720 972 pts/0 R+ 15:20 0:00 grep --color=auto nfs
7、首次安裝開啓客戶機,不需要去修改Blos啓動項,默認回去網絡安裝;