现在的位置: 首页 > Linux > Linux管理 > 正文
Linux全自动PXE无人值守安装服务器配置
2013年06月04日 Linux管理 ⁄ 共 4746字 Linux全自动PXE无人值守安装服务器配置已关闭评论 ⁄ 被围观 22,485 views+

服务器环境:

Server01:CentOS 6.4 ,安装服务:vsftpd、tftp

Server02:Windows 服务器提供DHCP(我的实际环境中又域控制器充当)

一、基础服务安装配置:
1、 安装tftp和vsftpd服务

[root@server ~]# yum -y install tftp-server vsftpd

2、 配置tftp

[root@server ~]# vim /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type             = dgram
protocol                = udp
wait                    = yes
user                    = root
server                  = /usr/sbin/in.tftpd
server_args             = -s /var/lib/tftpboot
per_source              = 11
cps                     = 100 2
flags                   = IPv4
}

##不要更改tftp根目录,否则会造成selinux阻止导致无法登陆。

[root@server ~]# service xinetd restart
[root@server ~]# chkconfig xinetd on       ##加入开机启动
[root@server ~]# netstat -unlp | grep :69
udp        0   0 0.0.0.0:69   0.0.0.0:*           1738/xinetd

3、 配置vsftp
Vsftp安装后默认就已经可以访问,只需启动并加入开机启动项即可

[root@server ~]# service vsftpd restart
[root@server ~]# chkconfig vsftpd on       ##加入开机启动

此时客户端登陆测试,看ftp是否可以匿名访问。
4、 关闭防火:

[root@server ~]# chkconfig iptables off   ##将防火墙开机启动取消
[root@server ~]# service iptables stop    ##停止防火墙服务

二、           配置PXE启动:
1、 挂载iso文件并拷贝全部安装文件至FTP相应目录

[root@server ~]# mount -o loop /root/CentOS-6.4-x86_64-bin-DVD1.iso /media/cdrom/
[root@server ~]# mkdir /var/ftp/pub/centos6    ##在FTP目录下创建安装源文件目录
[root@server ~]# cp /media/cdrom/*  /var/ftp/pub/centos6

2、 配置PXE启动文件:

[root@server ~]# cp /var/ftp/pub/centos6/syslinux/pxelinux.0 /var/lib/tftpboot
[root@server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@server ~]# cp /var/ftp/pub/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

编辑该文件如下:

[root@server ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 30    ##启动提示界面,默认600,改为1就不提示
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=ftp://192.168.18.20/ks.cfg   ##ftp地址,文件配置后面介绍
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 -

3、 配置ks.cfg文件:

[root@server ~]# yum -y install system-config-kickstart
[root@server ~]# system-config-kickstart               //启动kickstart配置,需图形界面支持

在弹出的界面中,基础配置修改如下红框标准的地方: 1
安装方法: 2
启动选项保存默认:3
分区信息,具体分区留待后面单独介绍: 4
网络配置: 5
防火墙配置保存默认,SeLinux可以不关闭,其能为http、ftp等应用带来跟高的安全性,参考我的文章: 6
显示配置保存默认
安装包选择根据实际情况配置,一般为了安全和简洁,最小化安装即可: 7
安装后脚本,可以编写一些shell脚本,完成服务器的初始化操作,如添加yum源、重命名主机,完成基本安全配置,加入统一认证中心等。如下面的示例为更改安装后的yum源为内部ftp地址: 8
完成后点击“file”按钮保存至ftp根目录/var/ftp/ks.cfg
5、 修改ks.cfg,配置支持lvm逻辑卷:
LVM管理磁盘有很多好处,比如磁盘空间的动态调整,将多个磁盘当成一个分区使用,但system-config-kickstart工具不支持LVM逻辑卷的分区设置,因此只能生成后手动修改,ks.cfg逻辑卷的语法如下:

#Disk partitioning information
part pv.
volgroup name partition
logvol --vgname=<volume_group_name> --size= --name=

注意: 上面提到的选项是有先后顺序的。物理卷将先被创建,然后是卷组和逻辑卷。
如我的目标磁盘如下:

[root@test ~]# df -h
文件系统              容量  已用  可用 已用%% 挂载点
/dev/mapper/vg_root-lv_root
20G  2.0G   17G  11% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             291M   33M  244M  12% /boot
/dev/mapper/vg_root-lv_home
40G  176M   38G   1% /home
/dev/mapper/vg_root-lv_var
9.9G  198M  9.2G   3% /var

则配置ks.cfg文件内容如下:

[root@server ~]# vim /var/ftp/ks.cfg
……以上省略……
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="ext4" --size=300       ##启动分区必须是主分区
part swap --fstype="swap" --size=2048                ##SWAP分区
part pv.01 --size=1 –grow                           ##剩余空间建立物理卷
volgroup vg_root  pv.01                           ##建立卷组
logvol / --vgname=vg_root --size=20480 --name=lv_root   ##建立根逻辑卷
logvol /var --vgname=vg_root  --size=10240 --name=lv_var  ##建立var目录逻辑卷
logvol /home --vgname=vg_root --size=40960  --name=lv_home  ##建立家目录逻辑卷
##以上空间大小根据实际需要和磁盘空间情况进行调整
%packages
@base
@chinese-support
@console-internet
@core
……以下省略……

6、安装后执行脚本写法:
比如我内网服务器不能上网,我将所有yum源更改为此ftp服务器,则ks.cfg文件如下:

[root@server ~]# vim /var/ftp/ks.cfg
……以上省略……
%post --interpreter=/bin/bash
rm -rf /etc/yum.repos.d/*
echo '[centos6]
name=centos6
baseurl=ftp://192.168.18.20/pub/centos6/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6' > /etc/yum.repos.d/centos6.repo
##此处脚本还可以统一放在ftp服务器上,用命令先下载后在本地执行,如下面几行:
#mkdir /var/scripts
#wget ftp://192.168.18.20/pub/scripts/* -O /var/scripts ##将所有脚本下载在本地
#chmod +x /var/scripts/* -R ##赋予全部脚本执行权限
#/var/scripts/xxx1.sh
#/var/scripts/xxx2.sh
%end
……以下省略……

要实现其他功能,方法一样。

三、Windows DHCP配置:
由于我局域网内已经有Windows提供了DHCP服务,因此只需更改部分设置即可:
1、 打开DHCP管理器,并在【服务器选项】上点击右键—选择【配置选项】,弹出如下窗口: 9
2、 找到066 启动服务器主机名,填入服务器tftp服务器IP地址;
3、 找到067 启动文件名,填入pxelinux.0
10
确定后即完成DHCP的配置。

四、客户端全自动安装:
对于没有安装过系统的新机器,开机后默认就会以PXE网络启动,如果之前有安装过系统需要重新安装,则选择从PXE启动即可。

抱歉!评论已关闭.

×