您的位置:首页 > 运维架构 > Linux

kickstart+vsftp+pxe+dhcp实现centos5.3自动安装

2011-09-26 21:58 681 查看
kickstart+vsftp+pxe+dhcp实现centos5.3自动安装

摘要:本文是基于实际生产环境需要实现无人值守的自动化安装CentOS系统,当然本文是使用FTP提供镜像,亦可以使用NFS和HTTP网站提供,原理是一样的。
环境:CentOS 5.3(32位)
0.首先配置好自己的YUM源,本地的或网络的都可以。本文创建本地YUM源。
mkdir -pv /media/cdrom
mount /de/cdrom /medi/cdrom # 挂载安装镜像
cd /etc/yum.repos.d/
touch local.repo
vim local.repo #写入以下内容
[cdrom]
name=cdrom
baseurl=file:///media/cdrom/
enabled=1
gpgcheck=0
可以测试一下有没有创建成功,
yum list all
1.配置FTP服务。
yum install -y vsftpd
启动服务并设置为自动加载。
service vsftpd start && chkconfig vsftpd on
若开启了SELINUX服务,请务必设置vsftpd可以通行。
setsebool -P ftp_home_dir=1
setsebool -P allow_ftpd_anon_write=1
复制关盘内容到ftp共享目录
mkdir /var/ftp/pub/CentOS5.3
cp -rv /media/cdrom/* /var/ftp/pub/CentOS5.3
重建一下依赖关系及分组文件。
rpm -ivh /media/cdrom/CentOS/createrepo-0.4.11-3.el5.noarch.rpm
createrepo -g /var/ftp/pub/CentOS5.3/repodata/comps.xml /var/ftp/pub/CentOS5.3/
可以测试一下用浏览器登陆ftp本地地址。
2.配置DHCP服务。
安装DHCP
yum install -y dhcp
复制DHCP服务配置文件模板
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
修改/etc/dhcp.conf文件,内容如下。自己可以根据自己的情况修改。
ddns-update-style interim;
ignore client-updates;

subnet 192.168.159.0 netmask 255.255.255.0 { #此处改为自己网络

# --- default gateway
option subnet-mask 255.255.255.0;
option time-offset -18000; # Eastern Standard Time
filename "/pxelinux.0";
next-server 192.168.159.3;# tftp server 地址
range dynamic-bootp 192.168.159.20 192.168.159.30;

# option ntp-servers 192.168.159.1;
# option netbios-name-servers 192.168.159.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.128 192.168.0.254;
default-lease-time 21600;
max-lease-time 43200;

# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
#配置文件每行末尾都应加上分号(;),否则语法错误,dhcp server无法启动。
此时建议将自己的网卡设置为static模式,作为DHCP服务器不要随意更换。
启动服务并设置为自动加载。
service dhcpd start && chkconfig dhcpd on
3.安装TFTP网络安装
yum install -y tftp tftp-server xinetd system-config-kickstart*
修改/etc/xinetd.d/tftp文件将tftp服务设置为运行状态,内容如下:
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no #将yes改为no
per_source = 11
cps = 100 2
flags = IPv4
}
重启xinetd服务并设为自动加载
service xinetd start && chkconfig xinetd on
配置PXE启动所需要的配置文件。(linux内核 根文件系统)
将/usr/lib/syslinux/下的启动镜像文件pxelinux.0拷到TFTP服务器/tftpboot/ 下
#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
将/isolinux/下的所有文件都复制到TFTP服务/tftpboot/(当然不必,这里只为方便)
cp /media/cdrom/isolinux/ /tftp/
配置pxelinux.cfg目录和default文件
mkdir /tftpboot/pxelinux.cfg
touch /tftpboot/pxelinux.cfg/default
vim default:如下
default linux
prompt 0
timeout 600
label linux
kernel vmlinuz
append ks=ftp://192.168.159.3/pub/ks.cfg(这里就是ftp地址,亦可以是nfs和http) initrd=initrd.img
chmod u+w /tftp/pxelinux.cfg/default
4.生成kickstart无人值守文件,自己选择模式。之后保存到/var/ftp/pub/下即可。
system-config-kickstart(自己选择)
chown 777 /var/ftp/pub/ks.cfg(无人值守文件)
这里贴上自己以供参考。
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Use graphical install
graphical
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# Use interactive kickstart installation method
interactive
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use network installation
url --url=ftp://192.168.159.3/pub/CentOS
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Root password
rootpw --iscrypted $1$3fEGOOLf$yqTKOgftdFXluLT7DeKs/0

# SELinux configuration
selinux --disabled
# System timezone
timezone America/New_York
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480
好了,可是使用了。其他机器调成PXE启动即可。呵呵本文出自 “Mylinux” 博客,请务必保留此出处http://yueyang.blog.51cto.com/1394297/674624
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: