Pxe+http+tftp+kickstart 无人值守安装
说明:适用于centos6.X(和centos5.X有很多差异),请提前准备好第三方源epel ius rpmforge 关闭防火墙和selinux。
一 安装所需软件:
[root@node1 ~]#yum -y install http* syslinux dhcp system-config-kickstart tftp-server
[root@node1 ~]#mount /dev/cdrom /mnt #挂载光盘到系统
[root@node1 ~]#cp -r /mnt/* /var/www/html/ #把系统文件拷贝到http根目录
二 Tftp配置:
[root@node1 ~]# vi /etc/xinetd.d/tftp
server_args = -s /tftpboot #改为自己存放文件的目录
disable = no #yes 改为no
[root@node1 ~]# /etc/init.d/xinetd start #共享tftpboot目录
三 DHCP配置:
[root@node1 ~]#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@kickstart html]# vi /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
next-server 172.16.33.200;
filename "/pxelinux.0";
subnet 172.16.33.0 netmask 255.255.255.0 {
option routers 172.16.33.200;
option subnet-mask 255.255.255.0;
option nis-domain "netgen.com.cn";
option domain-name "netgen.com.cn";
option domain-name-servers 8.8.8.8;
option time-offset -18000;
range 172.16.33.220 172.16.33.225;
default-lease-time 600;
max-lease-time 7200;
}
四 拷贝所需文件到tftpboot共享目录中
[root@node1 html]# mkdir /tftpboot
[root@node1 html]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/ #centos5.X在/usr/lib/…下
[root@node1 html]# cp /var/www/html/images/pxeboot/initrd.img /tftpboot/
[root@node1 html]# cp /var/www/html/images/pxeboot/vmlinuz /tftpboot/
[root@node1 html]# cp /var/www/html/isolinux/* /tftpboot/
[root@node1 html]# mkdir /tftpboot/pxelinux.cfg
[root@node1 html]# cp /var/www/html/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
五 编辑default文件
[root@node1 html]# vi /tftpboot/pxelinux.cfg/default
default vesamenu.c32
prompt 0
# 显示 'boot: ' 提示符。为 '0' 或注释时都不提示,将会直接启动 'default' 参数中指定的内容。
timeout 5
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.4!
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=http://172.16.33.200/ks.cfg
# ks=http://172.16.33.200/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 �C
六 配置system-config-kickstart
图形终端执行:#system-config-kickstart (文本模式下使用 # system-config-kickstart --generate ks.cfg 生成一个名为ks.cfg的内容是默认的kickstart文件,需要手动调整,但root口令无法加密。)
(1)调整时区,并给root用户设置密码(勾选安装后重新引导系统,勾选文本模式执行安装后,安装过程呈现文本形式)
(2)选择http安装方式,本文档介绍http方式安装,当然可以使用其他方式来安装,由于我把系统镜像文件直接拷贝到了/var/www/html下,所以HTTP目录里我们直接填写/ 目录
(3)选择清除主引导记录和删除所有现存分区(否则无法实现自动安装,安装中途会打断),并对磁盘进行分区。
(4)网络部分请根据你实际有几块网卡来添加网络类型(如果有多块,请添加相应个数,否则安装中途打断无法实现自动化安装)。
(5)其他可默认不写,当然你也可以给你新装的机器上安装服务,和运行一些你写的一些优化脚本,这些内容以后补充。
(6)填写完成后别忘记保存到/var/www/html/下
(7)查看一下ks.cfg文件是否存在(centos5.X文档要求在这里面添加key --skip参数,用来跳过注册代码输入,不然会导致安装失败。)
[root@kickstart ~]# cat /var/www/html/ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://172.16.33.200/"
# Root password
rootpw --iscrypted $1$SEsAeyf8$.RSwDDZf2GEpJmQTET6w//
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="ext4" --size=200
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1
以上操作基本配置完成,可以拿虚拟机或者真实机(支持PXE启动的网卡)来进行测试。
七 其他注意事项:
(1) 防火墙一定关闭或者开放对应端口。
(2) Centos6.X和centos5.x有很多不一样的地方。
(3) 除了HTTP方式还可以参考其他方式进行安装,例如NFS ,FTP等。
(4) 避免DHCP地址池冲突,不实用的时候最好关闭DHCP广播。
(5) 参考网页:http://my.oschina.net/lionel45/blog/111618