Kickstart無人值守安裝(NFS版)
Kickstart是一種無人值守的安裝方式。它的工作原理是在安裝過程中記錄典型的需要人工幹預填寫的各種參數,並生成一個名為ks.cfg的文件。
如果在安裝過程中(不只局限於生成Kickstart安裝文件的機器)出現要填寫參數的情況,安裝程序首先會去查找Kickstart生成的文件,
如果找到合適的參數,就采用所找到的參數;如果沒有找到合適的參數,便需要安裝者手工幹預了。所以,如果Kickstart文件涵蓋了安裝過程
中可能出現的所有需要填寫的參數,那麽安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然後就去忙自己的事情。等安裝完畢,安裝程序
會根據ks.cfg中的設置重啟系統,並結束安裝。
PXE+Kickstart 無人值守安裝操作系統完整過程如下:
二、系統環境
實驗環境:VMware Workstation 10
系統平臺:CentOS release 6.5 (最小化安裝)
網絡模式:橋接模式或NAT模式(共享主機的IP地址)
DHCP / TFTP IP:192.168.0.151
PXE / NFS IP:192.168.0.151
三、準備工作
TFTP+NFS+DHCP+PXE的啟動程序+KS.CFG應答文件
yum install -y dhcp* tftp* syslinux
1.關閉iptables
service iptables stop
chkconfig iptables off
2.關閉Selinux
sed –i ‘s/SELINUX=enforcing/SELINUX=disabled/g’/etc/sysconfig/selinux
四、配置TFTP
4.1 配置tftp 服務
# vi /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 = 1002
flags = IPv4
}
將disable 設置為no
5.2 啟動tftp服務
因為tftp服務是掛載在超級進程xinetd 下的,所以通過啟動xinetd 來啟動tftp服務。
# /etc/init.d/xinetd restart
設置開機啟動xinetd
# chkconfig xinetd on
五、配置TFTP+PXE的啟動程序
5.1如果系統是6.x,默認tftpboot目錄在/var/lib/下,所以centos6.x需要做軟鏈接到/根目錄下
[root@hwg1227 ]# ln -s /var/lib/tftpboot/
[root@hwg1227 ]# cd /var/lib/tftpboot
[root@hwg1227 tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./
[root@hwg1227 tftpboot]# cp /mnt/dvd/images/pxeboot/{vmlinuz,initrd.img} ./
[root@hwg1227 tftpboot]# mkdir -p pxelinux.cfg &&cp /mnt/dvd/isolinux/isolinux.cfg pxelinux.cfg/default
5.2 修改default文件
# vi /var/lib/tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 10
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append ks=nfs:192.168.0.151:/centosinstall/ks.cfg ksdevice=eth0 initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -
六、配置NFS
6.1創建nfs共享目錄,也是存放linux鏡像的目錄:
[root@hwg1227 ]# yum -y install nfs-utils rpcbind
[root@hwg1227 ]# /etc/init.d/rpcbind start
[root@hwg1227 ]# /etc/init.d/nfs start
[root@hwg1227 ]# chkconfig nfs on
[root@hwg1227 ]# chkconfig rpcbind on
[root@hwg1227 ]# mkdir -p /centosinstall
[root@hwg1227 ]#cp -rf /mnt/dvd/* /centosinstall &
[root@hwg1227 centosinstall]# du -sh
6.2鏡像拷貝完後,配置nfs共享,如下:
[root@hwg1227 ~]# vi /etc/exports
/centosinstall *(rw,sync)
[root@hwg1227 ~]# exportfs -r # 使配置立刻生效
表示共享/centosinstall目錄 *代表所有的客戶端ip都可以訪問,權限為讀寫rw
6.3 nfs配置完畢,接著配置kickstart主配文件:
cd /centosinstall/ 目錄,然後新建ks.cfg,命令為vi ks.cfg,寫入如下內容:
[root@hwg1227 ]#
[root@hwg1227 /]# cd centosinstall/
[root@hwg1227 centosinstall]# vi ks.cfg
# Kickstart file automatically generated by anaconda.
install
text
nfs --server=192.168.0.151 --dir=/centosinstall
key --skip
lang zh_CN.UTF-8
keyboard us
network --device eth0 --bootproto=dhcp --noipv6
rootpw hwg123 #Root密碼
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all --initlabel
part /boot --fstype ext4 --size=200
part swap --size=2048
part / --fstype ext4 --size=20000
part /data --fstype ext4 --size=16000
%packages
@base
@core
@chinese-support
%end
[root@hwg1227 centosinstall]# chmod 777 /centosinstall/ks.cfg
七、配置DHCP
7.1 修改/etc/dhcp/dhcpd.conf 配置文件,內容如下:
[root@hwg1227 ~]# vi /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
next-server 192.168.0.151;
filename "pxelinux.0";
allow booting;
allow bootp;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.0.1;
option subnet-mask 255.255.252.0;
# option nis-domain "domain.org";
# option domain-name"192.168.0.10";
# option domain-name-servers 192.168.0.10;
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.0.100 192.168.0.200;
host ns {
hardware ethernet 00:0C:29:D2:DE:62 ; # 不在分配的範圍內
fixed-address 192.168.0.101;}
}
7.2 啟動DHCP服務
# /etc/init.d/dhcpd start
八、測試客戶機
創建一臺客戶機,從網卡啟動,便會執行自動化安裝系統。
Kickstart無人值守安裝(NFS版)