环境:VMware Workstation 10.0.1 build-1379776
网络:桥接
虚拟机A:kickstart+Dhcp+Nfs+Tftp(系统版本centos6.2) ip 192.168.1.51
虚拟机B:客户机(需要自动化安装系统的机器) ip 192.168.1.52
以下操作均在A机上:
挂载iso系统文件到光驱,记得在vm里光驱那里【已连接】打勾
mount /dev/cdrom /mnt/
关闭防火墙和selinux
service iptables stop
chkconfig iptables off
setenforce 0
sed -e ‘s/SELINUX=enable/SELINUX=disable/g‘ /etc/selinux/config
安装 tftp-server,并启用tftp服务,重启xinetd进程
yum install tftp*
vi /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /var/lib/tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
需要修改1个地方
disable = yes 修改为no 即可!
service xinetd restart
tftp 是否启动
netstat -a | grep tftp
显示结果为
udp 0 0 *:tftp *:*
表明服务已经开启
配置支持PXE启动
yum install syslinux(很多文章没写,所以找不到pxelinux.0文件)
cd /var/lib/tftpboot/
把pxelinux.0复制到/tftpboot/中
cd /usr/share/syslinux (注:这个目录与redhat5不同。)
cp pxelinux.0 /var/lib/tftpboot
cp vesamenu.c32 /var/lib/tftpboot (很多文章没有拷贝,但试验中发现需要)
把Linux第一张安装光盘上/image/pxeboot/initrd.img和vmlinux复制到/tftpboot/中
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot
cp /mnt/images/pxeboot/vmlinux /var/lib/tftpboot
复制第一张安装光盘上的isolinux/*.msg到/tftpboot/中
cp /mnt/isolinux/*.msg /var/lib/tftpboot
在tftpboot中新建一个pxelinux.cfg目录
mkdir -p /var/lib/tftpboot/pxelinux.cfg
把Linux第一张安装光盘上isolinux目录中的isolinux.cfg复制到pxelinux.cfg目录中,并同时更改文件名称为default
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
其实到达这一步骤的时候,我都就可以通过网络引导了,
通过网络引导之后接下了就可以手动安装了,但是这里面我们讨论的是无人值守安装,
所以我们配置下default文件【还是在 /tftpboot 目录下】
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.1.51:/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 -
修改如上两个红色地方即可:【设置timeout 10 /*超时时间为10S */;ksdevice=etho代表当我们有多块网卡的时候,
要实现自动化需要设置从eth0安装,不指定的话,安装的时候系统会让你选择,那就不叫全自动化了,
192.168.1.51是kickstart服务器,/centosinstall 是nfs共享linux镜像的目录,ks.cfg是kickstart主配置文件,稍后会详细配置】
自此tftp配置完毕! 我们可以启动它,它是非独立服务,需要借助xinetd启动如下:
chkconfig tftp --level 35 on
service xinetd restart 即可!
接下来安装 配置nfs
1、检查系统是否开启nfs服务:service nfs status 结果显示nfs: unrecognized service,说明系统没有安装nfs服务,so 安装之;
注意,yum install nfs是无法安装的,应该用yum install nfs-utils.
2、开启portmap服务,还是unrecognized service ,安装之,yum install portmap 未果,百度+google之,
发现centos 6.4中portmap 已经被rpcbind取代,于是乎继续安装之,未果,检查下是不是已经在安装nfs-utils包的时候安装了,
service rpcbind status ,果然已经一块安装了。
以上为整个安装过程,总结下就是centos 6.x之后的系统一个命令yum install nfs-utils 全部搞定,
貌似5.x版本的也可以用这个命令搞定,搞不定的话可以单独装portmap;主要6.x版本用的事rpcbind, 5.x版本用的是portmap。
创建nfs共享目录,也是存放linux镜像的目录:
mkdir -p /centosinstall && cp -rf /mnt/* /centosinstall 拷贝完后,设置nfs共享
vi /etc/exports
/centosinstall *(rw,sync) 保存退出即可!【可根据实际控制权限访问*代表所有】
nfs配置完毕,
安装配置kickstart
yum list *kic*
yum install system-config-kickstart.noarch(很多文章没写,介绍kickstart安装的文章居然都不写安装kickstart的命令)
接着配置kickstart主配文件:
在/centosinstall/下创建ks.cfg文件,输入以下内容:
【这是我的实际使用的配置文件,当然你可以根据需要修改】有下载地址:http://blog.mgcrazy.com/download/ks.cfg
# Kickstart file automatically generated by anaconda.
install
text
nfs --server=192.168.1.51 --dir=/centosinstall
key --skip
lang zh_CN.UTF-8
keyboard us
network --device eth0 --bootproto=dhcp --noipv6
rootpw stephen@wang
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 ext3 --size=200
part swap --size=4000
part /www/logs --fstype ext3 --size=20000
part / --fstype ext3 --size=20000
part /home --fstype ext3 --size=10000
part /www --fstype ext3 --size=1 --grow
%packages
#@admin-tools
@base
@core
@development-libs
@development-tools
@editors
@system-tools
@base-x
@chinese-support
keyutils
kexec-tools
trousers
fipscheck
device-mapper-multipath
imake
audit
#xorg-x11-server-Xnest
#xorg-x11-server-Xvfb
如上ks.cfg配置完毕,并设置其权限:这里设置为:chmod 777 /centosinstall/ks.cfg
具体配置参数可以参考该文章:http://wenku.baidu.com/view/ab012dfb770bf78a65295420.html kickstart参数详解!
最后我们来安装配置dhcp服务:
yum install -y dhcp*
vi /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
next-server 192.168.1.51;
filename "pxelinux.0";
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org";
# option domain-name "192.168.1.10";
# option domain-name-servers 192.168.1.10;
option time-offset -18000; # Eastern Standard Time
# 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;
host ns {
hardware ethernet 00:0C:29:5B:D9:8F;
fixed-address 192.168.1.52;}
}
service xinetd restart
service nfs restart
service dhcpd restart
重启B机,开机是按F2进入bios设置从网络启动,然后就坐等自动安装系统,如果不出错误就是一路自动化,安装完后root密码是stephen@wang
下面是我参考的文章,但是出了很多问题,最后还是得自己google解决,不过一天之内就把kickstart搭建起来了,总的来说还算顺利
http://blog.csdn.net/silent1/article/details/7635646
http://bbs.linuxtone.org/home.php?mod=space&uid=12402&do=blog&id=121
本文出自 “向山看海” 博客,请务必保留此出处http://xskh2007.blog.51cto.com/9347975/1594695
原文地址:http://xskh2007.blog.51cto.com/9347975/1594695