PEX+kickstart無人值守安裝 原

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啓動項,默認回去網絡安裝;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章