centos6 pxe+dhcp+nfs+kickstart无人值守
简单记录下无人值守安装操作系统的过程。
服务端IP:10.20.23.141(pxe +tftp+nfs+dhcp) 可以分开
五步:
1.配置NFS服务器,用于存放linux系统的安装文件
2.配置TFTP服务器,用于提供客户端pxe引导所必须的文件
3.配置dncp,用于给客户端提供IP地址及其他信息
4.配置kickstart,用于自动应答安装
5.使用pxe功能引导客户机
操作如下:
chkconfig --list |grep 3:on 查看 启动的服务
mkdir /data/sys -p
mount /dev/cdrom /mnt 挂载镜像
cp -a /mnt/* /data/sys/
1.安装nfs:
rpm -qa|grep nfs
查看nfs是否安装,没有安装的话安装下
yum install nfs-utils portmap
echo "/data/sys 10.20.23.0/24(ro,sync)" >>/etc/exports
service rpcbind start
service nfs start
[root@nagios ~]# showmount -e 10.20.23.141
Export list for 10.20.23.141:
/data/sys 10.20.23.0/24
2.安装tftp服务
yum install tftp-server* -y
yum install -y xinetd
修改配置文件
vim /etc/xinetd.d/tftp
server_args = -s /tftpboot 默认tftp的路径 启动文件存在位置
disable = no
启动应用:
service xinetd start
3.pxe引导配置
pxe启动镜像文件由syslinux软件提供。
yum install -y syslinux
mkdir /tftpboot
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
4.用于网络启动的内核文件
复制引导文件
cp /mnt/images/pxeboot/vmlinuz /tftpboot/
cp /mnt/images/pxeboot/initrd.img /tftpboot/
cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
vim /tftpboot/pxelinux.cfg/default
default text 选择安装方式 文本为text 图形化为:default linux
prompt 1 显示“boot”提示符
timeout 600
5.配置dhcp服务
# yum install -y dhcp*
修改配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
linux 下 DHCP 配置:
配置文件都放在 /etc/dhcp 目录下 ; 主配置文件为 dhcpd.conf
将 /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample 文件复制到配置文件目录下,并覆盖 dhcpd.conf 文件,即可获得主配置文件。
主配置文件的主要内容介绍:
option domain-name "example.org"; // 指定网域的域名
option domain-name-servers ns1.example.org, ns2.example.org; // 指定域名解析服务器( DNS )的 ip 地址。
default-lease-time 600; // 默认租约时间,单位为 s
max-lease-time 7200; // 最大租约时间,单位为 s 。过期续约,续约直接发送 request 包即可。
log-facility local7; // 日志设备类型为 local7. 一般日志设备类型包括 mail 、 crontab 。通过此选项可以找到该服务的日志记录路径
subnet 10.5.5.0 netmask 255.255.255.224 { // 指定分配网段的 ip 地址以及子网掩码,括号内部为局部配置。
range 10.5.5.26 10.5.5.30; // 可使用的地址池范围
option domain-name-servers ns1.internal.example.org; // 该网段的域名,可以省略
option domain-name "internal.example.org"; // 网段 DNS
option routers 10.5.5.1; // 指定网关
option broadcast-address 10.5.5.31; // 指定广播地址
default-lease-time 600; // 租约时间
max-lease-time 7200; // 最大租约时间。
}
host passacaglia { // 主机名称
hardware ethernet 0:0:c0:5d:bd:95; // 主机的 MAC 地址
filename "vmunix.passacaglia";
server-name "toccata.fugue.com"; // 文件名和服务器名,不太需要。
fixed-address fantasia.fugue.com; // 固定的 ip 地址
} // 保留主机,此选项用于指定内部存在的 MAC 地址的主机在请求 ip 时固定分配指定的地址。如果该指定 ip 已经被分配使用的话,
保留主机的指定 ip 将不能使用。
一个局域网内最好只有一个 dhcp 服务器,当一个局域网内存在多个服务器时,客户机只选择最先到达的 offer 。
vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
allow booting;
allow bootp;
option routers 10.20.23.2;
default-lease-time 21600;
max-lease-time 43200;
subnet 10.20.23.0 netmask 255.255.255.0 {
range dynamic-bootp 10.20.23.30 10.20.23.250;
filename "/data/sys/kickstart/ks.cfg" ;
next-server 10.20.23.141;
filename "pxelinux.0";
}
service dhcpd start
ps -ef|grep dhcp
6.kickstart安装配置:
mkdir -p /data/sys/kickstart
cp /root/anaconda-ks.cfg /data/sys/kickstart/ks.cfg
vim /data/sys/kickstart/ks.cfg
install
nfs --server=10.20.23.141 --dir=/data/sys
#url --url=http://10.20.23.229:/sys/centos5.8
lang en_US.UTF-8
keyboard us
#network --device eth0 --bootproto static --ip 10.20.23.240 --netmask 255.255.255.0 --gateway 10.20.23.2 --nameserver
10.20.23.2 --hostname test.huabo.org
network --device eth0 --bootproto dhcp --onboot=yes --noipv6 --hostname gtj
rootpw uplooking
authconfig --enableshadow --enablemd5
#NetworkManager --disabled
selinux --disabled
firewall --enabled --port=22:tcp
#firewall --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda ##--append="rhgb quiet"
#firstboot --disabley
firstboot --disabled
logging --level=info
zerombr
clearpart --all
part /boot --fstype ext3 --size=200 --asprimary
part swap --size=512
part / --fstype ext3 --size=1 --grow --asprimary
reboot
%packages
@core
@development-libs
@development-tools
@editors
@system-tools
@x-software-development
备注:我操作这个过程是失败的
%end
%post
echo "nameserver 10.20.23.2" >> /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
iptables -F
mkdir -p /u02
mkdir -p /yd
useradd oldboy
echo "uplooking"|passwd --stdin oldboy
echo "/etc/init.d/network start " >> /etc/rc.d/rc.local
echo "oldboy ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
vim /tftpboot/pxelinux.cfg/default
[root@nagios pxelinux.cfg]# cat default
default text
prompt 1
timeout 6
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append ks=nfs:10.20.23.141:/data/sys/kickstart/ks.cfg ksdevice=eth0 initrd=initrd.img test
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
嗨、骚年、快来消灭0回复。