自动给服务器装linux,Linux全自动PXE无人值守安装服务器配置 | 旺旺知识库

服务器环境:

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配置,需图形界面支持

在弹出的界面中,基础配置修改如下红框标准的地方: da526de8dc25aaec2aa39822f9e7694a.png

安装方法: 17dd0f9945e50277843df21f292f79b9.png

启动选项保存默认:5f208090a42319079b700bc2bee6cad0.png

分区信息,具体分区留待后面单独介绍: b6871c5be4d67b995a202e2bfba20409.png

网络配置: 4ec5d3aa452ce4e6983cb62a5cef67b0.png

防火墙配置保存默认,SeLinux可以不关闭,其能为http、ftp等应用带来跟高的安全性,参考我的文章: 1235ab719cf8c34667c57b9a6ea7588e.png

显示配置保存默认

安装包选择根据实际情况配置,一般为了安全和简洁,最小化安装即可: 1845026ca491d4014143142c01940382.png

安装后脚本,可以编写一些shell脚本,完成服务器的初始化操作,如添加yum源、重命名主机,完成基本安全配置,加入统一认证中心等。如下面的示例为更改安装后的yum源为内部ftp地址:ca77e2936537ed4ed88a9d5968199151.png

完成后点击“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= --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管理器,并在【服务器选项】上点击右键—选择【配置选项】,弹出如下窗口: c5faa2d83461be4c40941b357f364ec4.png

2、找到066 启动服务器主机名,填入服务器tftp服务器IP地址;

3、找到067 启动文件名,填入pxelinux.0

f50dc7e7658de750deae9c0a4e792bdb.png

确定后即完成DHCP的配置。

四、客户端全自动安装:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值